README

Knative Common Packages

sink

"The kitchen sink" by Alan Cleaver is licensed under CC BY 2.0

GoDoc Go Report Card codecov

Knative pkg provides a place for sharing common Knative packages across the Knative repos.

To learn more about Knative, please visit our Knative docs repository.

If you are interested in contributing, see CONTRIBUTING.md and DEVELOPMENT.md.

Expand ▾ Collapse ▴

Directories

Path Synopsis
apiextensions/storageversion
apiextensions/storageversion/cmd/migrate
apis +k8s:deepcopy-gen=package
apis/duck Package duck defines logic for defining and consuming "duck typed" Kubernetes resources.
apis/duck/ducktypes
apis/duck/v1 +k8s:deepcopy-gen=package +groupName=duck.knative.dev
apis/duck/v1/test
apis/duck/v1alpha1 +k8s:deepcopy-gen=package +groupName=duck.knative.dev
apis/duck/v1beta1 +k8s:deepcopy-gen=package +groupName=duck.knative.dev
apis/duck/v1beta1/test
apis/test/example
apis/test/example/v1alpha1 +k8s:deepcopy-gen=package +groupName=sample.knative.dev
apis/test/pub
apis/test/pub/v1alpha1 +k8s:deepcopy-gen=package +groupName=sample.knative.dev
apis/testing
apis/testing/fuzzer
apis/testing/roundtrip
changeset Package changeset provides Knative utilities for fetching GitHub Commit ID from kodata directory.
client/injection/apiextensions/client
client/injection/apiextensions/client/fake
client/injection/apiextensions/informers/apiextensions/v1/customresourcedefinition
client/injection/apiextensions/informers/apiextensions/v1/customresourcedefinition/fake
client/injection/apiextensions/informers/apiextensions/v1/customresourcedefinition/filtered
client/injection/apiextensions/informers/apiextensions/v1/customresourcedefinition/filtered/fake
client/injection/apiextensions/informers/apiextensions/v1beta1/customresourcedefinition
client/injection/apiextensions/informers/apiextensions/v1beta1/customresourcedefinition/fake
client/injection/apiextensions/informers/apiextensions/v1beta1/customresourcedefinition/filtered
client/injection/apiextensions/informers/apiextensions/v1beta1/customresourcedefinition/filtered/fake
client/injection/apiextensions/informers/factory
client/injection/apiextensions/informers/factory/fake
client/injection/apiextensions/informers/factory/filtered
client/injection/apiextensions/informers/factory/filtered/fake
client/injection/apiextensions/reconciler/apiextensions/v1/customresourcedefinition
client/injection/apiextensions/reconciler/apiextensions/v1beta1/customresourcedefinition
client/injection/client
client/injection/client/fake
client/injection/ducks/duck/v1/addressable
client/injection/ducks/duck/v1/addressable/fake
client/injection/ducks/duck/v1/binding
client/injection/ducks/duck/v1/binding/fake
client/injection/ducks/duck/v1/conditions
client/injection/ducks/duck/v1/conditions/fake
client/injection/ducks/duck/v1/podspecable
client/injection/ducks/duck/v1/podspecable/fake
client/injection/ducks/duck/v1/source
client/injection/ducks/duck/v1/source/fake
client/injection/ducks/duck/v1alpha1/addressable
client/injection/ducks/duck/v1alpha1/addressable/fake
client/injection/ducks/duck/v1alpha1/binding
client/injection/ducks/duck/v1alpha1/binding/fake
client/injection/ducks/duck/v1alpha1/legacytargetable
client/injection/ducks/duck/v1alpha1/legacytargetable/fake
client/injection/ducks/duck/v1alpha1/targetable
client/injection/ducks/duck/v1alpha1/targetable/fake
client/injection/ducks/duck/v1beta1/addressable
client/injection/ducks/duck/v1beta1/addressable/fake
client/injection/ducks/duck/v1beta1/binding
client/injection/ducks/duck/v1beta1/binding/fake
client/injection/ducks/duck/v1beta1/conditions
client/injection/ducks/duck/v1beta1/conditions/fake
client/injection/ducks/duck/v1beta1/source
client/injection/ducks/duck/v1beta1/source/fake
client/injection/informers/factory
client/injection/informers/factory/fake
client/injection/informers/factory/filtered
client/injection/informers/factory/filtered/fake
client/injection/kube/client
client/injection/kube/client/fake
client/injection/kube/informers/admissionregistration/v1/mutatingwebhookconfiguration
client/injection/kube/informers/admissionregistration/v1/mutatingwebhookconfiguration/fake
client/injection/kube/informers/admissionregistration/v1/mutatingwebhookconfiguration/filtered
client/injection/kube/informers/admissionregistration/v1/mutatingwebhookconfiguration/filtered/fake
client/injection/kube/informers/admissionregistration/v1/validatingwebhookconfiguration
client/injection/kube/informers/admissionregistration/v1/validatingwebhookconfiguration/fake
client/injection/kube/informers/admissionregistration/v1/validatingwebhookconfiguration/filtered
client/injection/kube/informers/admissionregistration/v1/validatingwebhookconfiguration/filtered/fake
client/injection/kube/informers/admissionregistration/v1beta1/mutatingwebhookconfiguration
client/injection/kube/informers/admissionregistration/v1beta1/mutatingwebhookconfiguration/fake
client/injection/kube/informers/admissionregistration/v1beta1/mutatingwebhookconfiguration/filtered
client/injection/kube/informers/admissionregistration/v1beta1/mutatingwebhookconfiguration/filtered/fake
client/injection/kube/informers/admissionregistration/v1beta1/validatingwebhookconfiguration
client/injection/kube/informers/admissionregistration/v1beta1/validatingwebhookconfiguration/fake
client/injection/kube/informers/admissionregistration/v1beta1/validatingwebhookconfiguration/filtered
client/injection/kube/informers/admissionregistration/v1beta1/validatingwebhookconfiguration/filtered/fake
client/injection/kube/informers/apps/v1/controllerrevision
client/injection/kube/informers/apps/v1/controllerrevision/fake
client/injection/kube/informers/apps/v1/controllerrevision/filtered
client/injection/kube/informers/apps/v1/controllerrevision/filtered/fake
client/injection/kube/informers/apps/v1/daemonset
client/injection/kube/informers/apps/v1/daemonset/fake
client/injection/kube/informers/apps/v1/daemonset/filtered
client/injection/kube/informers/apps/v1/daemonset/filtered/fake
client/injection/kube/informers/apps/v1/deployment
client/injection/kube/informers/apps/v1/deployment/fake
client/injection/kube/informers/apps/v1/deployment/filtered
client/injection/kube/informers/apps/v1/deployment/filtered/fake
client/injection/kube/informers/apps/v1/replicaset
client/injection/kube/informers/apps/v1/replicaset/fake
client/injection/kube/informers/apps/v1/replicaset/filtered
client/injection/kube/informers/apps/v1/replicaset/filtered/fake
client/injection/kube/informers/apps/v1/statefulset
client/injection/kube/informers/apps/v1/statefulset/fake
client/injection/kube/informers/apps/v1/statefulset/filtered
client/injection/kube/informers/apps/v1/statefulset/filtered/fake
client/injection/kube/informers/autoscaling/v1/horizontalpodautoscaler
client/injection/kube/informers/autoscaling/v1/horizontalpodautoscaler/fake
client/injection/kube/informers/autoscaling/v1/horizontalpodautoscaler/filtered
client/injection/kube/informers/autoscaling/v1/horizontalpodautoscaler/filtered/fake
client/injection/kube/informers/autoscaling/v2beta1/horizontalpodautoscaler
client/injection/kube/informers/autoscaling/v2beta1/horizontalpodautoscaler/fake
client/injection/kube/informers/autoscaling/v2beta1/horizontalpodautoscaler/filtered
client/injection/kube/informers/autoscaling/v2beta1/horizontalpodautoscaler/filtered/fake
client/injection/kube/informers/batch/v1/job
client/injection/kube/informers/batch/v1/job/fake
client/injection/kube/informers/batch/v1/job/filtered
client/injection/kube/informers/batch/v1/job/filtered/fake
client/injection/kube/informers/batch/v1beta1/cronjob
client/injection/kube/informers/batch/v1beta1/cronjob/fake
client/injection/kube/informers/batch/v1beta1/cronjob/filtered
client/injection/kube/informers/batch/v1beta1/cronjob/filtered/fake
client/injection/kube/informers/coordination/v1/lease
client/injection/kube/informers/coordination/v1/lease/fake
client/injection/kube/informers/coordination/v1/lease/filtered
client/injection/kube/informers/coordination/v1/lease/filtered/fake
client/injection/kube/informers/core/v1/componentstatus
client/injection/kube/informers/core/v1/componentstatus/fake
client/injection/kube/informers/core/v1/componentstatus/filtered
client/injection/kube/informers/core/v1/componentstatus/filtered/fake
client/injection/kube/informers/core/v1/configmap
client/injection/kube/informers/core/v1/configmap/fake
client/injection/kube/informers/core/v1/configmap/filtered
client/injection/kube/informers/core/v1/configmap/filtered/fake
client/injection/kube/informers/core/v1/endpoints
client/injection/kube/informers/core/v1/endpoints/fake
client/injection/kube/informers/core/v1/endpoints/filtered
client/injection/kube/informers/core/v1/endpoints/filtered/fake
client/injection/kube/informers/core/v1/event
client/injection/kube/informers/core/v1/event/fake
client/injection/kube/informers/core/v1/event/filtered
client/injection/kube/informers/core/v1/event/filtered/fake
client/injection/kube/informers/core/v1/limitrange
client/injection/kube/informers/core/v1/limitrange/fake
client/injection/kube/informers/core/v1/limitrange/filtered
client/injection/kube/informers/core/v1/limitrange/filtered/fake
client/injection/kube/informers/core/v1/namespace
client/injection/kube/informers/core/v1/namespace/fake
client/injection/kube/informers/core/v1/namespace/filtered
client/injection/kube/informers/core/v1/namespace/filtered/fake
client/injection/kube/informers/core/v1/node
client/injection/kube/informers/core/v1/node/fake
client/injection/kube/informers/core/v1/node/filtered
client/injection/kube/informers/core/v1/node/filtered/fake
client/injection/kube/informers/core/v1/persistentvolume
client/injection/kube/informers/core/v1/persistentvolume/fake
client/injection/kube/informers/core/v1/persistentvolume/filtered
client/injection/kube/informers/core/v1/persistentvolume/filtered/fake
client/injection/kube/informers/core/v1/persistentvolumeclaim
client/injection/kube/informers/core/v1/persistentvolumeclaim/fake
client/injection/kube/informers/core/v1/persistentvolumeclaim/filtered
client/injection/kube/informers/core/v1/persistentvolumeclaim/filtered/fake
client/injection/kube/informers/core/v1/pod
client/injection/kube/informers/core/v1/pod/fake
client/injection/kube/informers/core/v1/pod/filtered
client/injection/kube/informers/core/v1/pod/filtered/fake
client/injection/kube/informers/core/v1/podtemplate
client/injection/kube/informers/core/v1/podtemplate/fake
client/injection/kube/informers/core/v1/podtemplate/filtered
client/injection/kube/informers/core/v1/podtemplate/filtered/fake
client/injection/kube/informers/core/v1/replicationcontroller
client/injection/kube/informers/core/v1/replicationcontroller/fake
client/injection/kube/informers/core/v1/replicationcontroller/filtered
client/injection/kube/informers/core/v1/replicationcontroller/filtered/fake
client/injection/kube/informers/core/v1/resourcequota
client/injection/kube/informers/core/v1/resourcequota/fake
client/injection/kube/informers/core/v1/resourcequota/filtered
client/injection/kube/informers/core/v1/resourcequota/filtered/fake
client/injection/kube/informers/core/v1/secret
client/injection/kube/informers/core/v1/secret/fake
client/injection/kube/informers/core/v1/secret/filtered
client/injection/kube/informers/core/v1/secret/filtered/fake
client/injection/kube/informers/core/v1/service
client/injection/kube/informers/core/v1/service/fake
client/injection/kube/informers/core/v1/service/filtered
client/injection/kube/informers/core/v1/service/filtered/fake
client/injection/kube/informers/core/v1/serviceaccount
client/injection/kube/informers/core/v1/serviceaccount/fake
client/injection/kube/informers/core/v1/serviceaccount/filtered
client/injection/kube/informers/core/v1/serviceaccount/filtered/fake
client/injection/kube/informers/factory
client/injection/kube/informers/factory/fake
client/injection/kube/informers/factory/filtered
client/injection/kube/informers/factory/filtered/fake
client/injection/kube/informers/rbac/v1/clusterrole
client/injection/kube/informers/rbac/v1/clusterrole/fake
client/injection/kube/informers/rbac/v1/clusterrole/filtered
client/injection/kube/informers/rbac/v1/clusterrole/filtered/fake
client/injection/kube/informers/rbac/v1/clusterrolebinding
client/injection/kube/informers/rbac/v1/clusterrolebinding/fake
client/injection/kube/informers/rbac/v1/clusterrolebinding/filtered
client/injection/kube/informers/rbac/v1/clusterrolebinding/filtered/fake
client/injection/kube/informers/rbac/v1/role
client/injection/kube/informers/rbac/v1/role/fake
client/injection/kube/informers/rbac/v1/role/filtered
client/injection/kube/informers/rbac/v1/role/filtered/fake
client/injection/kube/informers/rbac/v1/rolebinding
client/injection/kube/informers/rbac/v1/rolebinding/fake
client/injection/kube/informers/rbac/v1/rolebinding/filtered
client/injection/kube/informers/rbac/v1/rolebinding/filtered/fake
client/injection/kube/reconciler/apps/v1/deployment
client/injection/kube/reconciler/core/v1/namespace
codegen/cmd/injection-gen
codegen/cmd/injection-gen/args
codegen/cmd/injection-gen/generators
configmap Package configmap exists to facilitate consuming Kubernetes ConfigMap resources in various ways, including: - Watching them for changes over time, and - Loading them from a VolumeMount.
configmap/hash-gen
configmap/informer
configmap/testing
controller
controller/testing
depcheck Package depcheck defines a test utility for ensuring certain packages don't take on heavy dependencies.
hash Package hash contains various Knative specific hashing utilities.
injection Package injection defines the mechanisms through which clients, informers and shared informer factories are injected into a shared controller binary implementation.
injection/clients/dynamicclient
injection/clients/dynamicclient/fake
injection/clients/namespacedkube/informers/core/v1/secret
injection/clients/namespacedkube/informers/core/v1/secret/fake
injection/clients/namespacedkube/informers/factory
injection/clients/namespacedkube/informers/factory/fake
injection/sharedmain
kflag Package kflag contains a variety of non-standard command-line flag types
kmeta Package kmeta provides Knative utilities for operating on Kubernetes resources' ObjectMeta.
kmp Package kmp wraps github.com/google/go-cmp with custom Comparers for frequently used kubernetes resources that have unexported fields.
kvstore Simple abstraction for storing state on a k8s ConfigMap.
leaderelection
leaderelection/chaosduck The chaosduck binary is an e2e testing tool for leader election, which loads the leader election configuration within the system namespace and periodically kills one of the leader pods for each HA component.
logging
logging/logkey
logging/testing
metrics Package metrics provides Knative utilities for exporting metrics to Stackdriver backend or Prometheus backend based on config-observability settings.
metrics/metricskey
metrics/metricstest Package metricstest simplifies some of the common boilerplate around testing metrics exports.
metrics/testing
network Package network holds the typed objects that define the schemas for configuring the knative networking layer.
network/handlers Package handlers holds useful HTTP handler implementations.
pool Package pool contains a simple threadpool implementation that accepts work in the form of `func() error` function.
profiling
ptr Package ptr holds utilities for taking pointer references to values.
reconciler
reconciler/testing Package testing includes utilities for testing controllers.
resolver Package resolver implements resolvers for resolving k8s references and URIs.
signals
source Package source holds utilities for Source developers.
system
system/testing
test
test/cmd
test/flags
test/gcs
test/gcs/mock
test/ghutil
test/ghutil/fakeghutil
test/gke
test/gke/fake
test/ha
test/helpers
test/ingress
test/interactive Helper functions for running interactive CLI sessions from Go Helper functions for running interactive CLI sessions from Go
test/logging
test/logstream Package logstream lets end-to-end tests incorporate controller logs into the error output of tests.
test/logstream/v2
test/mako
test/mako/alerter
test/mako/alerter/github
test/mako/alerter/slack
test/mako/config
test/mako/stub-sidecar
test/monitoring Package monitoring provides common methods for all the monitoring components used in the tests This package exposes following methods: CheckPortAvailability(port int) error Checks if the given port is available GetPods(kubeClientset kubernetes.Interface, app string) (*v1.PodList, error) Gets the list of pods that satisfy the label selector app=<app> Cleanup(pid int) error Kill the current port forwarding process running in the background PortForward(logf logging.FormatLogger, podList *v1.PodList, localPort, remotePort int) (int, error) Create a background process that will port forward the first pod from the local to remote port It returns the process id for the background process created.
test/prometheus
test/prow
test/slackutil
test/slackutil/fakeslackutil
test/spoof
test/upgrade
test/vegeta/pacers
test/zipkin Package zipkin adds Zipkin tracing support that can be used in conjunction with SpoofingClient to log zipkin traces for requests that have encountered server errors i.e HTTP request that have HTTP status between 500 to 600.
testing +k8s:deepcopy-gen=package +groupName=pkg.knative.dev
testing/duck +k8s:deepcopy-gen=package +groupName=duck.knative.dev
third_party/mako/proto/quickstore_go_proto
tracing
tracing/config Package config holds the typed objects that define the schemas for assorted ConfigMap objects on which the Revision controller depends.
tracing/propagation
tracing/propagation/tracecontextb3
tracing/testing
tracker Package tracker defines a utility to enable Reconcilers to trigger reconciliations when objects that are cross-referenced change, so that the level-based reconciliation can react to the change.
version
webhook
webhook/certificates
webhook/certificates/resources
webhook/configmaps
webhook/psbinding Package psbinding provides facilities to make authoring Bindings that work with "Pod Spec"-able subjects easier.
webhook/resourcesemantics
webhook/resourcesemantics/conversion
webhook/resourcesemantics/conversion/internal
webhook/resourcesemantics/defaulting
webhook/resourcesemantics/validation
webhook/testing
websocket