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 ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var (
ProjectHelmChartResourceName = "projecthelmcharts"
)
var SchemeGroupVersion = schema.GroupVersion{Group: helm.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
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 ¶
func (in *ProjectHelmChartList) DeepCopy() *ProjectHelmChartList
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 ¶
func (in *ProjectHelmChartSpec) DeepCopy() *ProjectHelmChartSpec
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 ¶
func (in *ProjectHelmChartStatus) DeepCopy() *ProjectHelmChartStatus
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.