Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the usvc-dev v1 API group +kubebuilder:object:generate=true +groupName=usvc-dev.developer.microsoft.com
Index ¶
- Constants
- Variables
- func RegisterLogOptionsConversions(scheme *runtime.Scheme) error
- func UrlValuesToLogOptions(in *url.Values, out *LogOptions, cscope conversion.Scope) error
- type AddressAllocationMode
- type AmbientEnvironment
- type BuildSecretType
- type CleanupResource
- type Container
- func (in *Container) DeepCopy() *Container
- func (in *Container) DeepCopyInto(out *Container)
- func (in *Container) DeepCopyObject() runtime.Object
- func (c *Container) Done() bool
- func (*Container) GenericSubResources() []apiserver_resource.GenericSubResource
- func (c *Container) GetGroupVersionResource() schema.GroupVersionResource
- func (c *Container) GetObjectMeta() *metav1.ObjectMeta
- func (c *Container) GetResourceId() string
- func (c *Container) GetStatus() apiserver_resource.StatusSubResource
- func (_ *Container) IsStorageVersion() bool
- func (_ *Container) NamespaceScoped() bool
- func (c *Container) NamespacedName() types.NamespacedName
- func (_ *Container) New() runtime.Object
- func (_ *Container) NewList() runtime.Object
- func (_ *Container) ShortNames() []string
- func (c *Container) ShouldStart() bool
- func (c *Container) SpecifiedImageNameOrDefault() string
- func (c *Container) Validate(ctx context.Context) field.ErrorList
- func (c *Container) ValidateUpdate(ctx context.Context, obj runtime.Object) field.ErrorList
- type ContainerBuildContext
- type ContainerBuildSecret
- type ContainerExec
- func (in *ContainerExec) DeepCopy() *ContainerExec
- func (in *ContainerExec) DeepCopyInto(out *ContainerExec)
- func (in *ContainerExec) DeepCopyObject() runtime.Object
- func (ce *ContainerExec) Done() bool
- func (*ContainerExec) GenericSubResources() []apiserver_resource.GenericSubResource
- func (ce *ContainerExec) GetGroupVersionResource() schema.GroupVersionResource
- func (ce *ContainerExec) GetObjectMeta() *metav1.ObjectMeta
- func (ce *ContainerExec) GetResourceId() string
- func (ce *ContainerExec) GetStatus() apiserver_resource.StatusSubResource
- func (ce *ContainerExec) GetStdErrFile() string
- func (ce *ContainerExec) GetStdOutFile() string
- func (ce *ContainerExec) HasStdErr() bool
- func (ce *ContainerExec) HasStdOut() bool
- func (ce *ContainerExec) IsStorageVersion() bool
- func (ce *ContainerExec) NamespaceScoped() bool
- func (ce *ContainerExec) NamespacedName() types.NamespacedName
- func (ce *ContainerExec) New() runtime.Object
- func (ce *ContainerExec) NewList() runtime.Object
- func (ce *ContainerExec) ShortNames() []string
- func (ce *ContainerExec) Validate(ctx context.Context) field.ErrorList
- func (ce *ContainerExec) ValidateUpdate(ctx context.Context, obj runtime.Object) field.ErrorList
- type ContainerExecList
- func (in *ContainerExecList) DeepCopy() *ContainerExecList
- func (in *ContainerExecList) DeepCopyInto(out *ContainerExecList)
- func (in *ContainerExecList) DeepCopyObject() runtime.Object
- func (cel *ContainerExecList) GetItems() []*ContainerExec
- func (cel *ContainerExecList) GetListMeta() *metav1.ListMeta
- func (cel *ContainerExecList) ItemCount() uint32
- type ContainerExecLogResource
- func (in *ContainerExecLogResource) DeepCopy() *ContainerExecLogResource
- func (in *ContainerExecLogResource) DeepCopyInto(out *ContainerExecLogResource)
- func (celr *ContainerExecLogResource) GetStorageProvider(obj apiserver_resource.Object, rootPath string, ...) apiserver.StorageProvider
- func (celr *ContainerExecLogResource) Name() string
- type ContainerExecSpec
- type ContainerExecStatus
- type ContainerLabel
- type ContainerList
- func (in *ContainerList) DeepCopy() *ContainerList
- func (in *ContainerList) DeepCopyInto(out *ContainerList)
- func (in *ContainerList) DeepCopyObject() runtime.Object
- func (cl *ContainerList) GetItems() []*Container
- func (cl *ContainerList) GetListMeta() *metav1.ListMeta
- func (cl *ContainerList) ItemCount() uint32
- type ContainerLogResource
- func (in *ContainerLogResource) DeepCopy() *ContainerLogResource
- func (in *ContainerLogResource) DeepCopyInto(out *ContainerLogResource)
- func (clr *ContainerLogResource) GetStorageProvider(obj apiserver_resource.Object, rootPath string, ...) apiserver.StorageProvider
- func (clr *ContainerLogResource) Name() string
- type ContainerNetwork
- func (in *ContainerNetwork) DeepCopy() *ContainerNetwork
- func (in *ContainerNetwork) DeepCopyInto(out *ContainerNetwork)
- func (in *ContainerNetwork) DeepCopyObject() runtime.Object
- func (cn *ContainerNetwork) GetGroupVersionResource() schema.GroupVersionResource
- func (cn *ContainerNetwork) GetObjectMeta() *metav1.ObjectMeta
- func (cn *ContainerNetwork) GetStatus() apiserver_resource.StatusSubResource
- func (cn *ContainerNetwork) IsStorageVersion() bool
- func (cn *ContainerNetwork) NamespaceScoped() bool
- func (cn *ContainerNetwork) NamespacedName() types.NamespacedName
- func (cn *ContainerNetwork) New() runtime.Object
- func (cn *ContainerNetwork) NewList() runtime.Object
- func (cn *ContainerNetwork) ShortNames() []string
- func (cn *ContainerNetwork) Validate(ctx context.Context) field.ErrorList
- func (cn *ContainerNetwork) ValidateUpdate(ctx context.Context, obj runtime.Object) field.ErrorList
- type ContainerNetworkConnection
- func (in *ContainerNetworkConnection) DeepCopy() *ContainerNetworkConnection
- func (in *ContainerNetworkConnection) DeepCopyInto(out *ContainerNetworkConnection)
- func (in *ContainerNetworkConnection) DeepCopyObject() runtime.Object
- func (cn *ContainerNetworkConnection) GetGroupVersionResource() schema.GroupVersionResource
- func (cn *ContainerNetworkConnection) GetObjectMeta() *metav1.ObjectMeta
- func (cn *ContainerNetworkConnection) IsStorageVersion() bool
- func (cn *ContainerNetworkConnection) NamespaceScoped() bool
- func (cn *ContainerNetworkConnection) NamespacedName() types.NamespacedName
- func (cn *ContainerNetworkConnection) New() runtime.Object
- func (cn *ContainerNetworkConnection) NewList() runtime.Object
- func (cn *ContainerNetworkConnection) ShortNames() []string
- func (cn *ContainerNetworkConnection) Validate(ctx context.Context) field.ErrorList
- type ContainerNetworkConnectionConfig
- type ContainerNetworkConnectionList
- func (in *ContainerNetworkConnectionList) DeepCopy() *ContainerNetworkConnectionList
- func (in *ContainerNetworkConnectionList) DeepCopyInto(out *ContainerNetworkConnectionList)
- func (in *ContainerNetworkConnectionList) DeepCopyObject() runtime.Object
- func (cnl *ContainerNetworkConnectionList) GetItems() []*ContainerNetworkConnection
- func (cnl *ContainerNetworkConnectionList) GetListMeta() *metav1.ListMeta
- func (cnl *ContainerNetworkConnectionList) ItemCount() uint32
- type ContainerNetworkConnectionSpec
- type ContainerNetworkList
- func (in *ContainerNetworkList) DeepCopy() *ContainerNetworkList
- func (in *ContainerNetworkList) DeepCopyInto(out *ContainerNetworkList)
- func (in *ContainerNetworkList) DeepCopyObject() runtime.Object
- func (cnl *ContainerNetworkList) GetItems() []*ContainerNetwork
- func (cnl *ContainerNetworkList) GetListMeta() *metav1.ListMeta
- func (cnl *ContainerNetworkList) ItemCount() uint32
- type ContainerNetworkSpec
- type ContainerNetworkState
- type ContainerNetworkStatus
- type ContainerNetworkTunnelProxy
- func (in *ContainerNetworkTunnelProxy) DeepCopy() *ContainerNetworkTunnelProxy
- func (in *ContainerNetworkTunnelProxy) DeepCopyInto(out *ContainerNetworkTunnelProxy)
- func (in *ContainerNetworkTunnelProxy) DeepCopyObject() runtime.Object
- func (cntp *ContainerNetworkTunnelProxy) GetGroupVersionResource() schema.GroupVersionResource
- func (cntp *ContainerNetworkTunnelProxy) GetObjectMeta() *metav1.ObjectMeta
- func (cntp *ContainerNetworkTunnelProxy) GetStatus() apiserver_resource.StatusSubResource
- func (cntp *ContainerNetworkTunnelProxy) IsStorageVersion() bool
- func (cntp *ContainerNetworkTunnelProxy) NamespaceScoped() bool
- func (cntp *ContainerNetworkTunnelProxy) NamespacedName() types.NamespacedName
- func (cntp *ContainerNetworkTunnelProxy) New() runtime.Object
- func (cntp *ContainerNetworkTunnelProxy) NewList() runtime.Object
- func (cntp *ContainerNetworkTunnelProxy) ServicesProduced() []commonapi.ServiceProducer
- func (cntp *ContainerNetworkTunnelProxy) ShortNames() []string
- func (cntp *ContainerNetworkTunnelProxy) Validate(ctx context.Context) field.ErrorList
- func (cntp *ContainerNetworkTunnelProxy) ValidateUpdate(ctx context.Context, obj runtime.Object) field.ErrorList
- type ContainerNetworkTunnelProxyList
- func (in *ContainerNetworkTunnelProxyList) DeepCopy() *ContainerNetworkTunnelProxyList
- func (in *ContainerNetworkTunnelProxyList) DeepCopyInto(out *ContainerNetworkTunnelProxyList)
- func (in *ContainerNetworkTunnelProxyList) DeepCopyObject() runtime.Object
- func (cntpl *ContainerNetworkTunnelProxyList) GetItems() []*ContainerNetworkTunnelProxy
- func (cntpl *ContainerNetworkTunnelProxyList) GetListMeta() *metav1.ListMeta
- func (cntpl *ContainerNetworkTunnelProxyList) ItemCount() uint32
- type ContainerNetworkTunnelProxySpec
- type ContainerNetworkTunnelProxyState
- type ContainerNetworkTunnelProxyStatus
- type ContainerPemCertificates
- func (in *ContainerPemCertificates) DeepCopy() *ContainerPemCertificates
- func (in *ContainerPemCertificates) DeepCopyInto(out *ContainerPemCertificates)
- func (pc *ContainerPemCertificates) Equal(other *ContainerPemCertificates) bool
- func (pc *ContainerPemCertificates) Validate(fieldPath *field.Path) field.ErrorList
- type ContainerPort
- type ContainerRestartPolicy
- type ContainerSpec
- type ContainerState
- type ContainerStatus
- type ContainerVolume
- func (in *ContainerVolume) DeepCopy() *ContainerVolume
- func (in *ContainerVolume) DeepCopyInto(out *ContainerVolume)
- func (in *ContainerVolume) DeepCopyObject() runtime.Object
- func (cv *ContainerVolume) GetGroupVersionResource() schema.GroupVersionResource
- func (cv *ContainerVolume) GetObjectMeta() *metav1.ObjectMeta
- func (cv *ContainerVolume) GetStatus() apiserver_resource.StatusSubResource
- func (cv *ContainerVolume) IsStorageVersion() bool
- func (cv *ContainerVolume) NamespaceScoped() bool
- func (cv *ContainerVolume) NamespacedName() types.NamespacedName
- func (cv *ContainerVolume) New() runtime.Object
- func (cv *ContainerVolume) NewList() runtime.Object
- func (cv *ContainerVolume) ShortNames() []string
- func (cv *ContainerVolume) Validate(ctx context.Context) field.ErrorList
- func (cv *ContainerVolume) ValidateUpdate(ctx context.Context, old runtime.Object) field.ErrorList
- type ContainerVolumeList
- func (in *ContainerVolumeList) DeepCopy() *ContainerVolumeList
- func (in *ContainerVolumeList) DeepCopyInto(out *ContainerVolumeList)
- func (in *ContainerVolumeList) DeepCopyObject() runtime.Object
- func (cvl *ContainerVolumeList) GetItems() []*ContainerVolume
- func (cvl *ContainerVolumeList) GetListMeta() *metav1.ListMeta
- func (cvl *ContainerVolumeList) ItemCount() uint32
- type ContainerVolumeSpec
- type ContainerVolumeState
- type ContainerVolumeStatus
- type CreateFileSystem
- type Endpoint
- func (in *Endpoint) DeepCopy() *Endpoint
- func (in *Endpoint) DeepCopyInto(out *Endpoint)
- func (in *Endpoint) DeepCopyObject() runtime.Object
- func (e *Endpoint) GetGroupVersionResource() schema.GroupVersionResource
- func (e *Endpoint) GetObjectMeta() *metav1.ObjectMeta
- func (e *Endpoint) GetStatus() apiserver_resource.StatusSubResource
- func (e *Endpoint) IsStorageVersion() bool
- func (e *Endpoint) NamespaceScoped() bool
- func (e *Endpoint) NamespacedName() types.NamespacedName
- func (e *Endpoint) New() runtime.Object
- func (e *Endpoint) NewList() runtime.Object
- func (e *Endpoint) ShortNames() []string
- func (e *Endpoint) String() string
- func (e *Endpoint) Validate(ctx context.Context) field.ErrorList
- type EndpointList
- func (in *EndpointList) DeepCopy() *EndpointList
- func (in *EndpointList) DeepCopyInto(out *EndpointList)
- func (in *EndpointList) DeepCopyObject() runtime.Object
- func (el *EndpointList) GetItems() []*Endpoint
- func (el *EndpointList) GetListMeta() *metav1.ListMeta
- func (el *EndpointList) ItemCount() uint32
- type EndpointSpec
- type EndpointStatus
- type EnvVar
- type EnvironmentBehavior
- type Executable
- func (in *Executable) DeepCopy() *Executable
- func (in *Executable) DeepCopyInto(out *Executable)
- func (in *Executable) DeepCopyObject() runtime.Object
- func (e *Executable) Done() bool
- func (*Executable) GenericSubResources() []apiserver_resource.GenericSubResource
- func (e *Executable) GetGroupVersionResource() schema.GroupVersionResource
- func (e *Executable) GetObjectMeta() *metav1.ObjectMeta
- func (e *Executable) GetResourceId() string
- func (e *Executable) GetStatus() apiserver_resource.StatusSubResource
- func (e *Executable) GetStdErrFile() string
- func (e *Executable) GetStdOutFile() string
- func (ce *Executable) HasStdErr() bool
- func (ce *Executable) HasStdOut() bool
- func (e *Executable) IsStorageVersion() bool
- func (e *Executable) NamespaceScoped() bool
- func (e *Executable) NamespacedName() types.NamespacedName
- func (e *Executable) New() runtime.Object
- func (e *Executable) NewList() runtime.Object
- func (e *Executable) ShortNames() []string
- func (e *Executable) Validate(ctx context.Context) field.ErrorList
- func (e *Executable) ValidateUpdate(ctx context.Context, obj runtime.Object) field.ErrorList
- type ExecutableList
- func (in *ExecutableList) DeepCopy() *ExecutableList
- func (in *ExecutableList) DeepCopyInto(out *ExecutableList)
- func (in *ExecutableList) DeepCopyObject() runtime.Object
- func (el *ExecutableList) GetItems() []*Executable
- func (el *ExecutableList) GetListMeta() *metav1.ListMeta
- func (el *ExecutableList) ItemCount() uint32
- type ExecutableLogResource
- func (in *ExecutableLogResource) DeepCopy() *ExecutableLogResource
- func (in *ExecutableLogResource) DeepCopyInto(out *ExecutableLogResource)
- func (elr *ExecutableLogResource) GetStorageProvider(obj apiserver_resource.Object, rootPath string, ...) apiserver.StorageProvider
- func (elr *ExecutableLogResource) Name() string
- type ExecutablePemCertificates
- func (in *ExecutablePemCertificates) DeepCopy() *ExecutablePemCertificates
- func (in *ExecutablePemCertificates) DeepCopyInto(out *ExecutablePemCertificates)
- func (pc *ExecutablePemCertificates) Equal(other *ExecutablePemCertificates) bool
- func (pc *ExecutablePemCertificates) Validate(fieldPath *field.Path) field.ErrorList
- type ExecutableProbe
- type ExecutableReplicaSet
- func (in *ExecutableReplicaSet) DeepCopy() *ExecutableReplicaSet
- func (in *ExecutableReplicaSet) DeepCopyInto(out *ExecutableReplicaSet)
- func (in *ExecutableReplicaSet) DeepCopyObject() runtime.Object
- func (e *ExecutableReplicaSet) GetGroupVersionResource() schema.GroupVersionResource
- func (e *ExecutableReplicaSet) GetObjectMeta() *metav1.ObjectMeta
- func (e *ExecutableReplicaSet) GetStatus() apiserver_resource.StatusSubResource
- func (e *ExecutableReplicaSet) IsStorageVersion() bool
- func (*ExecutableReplicaSet) NamespaceScoped() bool
- func (e *ExecutableReplicaSet) NamespacedName() types.NamespacedName
- func (*ExecutableReplicaSet) New() runtime.Object
- func (*ExecutableReplicaSet) NewList() runtime.Object
- func (*ExecutableReplicaSet) ShortNames() []string
- func (ers *ExecutableReplicaSet) Validate(ctx context.Context) field.ErrorList
- type ExecutableReplicaSetList
- func (in *ExecutableReplicaSetList) DeepCopy() *ExecutableReplicaSetList
- func (in *ExecutableReplicaSetList) DeepCopyInto(out *ExecutableReplicaSetList)
- func (in *ExecutableReplicaSetList) DeepCopyObject() runtime.Object
- func (el *ExecutableReplicaSetList) GetItems() []*ExecutableReplicaSet
- func (el *ExecutableReplicaSetList) GetListMeta() *metav1.ListMeta
- func (el *ExecutableReplicaSetList) ItemCount() uint32
- type ExecutableReplicaSetSpec
- type ExecutableReplicaSetStatus
- type ExecutableSpec
- type ExecutableState
- type ExecutableStatus
- type ExecutableTemplate
- type ExecutionType
- type FileSystemEntry
- func (in *FileSystemEntry) DeepCopy() *FileSystemEntry
- func (in *FileSystemEntry) DeepCopyInto(out *FileSystemEntry)
- func (cfi *FileSystemEntry) Equal(other *FileSystemEntry) bool
- func (fse *FileSystemEntry) GetType() FileSystemEntryType
- func (fse *FileSystemEntry) Validate(fieldPath *field.Path) field.ErrorList
- type FileSystemEntryType
- type HealthProbe
- type HealthProbeOutcome
- type HealthProbeResult
- type HealthProbeResultDiff
- type HealthProbeSchedule
- type HealthProbeScheduleKind
- type HealthProbeType
- type HealthStatus
- type HttpHeader
- type HttpProbe
- type LogOptions
- func (in *LogOptions) DeepCopy() *LogOptions
- func (in *LogOptions) DeepCopyInto(out *LogOptions)
- func (in *LogOptions) DeepCopyObject() runtime.Object
- func (lo *LogOptions) GetGroupVersionResource() schema.GroupVersionResource
- func (lo *LogOptions) GetObjectMeta() *metav1.ObjectMeta
- func (lo *LogOptions) IsStorageVersion() bool
- func (lo *LogOptions) NamespaceScoped() bool
- func (lo *LogOptions) New() runtime.Object
- func (lo *LogOptions) NewList() runtime.Object
- func (lo *LogOptions) String() string
- func (lo *LogOptions) Validate() error
- type LogOptionsList
- type LogStorage
- func (ls *LogStorage) Destroy()
- func (ls *LogStorage) Get(ctx context.Context, name string, options runtime.Object) (runtime.Object, error)
- func (ls *LogStorage) GroupVersionKind(containingGV schema.GroupVersion) schema.GroupVersionKind
- func (ls *LogStorage) New() runtime.Object
- func (ls *LogStorage) NewGetOptions() (runtime.Object, bool, string)
- func (ls *LogStorage) ProducesMIMETypes(httpVerb string) []string
- func (ls *LogStorage) ProducesObject(httpVerb string) interface{}
- type LogStreamSource
- type LogStreamer
- func (ls *LogStreamer) DeepCopyObject() runtime.Object
- func (ls *LogStreamer) GetGroupVersionResource() schema.GroupVersionResource
- func (ls *LogStreamer) GetObjectMeta() *metav1.ObjectMeta
- func (ls *LogStreamer) InputStream(ctx context.Context, apiVersion, acceptHeader string) (io.ReadCloser, bool, string, error)
- func (ls *LogStreamer) IsStorageVersion() bool
- func (ls *LogStreamer) NamespaceScoped() bool
- func (ls *LogStreamer) New() runtime.Object
- func (ls *LogStreamer) NewList() runtime.Object
- type LogStreamerList
- type PemCertificate
- func (in *PemCertificate) DeepCopy() *PemCertificate
- func (in *PemCertificate) DeepCopyInto(out *PemCertificate)
- func (pc *PemCertificate) Equal(other *PemCertificate) bool
- func (pc *PemCertificate) OpenSSLFingerprint() (string, error)
- func (pc *PemCertificate) ToX509Certificate() (*x509.Certificate, error)
- func (pc *PemCertificate) Validate(fieldPath *field.Path) field.ErrorList
- type PortProtocol
- type PullPolicy
- type ResourceLogStreamer
- type ResourceStreamStatus
- type ResourceStreamerFunc
- type ResourceWatcherEvent
- type Service
- func (in *Service) DeepCopy() *Service
- func (in *Service) DeepCopyInto(out *Service)
- func (in *Service) DeepCopyObject() runtime.Object
- func (svc *Service) Done() bool
- func (svc *Service) GetDeletionTimestamp() *metav1.Time
- func (svc *Service) GetGroupVersionResource() schema.GroupVersionResource
- func (svc *Service) GetObjectMeta() *metav1.ObjectMeta
- func (svc *Service) GetResourceId() string
- func (svc *Service) GetStatus() apiserver_resource.StatusSubResource
- func (svc *Service) GetStdErrFile() string
- func (svc *Service) GetStdOutFile() string
- func (svc *Service) GetUID() types.UID
- func (ce *Service) HasStdErr() bool
- func (ce *Service) HasStdOut() bool
- func (svc *Service) IsStorageVersion() bool
- func (svc *Service) NamespaceScoped() bool
- func (svc *Service) NamespacedName() types.NamespacedName
- func (svc *Service) New() runtime.Object
- func (svc *Service) NewList() runtime.Object
- func (svc *Service) ShortNames() []string
- func (svc *Service) Validate(ctx context.Context) field.ErrorList
- type ServiceList
- func (in *ServiceList) DeepCopy() *ServiceList
- func (in *ServiceList) DeepCopyInto(out *ServiceList)
- func (in *ServiceList) DeepCopyObject() runtime.Object
- func (svcl *ServiceList) GetItems() []*Service
- func (svcl *ServiceList) GetListMeta() *metav1.ListMeta
- func (svcl *ServiceList) ItemCount() uint32
- type ServiceSpec
- type ServiceState
- type ServiceStatus
- type StdIoStreamableResource
- type TunnelConfiguration
- type TunnelState
- type TunnelStatus
- type VolumeMount
- type VolumeMountType
Constants ¶
const LogSubresourceName = "log"
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "usvc-dev.developer.microsoft.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme // Track the resources that need to be automatically cleaned up at shutdown CleanupResources = []*CleanupResource{ { GVR: (&ContainerExec{}).GetGroupVersionResource(), }, { GVR: (&ExecutableReplicaSet{}).GetGroupVersionResource(), }, { GVR: (&Service{}).GetGroupVersionResource(), }, { GVR: (&Container{}).GetGroupVersionResource(), CleanUpAfter: []schema.GroupVersionResource{ (&ContainerExec{}).GetGroupVersionResource(), }, }, { GVR: (&Executable{}).GetGroupVersionResource(), CleanUpAfter: []schema.GroupVersionResource{(&ExecutableReplicaSet{}).GetGroupVersionResource()}, }, { GVR: (&ContainerNetworkConnection{}).GetGroupVersionResource(), CleanUpAfter: []schema.GroupVersionResource{ (&Container{}).GetGroupVersionResource(), }, }, { GVR: (&ContainerNetwork{}).GetGroupVersionResource(), CleanUpAfter: []schema.GroupVersionResource{ (&Container{}).GetGroupVersionResource(), (&ContainerNetworkConnection{}).GetGroupVersionResource(), (&ContainerNetworkTunnelProxy{}).GetGroupVersionResource(), }, }, { GVR: (&ContainerVolume{}).GetGroupVersionResource(), CleanUpAfter: []schema.GroupVersionResource{ (&Container{}).GetGroupVersionResource(), }, }, { GVR: (&ContainerNetworkTunnelProxy{}).GetGroupVersionResource(), }, } // A registry of resource log streaming implementations ResourceLogStreamers = &syncmap.Map[schema.GroupVersionResource, ResourceLogStreamer]{} // Whether new resource creation is prohibited (because the API server is shutting down) ResourceCreationProhibited = &atomic.Bool{} // Types that have data stored in the API server. PersistentTypes = []apiserver_resource.Object{ &Executable{}, &Endpoint{}, &ExecutableReplicaSet{}, &Container{}, &ContainerVolume{}, &ContainerNetwork{}, &ContainerNetworkConnection{}, &ContainerExec{}, &Service{}, &ContainerNetworkTunnelProxy{}, } // Types that must be recognizable by the API server, but are not persisted // (they are used for request processing only). AddtionalTypes = []apiserver_resource.Object{ &LogOptions{}, &LogStreamer{}, } )
var UnknownExitCode *int32 = nil
A valid exit code of a process is a non-negative number. We use UnknownExitCode to indicate that we have not obtained the exit code yet.
var UnknownPID *int64 = nil
Unknown PID code is used when replica is not started (or fails to start)
Functions ¶
func UrlValuesToLogOptions ¶
func UrlValuesToLogOptions(in *url.Values, out *LogOptions, cscope conversion.Scope) error
Normally we would use conversion-gen code generator to generate conversion functions, but for some reason this generator is not finding the DeepCopyObject() implementation for this type and is failing. Probably a bug. As a workaround we will implement the conversion functions manually. We might try harder to use the code generator if we end up having more type conversions (e.g. if we support multiple schema versions for DCP).
Types ¶
type AddressAllocationMode ¶
type AddressAllocationMode string
const ( // Bind to localhost (default) AddressAllocationModeLocalhost AddressAllocationMode = "Localhost" // Bind only to 127.0.0.1 AddressAllocationModeIPv4ZeroOne AddressAllocationMode = "IPv4ZeroOne" // Bind to a random 127.*.*.* loopback address AddressAllocationModeIPv4Loopback AddressAllocationMode = "IPv4Loopback" // Bind only to ::1 AddressAllocationModeIPv6ZeroOne AddressAllocationMode = "IPv6ZeroOne" // Bind to all interfaces (including localhost/loopback addresses). // DCP will bind to either IPv4 or IPv6 depending on configuration and available // interfaces, but not both. AddressAllocationModeAllInterfaces AddressAllocationMode = "AllInterfaces" // Bind to all IPv4 interfaces (0.0.0.0). AddressAllocationModeIPv4AllInterfaces AddressAllocationMode = "IPv4AllInterfaces" // Bind to all IPv6 interfaces (::). AddressAllocationModeIPv6AllInterfaces AddressAllocationMode = "IPv6AllInterfaces" // Don't use a proxy--the service will have the same address and port as the first endpoint AddressAllocationModeProxyless AddressAllocationMode = "Proxyless" )
type AmbientEnvironment ¶
type AmbientEnvironment struct {
// How environment variables should be inherited from the controller process.
// +kubebuilder:default:=Inherit
Behavior EnvironmentBehavior `json:"behavior,omitempty"`
}
+k8s:openapi-gen=true
func (*AmbientEnvironment) DeepCopy ¶
func (in *AmbientEnvironment) DeepCopy() *AmbientEnvironment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmbientEnvironment.
func (*AmbientEnvironment) DeepCopyInto ¶
func (in *AmbientEnvironment) DeepCopyInto(out *AmbientEnvironment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildSecretType ¶
type BuildSecretType string
const ( EnvSecret BuildSecretType = "env" FileSecret BuildSecretType = "file" )
type CleanupResource ¶
type CleanupResource struct {
GVR schema.GroupVersionResource
// Specifies what other resource kinds need to be cleaned up first before the given resource can be cleaned up.
CleanUpAfter []schema.GroupVersionResource
}
+k8s:deepcopy-gen=false
type Container ¶
type Container struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ContainerSpec `json:"spec,omitempty"`
Status ContainerStatus `json:"status,omitempty"`
}
Container resource represents a container run using an orchestrator such as Docker or Podman +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*Container) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Container) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Container) GenericSubResources ¶
func (*Container) GenericSubResources() []apiserver_resource.GenericSubResource
func (*Container) GetGroupVersionResource ¶
func (c *Container) GetGroupVersionResource() schema.GroupVersionResource
func (*Container) GetObjectMeta ¶
func (c *Container) GetObjectMeta() *metav1.ObjectMeta
func (*Container) GetResourceId ¶
func (*Container) GetStatus ¶
func (c *Container) GetStatus() apiserver_resource.StatusSubResource
func (*Container) IsStorageVersion ¶
func (*Container) NamespaceScoped ¶
func (*Container) NamespacedName ¶
func (c *Container) NamespacedName() types.NamespacedName
func (*Container) ShortNames ¶
func (*Container) ShouldStart ¶
func (*Container) SpecifiedImageNameOrDefault ¶
type ContainerBuildContext ¶
type ContainerBuildContext struct {
// The path to the directory to be used as the root of the build context
Context string `json:"context"`
// The path to a Dockerfile to use for the build
Dockerfile string `json:"dockerfile,omitempty"`
// Additional tags to apply to the image
// +listType=set
Tags []string `json:"tags,omitempty"`
// Additional --build-arg values to pass to the build command
// +listType=atomic
Args []EnvVar `json:"args,omitempty"`
// Build time secrets to be passed in to the builder via --secret
// +listType=atomic
Secrets []ContainerBuildSecret `json:"secrets,omitempty"`
// Optional: The name of the build stage to use for the build
Stage string `json:"stage,omitempty"`
// Labels to apply to the built image
// +listType=map
// +listMapKey=key
Labels []ContainerLabel `json:"labels,omitempty"`
}
+k8s:openapi-gen=true
func (*ContainerBuildContext) DeepCopy ¶
func (in *ContainerBuildContext) DeepCopy() *ContainerBuildContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerBuildContext.
func (*ContainerBuildContext) DeepCopyInto ¶
func (in *ContainerBuildContext) DeepCopyInto(out *ContainerBuildContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerBuildContext) Equal ¶
func (c1 *ContainerBuildContext) Equal(c2 *ContainerBuildContext) bool
Equivalence check for ContainerBuildContext for use in validation
type ContainerBuildSecret ¶
type ContainerBuildSecret struct {
// The type of secret (defaults to file)
Type BuildSecretType `json:"type,omitempty"`
// The ID of the secret
ID string `json:"id"`
// If type is file (or empty), the source filepath of the secret, if type is env, the environment variable name
// Required for file secrets, optional for env secrets (defaults to the ID)
Source string `json:"source,omitempty"`
// Only used for "env" type secrets. If set, this value is applied via the configured environment variable
// to the build command. If unset, it is assumed the environment secret comes from an ambient environment variables
Value string `json:"value,omitempty"`
}
+k8s:openapi-gen=true
func (*ContainerBuildSecret) DeepCopy ¶
func (in *ContainerBuildSecret) DeepCopy() *ContainerBuildSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerBuildSecret.
func (*ContainerBuildSecret) DeepCopyInto ¶
func (in *ContainerBuildSecret) DeepCopyInto(out *ContainerBuildSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerExec ¶
type ContainerExec struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ContainerExecSpec `json:"spec,omitempty"`
Status ContainerExecStatus `json:"status,omitempty"`
}
ContainerExec represents an exec command to run against a Container resource +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*ContainerExec) DeepCopy ¶
func (in *ContainerExec) DeepCopy() *ContainerExec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerExec.
func (*ContainerExec) DeepCopyInto ¶
func (in *ContainerExec) DeepCopyInto(out *ContainerExec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerExec) DeepCopyObject ¶
func (in *ContainerExec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerExec) Done ¶
func (ce *ContainerExec) Done() bool
Done implements StdOutStreamableResource.
func (*ContainerExec) GenericSubResources ¶
func (*ContainerExec) GenericSubResources() []apiserver_resource.GenericSubResource
func (*ContainerExec) GetGroupVersionResource ¶
func (ce *ContainerExec) GetGroupVersionResource() schema.GroupVersionResource
GetGroupVersionResource implements resource.Object.
func (*ContainerExec) GetObjectMeta ¶
func (ce *ContainerExec) GetObjectMeta() *metav1.ObjectMeta
func (*ContainerExec) GetResourceId ¶
func (ce *ContainerExec) GetResourceId() string
GetResourceId implements StdOutStreamableResource.
func (*ContainerExec) GetStatus ¶
func (ce *ContainerExec) GetStatus() apiserver_resource.StatusSubResource
func (*ContainerExec) GetStdErrFile ¶
func (ce *ContainerExec) GetStdErrFile() string
StdErrFile implements StdOutStreamableResource.
func (*ContainerExec) GetStdOutFile ¶
func (ce *ContainerExec) GetStdOutFile() string
StdOutFile implements StdOutStreamableResource.
func (*ContainerExec) HasStdErr ¶
func (ce *ContainerExec) HasStdErr() bool
HasStdErr implements StdOutStreamableResource.
func (*ContainerExec) HasStdOut ¶
func (ce *ContainerExec) HasStdOut() bool
HasStdOut implements StdOutStreamableResource.
func (*ContainerExec) IsStorageVersion ¶
func (ce *ContainerExec) IsStorageVersion() bool
func (*ContainerExec) NamespaceScoped ¶
func (ce *ContainerExec) NamespaceScoped() bool
func (*ContainerExec) NamespacedName ¶
func (ce *ContainerExec) NamespacedName() types.NamespacedName
func (*ContainerExec) New ¶
func (ce *ContainerExec) New() runtime.Object
func (*ContainerExec) NewList ¶
func (ce *ContainerExec) NewList() runtime.Object
func (*ContainerExec) ShortNames ¶
func (ce *ContainerExec) ShortNames() []string
func (*ContainerExec) Validate ¶
func (ce *ContainerExec) Validate(ctx context.Context) field.ErrorList
func (*ContainerExec) ValidateUpdate ¶
type ContainerExecList ¶
type ContainerExecList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ContainerExec `json:"items"`
}
ContainerExecList contains a list of ContainerExec instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ContainerExecList) DeepCopy ¶
func (in *ContainerExecList) DeepCopy() *ContainerExecList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerExecList.
func (*ContainerExecList) DeepCopyInto ¶
func (in *ContainerExecList) DeepCopyInto(out *ContainerExecList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerExecList) DeepCopyObject ¶
func (in *ContainerExecList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerExecList) GetItems ¶
func (cel *ContainerExecList) GetItems() []*ContainerExec
func (*ContainerExecList) GetListMeta ¶
func (cel *ContainerExecList) GetListMeta() *metav1.ListMeta
func (*ContainerExecList) ItemCount ¶
func (cel *ContainerExecList) ItemCount() uint32
type ContainerExecLogResource ¶
type ContainerExecLogResource struct{}
func (*ContainerExecLogResource) DeepCopy ¶
func (in *ContainerExecLogResource) DeepCopy() *ContainerExecLogResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerExecLogResource.
func (*ContainerExecLogResource) DeepCopyInto ¶
func (in *ContainerExecLogResource) DeepCopyInto(out *ContainerExecLogResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerExecLogResource) GetStorageProvider ¶
func (celr *ContainerExecLogResource) GetStorageProvider( obj apiserver_resource.Object, rootPath string, parentSP apiserver.StorageProvider, ) apiserver.StorageProvider
func (*ContainerExecLogResource) Name ¶
func (celr *ContainerExecLogResource) Name() string
type ContainerExecSpec ¶
type ContainerExecSpec struct {
// The name of the Container resource to connect to
ContainerName string `json:"containerName"`
// Environment settings
// +listType=map
// +listMapKey=name
Env []EnvVar `json:"env,omitempty"`
// Environment files to use to populate the environment for the command
// +listType=set
EnvFiles []string `json:"envFiles,omitempty"`
// Working directory in the container for the command
WorkingDirectory string `json:"workingDirectory,omitempty"`
// Command to run in the container
Command string `json:"command"`
// Arguments to pass to the command
// +listType=atomic
Args []string `json:"args,omitempty"`
}
ContainerExecSpec defines an exec command to run against a Container resource +k8s:openapi-gen=true
func (*ContainerExecSpec) DeepCopy ¶
func (in *ContainerExecSpec) DeepCopy() *ContainerExecSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerExecSpec.
func (*ContainerExecSpec) DeepCopyInto ¶
func (in *ContainerExecSpec) DeepCopyInto(out *ContainerExecSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerExecStatus ¶
type ContainerExecStatus struct {
// The current state of the command execution
State ExecutableState `json:"state,omitempty"`
// Time the command was started
StartupTimestamp metav1.MicroTime `json:"startupTimestamp,omitempty"`
// Time the command finished running
FinishTimestamp metav1.MicroTime `json:"finishTimestamp,omitempty"`
// Exit code of the command
ExitCode *int32 `json:"exitCode,omitempty"`
// The path of a temporary file that contains captured standard output data from the command
StdOutFile string `json:"stdOutFile,omitempty"`
// The path of a temporary file that contains captured standard error data from the command
StdErrFile string `json:"stdErrFile,omitempty"`
// Effective values of environment variables, after all substitutions have been applied
// +listType=map
// +listMapKey=name
EffectiveEnv []EnvVar `json:"effectiveEnv,omitempty"`
// Effective values of arguments to be passed to the command, after all substitutions have been applied
// +listType=atomic
EffectiveArgs []string `json:"effectiveArgs,omitempty"`
}
ContainerExecStatus describes the status of a ContainerExec command +k8s:openapi-gen=true
func (ContainerExecStatus) CopyTo ¶
func (ces ContainerExecStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*ContainerExecStatus) DeepCopy ¶
func (in *ContainerExecStatus) DeepCopy() *ContainerExecStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerExecStatus.
func (*ContainerExecStatus) DeepCopyInto ¶
func (in *ContainerExecStatus) DeepCopyInto(out *ContainerExecStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerLabel ¶
type ContainerLabel struct {
// The label key
Key string `json:"key"`
// The label value
Value string `json:"value"`
}
+k8s:openapi-gen=true
func (*ContainerLabel) DeepCopy ¶
func (in *ContainerLabel) DeepCopy() *ContainerLabel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerLabel.
func (*ContainerLabel) DeepCopyInto ¶
func (in *ContainerLabel) DeepCopyInto(out *ContainerLabel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerList ¶
type ContainerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Container `json:"items"`
}
ContainerList contains a list of Executable instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ContainerList) DeepCopy ¶
func (in *ContainerList) DeepCopy() *ContainerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerList.
func (*ContainerList) DeepCopyInto ¶
func (in *ContainerList) DeepCopyInto(out *ContainerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerList) DeepCopyObject ¶
func (in *ContainerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerList) GetItems ¶
func (cl *ContainerList) GetItems() []*Container
func (*ContainerList) GetListMeta ¶
func (cl *ContainerList) GetListMeta() *metav1.ListMeta
func (*ContainerList) ItemCount ¶
func (cl *ContainerList) ItemCount() uint32
type ContainerLogResource ¶
type ContainerLogResource struct{}
func (*ContainerLogResource) DeepCopy ¶
func (in *ContainerLogResource) DeepCopy() *ContainerLogResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerLogResource.
func (*ContainerLogResource) DeepCopyInto ¶
func (in *ContainerLogResource) DeepCopyInto(out *ContainerLogResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerLogResource) GetStorageProvider ¶
func (clr *ContainerLogResource) GetStorageProvider( obj apiserver_resource.Object, rootPath string, parentSP apiserver.StorageProvider, ) apiserver.StorageProvider
func (*ContainerLogResource) Name ¶
func (clr *ContainerLogResource) Name() string
type ContainerNetwork ¶
type ContainerNetwork struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ContainerNetworkSpec `json:"spec,omitempty"`
Status ContainerNetworkStatus `json:"status,omitempty"`
}
ContainerNetwork represents a network that can be consumed by Container instances Its lifetime is independent from the lifetime of containers +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*ContainerNetwork) DeepCopy ¶
func (in *ContainerNetwork) DeepCopy() *ContainerNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetwork.
func (*ContainerNetwork) DeepCopyInto ¶
func (in *ContainerNetwork) DeepCopyInto(out *ContainerNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerNetwork) DeepCopyObject ¶
func (in *ContainerNetwork) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerNetwork) GetGroupVersionResource ¶
func (cn *ContainerNetwork) GetGroupVersionResource() schema.GroupVersionResource
func (*ContainerNetwork) GetObjectMeta ¶
func (cn *ContainerNetwork) GetObjectMeta() *metav1.ObjectMeta
func (*ContainerNetwork) GetStatus ¶
func (cn *ContainerNetwork) GetStatus() apiserver_resource.StatusSubResource
func (*ContainerNetwork) IsStorageVersion ¶
func (cn *ContainerNetwork) IsStorageVersion() bool
func (*ContainerNetwork) NamespaceScoped ¶
func (cn *ContainerNetwork) NamespaceScoped() bool
func (*ContainerNetwork) NamespacedName ¶
func (cn *ContainerNetwork) NamespacedName() types.NamespacedName
func (*ContainerNetwork) New ¶
func (cn *ContainerNetwork) New() runtime.Object
func (*ContainerNetwork) NewList ¶
func (cn *ContainerNetwork) NewList() runtime.Object
func (*ContainerNetwork) ShortNames ¶
func (cn *ContainerNetwork) ShortNames() []string
func (*ContainerNetwork) Validate ¶
func (cn *ContainerNetwork) Validate(ctx context.Context) field.ErrorList
func (*ContainerNetwork) ValidateUpdate ¶
type ContainerNetworkConnection ¶
type ContainerNetworkConnection struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ContainerNetworkConnectionSpec `json:"spec,omitempty"`
}
ContainerNetworkConnection represents a Container that wishes to be connected to a specific ContainerNetwork Its lifetime is dependent on the lifetime of the Container that it is attached to. +kubebuilder:object:root=true +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*ContainerNetworkConnection) DeepCopy ¶
func (in *ContainerNetworkConnection) DeepCopy() *ContainerNetworkConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkConnection.
func (*ContainerNetworkConnection) DeepCopyInto ¶
func (in *ContainerNetworkConnection) DeepCopyInto(out *ContainerNetworkConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerNetworkConnection) DeepCopyObject ¶
func (in *ContainerNetworkConnection) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerNetworkConnection) GetGroupVersionResource ¶
func (cn *ContainerNetworkConnection) GetGroupVersionResource() schema.GroupVersionResource
func (*ContainerNetworkConnection) GetObjectMeta ¶
func (cn *ContainerNetworkConnection) GetObjectMeta() *metav1.ObjectMeta
func (*ContainerNetworkConnection) IsStorageVersion ¶
func (cn *ContainerNetworkConnection) IsStorageVersion() bool
func (*ContainerNetworkConnection) NamespaceScoped ¶
func (cn *ContainerNetworkConnection) NamespaceScoped() bool
func (*ContainerNetworkConnection) NamespacedName ¶
func (cn *ContainerNetworkConnection) NamespacedName() types.NamespacedName
func (*ContainerNetworkConnection) New ¶
func (cn *ContainerNetworkConnection) New() runtime.Object
func (*ContainerNetworkConnection) NewList ¶
func (cn *ContainerNetworkConnection) NewList() runtime.Object
func (*ContainerNetworkConnection) ShortNames ¶
func (cn *ContainerNetworkConnection) ShortNames() []string
type ContainerNetworkConnectionConfig ¶
type ContainerNetworkConnectionConfig struct {
// Name of the network to connect to
Name string `json:"name"`
// Aliases of the container on the network
// +listType=atomic
Aliases []string `json:"aliases,omitempty"`
}
+k8s:openapi-gen=true
func (*ContainerNetworkConnectionConfig) DeepCopy ¶
func (in *ContainerNetworkConnectionConfig) DeepCopy() *ContainerNetworkConnectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkConnectionConfig.
func (*ContainerNetworkConnectionConfig) DeepCopyInto ¶
func (in *ContainerNetworkConnectionConfig) DeepCopyInto(out *ContainerNetworkConnectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerNetworkConnectionConfig) Equal ¶
func (cncc *ContainerNetworkConnectionConfig) Equal(other *ContainerNetworkConnectionConfig) bool
type ContainerNetworkConnectionList ¶
type ContainerNetworkConnectionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ContainerNetworkConnection `json:"items"`
}
ContainerNetworkConnectionList contains a list of ContainerNetworkConnection instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ContainerNetworkConnectionList) DeepCopy ¶
func (in *ContainerNetworkConnectionList) DeepCopy() *ContainerNetworkConnectionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkConnectionList.
func (*ContainerNetworkConnectionList) DeepCopyInto ¶
func (in *ContainerNetworkConnectionList) DeepCopyInto(out *ContainerNetworkConnectionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerNetworkConnectionList) DeepCopyObject ¶
func (in *ContainerNetworkConnectionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerNetworkConnectionList) GetItems ¶
func (cnl *ContainerNetworkConnectionList) GetItems() []*ContainerNetworkConnection
func (*ContainerNetworkConnectionList) GetListMeta ¶
func (cnl *ContainerNetworkConnectionList) GetListMeta() *metav1.ListMeta
func (*ContainerNetworkConnectionList) ItemCount ¶
func (cnl *ContainerNetworkConnectionList) ItemCount() uint32
type ContainerNetworkConnectionSpec ¶
type ContainerNetworkConnectionSpec struct {
// The name of the ContainerNetwork resource to connect to
ContainerNetworkName string `json:"containerNetworkName"`
// The ID of the container (container orchestrator resource ID) to connect to the ContainerNetwork
ContainerID string `json:"containerID"`
// The optional list of custom aliases for the container on the ContainerNetwork
// +listType=set
Aliases []string `json:"aliases,omitempty"`
}
ContainerNetworkConnectionSpec defines the desired state of a ContainerNetworkConnection +k8s:openapi-gen=true
func (*ContainerNetworkConnectionSpec) DeepCopy ¶
func (in *ContainerNetworkConnectionSpec) DeepCopy() *ContainerNetworkConnectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkConnectionSpec.
func (*ContainerNetworkConnectionSpec) DeepCopyInto ¶
func (in *ContainerNetworkConnectionSpec) DeepCopyInto(out *ContainerNetworkConnectionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerNetworkList ¶
type ContainerNetworkList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ContainerNetwork `json:"items"`
}
ContainerNetworkList contains a list of ContainerNetwork instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ContainerNetworkList) DeepCopy ¶
func (in *ContainerNetworkList) DeepCopy() *ContainerNetworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkList.
func (*ContainerNetworkList) DeepCopyInto ¶
func (in *ContainerNetworkList) DeepCopyInto(out *ContainerNetworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerNetworkList) DeepCopyObject ¶
func (in *ContainerNetworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerNetworkList) GetItems ¶
func (cnl *ContainerNetworkList) GetItems() []*ContainerNetwork
func (*ContainerNetworkList) GetListMeta ¶
func (cnl *ContainerNetworkList) GetListMeta() *metav1.ListMeta
func (*ContainerNetworkList) ItemCount ¶
func (cnl *ContainerNetworkList) ItemCount() uint32
type ContainerNetworkSpec ¶
type ContainerNetworkSpec struct {
// Name of the network (if omitted, a name is generated based on the resource name)
NetworkName string `json:"networkName,omitempty"`
// Shouild IPv6 be enabled for the network?
IPv6 bool `json:"ipv6,omitempty"`
// Should this network be created and persisted between DCP runs?
Persistent bool `json:"persistent,omitempty"`
}
ContainerNetworkSpec defines the desired state of a ContainerNetwork +k8s:openapi-gen=true
func (*ContainerNetworkSpec) DeepCopy ¶
func (in *ContainerNetworkSpec) DeepCopy() *ContainerNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkSpec.
func (*ContainerNetworkSpec) DeepCopyInto ¶
func (in *ContainerNetworkSpec) DeepCopyInto(out *ContainerNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerNetworkState ¶
type ContainerNetworkState string
const ( // The network is being created ContainerNetworkStatePending ContainerNetworkState = "Pending" // The network was successfully created ContainerNetworkStateRunning ContainerNetworkState = "Running" // An attempt was made to create the network, but it failed ContainerNetworkStateFailedToStart ContainerNetworkState = "FailedToStart" // Network was running at some point, but has been removed ContainerNetworkStateRemoved ContainerNetworkState = "Removed" // An existing network was not found ContainerNetworkStateNotFound ContainerNetworkState = "NotFound" )
type ContainerNetworkStatus ¶
type ContainerNetworkStatus struct {
// The current state of the network
State ContainerNetworkState `json:"state,omitempty"`
// If the network is in a failed state, this is the reason
Message string `json:"message,omitempty"`
// The ID of the network
ID string `json:"id,omitempty"`
// The name of the network
NetworkName string `json:"networkName,omitempty"`
// The driver of the network
Driver string `json:"driver,omitempty"`
// Does the network support IPv6?
IPv6 bool `json:"ipv6,omitempty"`
// Subnets allocated to the network (if any)
// +listType=set
Subnets []string `json:"subnets,omitempty"`
// Gateways allocated to the network (if any)
// +listType=set
Gateways []string `json:"gateways,omitempty"`
// The list of container IDs connected to the network
// +listType=set
ContainerIDs []string `json:"containerIds,omitempty"`
}
ContainerNetworkStatus defines the current state of a ContainerNetwork +k8s:openapi-gen=true
func (ContainerNetworkStatus) CopyTo ¶
func (cs ContainerNetworkStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*ContainerNetworkStatus) DeepCopy ¶
func (in *ContainerNetworkStatus) DeepCopy() *ContainerNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkStatus.
func (*ContainerNetworkStatus) DeepCopyInto ¶
func (in *ContainerNetworkStatus) DeepCopyInto(out *ContainerNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerNetworkTunnelProxy ¶
type ContainerNetworkTunnelProxy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ContainerNetworkTunnelProxySpec `json:"spec,omitempty"`
Status ContainerNetworkTunnelProxyStatus `json:"status,omitempty"`
}
ContainerNetworkTunnelProxy represents a tunnel proxy pair that handles multiple tunnels between a container network and host network. +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*ContainerNetworkTunnelProxy) DeepCopy ¶
func (in *ContainerNetworkTunnelProxy) DeepCopy() *ContainerNetworkTunnelProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkTunnelProxy.
func (*ContainerNetworkTunnelProxy) DeepCopyInto ¶
func (in *ContainerNetworkTunnelProxy) DeepCopyInto(out *ContainerNetworkTunnelProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerNetworkTunnelProxy) DeepCopyObject ¶
func (in *ContainerNetworkTunnelProxy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerNetworkTunnelProxy) GetGroupVersionResource ¶
func (cntp *ContainerNetworkTunnelProxy) GetGroupVersionResource() schema.GroupVersionResource
func (*ContainerNetworkTunnelProxy) GetObjectMeta ¶
func (cntp *ContainerNetworkTunnelProxy) GetObjectMeta() *metav1.ObjectMeta
func (*ContainerNetworkTunnelProxy) GetStatus ¶
func (cntp *ContainerNetworkTunnelProxy) GetStatus() apiserver_resource.StatusSubResource
func (*ContainerNetworkTunnelProxy) IsStorageVersion ¶
func (cntp *ContainerNetworkTunnelProxy) IsStorageVersion() bool
func (*ContainerNetworkTunnelProxy) NamespaceScoped ¶
func (cntp *ContainerNetworkTunnelProxy) NamespaceScoped() bool
func (*ContainerNetworkTunnelProxy) NamespacedName ¶
func (cntp *ContainerNetworkTunnelProxy) NamespacedName() types.NamespacedName
func (*ContainerNetworkTunnelProxy) New ¶
func (cntp *ContainerNetworkTunnelProxy) New() runtime.Object
func (*ContainerNetworkTunnelProxy) NewList ¶
func (cntp *ContainerNetworkTunnelProxy) NewList() runtime.Object
func (*ContainerNetworkTunnelProxy) ServicesProduced ¶
func (cntp *ContainerNetworkTunnelProxy) ServicesProduced() []commonapi.ServiceProducer
func (*ContainerNetworkTunnelProxy) ShortNames ¶
func (cntp *ContainerNetworkTunnelProxy) ShortNames() []string
func (*ContainerNetworkTunnelProxy) Validate ¶
func (cntp *ContainerNetworkTunnelProxy) Validate(ctx context.Context) field.ErrorList
func (*ContainerNetworkTunnelProxy) ValidateUpdate ¶
type ContainerNetworkTunnelProxyList ¶
type ContainerNetworkTunnelProxyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ContainerNetworkTunnelProxy `json:"items"`
}
ContainerNetworkTunnelProxyList contains a list of ContainerNetworkTunnelProxy instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ContainerNetworkTunnelProxyList) DeepCopy ¶
func (in *ContainerNetworkTunnelProxyList) DeepCopy() *ContainerNetworkTunnelProxyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkTunnelProxyList.
func (*ContainerNetworkTunnelProxyList) DeepCopyInto ¶
func (in *ContainerNetworkTunnelProxyList) DeepCopyInto(out *ContainerNetworkTunnelProxyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerNetworkTunnelProxyList) DeepCopyObject ¶
func (in *ContainerNetworkTunnelProxyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerNetworkTunnelProxyList) GetItems ¶
func (cntpl *ContainerNetworkTunnelProxyList) GetItems() []*ContainerNetworkTunnelProxy
func (*ContainerNetworkTunnelProxyList) GetListMeta ¶
func (cntpl *ContainerNetworkTunnelProxyList) GetListMeta() *metav1.ListMeta
func (*ContainerNetworkTunnelProxyList) ItemCount ¶
func (cntpl *ContainerNetworkTunnelProxyList) ItemCount() uint32
type ContainerNetworkTunnelProxySpec ¶
type ContainerNetworkTunnelProxySpec struct {
// Reference to the ContainerNetwork that the client proxy should connect to.
// This field is required and must reference an existing ContainerNetwork resource.
ContainerNetworkName string `json:"containerNetworkName"`
// Aliases (DNS names) that can be used to reach the client proxy container on the container network.
// +listType=set
Aliases []string `json:"aliases,omitempty"`
// List of tunnels to prepare. Each tunnel enables clients on the container network
// to connect to a server on the host (establish a tunnel stream).
// +listType=atomic
Tunnels []TunnelConfiguration `json:"tunnels,omitempty"`
// Base container image to use for the client proxy container.
// Defaults to mcr.microsoft.com/azurelinux/base/core:3.0 if not specified.
// +optional
BaseImage string `json:"baseImage,omitempty"`
}
ContainerNetworkTunnelProxySpec defines the desired state of a ContainerNetworkTunnelProxy. +k8s:openapi-gen=true
func (*ContainerNetworkTunnelProxySpec) DeepCopy ¶
func (in *ContainerNetworkTunnelProxySpec) DeepCopy() *ContainerNetworkTunnelProxySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkTunnelProxySpec.
func (*ContainerNetworkTunnelProxySpec) DeepCopyInto ¶
func (in *ContainerNetworkTunnelProxySpec) DeepCopyInto(out *ContainerNetworkTunnelProxySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerNetworkTunnelProxyState ¶
type ContainerNetworkTunnelProxyState string
const ( // The same as ContainerNetworkTunnelProxyStatePending. // May be encountered when ContainerNetworkTunnelProxy status has not been initialized yet. ContainerNetworkTunnelProxyStateEmpty ContainerNetworkTunnelProxyState = "" // Initial state - proxy pair is being created. ContainerNetworkTunnelProxyStatePending ContainerNetworkTunnelProxyState = "Pending" // Building the client proxy container image. ContainerNetworkTunnelProxyStateBuildingImage ContainerNetworkTunnelProxyState = "BuildingImage" // Starting the proxy pair. ContainerNetworkTunnelProxyStateStarting ContainerNetworkTunnelProxyState = "Starting" // Proxy pair is ready with all tunnels operational. ContainerNetworkTunnelProxyStateRunning ContainerNetworkTunnelProxyState = "Running" // Proxy pair encountered an unrecoverable error, either during startup, or during execution. ContainerNetworkTunnelProxyStateFailed ContainerNetworkTunnelProxyState = "Failed" )
type ContainerNetworkTunnelProxyStatus ¶
type ContainerNetworkTunnelProxyStatus struct {
// Overall state of the tunnel proxy pair.
// +kubebuilder:default:="Pending"
State ContainerNetworkTunnelProxyState `json:"state,omitempty"`
// Status of individual tunnels within the proxy pair.
// +listType=atomic
TunnelStatuses []TunnelStatus `json:"tunnelStatuses,omitempty"`
// Monotonically increasing version number of the tunnel configuration that was applied to the proxy pair.
// Can be used by clients changing tunnel configuration (Tunnels property) to learn that the new configuration has become effective.
TunnelConfigurationVersion int32 `json:"tunnelConfigurationVersion,omitempty"`
// The name and tag of the container image used for the client proxy container.
ClientProxyContainerImage string `json:"clientProxyContainerImage,omitempty"`
// Container ID of the running client proxy container.
ClientProxyContainerID string `json:"clientProxyContainerId,omitempty"`
// Server proxy process ID.
ServerProxyProcessID *int64 `json:"serverProxyProcessId,omitempty"`
// Server proxy process startup timestamp.
ServerProxyStartupTimestamp metav1.MicroTime `json:"serverProxyStartupTimestamp,omitempty"`
// The path of a temporary file that contains captured standard output data from the server proxy process.
ServerProxyStdOutFile string `json:"serverProxyStdOutFile,omitempty"`
// The path of a temporary file that contains captured standard error data from the server proxy process.
ServerProxyStdErrFile string `json:"serverProxyStdErrFile,omitempty"`
// Published (host) port for client proxy control endpoint.
ClientProxyControlPort int32 `json:"clientProxyControlPort,omitempty"`
// Published (host) port for client proxy data endpoint.
ClientProxyDataPort int32 `json:"clientProxyDataPort,omitempty"`
// Server proxy control port (for controlling the proxy pair).
ServerProxyControlPort int32 `json:"serverProxyControlPort,omitempty"`
}
ContainerNetworkTunnelProxyStatus defines the current state of a ContainerNetworkTunnelProxy. +k8s:openapi-gen=true
func (ContainerNetworkTunnelProxyStatus) CopyTo ¶
func (s ContainerNetworkTunnelProxyStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*ContainerNetworkTunnelProxyStatus) DeepCopy ¶
func (in *ContainerNetworkTunnelProxyStatus) DeepCopy() *ContainerNetworkTunnelProxyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNetworkTunnelProxyStatus.
func (*ContainerNetworkTunnelProxyStatus) DeepCopyInto ¶
func (in *ContainerNetworkTunnelProxyStatus) DeepCopyInto(out *ContainerNetworkTunnelProxyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerPemCertificates ¶
type ContainerPemCertificates struct {
// The individual certificates in PEM format.
// +listType=atomic
Certificates []PemCertificate `json:"certificates,omitempty"`
// The base destination path in the container where the certificates will be written. Must be an absolute path.
// This path will be created if it does not already exist. Individual certificate files will be created
// in a subfolder named "certs" under this path along with OpenSSL thumbprint symlinks to each of them.
// The certificate bundle will be created in a file named "cert.pem" under this path.
Destination string `json:"destination,omitempty"`
// Optional list of bundle files to overwrite with the generated certificate bundle.
// Each path in the list must be an absolute path to a file in the container.
// Any existing file at these paths will be overwritten with the generated certificate bundle or created if it does not exist.
// +listType=set
OverwriteBundlePaths []string `json:"overwriteBundlePaths,omitempty"`
// If true, any invalid certificates in the Certificates list will be skipped, but any valid certificates will still be written.
// If false, the entire operation will fail if any invalid certificates are found.
ContinueOnError bool `json:"continueOnError,omitempty"`
}
Represents a collection of PEM formatted certificates to be written into the container +k8s:openapi-gen=true
func (*ContainerPemCertificates) DeepCopy ¶
func (in *ContainerPemCertificates) DeepCopy() *ContainerPemCertificates
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerPemCertificates.
func (*ContainerPemCertificates) DeepCopyInto ¶
func (in *ContainerPemCertificates) DeepCopyInto(out *ContainerPemCertificates)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerPemCertificates) Equal ¶
func (pc *ContainerPemCertificates) Equal(other *ContainerPemCertificates) bool
type ContainerPort ¶
type ContainerPort struct {
// Optional: If specified, this must be a valid port number, 0 < x < 65536.
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
HostPort int32 `json:"hostPort,omitempty"`
// Required: This must be a valid port number, 0 < x < 65536.
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
ContainerPort int32 `json:"containerPort"`
// The port to be used, defaults to TCP
Protocol PortProtocol `json:"protocol,omitempty"`
// Optional: What host IP to bind the external port to.
HostIP string `json:"hostIP,omitempty"`
}
+k8s:openapi-gen=true
func (*ContainerPort) DeepCopy ¶
func (in *ContainerPort) DeepCopy() *ContainerPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerPort.
func (*ContainerPort) DeepCopyInto ¶
func (in *ContainerPort) DeepCopyInto(out *ContainerPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerRestartPolicy ¶
type ContainerRestartPolicy string
const ( // Do not automatically restart the container when it exits (default) RestartPolicyNone ContainerRestartPolicy = "no" // Restart only if the container exits with non-zero status RestartPolicyOnFailure ContainerRestartPolicy = "on-failure" // Restart container, except if container is explicitly stopped (or container daemon is stopped/restarted) RestartPolicyUnlessStopped ContainerRestartPolicy = "unless-stopped" // Always try to restart the container RestartPolicyAlways ContainerRestartPolicy = "always" )
type ContainerSpec ¶
type ContainerSpec struct {
// Optional container image (required if Build is not specified)
// If Build is specified and Image is set, the value of Image will be used to tag the resulting built image.
// If Build is omitted, the value of Image will be used to pull the container image to run.
Image string `json:"image,omitempty"`
// Optional build context to use to build the container image
Build *ContainerBuildContext `json:"build,omitempty"`
// Optional container name
ContainerName string `json:"containerName,omitempty"`
// Consumed volume information
// +listType=atomic
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
// Exposed ports
// +listType=atomic
Ports []ContainerPort `json:"ports,omitempty"`
// Environment settings
// +listType=map
// +listMapKey=name
Env []EnvVar `json:"env,omitempty"`
// Environment files to use to populate Container environment during startup.
// +listType=set
EnvFiles []string `json:"envFiles,omitempty"`
// Container restart policy
RestartPolicy ContainerRestartPolicy `json:"restartPolicy,omitempty"`
// Command to run in the container
Command string `json:"command,omitempty"`
// Arguments to pass to the command
// +listType=atomic
Args []string `json:"args,omitempty"`
// Should the controller attempt to start the container?
// +kubebuilder:default:=true
Start *bool `json:"start,omitempty"`
// Should the controller attempt to stop the container?
// +kubebuilder:default:=false
Stop bool `json:"stop,omitempty"`
// ContainerNetworks resources the container should be attached to. If omitted or nil, the container will
// be attached to the default network and the controller will not manage network connections.
// +listType=atomic
Networks *[]ContainerNetworkConnectionConfig `json:"networks,omitempty"`
// Should this container be created and persisted between DCP runs?
Persistent bool `json:"persistent,omitempty"`
// Additional arguments to pass to the container run command
// +listType=atomic
RunArgs []string `json:"runArgs,omitempty"`
// Labels to apply to the container
// +listType=map
// +listMapKey=key
Labels []ContainerLabel `json:"labels,omitempty"`
// Health probe configuration for the Container
// +listType=atomic
HealthProbes []HealthProbe `json:"healthProbes,omitempty"`
// Optional key used to identify if an existing persistent container needs to be restarted.
// If not set, the controller will calculate a key based on a hash of specific fields in the ContainerSpec.
LifecycleKey string `json:"lifecycleKey,omitempty"`
// Pull policy for container base images, if not set uses the default configuration for the container runtime.
PullPolicy PullPolicy `json:"pullPolicy,omitempty"`
// Files to create in the container before starting it
// +listType=atomic
CreateFiles []CreateFileSystem `json:"createFiles,omitempty"`
// PEM formatted public certificates to be created in the container
// +optional
PemCertificates *ContainerPemCertificates `json:"pemCertificates,omitempty"`
}
ContainerSpec defines the desired state of a Container +k8s:openapi-gen=true
func (*ContainerSpec) DeepCopy ¶
func (in *ContainerSpec) DeepCopy() *ContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSpec.
func (*ContainerSpec) DeepCopyInto ¶
func (in *ContainerSpec) DeepCopyInto(out *ContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerSpec) Equal ¶
func (cs *ContainerSpec) Equal(other *ContainerSpec) bool
func (*ContainerSpec) GetLifecycleKey ¶
func (cs *ContainerSpec) GetLifecycleKey() (string, bool, error)
type ContainerState ¶
type ContainerState string
const ( // Same as ContainerStatePending. May be encountered if the Container status has not been initialized yet. ContainerStateEmpty ContainerState = "" // Pending is the initial Container state. No attempt has been made to run the container yet. ContainerStatePending ContainerState = "Pending" // ContainerStateRuntimeUnhealthy indicates that the container start is blocked because the runtime isn't healthy, but will resume once the runtime is started. ContainerStateRuntimeUnhealthy ContainerState = "RuntimeUnhealthy" // Building is an optional state that indicates the container is in the process of being built. ContainerStateBuilding ContainerState = "Building" // Container is in the process of starting ContainerStateStarting ContainerState = "Starting" // A start attempt was made, but it failed ContainerStateFailedToStart ContainerState = "FailedToStart" // Container has been started and is executing ContainerStateRunning ContainerState = "Running" // Container is paused ContainerStatePaused ContainerState = "Paused" // Container finished execution ContainerStateExited ContainerState = "Exited" // Unknown means for some reason container state is unavailable. ContainerStateUnknown ContainerState = "Unknown" // Container is in the process of stopping ContainerStateStopping ContainerState = "Stopping" )
type ContainerStatus ¶
type ContainerStatus struct {
// +kubebuilder:default:="Pending"
// Current state of the Container.
State ContainerState `json:"state,omitempty"`
// ID of the Container (if an attempt to start the Container was made)
ContainerID string `json:"containerId,omitempty"`
// Name of the Container (if an attempt to start the Container was made)
ContainerName string `json:"containerName,omitempty"`
// Timestamp of the Container start attempt
StartupTimestamp metav1.MicroTime `json:"startupTimestamp,omitempty"`
// Timestamp when the Container was terminated last
FinishTimestamp metav1.MicroTime `json:"finishTimestamp,omitempty"`
// The path of a temporary file that contains captured standard output data from the Container startup process.
StartupStdOutFile string `json:"startupStdOutFile,omitempty"`
// The path of a temporary file that contains captured standard error data from the Container startup process.
StartupStdErrFile string `json:"startupStdErrFile,omitempty"`
// Exit code of the Container.
// Default is -1, meaning the exit code is not known, or the container is still running.
// +kubebuilder:default:=-1
// +optional
ExitCode *int32 `json:"exitCode,omitempty"`
// A human-readable message that provides additional information about Container state.
Message string `json:"message,omitempty"`
// Effective values of environment variables, after all substitutions are applied.
// +listType=map
// +listMapKey=name
EffectiveEnv []EnvVar `json:"effectiveEnv,omitempty"`
// Effective values of launch arguments to be passed to the Container, after all substitutions are applied.
// +listType=atomic
EffectiveArgs []string `json:"effectiveArgs,omitempty"`
// List of ContainerNetworks the Container is connected to
// +listType=set
Networks []string `json:"networks,omitempty"`
// Health status of the Container
HealthStatus HealthStatus `json:"healthStatus,omitempty"`
// Results of running health probes (most recent per probe)
// +listType=map
// +listMapKey=probeName
HealthProbeResults []HealthProbeResult `json:"healthProbeResults,omitempty"`
// The lifecycle key from the spec or the value calculated by the controller
LifecycleKey string `json:"lifecycleKey,omitempty"`
}
ContainerStatus describes the status of a Container +k8s:openapi-gen=true
func (ContainerStatus) CopyTo ¶
func (cs ContainerStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*ContainerStatus) DeepCopy ¶
func (in *ContainerStatus) DeepCopy() *ContainerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerStatus.
func (*ContainerStatus) DeepCopyInto ¶
func (in *ContainerStatus) DeepCopyInto(out *ContainerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerVolume ¶
type ContainerVolume struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ContainerVolumeSpec `json:"spec,omitempty"`
Status ContainerVolumeStatus `json:"status,omitempty"`
}
ContainerVolume represents a volume that can be consumed by Container instances Its lifetime is independent from the lifetime of containers +kubebuilder:object:root=true +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*ContainerVolume) DeepCopy ¶
func (in *ContainerVolume) DeepCopy() *ContainerVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerVolume.
func (*ContainerVolume) DeepCopyInto ¶
func (in *ContainerVolume) DeepCopyInto(out *ContainerVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerVolume) DeepCopyObject ¶
func (in *ContainerVolume) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerVolume) GetGroupVersionResource ¶
func (cv *ContainerVolume) GetGroupVersionResource() schema.GroupVersionResource
func (*ContainerVolume) GetObjectMeta ¶
func (cv *ContainerVolume) GetObjectMeta() *metav1.ObjectMeta
func (*ContainerVolume) GetStatus ¶
func (cv *ContainerVolume) GetStatus() apiserver_resource.StatusSubResource
func (*ContainerVolume) IsStorageVersion ¶
func (cv *ContainerVolume) IsStorageVersion() bool
func (*ContainerVolume) NamespaceScoped ¶
func (cv *ContainerVolume) NamespaceScoped() bool
func (*ContainerVolume) NamespacedName ¶
func (cv *ContainerVolume) NamespacedName() types.NamespacedName
func (*ContainerVolume) New ¶
func (cv *ContainerVolume) New() runtime.Object
func (*ContainerVolume) NewList ¶
func (cv *ContainerVolume) NewList() runtime.Object
func (*ContainerVolume) ShortNames ¶
func (cv *ContainerVolume) ShortNames() []string
func (*ContainerVolume) Validate ¶
func (cv *ContainerVolume) Validate(ctx context.Context) field.ErrorList
func (*ContainerVolume) ValidateUpdate ¶
type ContainerVolumeList ¶
type ContainerVolumeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ContainerVolume `json:"items"`
}
ContainerVolumeList contains a list of ContainerVolume instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ContainerVolumeList) DeepCopy ¶
func (in *ContainerVolumeList) DeepCopy() *ContainerVolumeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerVolumeList.
func (*ContainerVolumeList) DeepCopyInto ¶
func (in *ContainerVolumeList) DeepCopyInto(out *ContainerVolumeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerVolumeList) DeepCopyObject ¶
func (in *ContainerVolumeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerVolumeList) GetItems ¶
func (cvl *ContainerVolumeList) GetItems() []*ContainerVolume
func (*ContainerVolumeList) GetListMeta ¶
func (cvl *ContainerVolumeList) GetListMeta() *metav1.ListMeta
func (*ContainerVolumeList) ItemCount ¶
func (cvl *ContainerVolumeList) ItemCount() uint32
type ContainerVolumeSpec ¶
type ContainerVolumeSpec struct {
// Name of the volume
Name string `json:"name"`
// Is this volume persistent (is NOT cleaned up when the application ends) or not.
// Volumes are persistent by default.
// +kubebuilder:default=true
Persistent *bool `json:"persistent,omitempty"`
}
ContainerVolumeSpec defines the desired state of a ContainerVolume +k8s:openapi-gen=true
func (*ContainerVolumeSpec) DeepCopy ¶
func (in *ContainerVolumeSpec) DeepCopy() *ContainerVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerVolumeSpec.
func (*ContainerVolumeSpec) DeepCopyInto ¶
func (in *ContainerVolumeSpec) DeepCopyInto(out *ContainerVolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerVolumeState ¶
type ContainerVolumeState string
const ( // Same as ContainerVolumeStatePending. Happens when ContainerVolume status has not been initialized yet. ContainerVolumeStateEmpty ContainerVolumeState = "" // The volume has not been checked for existence or has not been created yet. ContainerVolumeStatePending ContainerVolumeState = "Pending" // ContainerVolumeStateRuntimeUnhealthy indicates that the underlying Docker/Podman volume cannot be created // (or its existence cannot be verified) because the container runtime is not healthy. ContainerVolumeStateRuntimeUnhealthy ContainerVolumeState = "RuntimeUnhealthy" // The underlying Docker/Podman volume has been created and is ready for use. ContainerVolumeStateReady ContainerVolumeState = "Ready" )
type ContainerVolumeStatus ¶
type ContainerVolumeStatus struct {
// The current state of the ContainerVolume
// +kubebuilder:default=Pending
// +kubebuilder:validation:Enum=Pending;RuntimeUnhealthy;Ready
State ContainerVolumeState `json:"state,omitempty"`
}
ContainerVolumeStatus describes the status of a ContainerVolume +k8s:openapi-gen=true
func (ContainerVolumeStatus) CopyTo ¶
func (cvs ContainerVolumeStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*ContainerVolumeStatus) DeepCopy ¶
func (in *ContainerVolumeStatus) DeepCopy() *ContainerVolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerVolumeStatus.
func (*ContainerVolumeStatus) DeepCopyInto ¶
func (in *ContainerVolumeStatus) DeepCopyInto(out *ContainerVolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CreateFileSystem ¶
type CreateFileSystem struct {
// The destination path for the file (should already exist in the container)
Destination string `json:"destination,omitempty"`
// The default owner ID for created files (defaults to 0 for root)
DefaultOwner int32 `json:"defaultOwner,omitempty"`
// The default group ID for created files (defaults to 0 for root)
DefaultGroup int32 `json:"defaultGroup,omitempty"`
// The umask for created files and folders without explicit permissions set (defaults to 022)
Umask *fs.FileMode `json:"umask,omitempty"`
// The specific entries to create in the container (must have at least one item)
// +listType=atomic
Entries []FileSystemEntry `json:"entries,omitempty"`
}
Describes files and/or folders to be created in the Container before it is started +k8s:openapi-gen=true
func (*CreateFileSystem) DeepCopy ¶
func (in *CreateFileSystem) DeepCopy() *CreateFileSystem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreateFileSystem.
func (*CreateFileSystem) DeepCopyInto ¶
func (in *CreateFileSystem) DeepCopyInto(out *CreateFileSystem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CreateFileSystem) Equal ¶
func (cf *CreateFileSystem) Equal(other *CreateFileSystem) bool
type Endpoint ¶
type Endpoint struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EndpointSpec `json:"spec,omitempty"`
Status EndpointStatus `json:"status,omitempty"`
}
Endpoint represents a network endpoint that implements a service Its lifetime is dependent on the lifetime of the Executable or Container that it is attached to. +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Endpoint) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Endpoint) GetGroupVersionResource ¶
func (e *Endpoint) GetGroupVersionResource() schema.GroupVersionResource
func (*Endpoint) GetObjectMeta ¶
func (e *Endpoint) GetObjectMeta() *metav1.ObjectMeta
func (*Endpoint) GetStatus ¶
func (e *Endpoint) GetStatus() apiserver_resource.StatusSubResource
func (*Endpoint) IsStorageVersion ¶
func (*Endpoint) NamespaceScoped ¶
func (*Endpoint) NamespacedName ¶
func (e *Endpoint) NamespacedName() types.NamespacedName
func (*Endpoint) ShortNames ¶
type EndpointList ¶
type EndpointList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Endpoint `json:"items"`
}
EndpointList contains a list of Endpoint instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*EndpointList) DeepCopy ¶
func (in *EndpointList) DeepCopy() *EndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointList.
func (*EndpointList) DeepCopyInto ¶
func (in *EndpointList) DeepCopyInto(out *EndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointList) DeepCopyObject ¶
func (in *EndpointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EndpointList) GetItems ¶
func (el *EndpointList) GetItems() []*Endpoint
func (*EndpointList) GetListMeta ¶
func (el *EndpointList) GetListMeta() *metav1.ListMeta
func (*EndpointList) ItemCount ¶
func (el *EndpointList) ItemCount() uint32
type EndpointSpec ¶
type EndpointSpec struct {
// Namespace of the service the endpoint implements
ServiceNamespace string `json:"serviceNamespace"`
// Name of the service the endpoint implements
ServiceName string `json:"serviceName"`
// The desired address for the endpoint to run on
Address string `json:"address"`
// The desired port for the endpoint to run on
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
Port int32 `json:"port"`
}
EndpointSpec defines the desired state of a Endpoint +k8s:openapi-gen=true
func (*EndpointSpec) DeepCopy ¶
func (in *EndpointSpec) DeepCopy() *EndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSpec.
func (*EndpointSpec) DeepCopyInto ¶
func (in *EndpointSpec) DeepCopyInto(out *EndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointStatus ¶
type EndpointStatus struct {
}
EndpointStatus describes the status of a Endpoint +k8s:openapi-gen=true
func (EndpointStatus) CopyTo ¶
func (cs EndpointStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*EndpointStatus) DeepCopy ¶
func (in *EndpointStatus) DeepCopy() *EndpointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointStatus.
func (*EndpointStatus) DeepCopyInto ¶
func (in *EndpointStatus) DeepCopyInto(out *EndpointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVar ¶
type EnvVar struct {
// Name of the environment variable
Name string `json:"name"`
// Value of the environment variable. Defaults to "" (empty string).
// +optional
Value string `json:"value,omitempty"`
}
EnvVar represents an environment variable present in a Container or Executable. +k8s:openapi-gen=true
func (*EnvVar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar.
func (*EnvVar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvironmentBehavior ¶
type EnvironmentBehavior string
const ( // The executable will inherit the environment of the controller process. // This is the default behavior. EnvironmentBehaviorInherit EnvironmentBehavior = "Inherit" // The executable will not inherit the environment of the controller process. EnvironmentBehaviorDoNotInherit EnvironmentBehavior = "DoNotInherit" )
type Executable ¶
type Executable struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ExecutableSpec `json:"spec,omitempty"`
Status ExecutableStatus `json:"status,omitempty"`
}
Executable resource represents an OS process, with one or more replicas +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*Executable) DeepCopy ¶
func (in *Executable) DeepCopy() *Executable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Executable.
func (*Executable) DeepCopyInto ¶
func (in *Executable) DeepCopyInto(out *Executable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Executable) DeepCopyObject ¶
func (in *Executable) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Executable) Done ¶
func (e *Executable) Done() bool
func (*Executable) GenericSubResources ¶
func (*Executable) GenericSubResources() []apiserver_resource.GenericSubResource
func (*Executable) GetGroupVersionResource ¶
func (e *Executable) GetGroupVersionResource() schema.GroupVersionResource
func (*Executable) GetObjectMeta ¶
func (e *Executable) GetObjectMeta() *metav1.ObjectMeta
func (*Executable) GetResourceId ¶
func (e *Executable) GetResourceId() string
GetResourceId implements StdOutStreamableResource.
func (*Executable) GetStatus ¶
func (e *Executable) GetStatus() apiserver_resource.StatusSubResource
func (*Executable) GetStdErrFile ¶
func (e *Executable) GetStdErrFile() string
StdErrFile implements StdOutStreamableResource.
func (*Executable) GetStdOutFile ¶
func (e *Executable) GetStdOutFile() string
StdOutFile implements StdOutStreamableResource.
func (*Executable) HasStdErr ¶
func (ce *Executable) HasStdErr() bool
HasStdErr implements StdOutStreamableResource.
func (*Executable) HasStdOut ¶
func (ce *Executable) HasStdOut() bool
HasStdOut implements StdOutStreamableResource.
func (*Executable) IsStorageVersion ¶
func (e *Executable) IsStorageVersion() bool
func (*Executable) NamespaceScoped ¶
func (e *Executable) NamespaceScoped() bool
func (*Executable) NamespacedName ¶
func (e *Executable) NamespacedName() types.NamespacedName
func (*Executable) New ¶
func (e *Executable) New() runtime.Object
func (*Executable) NewList ¶
func (e *Executable) NewList() runtime.Object
func (*Executable) ShortNames ¶
func (e *Executable) ShortNames() []string
func (*Executable) ValidateUpdate ¶
type ExecutableList ¶
type ExecutableList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Executable `json:"items"`
}
ExecutableList contains a list of Executable instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ExecutableList) DeepCopy ¶
func (in *ExecutableList) DeepCopy() *ExecutableList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableList.
func (*ExecutableList) DeepCopyInto ¶
func (in *ExecutableList) DeepCopyInto(out *ExecutableList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExecutableList) DeepCopyObject ¶
func (in *ExecutableList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExecutableList) GetItems ¶
func (el *ExecutableList) GetItems() []*Executable
func (*ExecutableList) GetListMeta ¶
func (el *ExecutableList) GetListMeta() *metav1.ListMeta
func (*ExecutableList) ItemCount ¶
func (el *ExecutableList) ItemCount() uint32
type ExecutableLogResource ¶
type ExecutableLogResource struct{}
func (*ExecutableLogResource) DeepCopy ¶
func (in *ExecutableLogResource) DeepCopy() *ExecutableLogResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableLogResource.
func (*ExecutableLogResource) DeepCopyInto ¶
func (in *ExecutableLogResource) DeepCopyInto(out *ExecutableLogResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExecutableLogResource) GetStorageProvider ¶
func (elr *ExecutableLogResource) GetStorageProvider( obj apiserver_resource.Object, rootPath string, parentSP apiserver.StorageProvider, ) apiserver.StorageProvider
func (*ExecutableLogResource) Name ¶
func (elr *ExecutableLogResource) Name() string
type ExecutablePemCertificates ¶
type ExecutablePemCertificates struct {
// The individual certificates in PEM format.
// +listType=atomic
Certificates []PemCertificate `json:"certificates,omitempty"`
// If true, any invalid certificates in the Certificates list will be skipped, but any valid certificates will still be written.
// If false, the entire operation will fail if any invalid certificates are found.
ContinueOnError bool `json:"continueOnError,omitempty"`
}
Represents a collection of PEM formatted certificates to be written for the executable +k8s:openapi-gen=true
func (*ExecutablePemCertificates) DeepCopy ¶
func (in *ExecutablePemCertificates) DeepCopy() *ExecutablePemCertificates
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutablePemCertificates.
func (*ExecutablePemCertificates) DeepCopyInto ¶
func (in *ExecutablePemCertificates) DeepCopyInto(out *ExecutablePemCertificates)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExecutablePemCertificates) Equal ¶
func (pc *ExecutablePemCertificates) Equal(other *ExecutablePemCertificates) bool
type ExecutableProbe ¶
type ExecutableProbe struct {
// Template for creating the Executable that performs the health check
ExecutableTemplate ExecutableTemplate `json:"executableTemplate"`
}
ExecutableProbe contains the configuration for an Executable health probe. +k8s:openapi-gen=true
func (*ExecutableProbe) DeepCopy ¶
func (in *ExecutableProbe) DeepCopy() *ExecutableProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableProbe.
func (*ExecutableProbe) DeepCopyInto ¶
func (in *ExecutableProbe) DeepCopyInto(out *ExecutableProbe)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExecutableProbe) Equal ¶
func (ep *ExecutableProbe) Equal(other *ExecutableProbe) bool
type ExecutableReplicaSet ¶
type ExecutableReplicaSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ExecutableReplicaSetSpec `json:"spec,omitempty"`
Status ExecutableReplicaSetStatus `json:"status,omitempty"`
}
ExecutableReplicaSet resource represents a replication configuration for zero or more Executable resources +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*ExecutableReplicaSet) DeepCopy ¶
func (in *ExecutableReplicaSet) DeepCopy() *ExecutableReplicaSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableReplicaSet.
func (*ExecutableReplicaSet) DeepCopyInto ¶
func (in *ExecutableReplicaSet) DeepCopyInto(out *ExecutableReplicaSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExecutableReplicaSet) DeepCopyObject ¶
func (in *ExecutableReplicaSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExecutableReplicaSet) GetGroupVersionResource ¶
func (e *ExecutableReplicaSet) GetGroupVersionResource() schema.GroupVersionResource
GetGroupVersionResource implements apiserver_resource.ObjectWithGroupVersionResource.
func (*ExecutableReplicaSet) GetObjectMeta ¶
func (e *ExecutableReplicaSet) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta implements apiserver_resource.ObjectWithObjectMeta.
func (*ExecutableReplicaSet) GetStatus ¶
func (e *ExecutableReplicaSet) GetStatus() apiserver_resource.StatusSubResource
GetStatus implements apiserver_resource.ObjectWithStatusSubResource.
func (*ExecutableReplicaSet) IsStorageVersion ¶
func (e *ExecutableReplicaSet) IsStorageVersion() bool
IsStorageVersion implements apiserver_resource.ObjectWithStorageVersion.
func (*ExecutableReplicaSet) NamespaceScoped ¶
func (*ExecutableReplicaSet) NamespaceScoped() bool
NamespaceScoped implements resource.Object.
func (*ExecutableReplicaSet) NamespacedName ¶
func (e *ExecutableReplicaSet) NamespacedName() types.NamespacedName
func (*ExecutableReplicaSet) New ¶
func (*ExecutableReplicaSet) New() runtime.Object
New implements resource.Object.
func (*ExecutableReplicaSet) NewList ¶
func (*ExecutableReplicaSet) NewList() runtime.Object
NewList implements resource.Object.
func (*ExecutableReplicaSet) ShortNames ¶
func (*ExecutableReplicaSet) ShortNames() []string
ShortNames implements rest.ShortNamesProvider.
type ExecutableReplicaSetList ¶
type ExecutableReplicaSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ExecutableReplicaSet `json:"items"`
}
ExecutableReplicaSetList contains a list of ExecutableReplicaSet instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ExecutableReplicaSetList) DeepCopy ¶
func (in *ExecutableReplicaSetList) DeepCopy() *ExecutableReplicaSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableReplicaSetList.
func (*ExecutableReplicaSetList) DeepCopyInto ¶
func (in *ExecutableReplicaSetList) DeepCopyInto(out *ExecutableReplicaSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExecutableReplicaSetList) DeepCopyObject ¶
func (in *ExecutableReplicaSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExecutableReplicaSetList) GetItems ¶
func (el *ExecutableReplicaSetList) GetItems() []*ExecutableReplicaSet
GetItems implements apiserver_resource.ObjectList.
func (*ExecutableReplicaSetList) GetListMeta ¶
func (el *ExecutableReplicaSetList) GetListMeta() *metav1.ListMeta
GetListMeta implements apiserver_resource.ObjectList.
func (*ExecutableReplicaSetList) ItemCount ¶
func (el *ExecutableReplicaSetList) ItemCount() uint32
ItemCount implements apiserver_resource.ObjectList.
type ExecutableReplicaSetSpec ¶
type ExecutableReplicaSetSpec struct {
// Number of desired child Executable objects
// +kubebuilder:default:=1
// +kubebuilder:validation:Minimum=0
Replicas int32 `json:"replicas"`
// Should the replica be soft deleted on scale down instead of deleted?
// +kubebuilder:default:=false
StopOnScaleDown bool `json:"stopOnScaleDown,omitempty"`
// Template describing the configuration of child Executable objects created by the ExecutableReplicaSet
// +kubebuilder:validation:Required
Template ExecutableTemplate `json:"template"`
}
ExecutableReplicaSetSpec desribes the desired state of an ExecutableReplicaSet +k8s:openapi-gen=true
func (*ExecutableReplicaSetSpec) DeepCopy ¶
func (in *ExecutableReplicaSetSpec) DeepCopy() *ExecutableReplicaSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableReplicaSetSpec.
func (*ExecutableReplicaSetSpec) DeepCopyInto ¶
func (in *ExecutableReplicaSetSpec) DeepCopyInto(out *ExecutableReplicaSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutableReplicaSetStatus ¶
type ExecutableReplicaSetStatus struct {
// Total number of observed child executables
// +kubebuilder:default:=0
ObservedReplicas int32 `json:"observedReplicas"`
// Total number of current running child Executables
// +kubebuilder:default:=0
RunningReplicas int32 `json:"runningReplicas"`
// Total number of current Executable replicas that failed to start
// +kubebuilder:default:=0
FailedReplicas int32 `json:"failedReplicas"`
// Total number of current child Executables that have finished running
// +kubebuilder:default:=0
FinishedReplicas int32 `json:"finishedReplicas"`
// Last time the replica set was scaled up or down by the controller
LastScaleTime metav1.MicroTime `json:"lastScaleTime,omitempty"`
// Health status of the replica set
HealthStatus HealthStatus `json:"healthStatus,omitempty"`
}
ExecutableReplicaSetStatus desribes the status of an ExecutableReplicaSet +k8s:openapi-gen=true
func (ExecutableReplicaSetStatus) CopyTo ¶
func (erss ExecutableReplicaSetStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
CopyTo implements apiserver_resource.ObjectWithStatusSubResource.
func (*ExecutableReplicaSetStatus) DeepCopy ¶
func (in *ExecutableReplicaSetStatus) DeepCopy() *ExecutableReplicaSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableReplicaSetStatus.
func (*ExecutableReplicaSetStatus) DeepCopyInto ¶
func (in *ExecutableReplicaSetStatus) DeepCopyInto(out *ExecutableReplicaSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutableSpec ¶
type ExecutableSpec struct {
// Path to Executable binary
ExecutablePath string `json:"executablePath"`
// The working directory for the Executable
WorkingDirectory string `json:"workingDirectory,omitempty"`
// Launch arguments to be passed to the Executable
// +listType=atomic
Args []string `json:"args,omitempty"`
// Environment variables to be set for the Executable
// +listType=map
// +listMapKey=name
Env []EnvVar `json:"env,omitempty"`
// Environment files to use to populate Executable environment during startup.
// +listType=set
EnvFiles []string `json:"envFiles,omitempty"`
// The execution type for the Executable.
// +kubebuilder:default:=Process
ExecutionType ExecutionType `json:"executionType,omitempty"`
// Fallback execution types in case the primary execution type is not supported or startup fails.
// +listType=atomic
FallbackExecutionTypes []ExecutionType `json:"fallbackExecutionTypes,omitempty"`
// Controls behavior of environment variables inherited from the controller process.
AmbientEnvironment AmbientEnvironment `json:"ambientEnvironment,omitempty"`
// Should the controller attempt to stop the Executable
// +kubebuilder:default:=false
Stop bool `json:"stop,omitempty"`
// Health probe configuration for the Executable
// +listType=atomic
HealthProbes []HealthProbe `json:"healthProbes,omitempty"`
// PEM formatted certificates to be written for the Executable
// +optional
PemCertificates *ExecutablePemCertificates `json:"pemCertificates,omitempty"`
}
ExecutableSpec defines the desired state of an Executable +k8s:openapi-gen=true
func (*ExecutableSpec) DeepCopy ¶
func (in *ExecutableSpec) DeepCopy() *ExecutableSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableSpec.
func (*ExecutableSpec) DeepCopyInto ¶
func (in *ExecutableSpec) DeepCopyInto(out *ExecutableSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExecutableSpec) Equal ¶
func (es ExecutableSpec) Equal(other ExecutableSpec) bool
type ExecutableState ¶
type ExecutableState string
const ( // Same as ExecutableStateStarting. May be encountered if the Executable status has not been initialized yet. ExecutableStateEmpty ExecutableState = "" // The Executable has been scheduled to launch, but we will need to re-evaluate its state in a subsequent // reconciliation loop. ExecutableStateStarting ExecutableState = "Starting" // The Executable was successfully started and was running last time we checked. ExecutableStateRunning ExecutableState = "Running" // Executable is stopping (DCP is trying to stop the process) ExecutableStateStopping ExecutableState = "Stopping" // Terminated means the Executable was terminated by its owner (e.g. because ExecutableReplicaSet is scaling down). ExecutableStateTerminated ExecutableState = "Terminated" // Failed to start means the Executable could not be started ExecutableStateFailedToStart ExecutableState = "FailedToStart" // Finished means the Executable ran to completion. ExecutableStateFinished ExecutableState = "Finished" // Unknown means we are not tracking the actual-state counterpart of the Executable (process or IDE run session). // As a result, we do not know whether it already finished, and what is the exit code, if any. // This can happen if a controller launches a process and then terminates. // When a new controller instance comes online, it may see non-zero ExecutionID Status, // but it does not track the corresponding process or IDE session. ExecutableStateUnknown ExecutableState = "Unknown" )
func (ExecutableState) CanUpdateTo ¶
func (es ExecutableState) CanUpdateTo(newState ExecutableState) bool
func (ExecutableState) IsTerminal ¶
func (es ExecutableState) IsTerminal() bool
type ExecutableStatus ¶
type ExecutableStatus struct {
// The execution ID is the identifier for the actual-state counterpart of the Executable.
// For ExecutionType == Process it is the process ID. Process IDs will be eventually reused by OS,
// but a combination of process ID and startup timestamp is unique for each Executable instance.
// For ExecutionType == IDE it is the IDE session ID.
// +optional
ExecutionID string `json:"executionID"`
// The PID of the process associated with the Executable
// For either ExecutionType == Process or ExecutionType == IDE, this is the PID of the process that runs the Executable.
// +optional
PID *int64 `json:"pid,omitempty"`
// The current state of the process/IDE session started for this executable
State ExecutableState `json:"state"`
// Start (attempt) timestamp.
StartupTimestamp metav1.MicroTime `json:"startupTimestamp,omitempty"`
// The time when the process/IDE session finished execution
FinishTimestamp metav1.MicroTime `json:"finishTimestamp,omitempty"`
// Exit code of the process associated with the Executable.
// The value is equal to UnknownExitCode if the Executable was not started, is still running, or the exit code is not available.
// +optional
ExitCode *int32 `json:"exitCode,omitempty"`
// The path of a temporary file that contains captured standard output data from the Executable process.
StdOutFile string `json:"stdOutFile,omitempty"`
// The path of a temporary file that contains captured standard error data from the Executable process.
StdErrFile string `json:"stdErrFile,omitempty"`
// Effective values of environment variables, after all substitutions are applied.
// +listType=map
// +listMapKey=name
EffectiveEnv []EnvVar `json:"effectiveEnv,omitempty"`
// Effective values of launch arguments to be passed to the Executable, after all substitutions are applied.
// +listType=atomic
EffectiveArgs []string `json:"effectiveArgs,omitempty"`
// Health status of the Executable
HealthStatus HealthStatus `json:"healthStatus,omitempty"`
// Results of running health probes (most reacent per probe)
// +listType=map
// +listMapKey=probeName
HealthProbeResults []HealthProbeResult `json:"healthProbeResults,omitempty"`
}
ExecutableStatus describes the status of an Executable. +k8s:openapi-gen=true
func (ExecutableStatus) CopyTo ¶
func (es ExecutableStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*ExecutableStatus) DeepCopy ¶
func (in *ExecutableStatus) DeepCopy() *ExecutableStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableStatus.
func (*ExecutableStatus) DeepCopyInto ¶
func (in *ExecutableStatus) DeepCopyInto(out *ExecutableStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutableTemplate ¶
type ExecutableTemplate struct {
// Labels to apply to child Executable objects
Labels map[string]string `json:"labels,omitempty"`
// Annotations to apply to child Executable objects
Annotations map[string]string `json:"annotations,omitempty"`
// Spec for child Executables
Spec ExecutableSpec `json:"spec"`
}
+k8s:openapi-gen=true
func (*ExecutableTemplate) DeepCopy ¶
func (in *ExecutableTemplate) DeepCopy() *ExecutableTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutableTemplate.
func (*ExecutableTemplate) DeepCopyInto ¶
func (in *ExecutableTemplate) DeepCopyInto(out *ExecutableTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExecutableTemplate) Equal ¶
func (et ExecutableTemplate) Equal(other ExecutableTemplate) bool
type ExecutionType ¶
type ExecutionType string
const ( // Executable will be run directly by the controller, as a child process. ExecutionTypeProcess ExecutionType = "Process" // Executable will be run via an IDE such as VS or VS Code. ExecutionTypeIDE ExecutionType = "IDE" )
func (ExecutionType) IsValid ¶
func (et ExecutionType) IsValid() bool
func (ExecutionType) IsValidOrDefault ¶
func (et ExecutionType) IsValidOrDefault() bool
type FileSystemEntry ¶
type FileSystemEntry struct {
// The type of entry (file, symlink, or directory)
Type FileSystemEntryType `json:"type,omitempty"`
// The name of the entry (required)
Name string `json:"name"`
// The UID of the file owner. Defaults to 0 (root).
Owner *int32 `json:"owner,omitempty"`
// The ID of the file group. Defaults to 0 (root).
Group *int32 `json:"group,omitempty"`
// The unix mode permissions of this entry. If Mode is 0, the umask for the create file request will be applied.
Mode fs.FileMode `json:"mode,omitempty"`
// For file type entries, an optional path to a source file to copy. It's an error to set both a Source and Contents for a file.
Source string `json:"source,omitempty"`
// For symlink type entries, the target of the symlink. The target must be a valid path in the container (existing or created as
// part of this create files set). The value can either be an absolute path or a relative path from the newly created symlink.
Target string `json:"target,omitempty"`
// For file type entries, the string contents of the file. Optional.
Contents string `json:"contents,omitempty"`
// For file type entries, the Base64 encoded byte contents of the file. Optional
RawContents string `json:"rawContents,omitempty"`
// For file type entries, if true, errors creating this file will be logged, but will not cause the overall CreateFiles operation to fail.
ContinueOnError bool `json:"continueOnError,omitempty"`
// For directory type entries, the child entries (files or directories). Optional.
// +listType=atomic
Entries []FileSystemEntry `json:"entries,omitempty"`
}
Represents part of the file structure to be created in the container +k8s:openapi-gen=true
func (*FileSystemEntry) DeepCopy ¶
func (in *FileSystemEntry) DeepCopy() *FileSystemEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSystemEntry.
func (*FileSystemEntry) DeepCopyInto ¶
func (in *FileSystemEntry) DeepCopyInto(out *FileSystemEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FileSystemEntry) Equal ¶
func (cfi *FileSystemEntry) Equal(other *FileSystemEntry) bool
func (*FileSystemEntry) GetType ¶
func (fse *FileSystemEntry) GetType() FileSystemEntryType
type FileSystemEntryType ¶
type FileSystemEntryType string
const ( FileSystemEntryTypeFile FileSystemEntryType = "file" // default FileSystemEntryTypeOpenSSL FileSystemEntryType = "openssl" // special type for OpenSSL certificates FileSystemEntryTypeDir FileSystemEntryType = "directory" // The public CreateFiles API validation doesn't allow specifying "symlink" as a FileSystemEntry // type, but the internal ContainerOrchestrator.CreateFiles library does support it. FileSystemEntryTypeSymlink FileSystemEntryType = "symlink" )
type HealthProbe ¶
type HealthProbe struct {
// Name of the probe. This is used to identify the probe in the status of the parent object.
// Must be unique within the parent object.
Name string `json:"name"`
// Type of the health probe
Type HealthProbeType `json:"type"`
// For Executable-type health probes, the configuration for the Executable health probe.
// +optional
ExecutableProbe *ExecutableProbe `json:"executableProbe,omitempty"`
// For HTTP-type health probes, the configuration for the HTTP health probe.
// +optional
HttpProbe *HttpProbe `json:"httpProbe,omitempty"`
// Schedule for running the probe
Schedule HealthProbeSchedule `json:"schedule"`
// Annotations (metadata) for the health probe
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
}
HealthProbe represents a health check to be performed on a Container or Executable. It is a discriminated union differentiated by the Type property. +k8s:openapi-gen=true
func (*HealthProbe) DeepCopy ¶
func (in *HealthProbe) DeepCopy() *HealthProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthProbe.
func (*HealthProbe) DeepCopyInto ¶
func (in *HealthProbe) DeepCopyInto(out *HealthProbe)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthProbe) Equal ¶
func (hp *HealthProbe) Equal(other *HealthProbe) bool
func (HealthProbe) String ¶
func (hp HealthProbe) String() string
type HealthProbeOutcome ¶
type HealthProbeOutcome string
const ( HealthProbeOutcomeSuccess HealthProbeOutcome = "Success" HealthProbeOutcomeFailure HealthProbeOutcome = "Failure" HealthProbeOutcomeUnknown HealthProbeOutcome = "Unknown" )
type HealthProbeResult ¶
type HealthProbeResult struct {
// Outcome of the health probe
Outcome HealthProbeOutcome `json:"outcome"`
// Timestamp for the result
Timestamp metav1.MicroTime `json:"timestamp"`
// Name of the probe to which this result corresponds
ProbeName string `json:"probeName"`
// Human-readable message describing the outcome
// +optional
Reason string `json:"reason,omitempty"`
}
HealthProbeResult represents the result of a single execution of a health probe. +k8s:openapi-gen=true
func (*HealthProbeResult) DeepCopy ¶
func (in *HealthProbeResult) DeepCopy() *HealthProbeResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthProbeResult.
func (*HealthProbeResult) DeepCopyInto ¶
func (in *HealthProbeResult) DeepCopyInto(out *HealthProbeResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (HealthProbeResult) Diff ¶
func (hpr HealthProbeResult) Diff(other *HealthProbeResult) (HealthProbeResultDiff, time.Duration)
func (HealthProbeResult) String ¶
func (hpr HealthProbeResult) String() string
type HealthProbeResultDiff ¶
type HealthProbeResultDiff int
const ( DiffNone HealthProbeResultDiff = 0 DiffTimestampOnly HealthProbeResultDiff = 1 Different HealthProbeResultDiff = 2 )
type HealthProbeSchedule ¶
type HealthProbeSchedule struct {
// Kind of the schedule
// +kubebuilder:default:=Continuous
Kind HealthProbeScheduleKind `json:"kind,omitempty"`
// Interval at which the probe should run
Interval metav1.Duration `json:"interval"`
// Timeout for the probe (if the probe does not complete within this time, it is considered failed)
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
// How long to wait between parent object startup and the first probe run
// +optional
InitialDelay *metav1.Duration `json:"initialDelay,omitempty"`
}
HealthProbeSchedule represents a schedule for running a health probe. +k8s:openapi-gen=true
func (*HealthProbeSchedule) DeepCopy ¶
func (in *HealthProbeSchedule) DeepCopy() *HealthProbeSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthProbeSchedule.
func (*HealthProbeSchedule) DeepCopyInto ¶
func (in *HealthProbeSchedule) DeepCopyInto(out *HealthProbeSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthProbeSchedule) Equal ¶
func (hps *HealthProbeSchedule) Equal(other *HealthProbeSchedule) bool
type HealthProbeScheduleKind ¶
type HealthProbeScheduleKind string
const ( // The probe runs periodically during the entire time when the parent object is running. HealthProbeScheduleContinuous HealthProbeScheduleKind = "Continuous" // The probe runs periodically until it succeeds. Once the probe succeeds, it stops running // and is considered successful for the remainder of the parent object's lifetime. HealthProbeScheduleUntilSuccess HealthProbeScheduleKind = "UntilSuccess" )
type HealthProbeType ¶
type HealthProbeType string
const ( HealthProbeTypeHttp HealthProbeType = "HTTP" HealthProbeTypeExecutable HealthProbeType = "Executable" HealthProbeTypeContainerExec HealthProbeType = "ContainerExec" )
type HealthStatus ¶
type HealthStatus string
const ( HealthStatusHealthy HealthStatus = "Healthy" HealthStatusCaution HealthStatus = "Caution" HealthStatusUnhealthy HealthStatus = "Unhealthy" )
type HttpHeader ¶
type HttpHeader struct {
// Name of the HTTP header
Name string `json:"name"`
// Value of the HTTP header
// +optional
Value string `json:"value,omitempty"`
}
HttpHeader represents a single HTTP header to be included in an HTTP health probe. +k8s:openapi-gen=true
func (*HttpHeader) DeepCopy ¶
func (in *HttpHeader) DeepCopy() *HttpHeader
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpHeader.
func (*HttpHeader) DeepCopyInto ¶
func (in *HttpHeader) DeepCopyInto(out *HttpHeader)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HttpProbe ¶
type HttpProbe struct {
// URL to probe
Url string `json:"url"`
// Headers to include in the HTTP request
// +optional
// +listType=map
// +listMapKey=name
Headers []HttpHeader `json:"headers,omitempty"`
}
HttpProbe contains the configuration for an HTTP health probe. +k8s:openapi-gen=true
func (*HttpProbe) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpProbe.
func (*HttpProbe) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogOptions ¶
type LogOptions struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// If true, follow the logs for the Executable or Container.
// +optional
Follow bool `json:"follow,omitempty"`
// The source of the logs to display.
// Note: the K8s API server does not support non-standard types in query parameters, so we can't use LogStreamSource here.
// +optional
Source string `json:"source,omitempty"`
// If true, include timestamps (RFC3339) in the logs.
// +optional
Timestamps bool `json:"timestamps,omitempty"`
// Limits the number of log lines to return.
// Cannot be used if Follow option is true.
// +optional
Limit *int64 `json:"limit,omitempty"`
// Limits the response to at most N existing, NEWEST log lines.
// If Follow is set, new log lines that appear after the log stream was created
// do not count against the limit, and will be streamed until the client closes the stream.
// +optional
Tail *int64 `json:"tail,omitempty"`
// Skips the first N log lines in the result set. Not compatible with Tail option.
// +optional
Skip *int64 `json:"skip,omitempty"`
// If true, include line numbers in the logs.
// +optional
LineNumbers bool `json:"line_numbers,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +k8s:openapi-gen=true +k8s:conversion-gen:explicit-from=net/url.Values +k8s:conversion-gen:explicit-from=net/url.Values +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*LogOptions) DeepCopy ¶
func (in *LogOptions) DeepCopy() *LogOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogOptions.
func (*LogOptions) DeepCopyInto ¶
func (in *LogOptions) DeepCopyInto(out *LogOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LogOptions) DeepCopyObject ¶
func (in *LogOptions) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*LogOptions) GetGroupVersionResource ¶
func (lo *LogOptions) GetGroupVersionResource() schema.GroupVersionResource
func (*LogOptions) GetObjectMeta ¶
func (lo *LogOptions) GetObjectMeta() *metav1.ObjectMeta
func (*LogOptions) IsStorageVersion ¶
func (lo *LogOptions) IsStorageVersion() bool
LogOptions are not really persisted. This function is somewhat mis-named: it is used by the API server for multi-version resources to distinguish between backward-compatibility versions that are not stored, and the "current" versions that are. So in our case the answer is "yes" since this code is the only version of LogOptions resource.
func (*LogOptions) NamespaceScoped ¶
func (lo *LogOptions) NamespaceScoped() bool
func (*LogOptions) New ¶
func (lo *LogOptions) New() runtime.Object
func (*LogOptions) NewList ¶
func (lo *LogOptions) NewList() runtime.Object
func (*LogOptions) String ¶
func (lo *LogOptions) String() string
func (*LogOptions) Validate ¶
func (lo *LogOptions) Validate() error
type LogOptionsList ¶
type LogOptionsList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
}
We'll never have "lists of LogOptions", but list definition is required to register the resource with the API server. +kubebuilder:object:generate=false
func (*LogOptionsList) DeepCopyObject ¶
func (lsl *LogOptionsList) DeepCopyObject() runtime.Object
func (*LogOptionsList) GetListMeta ¶
func (lsl *LogOptionsList) GetListMeta() *metav1.ListMeta
type LogStorage ¶
type LogStorage struct {
// contains filtered or unexported fields
}
+kubebuilder:object:generate=false
func NewLogStorage ¶
func NewLogStorage(parentKindStorage registry_rest.StandardStorage, logStreamer ResourceLogStreamer) (*LogStorage, error)
func (*LogStorage) Destroy ¶
func (ls *LogStorage) Destroy()
func (*LogStorage) GroupVersionKind ¶
func (ls *LogStorage) GroupVersionKind(containingGV schema.GroupVersion) schema.GroupVersionKind
func (*LogStorage) New ¶
func (ls *LogStorage) New() runtime.Object
func (*LogStorage) NewGetOptions ¶
func (ls *LogStorage) NewGetOptions() (runtime.Object, bool, string)
func (*LogStorage) ProducesMIMETypes ¶
func (ls *LogStorage) ProducesMIMETypes(httpVerb string) []string
func (*LogStorage) ProducesObject ¶
func (ls *LogStorage) ProducesObject(httpVerb string) interface{}
ProducesObject returns an object the specified HTTP verb respond with. Only the type of the returned object matters, the value is ignored. We return string, since the logs are streamed as text/plain; the API server does not really expose "streamer" objects returned by the Get function.
type LogStreamSource ¶
type LogStreamSource string
const ( LogStreamSourceStdout LogStreamSource = "stdout" LogStreamSourceStderr LogStreamSource = "stderr" LogStreamSourceStartupStdout LogStreamSource = "startup_stdout" LogStreamSourceStartupStderr LogStreamSource = "startup_stderr" LogStreamSourceSystem LogStreamSource = "system" )
type LogStreamer ¶
type LogStreamer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Inner registry_rest.ResourceStreamer `json:"-"` // Do not serialize into JSON
}
The sole purpose of the LogStreamer existence is that a Kubernetes storage object (LogStorage for DCP logs) must be associated with an object (type) that it stores. Otherwise, resource_rest.ResourceStreamer instance would be sufficient for what we need to do.
+kubebuilder:object:generate=false +k8s:openapi-gen=true
func (*LogStreamer) DeepCopyObject ¶
func (ls *LogStreamer) DeepCopyObject() runtime.Object
func (*LogStreamer) GetGroupVersionResource ¶
func (ls *LogStreamer) GetGroupVersionResource() schema.GroupVersionResource
func (*LogStreamer) GetObjectMeta ¶
func (ls *LogStreamer) GetObjectMeta() *metav1.ObjectMeta
func (*LogStreamer) InputStream ¶
func (ls *LogStreamer) InputStream(ctx context.Context, apiVersion, acceptHeader string) (io.ReadCloser, bool, string, error)
Returns stream with the log contents
func (*LogStreamer) IsStorageVersion ¶
func (ls *LogStreamer) IsStorageVersion() bool
LogStreamer is not really persisted. This function is somewhat mis-named: it is used by the API server for multi-version resources to distinguish between backward-compatibility versions that are not stored, and the "current" versions that are. So in our case the answer is "yes" since this code is the only version of LogStreamer resource.
func (*LogStreamer) NamespaceScoped ¶
func (ls *LogStreamer) NamespaceScoped() bool
func (*LogStreamer) New ¶
func (ls *LogStreamer) New() runtime.Object
func (*LogStreamer) NewList ¶
func (ls *LogStreamer) NewList() runtime.Object
type LogStreamerList ¶
type LogStreamerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
}
We'll never have "lists of LogStreamers", but list definition is required to register the resource with the API server. +kubebuilder:object:generate=false
func (*LogStreamerList) DeepCopyObject ¶
func (lsl *LogStreamerList) DeepCopyObject() runtime.Object
func (*LogStreamerList) GetListMeta ¶
func (lsl *LogStreamerList) GetListMeta() *metav1.ListMeta
type PemCertificate ¶
type PemCertificate struct {
// The certificate thumbprint
Thumbprint string `json:"thumbprint"`
// The PEM encoded certificate data
Contents string `json:"contents"`
}
PemCertificate represents a PEM encoded (public) certificate +k8s:openapi-gen=true
func (*PemCertificate) DeepCopy ¶
func (in *PemCertificate) DeepCopy() *PemCertificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PemCertificate.
func (*PemCertificate) DeepCopyInto ¶
func (in *PemCertificate) DeepCopyInto(out *PemCertificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PemCertificate) Equal ¶
func (pc *PemCertificate) Equal(other *PemCertificate) bool
func (*PemCertificate) OpenSSLFingerprint ¶
func (pc *PemCertificate) OpenSSLFingerprint() (string, error)
OpenSSLFingerprint computes the OpenSSL-style subject hash for the certificate
func (*PemCertificate) ToX509Certificate ¶
func (pc *PemCertificate) ToX509Certificate() (*x509.Certificate, error)
ToX509Certificate converts the PemCertificate to an x509.Certificate
type PortProtocol ¶
type PortProtocol string
const ( TCP PortProtocol = "TCP" UDP PortProtocol = "UDP" )
type PullPolicy ¶
type PullPolicy string
const ( // Always pull the container image PullPolicyAlways PullPolicy = "always" // Pull the container image only if it is not present PullPolicyMissing PullPolicy = "missing" // Never pull the container image PullPolicyNever PullPolicy = "never" )
type ResourceLogStreamer ¶
type ResourceLogStreamer interface {
// StreamLogs returns a boolean indicating if the logs are ready to be streamed, a channel that will be closed when the logs are done streaming, and an error if one occurred.
StreamLogs(ctx context.Context, dest io.Writer, obj apiserver_resource.Object, opts *LogOptions, log logr.Logger) (ResourceStreamStatus, <-chan struct{}, error)
// Callback when a resource of the type this streamer is registered for is deleted to allow for resource cleanup.
OnResourceUpdated(evt ResourceWatcherEvent, log logr.Logger)
// Disposes the log streamer and underlying resources.
Dispose() error
}
ResourceLogStreamFactory is an entity that knows how to stream logs for a given resource. +kubebuilder:object:generate=false
type ResourceStreamStatus ¶
type ResourceStreamStatus string
const ( ResourceStreamStatusStreaming ResourceStreamStatus = "streaming" ResourceStreamStatusDone ResourceStreamStatus = "done" ResourceStreamStatusNotReady ResourceStreamStatus = "not_ready" )
type ResourceStreamerFunc ¶
type ResourceStreamerFunc func(ctx context.Context, apiVersion, acceptHeader string) (io.ReadCloser, bool, string, error)
+kubebuilder:object:generate=false
func (ResourceStreamerFunc) InputStream ¶
func (rs ResourceStreamerFunc) InputStream(ctx context.Context, apiVersion, acceptHeader string) (io.ReadCloser, bool, string, error)
type ResourceWatcherEvent ¶
type ResourceWatcherEvent struct {
Type watch.EventType
Object apiserver_resource.Object
}
+kubebuilder:object:generate=false
type Service ¶
type Service struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceSpec `json:"spec,omitempty"`
Status ServiceStatus `json:"status,omitempty"`
}
Service represents a single service implemented by zero or more endpoints +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Service) GetDeletionTimestamp ¶
GetDeletionTimestamp implements StdIoStreamableResource. Subtle: this method shadows the method (ObjectMeta).GetDeletionTimestamp of Service.ObjectMeta.
func (*Service) GetGroupVersionResource ¶
func (svc *Service) GetGroupVersionResource() schema.GroupVersionResource
func (*Service) GetObjectMeta ¶
func (svc *Service) GetObjectMeta() *metav1.ObjectMeta
func (*Service) GetResourceId ¶
func (*Service) GetStatus ¶
func (svc *Service) GetStatus() apiserver_resource.StatusSubResource
func (*Service) GetStdErrFile ¶
GetStdErrFile implements StdIoStreamableResource.
func (*Service) GetStdOutFile ¶
GetStdOutFile implements StdIoStreamableResource.
func (*Service) GetUID ¶
GetUID implements StdIoStreamableResource. Subtle: this method shadows the method (ObjectMeta).GetUID of Service.ObjectMeta.
func (*Service) IsStorageVersion ¶
func (*Service) NamespaceScoped ¶
func (*Service) NamespacedName ¶
func (svc *Service) NamespacedName() types.NamespacedName
func (*Service) ShortNames ¶
type ServiceList ¶
type ServiceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Service `json:"items"`
}
ServiceList contains a list of Service instances +k8s:openapi-gen=true +kubebuilder:object:root=true
func (*ServiceList) DeepCopy ¶
func (in *ServiceList) DeepCopy() *ServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceList.
func (*ServiceList) DeepCopyInto ¶
func (in *ServiceList) DeepCopyInto(out *ServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceList) DeepCopyObject ¶
func (in *ServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceList) GetItems ¶
func (svcl *ServiceList) GetItems() []*Service
func (*ServiceList) GetListMeta ¶
func (svcl *ServiceList) GetListMeta() *metav1.ListMeta
func (*ServiceList) ItemCount ¶
func (svcl *ServiceList) ItemCount() uint32
type ServiceSpec ¶
type ServiceSpec struct {
// The desired address for the service to run on
Address string `json:"address,omitempty"`
// The desired port for the service to run on
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
Port int32 `json:"port,omitempty"`
// The protocol, TCP or UDP
Protocol PortProtocol `json:"protocol,omitempty"`
// The mode for address allocation. If Address is set, this will be ignored.
AddressAllocationMode AddressAllocationMode `json:"addressAllocationMode,omitempty"`
}
ServiceSpec defines the desired state of a Service +k8s:openapi-gen=true
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceState ¶
type ServiceState string
const ( // The service is not ready to accept connections ServiceStateNotReady ServiceState = "NotReady" // The service is ready to accept connections ServiceStateReady ServiceState = "Ready" )
type ServiceStatus ¶
type ServiceStatus struct {
// The current state of the service
// +kubebuilder:default:=NotReady
State ServiceState `json:"state,omitempty"`
// The PID of the proxy process
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=4294967295
// +optional
ProxyProcessPid *int64 `json:"proxyProcessPid,omitempty"`
// The path of the proxy config file for this service containing both routing config and service definition
// +optional
ProxyConfigFile string `json:"proxyConfigFile,omitempty"`
// The actual address the service is running on
EffectiveAddress string `json:"effectiveAddress,omitempty"`
// The actual port the service is running on
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
EffectivePort int32 `json:"effectivePort,omitempty"`
// When in Proxyless mode, the namespace of the Endpoint that was chosen to use as the service's effective address and port
// +optional
ProxylessEndpointNamespace string `json:"proxylessEndpointNamespace,omitempty"`
// When in Proxyless mode, the name of the Endpoint that was chosen to use as the service's effective address and port
// +optional
ProxylessEndpointName string `json:"proxylessEndpointName,omitempty"`
}
ServiceStatus describes the status of a Service +k8s:openapi-gen=true
func (ServiceStatus) CopyTo ¶
func (cs ServiceStatus) CopyTo(dest apiserver_resource.ObjectWithStatusSubResource)
func (*ServiceStatus) DeepCopy ¶
func (in *ServiceStatus) DeepCopy() *ServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatus.
func (*ServiceStatus) DeepCopyInto ¶
func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StdIoStreamableResource ¶
type StdIoStreamableResource interface {
GetUID() types.UID
NamespacedName() types.NamespacedName
HasStdOut() bool
HasStdErr() bool
GetStdOutFile() string
GetStdErrFile() string
GetResourceId() string
Done() bool
// This is set by Kubernetes with 1-second precision when the resource is deleted
// Hence we use metav1.Time here instead of metav1.MicroTime
GetDeletionTimestamp() *metav1.Time
}
+kubebuilder:object:generate=false +k8s:openapi-gen=false
type TunnelConfiguration ¶
type TunnelConfiguration struct {
// User-friendly name for the tunnel (used in status reporting and debugging).
// Must be unique within the ContainerNetworkTunnelProxy.
Name string `json:"name"`
// Namespace of the Service that identifies the server the tunnel connects to.
// +optional
ServerServiceNamespace string `json:"serverServiceNamespace,omitempty"`
// Name of the Service that identifies the server the tunnel connects to.
ServerServiceName string `json:"serverServiceName"`
// Namespace of the Service associated with the client proxy on the container network.
// +optional
ClientServiceNamespace string `json:"clientServiceNamespace,omitempty"`
// Name of the Service associated with the client proxy on the container network.
ClientServiceName string `json:"clientServiceName"`
}
TunnelConfiguration defines a single tunnel enabled by a ContainerNetworkTunnelProxy. +k8s:openapi-gen=true
func (*TunnelConfiguration) DeepCopy ¶
func (in *TunnelConfiguration) DeepCopy() *TunnelConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelConfiguration.
func (*TunnelConfiguration) DeepCopyInto ¶
func (in *TunnelConfiguration) DeepCopyInto(out *TunnelConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TunnelConfiguration) KV ¶
func (tc TunnelConfiguration) KV() (string, TunnelConfiguration)
Converts a TunnelConfiguration to key-value pair for use in maps.
type TunnelState ¶
type TunnelState string
const ( // Tunnel is ready and accepting connections. TunnelStateReady TunnelState = "Ready" // Tunnel preparation failed, see ErrorMessage for details. TunnelStateFailed TunnelState = "Failed" // Initial state -- no attempt to prepare the tunnel have been made yet. TunnelStateEmpty TunnelState = "" // Tunnel is being prepared, or is waiting for required services to become ready. TunnelStateNotReady TunnelState = "NotReady" )
type TunnelStatus ¶
type TunnelStatus struct {
// Name of the tunnel (matches TunnelConfiguration.Name).
Name string `json:"name"`
// Internal tunnel ID assigned by the proxy pair.
TunnelID uint32 `json:"tunnelId,omitempty"`
// Current state of the tunnel.
State TunnelState `json:"state"`
// Human-readable explanation for why the tunnel preparation failed (if it did).
ErrorMessage string `json:"errorMessage,omitempty"`
// Addresses on the container network that client proxy is listening on for this tunnel.
// May be empty if the tunnel is not ready.
// +listType=set
ClientProxyAddresses []string `json:"clientProxyAddresses,omitempty"`
// Port on the container network that client proxy is listening on for this tunnel.
// May be zero if the tunnel is not ready.
ClientProxyPort int32 `json:"clientProxyPort,omitempty"`
// The timestamp for the status (last update).
Timestamp metav1.MicroTime `json:"timestamp"`
}
TunnelStatus represents the status of a single tunnel within the proxy pair +k8s:openapi-gen=true
func (TunnelStatus) Clone ¶
func (ts TunnelStatus) Clone() TunnelStatus
func (*TunnelStatus) DeepCopy ¶
func (in *TunnelStatus) DeepCopy() *TunnelStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelStatus.
func (*TunnelStatus) DeepCopyInto ¶
func (in *TunnelStatus) DeepCopyInto(out *TunnelStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TunnelStatus) Equal ¶
func (ts TunnelStatus) Equal(other TunnelStatus) bool
func (TunnelStatus) KV ¶
func (ts TunnelStatus) KV() (string, TunnelStatus)
type VolumeMount ¶
type VolumeMount struct {
Type VolumeMountType `json:"type"`
// Bind mounts: the host directory to mount
// Volume mounts: name of the volume to mount
Source string `json:"source"`
// The path within the container that the mount will use
Target string `json:"target"`
// True if the mounted file system is supposed to be read-only
ReadOnly bool `json:"readOnly,omitempty"`
}
+k8s:openapi-gen=true
func (*VolumeMount) DeepCopy ¶
func (in *VolumeMount) DeepCopy() *VolumeMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMount.
func (*VolumeMount) DeepCopyInto ¶
func (in *VolumeMount) DeepCopyInto(out *VolumeMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeMountType ¶
type VolumeMountType string
const ( // A volume mount to a host directory BindMount VolumeMountType = "bind" // A volume mount to a named volume managed by an orchestrator NamedVolumeMount VolumeMountType = "volume" )
Source Files
¶
- certificate_types.go
- common_types.go
- container_exec_types.go
- container_network_connection_types.go
- container_network_tunnel_proxy_types.go
- container_network_types.go
- container_types.go
- container_volume_types.go
- endpoint_types.go
- executable_replica_set_types.go
- executable_types.go
- groupversion_info.go
- health_types.go
- log_options.go
- log_storage.go
- log_streamer.go
- service_types.go
- zz_generated.deepcopy.go