Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.kubebb.k8s.com.cn
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.kubebb.k8s.com.cn
Index ¶
- Constants
- Variables
- func ComponentVersionDiff(o, n Component) ([]string, []string, []string)
- func FilterMatchVersion(cond FilterCond, version string) bool
- func FilterMatchVersionConstraint(cond FilterCond, version string) bool
- func FilterMatchVersionRegexp(cond FilterCond, version string) bool
- func GenerateComponentPlanManifestConfigMapName(plan *ComponentPlan) string
- func GenerateComponentPlanName(sub *Subscription, version string) string
- func GetImageOverridePath() []string
- func IsCondSame(c1, c2 FilterCond) bool
- func IsFilterSame(cond1, cond2 map[string]FilterCond) bool
- func IsPullStrategySame(a, b *PullStategy) bool
- func Match(fc map[string]FilterCond, filter Filter, funcs ...FilterFunc) ([]int, bool)
- func UpdateCondWithFixedLen(l int, conds *ConditionedStatus, cond Condition)
- type Component
- type ComponentList
- type ComponentPlan
- func (in *ComponentPlan) DeepCopy() *ComponentPlan
- func (in *ComponentPlan) DeepCopyInto(out *ComponentPlan)
- func (in *ComponentPlan) DeepCopyObject() runtime.Object
- func (c *ComponentPlan) GetReleaseName() string
- func (c *ComponentPlan) InActionedReason(cr ConditionReason) bool
- func (c *ComponentPlan) InitCondition() []Condition
- type ComponentPlanList
- type ComponentPlanSpec
- type ComponentPlanStatus
- type ComponentSpec
- type ComponentStatus
- type ComponentVersion
- type Condition
- func ComponentPlanApproved() Condition
- func ComponentPlanInitSucceded() Condition
- func ComponentPlanInstallFailed(err error) Condition
- func ComponentPlanInstallSuccess() Condition
- func ComponentPlanInstalling() Condition
- func ComponentPlanSucceeded() Condition
- func ComponentPlanUnAppreoved() Condition
- func ComponentPlanUnInstallFailed(err error) Condition
- func ComponentPlanUnInstallSuccess() Condition
- func ComponentPlanUnInstalling() Condition
- func ComponentPlanUnSucceeded(err error) Condition
- func ComponentPlanUpgradeFailed(err error) Condition
- func ComponentPlanUpgradeSuccess() Condition
- func ComponentPlanUpgrading() Condition
- func ComponentPlanWaitDo(err error) Condition
- func SubscriptionAvailable() Condition
- func SubscriptionReconcileError(ct ConditionType, err error) Condition
- func SubscriptionReconcileSuccess(ct ConditionType) Condition
- func SubscriptionUnavailable() Condition
- type ConditionReason
- type ConditionType
- type ConditionedStatus
- func (in *ConditionedStatus) DeepCopy() *ConditionedStatus
- func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)
- func (s *ConditionedStatus) Equal(other *ConditionedStatus) bool
- func (s *ConditionedStatus) GetCondition(ct ConditionType) Condition
- func (s *ConditionedStatus) SetConditions(c ...Condition)
- type Config
- type Filter
- type FilterCond
- type FilterFunc
- type FilterOp
- type GetTitleForReplaceSider
- type ImageOverride
- type InstallMethod
- type Installed
- type Maintainer
- type Menu
- type MenuList
- type MenuReference
- type MenuSpec
- type MenuStatus
- type Override
- type PathOverride
- type PullStategy
- type Repository
- type RepositoryHealth
- type RepositoryList
- type RepositorySpec
- type RepositoryStatus
- type Resource
- type Router
- type Subscription
- type SubscriptionList
- type SubscriptionSpec
- type SubscriptionStatus
- type ValuesReference
- type VersionedFilterCond
Constants ¶
const ( // DisplayNameAnnotationKey is the key of the annotation used to set the display name of the resource DisplayNameAnnotationKey = Group + "/displayname" // Finalizer is the key of the finalizer Finalizer = Group + "/finalizer" )
const ( AddEventMsgTemplate = "add new component %s" DelEventMsgTemplate = "delete component %s" UpdateEventMsgTemplate = "update component %s. %d new, %d deleted, %d deprecated" )
const ( ComponentPlanReleaseNameLabel = Group + "/componentplan-release" ComponentPlanRetryTimesAnnotation = Group + "/componentplan-retry" )
const ( Group = "core.kubebb.k8s.com.cn" Version = "v1alpha1" )
const ( Username = "username" Password = "password" CAData = "cadata" CertData = "certdata" KeyData = "keydata" ComponentRepositoryLabel = "kubebb.component.repository" RepositoryTypeLabel = "kubebb.repository.type" )
const ( SubscriptionReasonAvailable = ReasonAvailable SubscriptionReasonReconcileSuccess = ReasonReconcileSuccess SubscriptionReasonReconcileError = ReasonReconcileError )
Condition resons for Subscription
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 ImageOverridePath = []string{"spec/containers/image", "spec/initContainers/image", "spec/template/spec/containers/image", "spec/template/spec/initContainers/image"}
ImageOverridePath is the manifest path to detect kustomize image overrides can be replaced by environment variables IMAGEOVERRIDE_PATH, for example IMAGEOVERRIDE_PATH=spec/template/spec/initContainers/image:spec/initContainers/image
Functions ¶
func ComponentVersionDiff ¶ added in v0.1.2
ComponentVersionDiff When the version of a component changes, we need to give information about the event change, and we need to be clear about the versions that were added, the versions that were removed, and the versions that were deprecated.
func FilterMatchVersion ¶
func FilterMatchVersion(cond FilterCond, version string) bool
func FilterMatchVersionConstraint ¶
func FilterMatchVersionConstraint(cond FilterCond, version string) bool
func FilterMatchVersionRegexp ¶
func FilterMatchVersionRegexp(cond FilterCond, version string) bool
func GenerateComponentPlanManifestConfigMapName ¶
func GenerateComponentPlanManifestConfigMapName(plan *ComponentPlan) string
GenerateComponentPlanManifestConfigMapName generates the name of the configmap of the component plan
func GenerateComponentPlanName ¶
func GenerateComponentPlanName(sub *Subscription, version string) string
GenerateComponentPlanName generates the name of the component plan for a given subscription
func GetImageOverridePath ¶
func GetImageOverridePath() []string
func IsCondSame ¶
func IsCondSame(c1, c2 FilterCond) bool
func IsFilterSame ¶
func IsFilterSame(cond1, cond2 map[string]FilterCond) bool
func IsPullStrategySame ¶
func IsPullStrategySame(a, b *PullStategy) bool
IsPullStrategySame Determine whether the contents of two structures are the same
func Match ¶
func Match(fc map[string]FilterCond, filter Filter, funcs ...FilterFunc) ([]int, bool)
Match determines if this component is retained, and if so, filters for conforming versions.
func UpdateCondWithFixedLen ¶
func UpdateCondWithFixedLen(l int, conds *ConditionedStatus, cond Condition)
UpdateCondWithFixedLen updates the Conditions of the resource and limits the length of the Conditions field to l. If l is less than or equal to 0, it means that the length is not limited.
Example:
conds.Conditions=[a, b, c], l=2, cond=d -> conds.Conditions=[c, d]
Types ¶
type Component ¶
type Component struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComponentSpec `json:"spec,omitempty"`
Status ComponentStatus `json:"status,omitempty"`
}
Component is the Schema for the components API In general, Component will be automatically generated by the controller without user creation to display the content of the component in the Repository, Spec should add the necessary configuration if possible (currently left blank), and Status should display as much information about this component as possible. Displaying information in Status ensures that it cannot be unintentionally modified by users. Used to management components - kubebb-system: public - user-namespace: private
func (*Component) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Component) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentList ¶
type ComponentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Component `json:"items"`
}
ComponentList contains a list of Component
func (*ComponentList) DeepCopy ¶
func (in *ComponentList) DeepCopy() *ComponentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentList.
func (*ComponentList) DeepCopyInto ¶
func (in *ComponentList) DeepCopyInto(out *ComponentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentList) DeepCopyObject ¶
func (in *ComponentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentPlan ¶
type ComponentPlan struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComponentPlanSpec `json:"spec,omitempty"`
Status ComponentPlanStatus `json:"status,omitempty"`
}
ComponentPlan is the Schema for the componentplans API
func (*ComponentPlan) DeepCopy ¶
func (in *ComponentPlan) DeepCopy() *ComponentPlan
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentPlan.
func (*ComponentPlan) DeepCopyInto ¶
func (in *ComponentPlan) DeepCopyInto(out *ComponentPlan)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentPlan) DeepCopyObject ¶
func (in *ComponentPlan) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ComponentPlan) GetReleaseName ¶ added in v0.1.1
func (c *ComponentPlan) GetReleaseName() string
func (*ComponentPlan) InActionedReason ¶ added in v0.1.2
func (c *ComponentPlan) InActionedReason(cr ConditionReason) bool
func (*ComponentPlan) InitCondition ¶ added in v0.1.2
func (c *ComponentPlan) InitCondition() []Condition
type ComponentPlanList ¶
type ComponentPlanList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ComponentPlan `json:"items"`
}
ComponentPlanList contains a list of ComponentPlan
func (*ComponentPlanList) DeepCopy ¶
func (in *ComponentPlanList) DeepCopy() *ComponentPlanList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentPlanList.
func (*ComponentPlanList) DeepCopyInto ¶
func (in *ComponentPlanList) DeepCopyInto(out *ComponentPlanList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentPlanList) DeepCopyObject ¶
func (in *ComponentPlanList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentPlanSpec ¶
type ComponentPlanSpec struct {
// ComponentRef is a reference to the Component
ComponentRef *corev1.ObjectReference `json:"component"`
// InstallVersion represents the version that is to be installed by this ComponentPlan
InstallVersion string `json:"version"`
// Approved indicates whether the ComponentPlan has been approved
Approved bool `json:"approved"`
// Config is the configuration of the Componentplan
Config `json:",inline"`
}
ComponentPlanSpec defines the desired state of ComponentPlan
func (*ComponentPlanSpec) DeepCopy ¶
func (in *ComponentPlanSpec) DeepCopy() *ComponentPlanSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentPlanSpec.
func (*ComponentPlanSpec) DeepCopyInto ¶
func (in *ComponentPlanSpec) DeepCopyInto(out *ComponentPlanSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentPlanStatus ¶
type ComponentPlanStatus struct {
// observedGeneration is the most recent metadata.generation
// when this ComponentPlan installed successfully or failed and reached the max retry times.
// When the ComponentPlan is Done (Succeeded or Failed), update spec will change metadata.generation
// We can compare metadata.generation and status.observedgeneration to determine whether to Reconcile again.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
// InstalledRevision represents the helm release Revision that is installed by this ComponentPlan
// +optional
InstalledRevision int `json:"installedRevision,omitempty"`
// Latest indicates whether the ComponentPlan corresponds to the latest helm release Revision
// +optional
// FIXME rethink this field
Latest *bool `json:"latest,omitempty"`
// Portal only use for kubebb, FIXME: parse it
// +optional
Portal Router `json:"portal,omitempty"`
ConditionedStatus `json:",inline"`
// +optional
Resources []Resource `json:"resources,omitempty"`
// +optional
Images []string `json:"images,omitempty"`
}
ComponentPlanStatus defines the observed state of ComponentPlan
func (*ComponentPlanStatus) DeepCopy ¶
func (in *ComponentPlanStatus) DeepCopy() *ComponentPlanStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentPlanStatus.
func (*ComponentPlanStatus) DeepCopyInto ¶
func (in *ComponentPlanStatus) DeepCopyInto(out *ComponentPlanStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentSpec ¶
type ComponentSpec struct {
}
ComponentSpec defines the desired state of Component
func (*ComponentSpec) DeepCopy ¶
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentStatus ¶
type ComponentStatus struct {
// RepositoryRef is a reference to the Repository
RepositoryRef *corev1.ObjectReference `json:"repository"`
// The name of the component may come from helm chart name
Name string `json:"name"`
// versions contains all version of one component.
Versions []ComponentVersion `json:"versions"`
// FIXME: some fields(like description) may change when version update, how to deal with it?
// A one-sentence description of the chart
Description string `json:"description,omitempty"`
// Maintainers is a list of maintainers
Maintainers []Maintainer `json:"maintainers,omitempty"`
// The URL to a relevant project page, git repo, or contact person
Home string `json:"home,omitempty"`
// Source is the URL to the source code of this Component
Sources []string `json:"sources,omitempty"`
// A list of string keywords
Keywords []string `json:"keywords,omitempty"`
// The URL to an icon file.
Icon string `json:"icon,omitempty"`
// The current component is not in the return list of URLs
// and will not be deleted but marked as deprecated by this field.
Deprecated bool `json:"deprecated,omitempty"`
}
ComponentStatus defines the observed state of Component
func (*ComponentStatus) DeepCopy ¶
func (in *ComponentStatus) DeepCopy() *ComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatus.
func (*ComponentStatus) DeepCopyInto ¶
func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentVersion ¶
type ComponentVersion struct {
Version string `json:"version"`
AppVersion string `json:"appVersion"`
UpdatedAt metav1.Time `json:"updatedAt"`
CreatedAt metav1.Time `json:"createdAt"`
Digest string `json:"digest"`
Deprecated bool `json:"deprecated"`
}
ComponentVersion Indicates the fields required for a specific version of Component.
func (*ComponentVersion) DeepCopy ¶
func (in *ComponentVersion) DeepCopy() *ComponentVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentVersion.
func (*ComponentVersion) DeepCopyInto ¶
func (in *ComponentVersion) DeepCopyInto(out *ComponentVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ComponentVersion) Equal ¶
func (c ComponentVersion) Equal(v *ComponentVersion) bool
Equal compares two ComponetVersions, ignoring UpdatedAt and CreatedAt fields
type Condition ¶
type Condition struct {
// Type of this condition. At most one of each condition type may apply to
// a resource at any point in time.
Type ConditionType `json:"type"`
// Status of this condition; is it currently True, False, or Unknown
Status corev1.ConditionStatus `json:"status"`
// LastTransitionTime is the last time this condition transitioned from one
// status to another.
LastTransitionTime metav1.Time `json:"lastTransitionTime"`
// A Reason for this condition's last transition from one status to another.
Reason ConditionReason `json:"reason"`
// A Message containing details about this condition's last transition from
// one status to another, if any.
// +optional
Message string `json:"message,omitempty"`
}
A Condition that may apply to a resource.
func ComponentPlanApproved ¶ added in v0.1.2
func ComponentPlanApproved() Condition
func ComponentPlanInitSucceded ¶ added in v0.1.2
func ComponentPlanInitSucceded() Condition
func ComponentPlanInstallSuccess ¶
func ComponentPlanInstallSuccess() Condition
func ComponentPlanInstalling ¶
func ComponentPlanInstalling() Condition
func ComponentPlanSucceeded ¶
func ComponentPlanSucceeded() Condition
func ComponentPlanUnAppreoved ¶
func ComponentPlanUnAppreoved() Condition
func ComponentPlanUnInstallFailed ¶ added in v0.1.2
func ComponentPlanUnInstallSuccess ¶ added in v0.1.2
func ComponentPlanUnInstallSuccess() Condition
func ComponentPlanUnInstalling ¶ added in v0.1.2
func ComponentPlanUnInstalling() Condition
func ComponentPlanUpgradeFailed ¶ added in v0.1.2
func ComponentPlanUpgradeSuccess ¶ added in v0.1.2
func ComponentPlanUpgradeSuccess() Condition
func ComponentPlanUpgrading ¶ added in v0.1.2
func ComponentPlanUpgrading() Condition
func ComponentPlanWaitDo ¶ added in v0.1.2
func SubscriptionAvailable ¶
func SubscriptionAvailable() Condition
SubscriptionAvailable returns a condition that indicates the subscription is currently observed to be available for use.
func SubscriptionReconcileError ¶
func SubscriptionReconcileError(ct ConditionType, err error) Condition
SubscriptionReconcileError returns a condition indicating that controller encountered an error while reconciling the subscription. This could mean controller was unable to update the resource to reflect its desired state, or that controller was unable to determine the current actual state of the subscription.
func SubscriptionReconcileSuccess ¶
func SubscriptionReconcileSuccess(ct ConditionType) Condition
SubscriptionReconcileSuccess returns a condition indicating that controller successfully completed the most recent reconciliation of the subscription.
func SubscriptionUnavailable ¶
func SubscriptionUnavailable() Condition
SubscriptionUnavailable returns a condition that indicates the subscription is currently observed to be unavailable for use.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Condition) Equal ¶
Equal returns true if the condition is identical to the supplied condition, ignoring the LastTransitionTime.
func (Condition) WithMessage ¶
WithMessage returns a condition by adding the provided message to existing condition.
type ConditionReason ¶
type ConditionReason string
A ConditionReason represents the reason a resource is in a condition. Should be only one word
const ( ComponentPlanReasonWaitDo ConditionReason = "WaitDo" ComponentPlanReasonInstalling ConditionReason = "Installing" ComponentPlanReasonUpgrading ConditionReason = "Upgrading" ComponentPlanReasonUnInstalling ConditionReason = "UnInstalling" ComponentPlanReasonInstallSuccess ConditionReason = "InstallSuccess" ComponentPlanReasonInstallFailed ConditionReason = "InstallFailed" ComponentPlanReasonUnInstallSuccess ConditionReason = "UnInstallSuccess" ComponentPlanReasonUnInstallFailed ConditionReason = "UnInstallFailed" ComponentPlanReasonUpgradeSuccess ConditionReason = "UpgradeSuccess" ComponentPlanReasonUpgradeFailed ConditionReason = "UpgradeFailed" )
Condition resons for ComponentPlan
const ( ReasonAvailable ConditionReason = "Available" ReasonCreating ConditionReason = "Creating" ReasonDeleting ConditionReason = "Deleting" ReasonReconcileSuccess ConditionReason = "ReconcileSuccess" ReasonReconcileError ConditionReason = "ReconcileError" ReasonReconcilePaused ConditionReason = "ReconcilePaused" )
Some common Condition resons.
type ConditionType ¶
type ConditionType string
A ConditionType represents a condition a resource could be in.
const ( ComponentPlanTypeSucceeded ConditionType = "Succeeded" ComponentPlanTypeApproved ConditionType = "Approved" ComponentPlanTypeActioned ConditionType = "Actioned" )
ConditionType for ComponentPlan
const ( // TypeReady resources are believed to be ready to handle work. TypeReady ConditionType = "Ready" // TypeSynced resources are believed to be in sync with the // Kubernetes resources that manage their lifecycle. TypeSynced ConditionType = "Synced" TypeFailedSync ConditionType = "FailedSync" )
Some common Condition types.
const ( // SubscriptionTypeReady indicates that the subscription is ready to use SubscriptionTypeReady = TypeReady // SubscriptionTypeSourceSynced indicates that the component and the repository are synced SubscriptionTypeSourceSynced ConditionType = "SourceSynced" // SubscriptionTypePlanSynce indicates that the componentplan is synced SubscriptionTypePlanSynce ConditionType = "PlanSynced" )
ConditionType for Subscription
type ConditionedStatus ¶
type ConditionedStatus struct {
// Conditions of the resource.
// +optional
Conditions []Condition `json:"conditions,omitempty"`
}
A ConditionedStatus reflects the observed status of a resource. Only one condition of each type may exist.
func NewConditionedStatus ¶
func NewConditionedStatus(c ...Condition) *ConditionedStatus
NewConditionedStatus returns a stat with the supplied conditions set.
func (*ConditionedStatus) DeepCopy ¶
func (in *ConditionedStatus) DeepCopy() *ConditionedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionedStatus.
func (*ConditionedStatus) DeepCopyInto ¶
func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConditionedStatus) Equal ¶
func (s *ConditionedStatus) Equal(other *ConditionedStatus) bool
Equal returns true if the status is identical to the supplied status, ignoring the LastTransitionTimes and order of statuses.
func (*ConditionedStatus) GetCondition ¶
func (s *ConditionedStatus) GetCondition(ct ConditionType) Condition
GetCondition returns the condition for the given ConditionType if exists, otherwise returns nil
func (*ConditionedStatus) SetConditions ¶
func (s *ConditionedStatus) SetConditions(c ...Condition)
SetConditions sets the supplied conditions, replacing any existing conditions of the same type. This is a no-op if all supplied conditions are identical, ignoring the last transition time, to those already set.
type Config ¶
type Config struct {
Override Override `json:"override,omitempty"`
// Name is pass to helm install <chart> <name>, name arg
Name string `json:"name,omitempty"`
// Force is pass to helm upgrade --force
// force resource updates through a replacement strategy
Force bool `json:"force,omitempty"`
// TimeoutSeconds is pass to helm install/upgrade --timeout, default is 300s
// time to wait for any individual Kubernetes operation (like Jobs for hooks)
TimeOutSeconds int `json:"timeoutSeconds,omitempty"`
// Wait is pass to helm install/upgrade --wait
// if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful. It will wait for as long as --timeout
Wait bool `json:"wait,omitempty"`
// WaitForJobs is pass to helm install/upgrade --wait-for-jobs
// if set and --wait enabled, will wait until all Jobs have been completed before marking the release as successful. It will wait for as long as --timeout
WaitForJobs bool `json:"waitForJobs,omitempty"`
// Description is pass to helm install/upgrade --description
// add a custom description
Description string `json:"description,omitempty"`
// DependencyUpdate is pass to helm install/upgrade --dependency-update
// update dependencies if they are missing before installing the chart
DependencyUpdate bool `json:"dependencyUpdate,omitempty"`
// DisableHooks is pass to helm install/upgrade --no-hooks
// if set, prevent hooks from running during install and disable pre/post upgrade hooks
DisableHooks bool `json:"disableHooks,omitempty"`
// DisableOpenAPIValidation is pass to helm install/upgrade --disable-openapi-validation
// if set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
DisableOpenAPIValidation bool `json:"disableOpenAPIValidation,omitempty"`
// Atomic is pass to helm install/upgrade --atomic
// if set, the installation process deletes the installation on failure. The --wait flag will be set automatically if --atomic is used
Atomic bool `json:"atomic,omitempty"`
// SkipCRDs is pass to helm install/upgrade --skip-crds
// if set, no CRDs will be installed. By default, CRDs are installed if not already present
SkipCRDs bool `json:"skipCRDs,omitempty"`
// EnableDNS is pass to helm install/upgrade --enable-dns
// enable DNS lookups when rendering templates
EnableDNS bool `json:"enableDNS,omitempty"`
// MaxHistory is pass to helm upgrade --history-max
// limit the maximum number of revisions saved per release. Use 0 for no limit
MaxHistory *int `json:"historyMax,omitempty"`
// MaxRetry
MaxRetry *int `json:"maxRetry,omitempty"`
}
Config defines the configuration of the ComponentPlan Greatly inspired by https://github.com/helm/helm/blob/2398830f183b6d569224ae693ae9215fed5d1372/cmd/helm/install.go#L161 And https://github.com/helm/helm/blob/2398830f183b6d569224ae693ae9215fed5d1372/cmd/helm/upgrade.go#L70 Note: we will helm INSTALL release if not exists or helm UPGRADE if exists.** Note: no --devel config, because it equivalent to version '>0.0.0-0'. Note: no --nameTemplate config, because we need a determined name, nameTemplate may produce different results when it is run multiple times. Note: no --generateName config with the same reason above. Note: no --reset-values or --reuse-values config, because we use Override config TODO: add --verify config after we handle keyring config
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) GetMaxHistory ¶ added in v0.1.1
func (*Config) GetMaxRetry ¶ added in v0.1.1
type Filter ¶
type Filter struct {
Name string
Versions []*hrepo.ChartVersion
}
+kubebuilder:object:generate=false
type FilterCond ¶
type FilterCond struct {
// Name of the component
Name string `json:"name,omitempty"`
// default is keep
// +kubebuilder:validation:Enum=keep;ignore
// +kubebuilder:default:=keep
Operation FilterOp `json:"operation,omitempty"`
// If True, the current version will be retained even if it is deprecated.
KeepDeprecated bool `json:"keepDeprecated,omitempty"`
// VersionedFilterCond filters which version in component are pulled/ignored from the repository
VersionedFilterCond *VersionedFilterCond `json:"versionedFilterCond,omitempty"`
}
func (*FilterCond) DeepCopy ¶
func (in *FilterCond) DeepCopy() *FilterCond
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterCond.
func (*FilterCond) DeepCopyInto ¶
func (in *FilterCond) DeepCopyInto(out *FilterCond)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GetTitleForReplaceSider ¶ added in v0.1.1
type GetTitleForReplaceSider struct {
// 方法
Method string `json:"method,omitempty"`
// 参数
Params string `json:"params,omitempty"`
// 获取数据的路径
ResponseDataPath []string `json:"responseDataPath,omitempty"`
}
func (*GetTitleForReplaceSider) DeepCopy ¶ added in v0.1.1
func (in *GetTitleForReplaceSider) DeepCopy() *GetTitleForReplaceSider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GetTitleForReplaceSider.
func (*GetTitleForReplaceSider) DeepCopyInto ¶ added in v0.1.1
func (in *GetTitleForReplaceSider) DeepCopyInto(out *GetTitleForReplaceSider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageOverride ¶
type ImageOverride struct {
// Registry include host and port number, like `registry-1.docker.io` or `registry-1.docker.io:5000`
Registry string `json:"registry,omitempty"`
// NewRegistry means replaced one
NewRegistry string `json:"newRegistry,omitempty"`
// PathOverride means replaced path
PathOverride *PathOverride `json:"pathOverride,omitempty"`
}
func (*ImageOverride) DeepCopy ¶
func (in *ImageOverride) DeepCopy() *ImageOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageOverride.
func (*ImageOverride) DeepCopyInto ¶
func (in *ImageOverride) DeepCopyInto(out *ImageOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallMethod ¶
type InstallMethod string
const ( // InstallMethodAuto means install directly without confirmation after detecting a new version. InstallMethodAuto InstallMethod = "auto" // InstallMethodManual means installation process requires user's permission to proceed. InstallMethodManual InstallMethod = "manual" )
func (*InstallMethod) IsAuto ¶
func (i *InstallMethod) IsAuto() bool
IsAuto returns true if InstallMethod is Auto, case-insensitivity.
type Installed ¶
type Installed struct {
// InstalledVersion is the version currently installed in cluster
// +optional
InstalledVersion ComponentVersion `json:"installedVersion"`
// InstalledTime is the time that the version was installed in cluster
// +optional
InstalledTime metav1.Time `json:"installedTime"`
// ComponentPlanRef is a reference to the latest ComponentPlan
// +optional
ComponentPlanRef *corev1.ObjectReference `json:"componentPlan"`
}
func (*Installed) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Installed.
func (*Installed) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Maintainer ¶
type Maintainer struct {
// Name is a user name or organization name
Name string `json:"name,omitempty"`
// Email is an optional email address to contact the named maintainer
Email string `json:"email,omitempty"`
// URL is an optional URL to an address for the named maintainer
URL string `json:"url,omitempty"`
}
Maintainer describes a Chart maintainer. inspire by https://github.com/helm/helm/blob/2398830f183b6d569224ae693ae9215fed5d1372/pkg/chart/metadata.go#L26
func (*Maintainer) DeepCopy ¶
func (in *Maintainer) DeepCopy() *Maintainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintainer.
func (*Maintainer) DeepCopyInto ¶
func (in *Maintainer) DeepCopyInto(out *Maintainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Menu ¶ added in v0.1.1
type Menu struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MenuSpec `json:"spec,omitempty"`
Status MenuStatus `json:"status,omitempty"`
}
Menu is the Schema for the menus API
func (*Menu) DeepCopy ¶ added in v0.1.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Menu.
func (*Menu) DeepCopyInto ¶ added in v0.1.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Menu) DeepCopyObject ¶ added in v0.1.1
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MenuList ¶ added in v0.1.1
type MenuList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Menu `json:"items"`
}
MenuList contains a list of Menu
func (*MenuList) DeepCopy ¶ added in v0.1.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuList.
func (*MenuList) DeepCopyInto ¶ added in v0.1.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MenuList) DeepCopyObject ¶ added in v0.1.1
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MenuReference ¶ added in v0.1.1
type MenuReference struct {
// Name of the referent.
// More info: http://kubernetes.io/docs/user-guide/identifiers#names
Name string `json:"name" protobuf:"bytes,3,opt,name=name"`
}
func (*MenuReference) DeepCopy ¶ added in v0.1.1
func (in *MenuReference) DeepCopy() *MenuReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuReference.
func (*MenuReference) DeepCopyInto ¶ added in v0.1.1
func (in *MenuReference) DeepCopyInto(out *MenuReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MenuSpec ¶ added in v0.1.1
type MenuSpec struct {
// 菜单组中文名称
Id string `json:"id,omitempty"`
// 菜单中文名称
// +kubebuilder:validation:MaxLength:=64
Text string `json:"text,omitempty"`
// 菜单英文名称
// +kubebuilder:validation:MaxLength:=64
TextEn string `json:"textEn"`
/** 菜单组所在列序号 */
// +optional
Column uint32 `json:"column,omitempty"`
// 菜单在当前组中的排序,数字越小越靠前
// +optional
RankingInColumn uint32 `json:"rankingInColumn,omitempty"`
// 菜单图标
// +optional
Icon string `json:"icon,omitempty"`
// 给替换菜单的返回按钮使用,当新的 pathname 是替换菜单,且替换菜单的返回按钮需要返回到当前 pathname 时,配置此属性;
// 其值得为新的 pathname,同时需要注意⚠️,如果新的地址有多个,则应该取多个地址的公共部分,例如,/oidc/management/projects/:id/role
// 和 /oidc/management/projects/:id/member 都需要支持,则应配置为/oidc/management/projects/:id
// +optional
ReplaceSiderBackNextPathnamePattern string `json:"replaceSiderBackNextPathnamePattern,omitempty"`
// 菜单路由
// +optional
Pathname string `json:"pathname,omitempty"`
//跳转菜单路由,优先级高于 pathname,指定后点击菜单会跳转到 redirect 相应路由
// +optional
Redirect string `json:"redirect,omitempty"`
// 同 a 标签的 target 属性
// +optional
Target string `json:"target,omitempty"`
// 菜单可见需要的角色
// +optional
RequiredRoles []string `json:"requiredRoles,omitempty"`
//菜单可对应的 module 二进制位 (有一个满足即可见)
// +optional
RequiredModuleBits []int32 `json:"requiredModuleBits,omitempty"`
//菜单对应路由是否可以切换租户
// +optional
Tenant bool `json:"tenant,omitempty"`
// 菜单对应路由是否可以切换项目
// +optional
Project bool `json:"project,omitempty"`
//菜单对应路由是否可以切换集群
// +optional
Cluster bool `json:"cluster,omitempty"`
// 是否渲染选择项目、集群
// +optional
IsRenderSelectCurrent bool `json:"isRenderSelectCurrent,omitempty"`
// 是否在进入子页面后将 sider 替换
// +optional
UseChildrenReplaceSider bool `json:"useChildrenReplaceSider,omitempty"`
// 获取 title 的函数
// +optional
GetTitleForReplaceSider GetTitleForReplaceSider `json:"getTitleForReplaceSider,omitempty"`
// 父菜单 ID
// +optional
Parent string `json:"parent,omitempty"`
// menu 显示控制
// +optional
Disabled bool `json:"disabled,omitempty"`
}
MenuSpec defines the desired state of Menu
func (*MenuSpec) DeepCopy ¶ added in v0.1.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuSpec.
func (*MenuSpec) DeepCopyInto ¶ added in v0.1.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MenuStatus ¶ added in v0.1.1
type MenuStatus struct {
}
MenuStatus defines the observed state of Menu
func (*MenuStatus) DeepCopy ¶ added in v0.1.1
func (in *MenuStatus) DeepCopy() *MenuStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuStatus.
func (*MenuStatus) DeepCopyInto ¶ added in v0.1.1
func (in *MenuStatus) DeepCopyInto(out *MenuStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Override ¶
type Override struct {
// Values is passed to helm install --values or -f
// specify values in a YAML file or a URL (can specify multiple)
// ValuesFrom holds references to resources containing Helm values for this HelmRelease,
// and information about how they should be merged.
ValuesFrom []*ValuesReference `json:"valuesFrom,omitempty"`
// Values holds the values for this Helm release.
// +optional
Values *apiextensionsv1.JSON `json:"values,omitempty"`
// Set is passed to helm install --set
// can specify multiple or separate values with commas: key1=val1,key2=val2
// Helm also provides other set options, such as --set-json or --set-literal,
// which can be replaced by values or valuesFrom fields.
Set []string `json:"set,omitempty"`
// SetString is passed to helm install --set-string
// set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
// https://github.com/helm/helm/pull/3599
// Helm also provides other set options, such as --set-json or --set-literal,
// which can be replaced by values or valuesFrom fields.
SetString []string `json:"set-string,omitempty"`
// Images for replace old image
// see https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/images
// +optional
Images []kustomize.Image `json:"images,omitempty"`
}
Override defines the override settings for the component
func (*Override) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Override.
func (*Override) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Override) GetValueFileDir ¶ added in v0.1.1
GetValueFileDir returns the dir path to Override.Value file, for example: $HOME/.cache/helm/embed.default.testone
type PathOverride ¶
type PathOverride struct {
// The path consists of slash-separated components.
// Each component may contain lowercase letters, digits and separators.
// A separator is defined as a period, one or two underscores, or one or more hyphens.
// A component may not start or end with a separator.
// While the OCI Distribution Specification supports more than two slash-separated components, most registries only support two slash-separated components.
// For Docker’s public registry, the path format is as follows: [NAMESPACE/]REPOSITORY:
// The first, optional component is typically a user’s or an organization’s namespace.
// The second, mandatory component is the repository name. When the namespace is not present, Docker uses library as the default namespace.
Path string `json:"path,omitempty"`
NewPath string `json:"newPath,omitempty"`
}
func (*PathOverride) DeepCopy ¶
func (in *PathOverride) DeepCopy() *PathOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathOverride.
func (*PathOverride) DeepCopyInto ¶
func (in *PathOverride) DeepCopyInto(out *PathOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullStategy ¶
type PullStategy struct {
// Interval for pulling
IntervalSeconds int `json:"intervalSeconds,omitempty"`
// Timeout for pulling
TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
// Retry upon timeout
Retry int `json:"retry,omitempty"`
}
PullStategy for pulling components in repository
func (*PullStategy) DeepCopy ¶
func (in *PullStategy) DeepCopy() *PullStategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullStategy.
func (*PullStategy) DeepCopyInto ¶
func (in *PullStategy) DeepCopyInto(out *PullStategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Repository ¶
type Repository struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RepositorySpec `json:"spec,omitempty"`
Status RepositoryStatus `json:"status,omitempty"`
}
Repository is the Schema for the repositories API
func (*Repository) DeepCopy ¶
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Repository) DeepCopyObject ¶
func (in *Repository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Repository) NamespacedName ¶ added in v0.1.1
func (repo *Repository) NamespacedName() string
NamespacedName return the namespaced name of the repository in string format
type RepositoryHealth ¶
type RepositoryHealth struct {
// RepositoryRef is a reference to a Repository.
RepositoryRef *corev1.ObjectReference `json:"repository"`
// LastUpdated represents the last time that the RepositoryHealth changed
LastUpdated *metav1.Time `json:"lastUpdated"`
// Healthy is true if the Repository is healthy; false otherwise.
Healthy *bool `json:"healthy"`
}
RepositoryHealth describes the health of a Repository the Subscription knows about.
func (*RepositoryHealth) DeepCopy ¶
func (in *RepositoryHealth) DeepCopy() *RepositoryHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryHealth.
func (*RepositoryHealth) DeepCopyInto ¶
func (in *RepositoryHealth) DeepCopyInto(out *RepositoryHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepositoryList ¶
type RepositoryList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Repository `json:"items"`
}
RepositoryList contains a list of Repository
func (*RepositoryList) DeepCopy ¶
func (in *RepositoryList) DeepCopy() *RepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryList.
func (*RepositoryList) DeepCopyInto ¶
func (in *RepositoryList) DeepCopyInto(out *RepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RepositoryList) DeepCopyObject ¶
func (in *RepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepositorySpec ¶
type RepositorySpec struct {
// URL chart repository address
// +kubebuilder:validation:Required
URL string `json:"url"`
// AuthSecret if the chart repository requires auth authentication,
// set the username and password to secret, with the fields user and password respectively.
AuthSecret string `json:"authSecret,omitempty"`
Insecure bool `json:"insecure,omitempty"`
// +kubebuilder:default:=unknown
RepositoryType string `json:"repositoryType,omitempty"`
// PullStategy for this repository
PullStategy *PullStategy `json:"pullStategy,omitempty"`
Filter []FilterCond `json:"filter,omitempty"`
// ImageOverride means replaced images rules for this repository
ImageOverride []ImageOverride `json:"imageOverride,omitempty"`
}
RepositorySpec defines the desired state of Repository
func (*RepositorySpec) DeepCopy ¶
func (in *RepositorySpec) DeepCopy() *RepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySpec.
func (*RepositorySpec) DeepCopyInto ¶
func (in *RepositorySpec) DeepCopyInto(out *RepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepositoryStatus ¶
type RepositoryStatus struct {
// URLHistory URL change history
URLHistory []string `json:"urlHistory,omitempty"`
// ConditionedStatus is the current status
ConditionedStatus `json:",inline"`
}
RepositoryStatus defines the observed state of Repository
func (*RepositoryStatus) DeepCopy ¶
func (in *RepositoryStatus) DeepCopy() *RepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryStatus.
func (*RepositoryStatus) DeepCopyInto ¶
func (in *RepositoryStatus) DeepCopyInto(out *RepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct {
SpecDiffwithExist *string `json:"specDiffwithExist,omitempty"`
NewCreated *bool `json:"NewCreated,omitempty"`
Kind string `json:"kind"`
Name string `json:"name"`
APIVersion string `json:"apiVersion"`
}
Resource represents one single resource in the ComponentPlan because the resource, if namespaced, is the same namepsace as the ComponentPlan, it is either a cluster and does not have namespace, so the namespace field is not needed.
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Router ¶ added in v0.1.1
type Router struct {
// the path for request acccessing
Path string `json:"path,omitempty"`
// the path of the static file
Entry string `json:"entry,omitempty"`
}
func (*Router) DeepCopy ¶ added in v0.1.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Router.
func (*Router) DeepCopyInto ¶ added in v0.1.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subscription ¶
type Subscription struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SubscriptionSpec `json:"spec,omitempty"`
Status SubscriptionStatus `json:"status,omitempty"`
}
Subscription is the Schema for the subscriptions API
func (*Subscription) DeepCopy ¶
func (in *Subscription) DeepCopy() *Subscription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subscription.
func (*Subscription) DeepCopyInto ¶
func (in *Subscription) DeepCopyInto(out *Subscription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Subscription) DeepCopyObject ¶
func (in *Subscription) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubscriptionList ¶
type SubscriptionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Subscription `json:"items"`
}
SubscriptionList contains a list of Subscription
func (*SubscriptionList) DeepCopy ¶
func (in *SubscriptionList) DeepCopy() *SubscriptionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionList.
func (*SubscriptionList) DeepCopyInto ¶
func (in *SubscriptionList) DeepCopyInto(out *SubscriptionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubscriptionList) DeepCopyObject ¶
func (in *SubscriptionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubscriptionSpec ¶
type SubscriptionSpec struct {
// ComponentRef is a reference to the Component
ComponentRef *corev1.ObjectReference `json:"component"`
// RepositoryRef is a reference to the Repository
RepositoryRef *corev1.ObjectReference `json:"repository,omitempty"`
// ComponentPlanInstallMethod is the method used to install the component
ComponentPlanInstallMethod InstallMethod `json:"componentPlanInstallMethod,omitempty"`
// Config is the configuration of the subscription's componentplan
Config `json:",inline"`
}
SubscriptionSpec defines the desired state of Subscription
func (*SubscriptionSpec) DeepCopy ¶
func (in *SubscriptionSpec) DeepCopy() *SubscriptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionSpec.
func (*SubscriptionSpec) DeepCopyInto ¶
func (in *SubscriptionSpec) DeepCopyInto(out *SubscriptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubscriptionStatus ¶
type SubscriptionStatus struct {
ConditionedStatus `json:",inline"`
// Installed records all componentplans installed, ordered by installation time.
// +optional
Installed []Installed `json:"installed,omitempty"`
// RepositoryHealth contains the Subscription's view of its relevant Repository' status.
// It is used to determine SubscriptionStatusConditions related to Repository
// +optional
RepositoryHealth RepositoryHealth `json:"repositoryHealth,omitempty"`
}
SubscriptionStatus defines the state of Subscription
func (*SubscriptionStatus) DeepCopy ¶
func (in *SubscriptionStatus) DeepCopy() *SubscriptionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionStatus.
func (*SubscriptionStatus) DeepCopyInto ¶
func (in *SubscriptionStatus) DeepCopyInto(out *SubscriptionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValuesReference ¶
type ValuesReference struct {
// Kind of the values referent, valid values are ('Secret', 'ConfigMap').
// +kubebuilder:validation:Enum=Secret;ConfigMap
// +required
Kind string `json:"kind"`
// Name of the values' referent. Should reside in the same namespace as the
// referring resource.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
// +required
Name string `json:"name"`
// ValuesKey is the data key where the values.yaml or a specific value can be
// found at. Defaults to 'values.yaml'.
// When set, must be a valid Data Key, consisting of alphanumeric characters,
// '-', '_' or '.'.
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:Pattern=`^[\-._a-zA-Z0-9]+$`
// +optional
ValuesKey string `json:"valuesKey,omitempty"`
// TargetPath is the YAML dot notation path the value should be merged at. When
// set, the ValuesKey is expected to be a single flat value. Defaults to 'None',
// which results in the values getting merged at the root.
// +kubebuilder:validation:MaxLength=250
// +kubebuilder:validation:Pattern=`^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$`
// +optional
TargetPath string `json:"targetPath,omitempty"`
}
ValuesReference contains a reference to a resource containing Helm values, and optionally the key they can be found at.
func (*ValuesReference) DeepCopy ¶
func (in *ValuesReference) DeepCopy() *ValuesReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValuesReference.
func (*ValuesReference) DeepCopyInto ¶
func (in *ValuesReference) DeepCopyInto(out *ValuesReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ValuesReference) GetValuesFileDir ¶ added in v0.1.1
func (v *ValuesReference) GetValuesFileDir(helmCacheHome, namespace string) string
GetValuesFileDir returns the dir path to this ValuesReference file, for example: $HOME/.cache/helm/secret.default.testone
func (*ValuesReference) GetValuesKey ¶
func (v *ValuesReference) GetValuesKey() string
type VersionedFilterCond ¶
type VersionedFilterCond struct {
// Accurately match each item in the versions
Versions []string `json:"versions,omitempty"`
// Filter version by regexp
VersionRegexp string `json:"regexp,omitempty"`
// VersionConstraint Support for user-defined version ranges, etc.
// Refer to the documentation for more details
// https://github.com/Masterminds/semver#semver
VersionConstraint string `json:"versionConstraint,omitempty"`
}
func (*VersionedFilterCond) DeepCopy ¶
func (in *VersionedFilterCond) DeepCopy() *VersionedFilterCond
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionedFilterCond.
func (*VersionedFilterCond) DeepCopyInto ¶
func (in *VersionedFilterCond) DeepCopyInto(out *VersionedFilterCond)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.