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 (
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:object:root=true +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:resource:categories={ndd,pkg},shortName=cp
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
VendorType string `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.