v1alpha1

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2023 License: Apache-2.0 Imports: 5 Imported by: 6

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=helm.cattle.io

+k8s:deepcopy-gen=package +groupName=helm.cattle.io

+k8s:deepcopy-gen=package +groupName=helm.cattle.io

Index

Constants

This section is empty.

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var (
	ProjectHelmChartResourceName = "projecthelmcharts"
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: helm.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type GenericMap

type GenericMap map[string]interface{}

GenericMap is a wrapper on arbitrary JSON / YAML resources

func (*GenericMap) DeepCopy

func (in *GenericMap) DeepCopy() *GenericMap

func (GenericMap) DeepCopyInto

func (in GenericMap) DeepCopyInto(out *GenericMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GenericMap) ToYAML

func (in *GenericMap) ToYAML() ([]byte, error)

type ProjectHelmChart

type ProjectHelmChart struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ProjectHelmChartSpec   `json:"spec"`
	Status            ProjectHelmChartStatus `json:"status"`
}

ProjectHelmChart specifies a managed Helm chart that should be deployed for a "Project" (defined as any set of namespaces that can be targeted by a label selector) and be updated automatically on changing definitions of that project (e.g. namespaces added or removed). It is a parent object that creates HelmCharts and HelmReleases under the hood via wrangler.Apply and relatedresource.Watch

func NewProjectHelmChart

func NewProjectHelmChart(namespace, name string, obj ProjectHelmChart) *ProjectHelmChart

func (*ProjectHelmChart) DeepCopy

func (in *ProjectHelmChart) DeepCopy() *ProjectHelmChart

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectHelmChart.

func (*ProjectHelmChart) DeepCopyInto

func (in *ProjectHelmChart) DeepCopyInto(out *ProjectHelmChart)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProjectHelmChart) DeepCopyObject

func (in *ProjectHelmChart) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProjectHelmChartList

type ProjectHelmChartList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []ProjectHelmChart `json:"items"`
}

ProjectHelmChartList is a list of ProjectHelmChart resources

func (*ProjectHelmChartList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectHelmChartList.

func (*ProjectHelmChartList) DeepCopyInto

func (in *ProjectHelmChartList) DeepCopyInto(out *ProjectHelmChartList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProjectHelmChartList) DeepCopyObject

func (in *ProjectHelmChartList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProjectHelmChartSpec

type ProjectHelmChartSpec struct {
	// HelmAPIVersion identifies whether a particular rendition of the Helm Project Operator
	// should watch ProjectHelmChart of this type. e.g. monitoring.cattle.io/v1alpha1 is watched by Prometheus Federator
	HelmAPIVersion string `json:"helmApiVersion"`

	// ProjectNamespaceSelector is a namespaceSelector that identifies the project this underlying chart should be targeting
	// If a project label is provided as part of the Operator's runtime options, this field will be ignored since ProjectHelmCharts
	// will be created in dedicated project namespaces with a pre-defined project namespace selector
	ProjectNamespaceSelector *metav1.LabelSelector `json:"projectNamespaceSelector"`

	// Values is a generic map (e.g. generic yaml) representing the values.yaml used to configure the underlying Helm chart that
	// will be deployed for this
	Values GenericMap `json:"values"`
}

ProjectHelmChartSpec defines the spec of a ProjectHelmChart

func (*ProjectHelmChartSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectHelmChartSpec.

func (*ProjectHelmChartSpec) DeepCopyInto

func (in *ProjectHelmChartSpec) DeepCopyInto(out *ProjectHelmChartSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectHelmChartStatus

type ProjectHelmChartStatus struct {
	// DashboardValues are values provided to the ProjectHelmChart from ConfigMaps in the Project Release namespace
	// tagged with 'helm.cattle.io/dashboard-values-configmap': '{{ .Release.Name }}'
	DashboardValues GenericMap `json:"dashboardValues"`

	// Status is the current status of this ProjectHelmChart
	// Please see pkg/controllers/project/status.go for possible states
	Status string `json:"status"`

	// StatusMessage is a detailed message explaining the current status of the ProjectHelmChart
	// Please see pkg/controllers/project/status.go for possible state messages
	StatusMessage string `json:"statusMessage"`

	// SystemNamespace is the namespace where HelmCharts and HelmReleases will be deployed
	SystemNamespace string `json:"systemNamespace"`

	// ReleaseNamespace is the namespace where the underlying Helm chart will be deployed
	// Also known as the Project Release Namespace
	ReleaseNamespace string `json:"releaseNamespace"`

	// ReleaseName is the name of the Helm Release contained in the Project Release Namespace
	ReleaseName string `json:"releaseName"`

	// TargetNamespaces are the current set of namespaces targeted by the namespaceSelector
	// that this ProjectHelmChart was configured with. As noted above, this will correspond
	// to the Project Registration Namespace's selector if project label is provided
	TargetNamespaces []string `json:"targetNamespaces"`
}

func (*ProjectHelmChartStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectHelmChartStatus.

func (*ProjectHelmChartStatus) DeepCopyInto

func (in *ProjectHelmChartStatus) DeepCopyInto(out *ProjectHelmChartStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL