Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the meta pkg v1 API group +kubebuilder:object:generate=true +groupName=meta.pkg.ndd.yndd.io
Index ¶
Constants ¶
const ( GnmiServerPort = 9999 MetricServerPortHttp = 9997 MetricServerPortHttps = 8443 PrefixGnmiService = "nddo-gnmi-svc" PrefixMetricService = "nddo-metrics-svc" Namespace = "ndd-system" NamespaceLocalK8sDNS = Namespace + "." + "svc.cluster.local:" LabelPkgMeta = "app" LabelHttpPkgMeta = "app-http" VendorTypeLabelKey = Group + "/" + "vendorType" )
const ( Group = "meta.pkg.ndd.yndd.io" Version = "v1" )
Package type metadata.
Variables ¶
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.
Functions ¶
This section is empty.
Types ¶
type ContainerSpec ¶ added in v0.2.0
type ContainerSpec struct { // Provide the container info Container *corev1.Container `json:"container,omitempty"` // Extras is certificates, volumes, webhook, etc Extras []*Extras `json:"extras,omitempty"` }
func (*ContainerSpec) DeepCopy ¶ added in v0.2.0
func (in *ContainerSpec) DeepCopy() *ContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSpec.
func (*ContainerSpec) DeepCopyInto ¶ added in v0.2.0
func (in *ContainerSpec) DeepCopyInto(out *ContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dependency ¶
type Dependency struct { // Package is the OCI image name without a tag or digest. Package string `json:"package"` // Type is the type of package. Can be either Configuration or Provider. Type PackageType `json:"type"` // Constraints is a valid semver range, which will be used to select a valid // dependency version. Constraints string `json:"constraints"` }
Dependency is a dependency on another package. One of Provider or Configuration may be supplied.
func (*Dependency) AddNeighbors ¶
func (d *Dependency) AddNeighbors(...dag.Node) error
AddNeighbors is a no-op for dependencies. We should never be adding neighbors to a dependency.
func (*Dependency) DeepCopy ¶
func (in *Dependency) DeepCopy() *Dependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dependency.
func (*Dependency) DeepCopyInto ¶
func (in *Dependency) DeepCopyInto(out *Dependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Dependency) Identifier ¶
func (d *Dependency) Identifier() string
Identifier returns a dependency's source.
func (*Dependency) Neighbors ¶
func (d *Dependency) Neighbors() []dag.Node
Neighbors in is a no-op for dependencies because we are not yet aware of its dependencies.
type DeploymentType ¶ added in v0.2.0
type DeploymentType string
const ( DeploymentTypeStatefulset DeploymentType = "statefulset" DeploymentTypeDeployment DeploymentType = "deployment" )
type Extras ¶ added in v0.2.0
type Extras struct { Name string `json:"name"` Webhook bool `json:"webhook,omitempty"` Certificate bool `json:"certificate,omitempty"` Service bool `json:"service,omitempty"` Volume bool `json:"volume,omitempty"` Port uint32 `json:"port,omitempty"` TargetPort uint32 `json:"targetPort,omitempty"` Protocol string `json:"protocol,omitempty"` }
func (*Extras) DeepCopy ¶ added in v0.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extras.
func (*Extras) DeepCopyInto ¶ added in v0.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetaSpec ¶
type MetaSpec struct { // Semantic version constraints of Ndd that package is compatible with. Ndd *NddConstraints `json:"ndd,omitempty"` // Dependencies on other packages. DependsOn []Dependency `json:"dependsOn,omitempty"` }
MetaSpec are fields that every meta package type must implement.
func (*MetaSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaSpec.
func (*MetaSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NddConstraints ¶
type NddConstraints struct { // Semantic version constraints of ndd that package is compatible with. Version string `json:"version"` }
NddConstraints specifies a packages compatibility with ndd versions.
func (*NddConstraints) DeepCopy ¶
func (in *NddConstraints) DeepCopy() *NddConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NddConstraints.
func (*NddConstraints) DeepCopyInto ¶
func (in *NddConstraints) DeepCopyInto(out *NddConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageType ¶
type PackageType string
A PackageType is a type of package.
const (
ProviderPackageType PackageType = "Provider"
)
Types of packages.
type Pkg ¶
type Pkg interface { GetNddConstraints() *NddConstraints GetDependencies() []Dependency }
Pkg is a description of a Ndd package. +k8s:deepcopy-gen=false
type PodSpec ¶ added in v0.2.0
type PodSpec struct { // Name of the pod Name string `json:"name,omitempty"` // Type is the type of the deployment // +kubebuilder:validation:Enum=`statefulset`;`deployment` // +kubebuilder:default=deployment Type DeploymentType `json:"type,omitempty"` // Replicas defines the amount of replicas expected // +kubebuilder:default=1 Replicas *int32 `json:"replicas,omitempty"` // MaxReplicas defines the max expected replications of this pod // +kubebuilder:default=8 MaxReplicas *int32 `json:"maxReplicas,omitempty"` // MaxJobNumber indication on how many jobs a given pods should hold MaxJobNumber *int32 `json:"maxJobNumber,omitempty"` // PermissionRequests for RBAC rules required for this controller // to function. The RBAC manager is responsible for assessing the requested // permissions. // +optional PermissionRequests []rbacv1.PolicyRule `json:"permissionRequests,omitempty"` // Containers identifies the containers in the pod Containers []*ContainerSpec `json:"containers,omitempty"` }
func (*PodSpec) DeepCopy ¶ added in v0.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSpec.
func (*PodSpec) DeepCopyInto ¶ added in v0.2.0
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"` }
A Provider is the description of a Ndd Provider package.
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) GetDependencies ¶
func (c *Provider) GetDependencies() []Dependency
GetDependencies gets the Provider package's dependencies.
func (*Provider) GetNddConstraints ¶
func (c *Provider) GetNddConstraints() *NddConstraints
GetNddConstraints gets the Provider package's ndd version constraints.
type ProviderList ¶ added in v0.2.0
type ProviderList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Provider `json:"items"` }
A ProviderList is the description of a Ndd Provider package.
func (*ProviderList) DeepCopy ¶ added in v0.2.0
func (in *ProviderList) DeepCopy() *ProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderList.
func (*ProviderList) DeepCopyInto ¶ added in v0.2.0
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 ¶ added in v0.2.0
func (in *ProviderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProviderSpec ¶
type ProviderSpec struct { // pods define the pod specification used by the controller for LCM/resource allocation Pod *PodSpec `json:"pod,omitempty"` MetaSpec `json:",inline"` }
ProviderSpec specifies the configuration of 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 ServiceDiscoveryType ¶ added in v0.2.11
type ServiceDiscoveryType string
const ( ServiceDiscoveryTypeNone ServiceDiscoveryType = "none" ServiceDiscoveryTypeConsul ServiceDiscoveryType = "consul" ServiceDiscoveryTypeK8s ServiceDiscoveryType = "k8s" )