Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the pkg v1 API group +kubebuilder:object:generate=true +groupName=pkg.ndd.yndd.io
Package v1 contains API Schema definitions for the pkg v1 API group +kubebuilder:object:generate=true +groupName=pkg.ndd.yndd.io
Index ¶
- Constants
- Variables
- func Active() nddv1.Condition
- func GetServiceName(prefix, name string) string
- func GetServiceTag(namespace, name string) []string
- func GetTargetTag(namespace, name string) []string
- func Healthy() nddv1.Condition
- func Inactive() nddv1.Condition
- func RefNames(refs []corev1.LocalObjectReference) []string
- func ToNodes(pkgs ...LockPackage) []dag.Node
- func Unhealthy() nddv1.Condition
- func UnknownHealth() nddv1.Condition
- func Unpacking() nddv1.Condition
- type CompositeProvider
- func (in *CompositeProvider) DeepCopy() *CompositeProvider
- func (in *CompositeProvider) DeepCopyInto(out *CompositeProvider)
- func (in *CompositeProvider) DeepCopyObject() runtime.Object
- func (pc *CompositeProvider) GetAllServicesInfo() []*ServiceInfo
- func (pc *CompositeProvider) GetPodServiceInfo(podName string, k Kind) *ServiceInfo
- func (pc *CompositeProvider) GetServicesInfo() []*ServiceInfo
- func (pc *CompositeProvider) GetServicesInfoByKind(kind Kind) []*ServiceInfo
- func (pc *CompositeProvider) GetTargetServiceInfo() *ServiceInfo
- type CompositeProviderList
- type CompositeProviderSpec
- type CompositeProviderStatus
- type Kind
- type Lock
- type LockList
- type LockPackage
- type Package
- type PackageRevision
- type PackageRevisionDesiredState
- type PackageRevisionList
- type PackageRevisionSpec
- type PackageRevisionStatus
- type PackageSpec
- type PackageStatus
- type Provider
- func (in *Provider) DeepCopy() *Provider
- func (in *Provider) DeepCopyInto(out *Provider)
- func (in *Provider) DeepCopyObject() runtime.Object
- func (p *Provider) GetActivationPolicy() *RevisionActivationPolicy
- func (p *Provider) GetCondition(ct nddv1.ConditionKind) nddv1.Condition
- func (p *Provider) GetControllerRef() *nddv1.Reference
- func (p *Provider) GetCurrentIdentifier() string
- func (p *Provider) GetCurrentRevision() string
- func (p *Provider) GetKind() Kind
- func (p *Provider) GetPackagePullPolicy() *corev1.PullPolicy
- func (p *Provider) GetPackagePullSecrets() []corev1.LocalObjectReference
- func (p *Provider) GetRevisionHistoryLimit() *int64
- func (p *Provider) GetSkipDependencyResolution() *bool
- func (p *Provider) GetSource() string
- func (p *Provider) SetActivationPolicy(a *RevisionActivationPolicy)
- func (p *Provider) SetConditions(c ...nddv1.Condition)
- func (p *Provider) SetControllerRef(r *nddv1.Reference)
- func (p *Provider) SetCurrentIdentifier(s string)
- func (p *Provider) SetCurrentRevision(s string)
- func (p *Provider) SetPackagePullPolicy(i *corev1.PullPolicy)
- func (p *Provider) SetPackagePullSecrets(s []corev1.LocalObjectReference)
- func (p *Provider) SetRevisionHistoryLimit(l *int64)
- func (p *Provider) SetSkipDependencyResolution(b *bool)
- func (p *Provider) SetSource(s string)
- type ProviderList
- type ProviderRevision
- func (in *ProviderRevision) DeepCopy() *ProviderRevision
- func (in *ProviderRevision) DeepCopyInto(out *ProviderRevision)
- func (in *ProviderRevision) DeepCopyObject() runtime.Object
- func (p *ProviderRevision) GetCondition(ct nddv1.ConditionKind) nddv1.Condition
- func (p *ProviderRevision) GetControllerRef() *nddv1.Reference
- func (p *ProviderRevision) GetControllerReference() nddv1.Reference
- func (p *ProviderRevision) GetDependencyStatus() (found, installed, invalid int64)
- func (p *ProviderRevision) GetDesiredState() PackageRevisionDesiredState
- func (p *ProviderRevision) GetKind() string
- func (p *ProviderRevision) GetObjects() []nddv1.TypedReference
- func (p *ProviderRevision) GetPackagePullPolicy() *corev1.PullPolicy
- func (p *ProviderRevision) GetPackagePullSecrets() []corev1.LocalObjectReference
- func (p *ProviderRevision) GetPermissionsRequests() []rbacv1.PolicyRule
- func (p *ProviderRevision) GetRevName() string
- func (p *ProviderRevision) GetRevision() int64
- func (p *ProviderRevision) GetRevisionKind() Kind
- func (p *ProviderRevision) GetSkipDependencyResolution() *bool
- func (p *ProviderRevision) GetSource() string
- func (p *ProviderRevision) SetConditions(c ...nddv1.Condition)
- func (p *ProviderRevision) SetControllerRef(r *nddv1.Reference)
- func (p *ProviderRevision) SetControllerReference(c nddv1.Reference)
- func (p *ProviderRevision) SetDependencyStatus(found, installed, invalid int64)
- func (p *ProviderRevision) SetDesiredState(s PackageRevisionDesiredState)
- func (p *ProviderRevision) SetObjects(c []nddv1.TypedReference)
- func (p *ProviderRevision) SetPackagePullPolicy(i *corev1.PullPolicy)
- func (p *ProviderRevision) SetPackagePullSecrets(s []corev1.LocalObjectReference)
- func (p *ProviderRevision) SetRevision(r int64)
- func (p *ProviderRevision) SetRevisionKind(k Kind)
- func (p *ProviderRevision) SetSkipDependencyResolution(b *bool)
- func (p *ProviderRevision) SetSource(s string)
- type ProviderRevisionList
- type ProviderSpec
- type ProviderStatus
- type RevisionActivationPolicy
- type ServiceInfo
Constants ¶
const ( // A PackageInstalled indicates whether a package has been installed. ConditionKindPackageInstalled nddv1.ConditionKind = "PackageInstalled" // A PackageHealthy indicates whether a package is healthy. ConditionKindPackageHealthy nddv1.ConditionKind = "PackageHealthy" )
Condition Kinds.
const ( ConditionReasonUnpacking nddv1.ConditionReason = "UnpackingPackage" ConditionReasonInactive nddv1.ConditionReason = "InactivePackageRevision" ConditionReasonActive nddv1.ConditionReason = "ActivePackageRevision" ConditionReasonUnhealthy nddv1.ConditionReason = "UnhealthyPackageRevision" ConditionReasonHealthy nddv1.ConditionReason = "HealthyPackageRevision" ConditionReasonUnknownHealth nddv1.ConditionReason = "UnknownPackageRevisionHealth" )
ConditionReasons a package is or is not installed.
const ( Group = "pkg.ndd.yndd.io" Version = "v1" )
Package type metadata.
const ( ParentLabelKey = Group + "/" + "package" CompositeProviderNameLabelKey = Group + "/" + "composite-provider-name" CompositeProviderNamespceLabelKey = Group + "/" + "composite-provider-namespace" )
const (
PackageNamespace = "pkg.ndd.yndd.io"
)
Variables ¶
var ( CompositeProviderKind = reflect.TypeOf(CompositeProvider{}).Name() CompositeProviderGroupKind = schema.GroupKind{Group: Group, Kind: CompositeProviderKind}.String() CompositeProviderKindAPIVersion = ProviderKind + "." + GroupVersion.String() CompositeProviderGroupVersionKind = GroupVersion.WithKind(CompositeProviderKind) )
CompositeProvider type metadata.
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: Group, Version: Version} // 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 )
var ( ProviderKind = reflect.TypeOf(Provider{}).Name() ProviderGroupKind = schema.GroupKind{Group: Group, Kind: ProviderKind}.String() ProviderKindAPIVersion = ProviderKind + "." + GroupVersion.String() ProviderGroupVersionKind = GroupVersion.WithKind(ProviderKind) )
Provider type metadata.
var ( ProviderRevisionKind = reflect.TypeOf(ProviderRevision{}).Name() ProviderRevisionGroupKind = schema.GroupKind{Group: Group, Kind: ProviderRevisionKind}.String() ProviderRevisionKindAPIVersion = ProviderRevisionKind + "." + GroupVersion.String() ProviderRevisionGroupVersionKind = GroupVersion.WithKind(ProviderRevisionKind) )
ProviderRevision type metadata.
var ( LockKind = reflect.TypeOf(Lock{}).Name() LockGroupKind = schema.GroupKind{Group: Group, Kind: LockKind}.String() LockKindAPIVersion = LockKind + "." + GroupVersion.String() LockGroupVersionKind = GroupVersion.WithKind(LockKind) )
Lock type metadata.
Functions ¶
func Active ¶
Active indicates that the package manager has installed and activated a package revision.
func GetServiceName ¶ added in v0.2.21
func GetServiceTag ¶ added in v0.2.21
func GetTargetTag ¶ added in v0.2.21
func Inactive ¶
Inactive indicates that the package manager is waiting for a package revision to be transitioned to an active state.
func RefNames ¶
func RefNames(refs []corev1.LocalObjectReference) []string
RefNames converts a slice of LocalObjectReferences to a slice of strings.
func ToNodes ¶
func ToNodes(pkgs ...LockPackage) []dag.Node
ToNodes converts LockPackages to DAG nodes.
func UnknownHealth ¶
UnknownHealth indicates that the health of the current revision is unknown.
Types ¶
type CompositeProvider ¶ added in v0.2.21
type CompositeProvider struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CompositeProviderSpec `json:"spec"` Status CompositeProviderStatus `json:"status,omitempty"` }
A CompositeProvider provides the definition of a CompositeProvider configuration. +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="INSTALLED",type="string",JSONPath=".status.conditions[?(@.kind=='PackageInstalled')].status" +kubebuilder:printcolumn:name="HEALTHY",type="string",JSONPath=".status.conditions[?(@.kind=='PackageHealthy')].status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={ndd,pkg}
func (*CompositeProvider) DeepCopy ¶ added in v0.2.21
func (in *CompositeProvider) DeepCopy() *CompositeProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeProvider.
func (*CompositeProvider) DeepCopyInto ¶ added in v0.2.21
func (in *CompositeProvider) DeepCopyInto(out *CompositeProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CompositeProvider) DeepCopyObject ¶ added in v0.2.21
func (in *CompositeProvider) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CompositeProvider) GetAllServicesInfo ¶ added in v0.2.21
func (pc *CompositeProvider) GetAllServicesInfo() []*ServiceInfo
func (*CompositeProvider) GetPodServiceInfo ¶ added in v0.2.21
func (pc *CompositeProvider) GetPodServiceInfo(podName string, k Kind) *ServiceInfo
func (*CompositeProvider) GetServicesInfo ¶ added in v0.2.21
func (pc *CompositeProvider) GetServicesInfo() []*ServiceInfo
func (*CompositeProvider) GetServicesInfoByKind ¶ added in v0.2.21
func (pc *CompositeProvider) GetServicesInfoByKind(kind Kind) []*ServiceInfo
func (*CompositeProvider) GetTargetServiceInfo ¶ added in v0.2.21
func (pc *CompositeProvider) GetTargetServiceInfo() *ServiceInfo
type CompositeProviderList ¶ added in v0.2.21
type CompositeProviderList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CompositeProvider `json:"items"` }
A CompositeProviderList provides the list of CompositeProvider.
func (*CompositeProviderList) DeepCopy ¶ added in v0.2.21
func (in *CompositeProviderList) DeepCopy() *CompositeProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeProviderList.
func (*CompositeProviderList) DeepCopyInto ¶ added in v0.2.21
func (in *CompositeProviderList) DeepCopyInto(out *CompositeProviderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CompositeProviderList) DeepCopyObject ¶ added in v0.2.21
func (in *CompositeProviderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CompositeProviderSpec ¶ added in v0.2.21
type CompositeProviderSpec struct { // VendorType specifies the vendor of the provider composite //+kubebuilder:validation:Enum=unknown;nokiaSRL;nokiaSROS; VendorType targetv1.VendorType `json:"vendorType,omitempty"` // Packages define the package specification used for creating the provider Packages []PackageSpec `json:"packages,omitempty"` }
ControllerSpec specifies the configuration of a Controller.
func (*CompositeProviderSpec) DeepCopy ¶ added in v0.2.21
func (in *CompositeProviderSpec) DeepCopy() *CompositeProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeProviderSpec.
func (*CompositeProviderSpec) DeepCopyInto ¶ added in v0.2.21
func (in *CompositeProviderSpec) DeepCopyInto(out *CompositeProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositeProviderStatus ¶ added in v0.2.21
type CompositeProviderStatus struct {
nddv1.ConditionedStatus `json:",inline"`
}
CompositeProviderStatus defines the observed state of CompositeProvider
func (*CompositeProviderStatus) DeepCopy ¶ added in v0.2.21
func (in *CompositeProviderStatus) DeepCopy() *CompositeProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeProviderStatus.
func (*CompositeProviderStatus) DeepCopyInto ¶ added in v0.2.21
func (in *CompositeProviderStatus) DeepCopyInto(out *CompositeProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Lock ¶
type Lock struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Packages []LockPackage `json:"packages,omitempty"` }
LockSpec is the CRD type that tracks package dependencies. +kubebuilder:subresource:status +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={ndd,pkg},shortName=lock
func (*Lock) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lock.
func (*Lock) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Lock) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LockList ¶
type LockList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Lock `json:"items"` }
LockList contains a list of Lock.
func (*LockList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LockList.
func (*LockList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LockList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LockPackage ¶
type LockPackage struct { // Name corresponds to the name of the package revision for this package. Name string `json:"name"` // Type is the type of package. Can be Provider, maybe later other types can be created Type pkgmetav1.PackageType `json:"type"` // Source is the OCI image name without a tag or digest. Source string `json:"source"` // Version is the tag or digest of the OCI image. Version string `json:"version"` // Dependencies are the list of dependencies of this package. The order of // the dependencies will dictate the order in which they are resolved. Dependencies []pkgmetav1.Dependency `json:"dependencies"` }
LockPackage is a package that is in the lock.
func (*LockPackage) AddNeighbors ¶
func (l *LockPackage) AddNeighbors(nodes ...dag.Node) error
AddNeighbors adds dependencies to a LockPackage. A LockPackage should always have all dependencies declared before being added to the Lock, so we no-op when adding a neighbor.
func (*LockPackage) DeepCopy ¶
func (in *LockPackage) DeepCopy() *LockPackage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LockPackage.
func (*LockPackage) DeepCopyInto ¶
func (in *LockPackage) DeepCopyInto(out *LockPackage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LockPackage) Identifier ¶
func (l *LockPackage) Identifier() string
Identifier returns the source of a LockPackage.
func (*LockPackage) Neighbors ¶
func (l *LockPackage) Neighbors() []dag.Node
Neighbors returns dependencies of a LockPackage.
type Package ¶
type Package interface { resource.Object resource.Conditioned GetSource() string SetSource(s string) GetKind() Kind GetActivationPolicy() *RevisionActivationPolicy SetActivationPolicy(a *RevisionActivationPolicy) GetPackagePullSecrets() []corev1.LocalObjectReference SetPackagePullSecrets(s []corev1.LocalObjectReference) GetPackagePullPolicy() *corev1.PullPolicy SetPackagePullPolicy(i *corev1.PullPolicy) GetRevisionHistoryLimit() *int64 SetRevisionHistoryLimit(l *int64) GetControllerRef() *nddv1.Reference SetControllerRef(r *nddv1.Reference) GetCurrentRevision() string SetCurrentRevision(r string) GetCurrentIdentifier() string SetCurrentIdentifier(r string) GetSkipDependencyResolution() *bool SetSkipDependencyResolution(*bool) }
+k8s:deepcopy-gen=false
type PackageRevision ¶
type PackageRevision interface { resource.Object resource.Conditioned GetObjects() []nddv1.TypedReference SetObjects(c []nddv1.TypedReference) GetControllerReference() nddv1.Reference SetControllerReference(c nddv1.Reference) GetSource() string SetSource(s string) GetPackagePullSecrets() []corev1.LocalObjectReference SetPackagePullSecrets(s []corev1.LocalObjectReference) GetPackagePullPolicy() *corev1.PullPolicy SetPackagePullPolicy(i *corev1.PullPolicy) GetDesiredState() PackageRevisionDesiredState SetDesiredState(d PackageRevisionDesiredState) GetControllerRef() *nddv1.Reference SetControllerRef(r *nddv1.Reference) GetRevision() int64 SetRevision(r int64) GetSkipDependencyResolution() *bool SetSkipDependencyResolution(*bool) GetDependencyStatus() (found, installed, invalid int64) SetDependencyStatus(found, installed, invalid int64) GetPermissionsRequests() []rbacv1.PolicyRule GetRevName() string GetKind() string GetRevisionKind() Kind SetRevisionKind(k Kind) }
PackageRevision is the interface satisfied by package revision types. +k8s:deepcopy-gen=false
type PackageRevisionDesiredState ¶
type PackageRevisionDesiredState string
PackageRevisionDesiredState is the desired state of the package revision.
const ( // PackageRevisionActive is an active package revision. PackageRevisionActive PackageRevisionDesiredState = "Active" // PackageRevisionInactive is an inactive package revision. PackageRevisionInactive PackageRevisionDesiredState = "Inactive" )
type PackageRevisionList ¶
type PackageRevisionList interface { client.ObjectList // GetRevisions gets the list of PackageRevisions in a PackageRevisionList. // This is a costly operation, but allows for treating different revision // list types as a single interface. If causing a performance bottleneck in // a shared reconciler, consider refactoring the controller to use a // reconciler for the specific type. GetRevisions() []PackageRevision }
PackageRevisionList is the interface satisfied by package revision list types. +k8s:deepcopy-gen=false
type PackageRevisionSpec ¶
type PackageRevisionSpec struct { // ControllerRef references a Controllerg resource that will be // used to configure the packaged controller Deployment. // +optional ControllerReference *nddv1.Reference `json:"controllerRef,omitempty"` // Kind is the kind of package // +kubebuilder:validation:Enum=`worker`;`reconciler` Kind Kind `json:"kind,omitempty"` // DesiredState of the PackageRevision. Can be either Active or Inactive. DesiredState PackageRevisionDesiredState `json:"desiredState"` // Package image used by install Pod to extract package contents. PackageImage string `json:"packageImage"` // PackagePullSecrets are named secrets in the same namespace that can be // used to fetch packages from private registries. They are also applied to // any images pulled for the package, such as a provider's controller image. // +optional PackagePullSecrets []corev1.LocalObjectReference `json:"packagePullSecrets,omitempty"` // PackagePullPolicy defines the pull policy for the package. It is also // applied to any images pulled for the package, such as a provider's // controller image. // Default is IfNotPresent. // +optional // +kubebuilder:default=IfNotPresent PackagePullPolicy *corev1.PullPolicy `json:"packagePullPolicy,omitempty"` // Revision number. Indicates when the revision will be garbage collected // based on the parent's RevisionHistoryLimit. Revision int64 `json:"revision"` // SkipDependencyResolution indicates to the package manager whether to skip // resolving dependencies for a package. Setting this value to true may have // unintended consequences. // Default is false. // +optional // +kubebuilder:default=false SkipDependencyResolution *bool `json:"skipDependencyResolution,omitempty"` }
PackageRevisionSpec defines the desired state of Revision
func (*PackageRevisionSpec) DeepCopy ¶
func (in *PackageRevisionSpec) DeepCopy() *PackageRevisionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageRevisionSpec.
func (*PackageRevisionSpec) DeepCopyInto ¶
func (in *PackageRevisionSpec) DeepCopyInto(out *PackageRevisionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageRevisionStatus ¶
type PackageRevisionStatus struct { nddv1.ConditionedStatus `json:",inline"` ControllerRef nddv1.Reference `json:"controllerRef,omitempty"` // References to objects owned by PackageRevision. ObjectRefs []nddv1.TypedReference `json:"objectRefs,omitempty"` // Dependency information. FoundDependencies int64 `json:"foundDependencies,omitempty"` InstalledDependencies int64 `json:"installedDependencies,omitempty"` InvalidDependencies int64 `json:"invalidDependencies,omitempty"` // PermissionRequests made by this package. The package declares that its // controller needs these permissions to run. The RBAC manager is // responsible for granting them. PermissionRequests []rbacv1.PolicyRule `json:"permissionRequests,omitempty"` }
PackageRevisionStatus defines the observed state of a PackageRevision
func (*PackageRevisionStatus) DeepCopy ¶
func (in *PackageRevisionStatus) DeepCopy() *PackageRevisionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageRevisionStatus.
func (*PackageRevisionStatus) DeepCopyInto ¶
func (in *PackageRevisionStatus) DeepCopyInto(out *PackageRevisionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageSpec ¶
type PackageSpec struct { // Name is the name of the package Name string `json:"name,omitempty"` // Kind is the kind of package // +kubebuilder:validation:Enum=`worker`;`reconciler` Kind Kind `json:"kind,omitempty"` // Package is the name of the image of the package that is being requested. Package string `json:"package"` // RevisionActivationPolicy specifies how the package controller should // update from one revision to the next. Options are Automatic or Manual. // Default is Automatic. // +optional // +kubebuilder:default=Automatic RevisionActivationPolicy *RevisionActivationPolicy `json:"revisionActivationPolicy,omitempty"` // RevisionHistoryLimit dictates how the package controller cleans up old // inactive package revisions. // Defaults to 1. Can be disabled by explicitly setting to 0. // +optional // +kubebuilder:default=1 RevisionHistoryLimit *int64 `json:"revisionHistoryLimit,omitempty"` // PackagePullSecrets are named secrets in the same namespace that can be used // to fetch packages from private registries. // +optional PackagePullSecrets []corev1.LocalObjectReference `json:"packagePullSecrets,omitempty"` // PackagePullPolicy defines the pull policy for the package. // Default is IfNotPresent. // +optional // +kubebuilder:default=IfNotPresent PackagePullPolicy *corev1.PullPolicy `json:"packagePullPolicy,omitempty"` // SkipDependencyResolution indicates to the package manager whether to skip // resolving dependencies for a package. Setting this value to true may have // unintended consequences. // Default is false. // +optional // +kubebuilder:default=false SkipDependencyResolution *bool `json:"skipDependencyResolution,omitempty"` }
PackageSpec defines the desired state of Package
func (*PackageSpec) DeepCopy ¶
func (in *PackageSpec) DeepCopy() *PackageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSpec.
func (*PackageSpec) DeepCopyInto ¶
func (in *PackageSpec) DeepCopyInto(out *PackageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageStatus ¶
type PackageStatus struct { // CurrentRevision is the name of the current package revision. It will // reflect the most up to date revision, whether it has been activated or // not. CurrentRevision string `json:"currentRevision,omitempty"` // CurrentIdentifier is the most recent package source that was used to // produce a revision. The package manager uses this field to determine // whether to check for package updates for a given source when // packagePullPolicy is set to IfNotPresent. Manually removing this field // will cause the package manager to check that the current revision is // correct for the given package source. CurrentIdentifier string `json:"currentIdentifier,omitempty"` }
PackageStatus defines the observed state of Package
func (*PackageStatus) DeepCopy ¶
func (in *PackageStatus) DeepCopy() *PackageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageStatus.
func (*PackageStatus) DeepCopyInto ¶
func (in *PackageStatus) DeepCopyInto(out *PackageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Provider ¶
type Provider struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ProviderSpec `json:"spec,omitempty"` Status ProviderStatus `json:"status,omitempty"` }
Provider is the CRD type for a request to add a provider to Network Device Driver.. +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="INSTALLED",type="string",JSONPath=".status.conditions[?(@.kind=='PackageInstalled')].status" +kubebuilder:printcolumn:name="HEALTHY",type="string",JSONPath=".status.conditions[?(@.kind=='PackageHealthy')].status" +kubebuilder:printcolumn:name="PACKAGE",type="string",JSONPath=".spec.package" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={ndd,pkg},shortName=pvd
func (*Provider) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provider.
func (*Provider) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Provider) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Provider) GetActivationPolicy ¶
func (p *Provider) GetActivationPolicy() *RevisionActivationPolicy
GetActivationPolicy of this Provider.
func (*Provider) GetCondition ¶
func (p *Provider) GetCondition(ct nddv1.ConditionKind) nddv1.Condition
GetCondition of this Provider.
func (*Provider) GetControllerRef ¶ added in v0.2.21
GetControllerRef of this Provider.
func (*Provider) GetCurrentIdentifier ¶
GetCurrentIdentifier of this Provider.
func (*Provider) GetCurrentRevision ¶
GetCurrentRevision of this Provider.
func (*Provider) GetPackagePullPolicy ¶
func (p *Provider) GetPackagePullPolicy() *corev1.PullPolicy
GetPackagePullPolicy of this Provider.
func (*Provider) GetPackagePullSecrets ¶
func (p *Provider) GetPackagePullSecrets() []corev1.LocalObjectReference
GetPackagePullSecrets of this Provider.
func (*Provider) GetRevisionHistoryLimit ¶
GetRevisionHistoryLimit of this Provider.
func (*Provider) GetSkipDependencyResolution ¶
GetSkipDependencyResolution of this Provider.
func (*Provider) SetActivationPolicy ¶
func (p *Provider) SetActivationPolicy(a *RevisionActivationPolicy)
SetActivationPolicy of this Provider.
func (*Provider) SetConditions ¶
SetConditions of this Provider.
func (*Provider) SetControllerRef ¶ added in v0.2.21
SetControllerRef of this Provider.
func (*Provider) SetCurrentIdentifier ¶
SetCurrentIdentifier of this Provider.
func (*Provider) SetCurrentRevision ¶
SetCurrentRevision of this Provider.
func (*Provider) SetPackagePullPolicy ¶
func (p *Provider) SetPackagePullPolicy(i *corev1.PullPolicy)
SetPackagePullPolicy of this Provider.
func (*Provider) SetPackagePullSecrets ¶
func (p *Provider) SetPackagePullSecrets(s []corev1.LocalObjectReference)
SetPackagePullSecrets of this Provider.
func (*Provider) SetRevisionHistoryLimit ¶
SetRevisionHistoryLimit of this Provider.
func (*Provider) SetSkipDependencyResolution ¶
SetSkipDependencyResolution of this Provider.
type ProviderList ¶
type ProviderList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Provider `json:"items"` }
func (*ProviderList) DeepCopy ¶
func (in *ProviderList) DeepCopy() *ProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderList.
func (*ProviderList) DeepCopyInto ¶
func (in *ProviderList) DeepCopyInto(out *ProviderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProviderList) DeepCopyObject ¶
func (in *ProviderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProviderRevision ¶
type ProviderRevision struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PackageRevisionSpec `json:"spec,omitempty"` Status PackageRevisionStatus `json:"status,omitempty"` }
A ProviderRevision that has been added to Network device Driver. +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="HEALTHY",type="string",JSONPath=".status.conditions[?(@.kind=='PackageHealthy')].status" +kubebuilder:printcolumn:name="REVISION",type="string",JSONPath=".spec.revision" +kubebuilder:printcolumn:name="PKGIMAGE",type="string",JSONPath=".spec.packageImage" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".spec.desiredState" +kubebuilder:printcolumn:name="DEP-FOUND",type="string",JSONPath=".status.foundDependencies" +kubebuilder:printcolumn:name="DEP-INSTALLED",type="string",JSONPath=".status.installedDependencies" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={ndd,pkg},shortName=prov
func (*ProviderRevision) DeepCopy ¶
func (in *ProviderRevision) DeepCopy() *ProviderRevision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderRevision.
func (*ProviderRevision) DeepCopyInto ¶
func (in *ProviderRevision) DeepCopyInto(out *ProviderRevision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProviderRevision) DeepCopyObject ¶
func (in *ProviderRevision) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ProviderRevision) GetCondition ¶
func (p *ProviderRevision) GetCondition(ct nddv1.ConditionKind) nddv1.Condition
GetCondition of this ProviderRevision.
func (*ProviderRevision) GetControllerRef ¶ added in v0.2.21
func (p *ProviderRevision) GetControllerRef() *nddv1.Reference
GetControllerRef of this ProviderRevision.
func (*ProviderRevision) GetControllerReference ¶
func (p *ProviderRevision) GetControllerReference() nddv1.Reference
GetControllerReference of this ProviderRevision.
func (*ProviderRevision) GetDependencyStatus ¶
func (p *ProviderRevision) GetDependencyStatus() (found, installed, invalid int64)
GetDependencyStatus of this ProviderRevision.
func (*ProviderRevision) GetDesiredState ¶
func (p *ProviderRevision) GetDesiredState() PackageRevisionDesiredState
GetDesiredState of this ProviderRevision.
func (*ProviderRevision) GetKind ¶ added in v0.1.3
func (p *ProviderRevision) GetKind() string
func (*ProviderRevision) GetObjects ¶
func (p *ProviderRevision) GetObjects() []nddv1.TypedReference
GetObjects of this ProviderRevision.
func (*ProviderRevision) GetPackagePullPolicy ¶
func (p *ProviderRevision) GetPackagePullPolicy() *corev1.PullPolicy
GetPackagePullPolicy of this ProviderRevision.
func (*ProviderRevision) GetPackagePullSecrets ¶
func (p *ProviderRevision) GetPackagePullSecrets() []corev1.LocalObjectReference
GetPackagePullSecrets of this ProviderRevision.
func (*ProviderRevision) GetPermissionsRequests ¶ added in v0.1.3
func (p *ProviderRevision) GetPermissionsRequests() []rbacv1.PolicyRule
GetPermissions of this ProviderRevision.
func (*ProviderRevision) GetRevName ¶ added in v0.1.3
func (p *ProviderRevision) GetRevName() string
func (*ProviderRevision) GetRevision ¶
func (p *ProviderRevision) GetRevision() int64
GetRevision of this ProviderRevision.
func (*ProviderRevision) GetRevisionKind ¶ added in v0.2.21
func (p *ProviderRevision) GetRevisionKind() Kind
func (*ProviderRevision) GetSkipDependencyResolution ¶
func (p *ProviderRevision) GetSkipDependencyResolution() *bool
GetSkipDependencyResolution of this ProviderRevision.
func (*ProviderRevision) GetSource ¶
func (p *ProviderRevision) GetSource() string
GetSource of this ProviderRevision.
func (*ProviderRevision) SetConditions ¶
func (p *ProviderRevision) SetConditions(c ...nddv1.Condition)
SetConditions of this ProviderRevision.
func (*ProviderRevision) SetControllerRef ¶ added in v0.2.21
func (p *ProviderRevision) SetControllerRef(r *nddv1.Reference)
SetControllerRef of this ProviderREvsion.
func (*ProviderRevision) SetControllerReference ¶
func (p *ProviderRevision) SetControllerReference(c nddv1.Reference)
SetControllerReference of this ProviderRevision.
func (*ProviderRevision) SetDependencyStatus ¶
func (p *ProviderRevision) SetDependencyStatus(found, installed, invalid int64)
SetDependencyStatus of this ProviderRevision.
func (*ProviderRevision) SetDesiredState ¶
func (p *ProviderRevision) SetDesiredState(s PackageRevisionDesiredState)
SetDesiredState of this ProviderRevision.
func (*ProviderRevision) SetObjects ¶
func (p *ProviderRevision) SetObjects(c []nddv1.TypedReference)
SetObjects of this ProviderRevision.
func (*ProviderRevision) SetPackagePullPolicy ¶
func (p *ProviderRevision) SetPackagePullPolicy(i *corev1.PullPolicy)
SetPackagePullPolicy of this ProviderRevision.
func (*ProviderRevision) SetPackagePullSecrets ¶
func (p *ProviderRevision) SetPackagePullSecrets(s []corev1.LocalObjectReference)
SetPackagePullSecrets of this ProviderRevision.
func (*ProviderRevision) SetRevision ¶
func (p *ProviderRevision) SetRevision(r int64)
SetRevision of this ProviderRevision.
func (*ProviderRevision) SetRevisionKind ¶ added in v0.2.21
func (p *ProviderRevision) SetRevisionKind(k Kind)
func (*ProviderRevision) SetSkipDependencyResolution ¶
func (p *ProviderRevision) SetSkipDependencyResolution(b *bool)
SetSkipDependencyResolution of this ProviderRevision.
func (*ProviderRevision) SetSource ¶
func (p *ProviderRevision) SetSource(s string)
SetSource of this ProviderRevision.
type ProviderRevisionList ¶
type ProviderRevisionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ProviderRevision `json:"items"` }
ProviderRevisionList contains a list of ProviderRevision.
func (*ProviderRevisionList) DeepCopy ¶
func (in *ProviderRevisionList) DeepCopy() *ProviderRevisionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderRevisionList.
func (*ProviderRevisionList) DeepCopyInto ¶
func (in *ProviderRevisionList) DeepCopyInto(out *ProviderRevisionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProviderRevisionList) DeepCopyObject ¶
func (in *ProviderRevisionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ProviderRevisionList) GetRevisions ¶
func (p *ProviderRevisionList) GetRevisions() []PackageRevision
GetRevisions of this ProviderRevisionList.
type ProviderSpec ¶
type ProviderSpec struct { PackageSpec `json:",inline"` // ControllerRef references a ControllerConfig resource that will be // used to configure the packaged controller Deployment. // +optional ControllerReference *nddv1.Reference `json:"controllerRef,omitempty"` }
ProviderSpec specifies details about a request to install a provider
func (*ProviderSpec) DeepCopy ¶
func (in *ProviderSpec) DeepCopy() *ProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpec.
func (*ProviderSpec) DeepCopyInto ¶
func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderStatus ¶
type ProviderStatus struct { nddv1.ConditionedStatus `json:",inline"` PackageStatus `json:",inline"` }
ProviderStatus defines the observed state of Provider
func (*ProviderStatus) DeepCopy ¶
func (in *ProviderStatus) DeepCopy() *ProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderStatus.
func (*ProviderStatus) DeepCopyInto ¶
func (in *ProviderStatus) DeepCopyInto(out *ProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RevisionActivationPolicy ¶
type RevisionActivationPolicy string
RevisionActivationPolicy indicates how a package should activate its revisions.
var ( // AutomaticActivation indicates that package should automatically activate // package revisions. AutomaticActivation RevisionActivationPolicy = "Automatic" // ManualActivation indicates that a user will manually activate package // revisions. ManualActivation RevisionActivationPolicy = "Manual" )
type ServiceInfo ¶ added in v0.2.21
func (*ServiceInfo) DeepCopy ¶ added in v0.2.21
func (in *ServiceInfo) DeepCopy() *ServiceInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceInfo.
func (*ServiceInfo) DeepCopyInto ¶ added in v0.2.21
func (in *ServiceInfo) DeepCopyInto(out *ServiceInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.