package
0.0.0-20240829215211-b018aa001c28
Repository: https://github.com/diranged/oz.git
Documentation: pkg.go.dev

# Functions

GetExecAccessRequest returns back an ExecAccessRequest resource matching the request supplied to the reconciler loop, or returns back an error.
GetExecAccessTemplate returns back an ExecAccessTemplate resource matching the request supplied to the reconciler loop, or returns back an error.
GetPodAccessRequest returns back an ExecAccessRequest resource matching the request supplied to the reconciler loop, or returns back an error.
GetPodAccessTemplate returns back an AccessTemplate resource matching the request supplied to the reconciler loop, or returns back an error.
ObjectToJSON is a quick helper function for pretty-printing an entire K8S object in JSON form.

# Constants

ConditionAccessMessage is used to record.
ConditionAccessResourcesCreated indicates whether or not the target access request resources have been properly created.
ConditionAccessResourcesReady indicates that all of the "access resources" (eg, a Pod) are up and in the ready state.
ConditionAccessStillValid is continaully updated based on whether or not the Access Request has timed out.
ConditionRequestDurationsValid is used by both AccessTemplate and AccessRequest resources.
ConditionTargetRefExists indicates whether or not an AccessTemplate is pointing to a valid Controller.
ConditionTargetTemplateExists indicates that the Access Request is pointing to a valid Access Template.
ConditionTemplateDurationsValid is used by both AccessTemplate and AccessRequest resources.
DaemonSetController maps to APIVersion: apps/v1, Kind: DaemonSet.
DefaultContainerAnnotationKey is the name of the Key in the Pod Annotations that notates which container in the PodSpec is considered the "default" container for kubectl.
DeploymentController maps to APIVersion: apps/v1, Kind: Deployment.
FieldSelectorMetadataName refers to the metadata.name field on an object, and is used during the creation of the K8S API Client as one of the fields we want to index.
FieldSelectorStatusPhase refers to the status.phase field on an object, and is used during the creation of the K8S API Client as one of the fields we want to index.
Valid Operation Types.
Valid Operation Types.
Valid Operation Types.
Valid Operation Types.
Valid Operation Types.
Valid Operation Types.
StatefulSetController maps to APIVersion: apps/v1, Kind: StatfulSet.

# Variables

AddToScheme adds the types in this group-version to the given scheme.
GroupVersion is group version used to register these objects.
SchemeBuilder is used to add go types to the GroupVersionKind scheme.

# Structs

AccessConfig provides a common interface for our Template structs (which implement ITemplateResource) for defining which entities are being granted access to a resource, and for how long they are granted that access.
CoreStatus provides a common set of .Status fields and functions.
CrossVersionObjectReference provides us a generic way to define a reference to an APIGroup, Kind and Name of a particular resource.
ExecAccessRequest is the Schema for the execaccessrequests API +kubebuilder:printcolumn:name="Template",type="string",JSONPath=".spec.templateName",description="Access Template" +kubebuilder:printcolumn:name="Pod",type="string",JSONPath=".status.podName",description="Target Pod Name" +kubebuilder:printcolumn:name="Ready",type="boolean",JSONPath=".status.ready",description="Is request ready?".
ExecAccessRequestList contains a list of ExecAccessRequest.
ExecAccessRequestSpec defines the desired state of ExecAccessRequest.
ExecAccessRequestStatus defines the observed state of ExecAccessRequest.
ExecAccessTemplate is the Schema for the execaccesstemplates API +kubebuilder:printcolumn:name="Ready",type="boolean",JSONPath=".status.ready",description="Is template ready?".
ExecAccessTemplateList contains a list of ExecAccessTemplate.
ExecAccessTemplateSpec defines the desired state of ExecAccessTemplate.
ExecAccessTemplateStatus is the core set of status fields that we expect to be in each and every one of our template (AccessTemplate, ExecAccessTemplate, etc) resources.
JSONPatchOperation represents a JSON Patch operation defined in https://www.rfc-editor.org/rfc/rfc6902.html.
PodAccessRequest is the Schema for the accessrequests API +kubebuilder:printcolumn:name="Template",type="string",JSONPath=".spec.templateName",description="Access Template" +kubebuilder:printcolumn:name="Pod",type="string",JSONPath=".status.podName",description="Target Pod Name" +kubebuilder:printcolumn:name="Ready",type="boolean",JSONPath=".status.ready",description="Is request ready?".
PodAccessRequestList contains a list of AccessRequest.
PodAccessRequestSpec defines the desired state of AccessRequest.
PodAccessRequestStatus defines the observed state of AccessRequest.
PodAccessTemplate is the Schema for the accesstemplates API +kubebuilder:object:root=true +kubebuilder:printcolumn:name="Ready",type="boolean",JSONPath=".status.ready",description="Is template ready?".
PodAccessTemplateList contains a list of AccessTemplate.
PodAccessTemplateSpec defines the desired state of AccessTemplate.
PodAccessTemplateStatus defines the observed state of PodAccessTemplate.
PodTemplateSpecMutationConfig provides a common pattern for describing mutations to an existing PodSpec that should be applied.

# Interfaces

IConditionType provides an interface for accepting any condition string that has a String() function.
The ICoreResource interface wraps a standard client.Object resource (metav1.Object + runtime.Object) with a few additional requirements for common methods that we use throughout our reconciliation process.
ICoreStatus is used to define the core common status functions that all Status structs in this API must adhere to.
IPodRequestResource is a Pod-access specific request interface that exposes a few more functions for storing references to specific Pods that the requestor is being granted access to.
IRequestResource represents a common "AccesRequest" resource for the Oz Controller.
IRequestStatus is a more specific Status interface that enables getting and setting access instruction methods.
ITemplateResource represents a common "AccessTemplate" resource for the Oz Controller.
ITemplateStatus provides a more specific Status interface for Access Templates.

# Type aliases

ControllerKind is a string that represents an Apps/V1 known controller kind that this codebase supports.
JSONPatchOperationType represents a JSON Patch operation defined in https://www.rfc-editor.org/rfc/rfc6902.html.
RequestConditionTypes defines a set of known Status.Condition[].ConditionType fields that are used throughout the AccessRequest and AccessTemplate reconcilers.
TemplateConditionTypes defines a set of known Status.Condition[].ConditionType fields that are used throughout the AccessTemplate reconcilers and written to the ITemplateResource resources.