Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the pkg v1 API group +kubebuilder:object:generate=true +groupName=meta.pkg.ndd.henderiw.be
Copyright 2021 Wim Henderickx.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 Wim Henderickx.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 Wim Henderickx.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 Wim Henderickx.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
Constants ¶
const ( Group = "meta.pkg.ndd.henderiw.be" 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 ControllerSpec ¶
type ControllerSpec struct { // Image is the packaged Provider controller image. Image string `json:"image"` // PermissionRequests for RBAC rules required for this provider's controller // to function. The RBAC manager is responsible for assessing the requested // permissions. // +optional PermissionRequests []rbacv1.PolicyRule `json:"permissionRequests,omitempty"` }
ControllerSpec specifies the configuration for the packaged Provider controller.
func (*ControllerSpec) DeepCopy ¶
func (in *ControllerSpec) DeepCopy() *ControllerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerSpec.
func (*ControllerSpec) DeepCopyInto ¶
func (in *ControllerSpec) DeepCopyInto(out *ControllerSpec)
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 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 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 ProviderSpec ¶
type ProviderSpec struct { // Configuration for the packaged Provider's controller. Controller ControllerSpec `json:"controller"` 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.