k8sutil

module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2022 License: Apache-2.0

README

k8sutil

This module provides a framework for declaratively constructing Kubernetes objects in a controller context as well as various helpful utility functions and applications.

controller/app

This package provides a few useful client and controller applications:

  • exec: Programmatic support for executing arbitrary commands in Kubernetes pods.
  • portforward: Programmatic support for port forwarding to a Kubernetes pod or service à la kubectl port-forward.
  • selfsignedsecret: A reconciler loop that generates a self-signed TLS secret.
  • tlsproxy: A reverse proxy that wraps an HTTP server with TLS using an automatically configured certificate.
  • tunnel: A bidirectional stream that connects a locally accessible HTTP server to a Kubernetes service inside a cluster.
  • webhookcert: A reconciler loop that automatically manages the caBundle value for a Kubernetes admission webhook.

controller/eventhandler

This package provides supplementary algorithms to enqueue objects for processing with a controller that uses controller-runtime.

controller/obj/lifecycle

This package defines interfaces for entities that conform to a set of standard behaviors supported by Kubernetes:

  • Deletable
  • Finalizable
  • Labelable/annotatable
  • Loadable
  • Ownable
  • Persistable

controller/obj/api

This package provides adapters for common builtin Kubernetes object types to the lifecycle package.

controller/obj/helper

This package provides helpers that wrap controller-runtime client functionality to make managing individual Kubernetes objects easier.

controller/ownerext

This package makes it possible to define ownership guarantees across namespaces.

manifest

This package supports parsing manifests from YAML sources to Go Kubernetes objects.

norm

This package provides normalization routines to make arbitrary string data conform to common Kubernetes text format requirements, like DNS subdomains.

test/endtoend

This package wraps the controller-runtime envtest package with opinionated behavior that forces tests to run through an existing cluster. (We recommend using k3d.)

test/fakeext

This package supplements the Kubernetes client mocks with common reactors.

Directories

Path Synopsis
pkg
app/selfsignedsecret
Package selfsignedsecret installs a self-signed CA, RSA key, and TLS certificate to an arbitrary secret.
Package selfsignedsecret installs a self-signed CA, RSA key, and TLS certificate to an arbitrary secret.
app/tlsproxy
Package tlsproxy provides a reverse proxy that wraps an HTTP service with HTTPS.
Package tlsproxy provides a reverse proxy that wraps an HTTP service with HTTPS.
app/tunnel
Package tunnel provides a bidirectional HTTP stream between a cluster service and a locally-accessible web server.
Package tunnel provides a bidirectional HTTP stream between a cluster service and a locally-accessible web server.
app/webhookcert
Package webhookcert automatically manages the caBundle value for a Kubernetes admission webhook.
Package webhookcert automatically manages the caBundle value for a Kubernetes admission webhook.
controller/errhandler
Package errhandler provides a wrapper reconciler for automatically handling errors produced by a delegate, which are normally dropped and cause the request to be requeued.
Package errhandler provides a wrapper reconciler for automatically handling errors produced by a delegate, which are normally dropped and cause the request to be requeued.
controller/ownerext
Package ownerext provides a mechanism for managing dependency information across Kubernetes namespaces (because ownerReference fields cannot).
Package ownerext provides a mechanism for managing dependency information across Kubernetes namespaces (because ownerReference fields cannot).
internal/testutil
Package testutil contains the internal test harness for testing this module.
Package testutil contains the internal test harness for testing this module.
norm
Package norm provides normalization routines for making arbitrary text compatible with Kubernetes's field requirements.
Package norm provides normalization routines for making arbitrary text compatible with Kubernetes's field requirements.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL