[cozystack-operator] Add PackageSet types
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
This commit is contained in:
parent
0377bd3d29
commit
e963e480a7
23 changed files with 1495 additions and 0 deletions
89
api/v1alpha1/packageset_types.go
Normal file
89
api/v1alpha1/packageset_types.go
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
Copyright 2025.
|
||||
|
||||
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.
|
||||
*/
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
// +kubebuilder:resource:scope=Cluster,shortName=ps
|
||||
// +kubebuilder:subresource:status
|
||||
// +kubebuilder:printcolumn:name="Variant",type="string",JSONPath=".status.variant",description="Selected variant"
|
||||
// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status",description="Ready status"
|
||||
// +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message",description="Ready message"
|
||||
|
||||
// PackageSet is the Schema for the packagesets API
|
||||
type PackageSet struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec PackageSetSpec `json:"spec,omitempty"`
|
||||
Status PackageSetStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
|
||||
// PackageSetList contains a list of PackageSets
|
||||
type PackageSetList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []PackageSet `json:"items"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
SchemeBuilder.Register(&PackageSet{}, &PackageSetList{})
|
||||
}
|
||||
|
||||
// PackageSetSpec defines the desired state of PackageSet
|
||||
type PackageSetSpec struct {
|
||||
// IgnoreDependencies is a list of package set dependencies to ignore
|
||||
// Dependencies listed here will not be installed even if they are specified in the PackageSetDefinition
|
||||
// +optional
|
||||
IgnoreDependencies []string `json:"ignoreDependencies,omitempty"`
|
||||
|
||||
// Packages is a map of package name to package overrides
|
||||
// Allows overriding values and enabling/disabling specific packages from the PackageSetDefinition
|
||||
// +optional
|
||||
Packages map[string]PackageSetPackageOverride `json:"packages,omitempty"`
|
||||
}
|
||||
|
||||
// PackageSetPackageOverride defines overrides for a specific package
|
||||
type PackageSetPackageOverride struct {
|
||||
// Enabled indicates whether this package should be installed
|
||||
// If false, the package will be disabled even if it's defined in the PackageSetDefinition
|
||||
// +optional
|
||||
Enabled *bool `json:"enabled,omitempty"`
|
||||
|
||||
// Values contains Helm chart values as a JSON object
|
||||
// These values will be merged with the default values from the PackageSetDefinition
|
||||
// +optional
|
||||
Values *apiextensionsv1.JSON `json:"values,omitempty"`
|
||||
}
|
||||
|
||||
// PackageSetStatus defines the observed state of PackageSet
|
||||
type PackageSetStatus struct {
|
||||
// Variant is the selected variant name, or "default" if not specified
|
||||
// This field is populated by the controller based on spec.packageSetDefinitionRef.variant
|
||||
// +optional
|
||||
Variant string `json:"variant,omitempty"`
|
||||
|
||||
// Conditions represents the latest available observations of a PackageSet's state
|
||||
// +optional
|
||||
Conditions []metav1.Condition `json:"conditions,omitempty"`
|
||||
}
|
||||
202
api/v1alpha1/packagesetdefinition_types.go
Normal file
202
api/v1alpha1/packagesetdefinition_types.go
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
/*
|
||||
Copyright 2025.
|
||||
|
||||
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.
|
||||
*/
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
// +kubebuilder:resource:scope=Cluster,shortName=psd
|
||||
// +kubebuilder:subresource:status
|
||||
// +kubebuilder:printcolumn:name="Variants",type="string",JSONPath=".status.variants",description="Package variants (comma-separated)"
|
||||
// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status",description="Ready status"
|
||||
// +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message",description="Ready message"
|
||||
|
||||
// PackageSetDefinition is the Schema for the packagesetdefinitions API
|
||||
type PackageSetDefinition struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec PackageSetDefinitionSpec `json:"spec,omitempty"`
|
||||
Status PackageSetDefinitionStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
|
||||
// PackageSetDefinitionList contains a list of PackageSetDefinitions
|
||||
type PackageSetDefinitionList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []PackageSetDefinition `json:"items"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
SchemeBuilder.Register(&PackageSetDefinition{}, &PackageSetDefinitionList{})
|
||||
}
|
||||
|
||||
// PackageSetDefinitionSpec defines the desired state of PackageSetDefinition
|
||||
type PackageSetDefinitionSpec struct {
|
||||
// SourceRef is the source reference for the package set charts
|
||||
// +optional
|
||||
SourceRef *PackageSetDefinitionSourceRef `json:"sourceRef,omitempty"`
|
||||
|
||||
// Variants is a list of package set variants
|
||||
// Each variant defines packages, sources, dependencies, and libraries for a specific configuration
|
||||
// +optional
|
||||
Variants []PackageSetDefinitionVariant `json:"variants,omitempty"`
|
||||
}
|
||||
|
||||
// PackageSetDefinitionVariant defines a single variant configuration
|
||||
type PackageSetDefinitionVariant struct {
|
||||
// Name is the unique identifier for this variant
|
||||
// +required
|
||||
Name string `json:"name"`
|
||||
|
||||
// DependsOn is a list of package set dependencies in the format "packageSetName/target"
|
||||
// For example: "cozystack-system/network"
|
||||
// If specified, the dependencies listed in the target's packages will be taken
|
||||
// from the specified package set and added to all packages in this variant
|
||||
// +optional
|
||||
DependsOn []string `json:"dependsOn,omitempty"`
|
||||
|
||||
// Libraries is a list of Helm library charts used by packages in this variant
|
||||
// +optional
|
||||
Libraries []PackageSetDefinitionLibrary `json:"libraries,omitempty"`
|
||||
|
||||
// Packages is a list of Helm releases to be installed as part of this variant
|
||||
// +optional
|
||||
Packages []PackageSetDefinitionPackage `json:"packages,omitempty"`
|
||||
|
||||
// Sources is a list of application sources for this variant
|
||||
// +optional
|
||||
Sources []PackageSetDefinitionApplication `json:"sources,omitempty"`
|
||||
}
|
||||
|
||||
// PackageSetDefinitionDependencyTarget defines a named group of packages that can be referenced
|
||||
// by other package sets via dependsOn
|
||||
type PackageSetDefinitionDependencyTarget struct {
|
||||
// Name is the unique identifier for this dependency target
|
||||
// +required
|
||||
Name string `json:"name"`
|
||||
|
||||
// Packages is a list of package names that belong to this target
|
||||
// These packages will be added as dependencies when this target is referenced
|
||||
// +required
|
||||
Packages []string `json:"packages"`
|
||||
}
|
||||
|
||||
// PackageSetDefinitionLibrary defines a Helm library chart
|
||||
type PackageSetDefinitionLibrary struct {
|
||||
// Name is the optional name for library placed in charts
|
||||
// +optional
|
||||
Name string `json:"name,omitempty"`
|
||||
|
||||
// Path is the path to the library chart directory
|
||||
// +required
|
||||
Path string `json:"path"`
|
||||
}
|
||||
|
||||
// PackageSetDefinitionSourceRef defines the source reference for package set charts
|
||||
type PackageSetDefinitionSourceRef struct {
|
||||
// Kind of the source reference
|
||||
// +kubebuilder:validation:Enum=GitRepository;OCIRepository
|
||||
// +required
|
||||
Kind string `json:"kind"`
|
||||
|
||||
// Name of the source reference
|
||||
// +required
|
||||
Name string `json:"name"`
|
||||
|
||||
// Namespace of the source reference
|
||||
// +required
|
||||
Namespace string `json:"namespace"`
|
||||
|
||||
// BasePath is the base path where packages are located in the source.
|
||||
// For GitRepository, defaults to "packages" if not specified.
|
||||
// For OCIRepository, defaults to empty string (root) if not specified.
|
||||
// +optional
|
||||
Path string `json:"path,omitempty"`
|
||||
}
|
||||
|
||||
// PackageSetDefinitionPackage defines a single Helm release within a package set
|
||||
type PackageSetDefinitionPackage struct {
|
||||
// Name is the unique identifier for this package within the package set
|
||||
// +required
|
||||
Name string `json:"name"`
|
||||
|
||||
// ReleaseName is the name of the HelmRelease resource that will be created
|
||||
// If not specified, defaults to the Name field
|
||||
// +optional
|
||||
ReleaseName string `json:"releaseName,omitempty"`
|
||||
|
||||
// Path is the path to the Helm chart directory
|
||||
// +required
|
||||
Path string `json:"path"`
|
||||
|
||||
// Namespace is the Kubernetes namespace where the release will be installed
|
||||
// +required
|
||||
Namespace string `json:"namespace"`
|
||||
|
||||
// Privileged indicates whether this release requires privileged access
|
||||
// +optional
|
||||
Privileged bool `json:"privileged,omitempty"`
|
||||
|
||||
// Disabled indicates whether this release is disabled (should not be installed)
|
||||
// +optional
|
||||
Disabled bool `json:"disabled,omitempty"`
|
||||
|
||||
// DependsOn is a list of release names that must be installed before this release
|
||||
// +optional
|
||||
DependsOn []string `json:"dependsOn,omitempty"`
|
||||
|
||||
// Libraries is a list of library charts that this package depends on
|
||||
// +optional
|
||||
Libraries []PackageSetDefinitionLibrary `json:"libraries,omitempty"`
|
||||
|
||||
// ValuesFiles is a list of values file names to use
|
||||
// +optional
|
||||
ValuesFiles []string `json:"valuesFiles,omitempty"`
|
||||
}
|
||||
|
||||
// PackageSetDefinitionApplication defines a single application release within a package set
|
||||
type PackageSetDefinitionApplication struct {
|
||||
// Name is the unique identifier for this application within the package set
|
||||
// +required
|
||||
Name string `json:"name"`
|
||||
|
||||
// Path is the path to the Helm chart directory
|
||||
// +required
|
||||
Path string `json:"path"`
|
||||
|
||||
// Libraries is a list of library names that this application depends on
|
||||
// These libraries must be defined at the variant level
|
||||
// +optional
|
||||
Libraries []string `json:"libraries,omitempty"`
|
||||
}
|
||||
|
||||
// PackageSetDefinitionStatus defines the observed state of PackageSetDefinition
|
||||
type PackageSetDefinitionStatus struct {
|
||||
// Variants is a comma-separated list of package variant names
|
||||
// This field is populated by the controller based on spec.packages keys
|
||||
// +optional
|
||||
Variants string `json:"variants,omitempty"`
|
||||
|
||||
// Conditions represents the latest available observations of a PackageSetDefinition's state
|
||||
// +optional
|
||||
Conditions []metav1.Condition `json:"conditions,omitempty"`
|
||||
}
|
||||
|
|
@ -21,7 +21,9 @@ limitations under the License.
|
|||
package v1alpha1
|
||||
|
||||
import (
|
||||
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
|
|
@ -256,6 +258,386 @@ func (in *CozystackResourceDefinitionSpec) DeepCopy() *CozystackResourceDefiniti
|
|||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSet) DeepCopyInto(out *PackageSet) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
in.Spec.DeepCopyInto(&out.Spec)
|
||||
in.Status.DeepCopyInto(&out.Status)
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSet.
|
||||
func (in *PackageSet) DeepCopy() *PackageSet {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSet)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *PackageSet) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinition) DeepCopyInto(out *PackageSetDefinition) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
in.Spec.DeepCopyInto(&out.Spec)
|
||||
in.Status.DeepCopyInto(&out.Status)
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinition.
|
||||
func (in *PackageSetDefinition) DeepCopy() *PackageSetDefinition {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinition)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *PackageSetDefinition) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionApplication) DeepCopyInto(out *PackageSetDefinitionApplication) {
|
||||
*out = *in
|
||||
if in.Libraries != nil {
|
||||
in, out := &in.Libraries, &out.Libraries
|
||||
*out = make([]PackageSetDefinitionLibrary, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionApplication.
|
||||
func (in *PackageSetDefinitionApplication) DeepCopy() *PackageSetDefinitionApplication {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionApplication)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionDependencyTarget) DeepCopyInto(out *PackageSetDefinitionDependencyTarget) {
|
||||
*out = *in
|
||||
if in.Packages != nil {
|
||||
in, out := &in.Packages, &out.Packages
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionDependencyTarget.
|
||||
func (in *PackageSetDefinitionDependencyTarget) DeepCopy() *PackageSetDefinitionDependencyTarget {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionDependencyTarget)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionLibrary) DeepCopyInto(out *PackageSetDefinitionLibrary) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionLibrary.
|
||||
func (in *PackageSetDefinitionLibrary) DeepCopy() *PackageSetDefinitionLibrary {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionLibrary)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionList) DeepCopyInto(out *PackageSetDefinitionList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]PackageSetDefinition, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionList.
|
||||
func (in *PackageSetDefinitionList) DeepCopy() *PackageSetDefinitionList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *PackageSetDefinitionList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionPackage) DeepCopyInto(out *PackageSetDefinitionPackage) {
|
||||
*out = *in
|
||||
if in.DependsOn != nil {
|
||||
in, out := &in.DependsOn, &out.DependsOn
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.Libraries != nil {
|
||||
in, out := &in.Libraries, &out.Libraries
|
||||
*out = make([]PackageSetDefinitionLibrary, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.ValuesFiles != nil {
|
||||
in, out := &in.ValuesFiles, &out.ValuesFiles
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionPackage.
|
||||
func (in *PackageSetDefinitionPackage) DeepCopy() *PackageSetDefinitionPackage {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionPackage)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionSourceRef) DeepCopyInto(out *PackageSetDefinitionSourceRef) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionSourceRef.
|
||||
func (in *PackageSetDefinitionSourceRef) DeepCopy() *PackageSetDefinitionSourceRef {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionSourceRef)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionSpec) DeepCopyInto(out *PackageSetDefinitionSpec) {
|
||||
*out = *in
|
||||
if in.SourceRef != nil {
|
||||
in, out := &in.SourceRef, &out.SourceRef
|
||||
*out = new(PackageSetDefinitionSourceRef)
|
||||
**out = **in
|
||||
}
|
||||
if in.Variants != nil {
|
||||
in, out := &in.Variants, &out.Variants
|
||||
*out = make([]PackageSetDefinitionVariant, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionSpec.
|
||||
func (in *PackageSetDefinitionSpec) DeepCopy() *PackageSetDefinitionSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionStatus) DeepCopyInto(out *PackageSetDefinitionStatus) {
|
||||
*out = *in
|
||||
if in.Conditions != nil {
|
||||
in, out := &in.Conditions, &out.Conditions
|
||||
*out = make([]metav1.Condition, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionStatus.
|
||||
func (in *PackageSetDefinitionStatus) DeepCopy() *PackageSetDefinitionStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetDefinitionVariant) DeepCopyInto(out *PackageSetDefinitionVariant) {
|
||||
*out = *in
|
||||
if in.DependsOn != nil {
|
||||
in, out := &in.DependsOn, &out.DependsOn
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.Libraries != nil {
|
||||
in, out := &in.Libraries, &out.Libraries
|
||||
*out = make([]PackageSetDefinitionLibrary, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.Packages != nil {
|
||||
in, out := &in.Packages, &out.Packages
|
||||
*out = make([]PackageSetDefinitionPackage, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
if in.Applications != nil {
|
||||
in, out := &in.Applications, &out.Applications
|
||||
*out = make([]PackageSetDefinitionApplication, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetDefinitionVariant.
|
||||
func (in *PackageSetDefinitionVariant) DeepCopy() *PackageSetDefinitionVariant {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetDefinitionVariant)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetList) DeepCopyInto(out *PackageSetList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]PackageSet, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetList.
|
||||
func (in *PackageSetList) DeepCopy() *PackageSetList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *PackageSetList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetPackageOverride) DeepCopyInto(out *PackageSetPackageOverride) {
|
||||
*out = *in
|
||||
if in.Enabled != nil {
|
||||
in, out := &in.Enabled, &out.Enabled
|
||||
*out = new(bool)
|
||||
**out = **in
|
||||
}
|
||||
if in.Values != nil {
|
||||
in, out := &in.Values, &out.Values
|
||||
*out = new(v1.JSON)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetPackageOverride.
|
||||
func (in *PackageSetPackageOverride) DeepCopy() *PackageSetPackageOverride {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetPackageOverride)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetSpec) DeepCopyInto(out *PackageSetSpec) {
|
||||
*out = *in
|
||||
if in.IgnoreDependencies != nil {
|
||||
in, out := &in.IgnoreDependencies, &out.IgnoreDependencies
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.Packages != nil {
|
||||
in, out := &in.Packages, &out.Packages
|
||||
*out = make(map[string]PackageSetPackageOverride, len(*in))
|
||||
for key, val := range *in {
|
||||
(*out)[key] = *val.DeepCopy()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetSpec.
|
||||
func (in *PackageSetSpec) DeepCopy() *PackageSetSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PackageSetStatus) DeepCopyInto(out *PackageSetStatus) {
|
||||
*out = *in
|
||||
if in.Conditions != nil {
|
||||
in, out := &in.Conditions, &out.Conditions
|
||||
*out = make([]metav1.Condition, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSetStatus.
|
||||
func (in *PackageSetStatus) DeepCopy() *PackageSetStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PackageSetStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in Selector) DeepCopyInto(out *Selector) {
|
||||
{
|
||||
|
|
|
|||
52
packages/core/platform/psds/clickhouse.yaml
Normal file
52
packages/core/platform/psds/clickhouse.yaml
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.clickhouse-operator
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.monitoring
|
||||
- cozystack.cozystack-core
|
||||
packages:
|
||||
- name: clickhouse-operator
|
||||
path: system/clickhouse-operator
|
||||
releaseName: clickhouse-operator
|
||||
namespace: cozy-clickhouse-operator
|
||||
dependsOn:
|
||||
- victoria-metrics-operator
|
||||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.clickhouse-application
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.clickhouse-operator
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: clickhouse-application
|
||||
path: system/clickhouse-application
|
||||
releaseName: clickhouse-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: clickhouse
|
||||
path: apps/clickhouse
|
||||
libraries:
|
||||
- cozy-lib
|
||||
67
packages/core/platform/psds/cozystack.yaml
Normal file
67
packages/core/platform/psds/cozystack.yaml
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.cozystack-core
|
||||
spec:
|
||||
variants:
|
||||
- name: default
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: cozystack-controller
|
||||
releaseName: cozystack-controller
|
||||
path: system/cozystack-controller
|
||||
namespace: cozy-system
|
||||
dependsOn: []
|
||||
- name: cozystack-api
|
||||
releaseName: cozystack-api
|
||||
path: system/cozystack-api
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: lineage-controller-webhook
|
||||
releaseName: lineage-controller-webhook
|
||||
path: system/lineage-controller-webhook
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: dashboard
|
||||
releaseName: dashboard
|
||||
path: system/dashboard
|
||||
namespace: cozy-dashboard
|
||||
dependsOn: [cozystack-api,cozystack-controller]
|
||||
- name: cozystack-controller
|
||||
releaseName: cozystack-controller
|
||||
path: system/cozystack-controller
|
||||
namespace: cozy-system
|
||||
dependsOn: []
|
||||
- name: cozystack-api
|
||||
releaseName: cozystack-api
|
||||
path: system/cozystack-api
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: lineage-controller-webhook
|
||||
releaseName: lineage-controller-webhook
|
||||
path: system/lineage-controller-webhook
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: dashboard
|
||||
releaseName: dashboard
|
||||
path: system/dashboard
|
||||
namespace: cozy-dashboard
|
||||
dependsOn: [cozystack-api,cozystack-controller,keycloak-configure]
|
||||
- name: keycloak-configure
|
||||
releaseName: keycloak-configure
|
||||
path: system/keycloak-configure
|
||||
namespace: cozy-keycloak
|
||||
dependsOn: [keycloak-operator]
|
||||
- name: keycloak
|
||||
releaseName: keycloak
|
||||
path: system/keycloak
|
||||
namespace: cozy-keycloak
|
||||
dependsOn: [postgres-operator]
|
||||
- name: keycloak-operator
|
||||
releaseName: keycloak-operator
|
||||
path: system/keycloak-operator
|
||||
namespace: cozy-keycloak
|
||||
dependsOn: [keycloak]
|
||||
28
packages/core/platform/psds/ferretdb.yaml
Normal file
28
packages/core/platform/psds/ferretdb.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.ferretdb
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: ferretdb-application
|
||||
path: system/ferretdb-application
|
||||
releaseName: ferretdb-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: ferretdb
|
||||
path: apps/ferretdb
|
||||
libraries:
|
||||
- cozy-lib
|
||||
24
packages/core/platform/psds/foundationdb-operator.yaml
Normal file
24
packages/core/platform/psds/foundationdb-operator.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.foundationdb-operator
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.cert-manager
|
||||
packages:
|
||||
- name: foundationdb-operator
|
||||
path: system/foundationdb-operator
|
||||
releaseName: foundationdb-operator
|
||||
namespace: cozy-foundationdb-operator
|
||||
dependsOn:
|
||||
- cert-manager
|
||||
|
||||
30
packages/core/platform/psds/foundationdb.yaml
Normal file
30
packages/core/platform/psds/foundationdb.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.foundationdb
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.foundationdb-operator
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: foundationdb-application
|
||||
path: system/foundationdb-application
|
||||
releaseName: foundationdb-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: foundationdb
|
||||
path: apps/foundationdb
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
28
packages/core/platform/psds/http-cache.yaml
Normal file
28
packages/core/platform/psds/http-cache.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.http-cache-application
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: http-cache-application
|
||||
path: system/http-cache-application
|
||||
releaseName: http-cache
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: http-cache
|
||||
path: apps/http-cache
|
||||
libraries:
|
||||
- cozy-lib
|
||||
24
packages/core/platform/psds/kafka-operator.yaml
Normal file
24
packages/core/platform/psds/kafka-operator.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.kafka-operator
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.monitoring
|
||||
packages:
|
||||
- name: kafka-operator
|
||||
path: system/kafka-operator
|
||||
releaseName: kafka-operator
|
||||
namespace: cozy-kafka-operator
|
||||
dependsOn:
|
||||
- victoria-metrics-operator
|
||||
|
||||
30
packages/core/platform/psds/kafka.yaml
Normal file
30
packages/core/platform/psds/kafka.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.kafka
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.kafka-operator
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: kafka-application
|
||||
path: system/kafka-application
|
||||
releaseName: kafka-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: kafka
|
||||
path: apps/kafka
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
26
packages/core/platform/psds/mariadb-operator.yaml
Normal file
26
packages/core/platform/psds/mariadb-operator.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.mariadb-operator
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.monitoring
|
||||
- cozystack.cert-manager
|
||||
packages:
|
||||
- name: mariadb-operator
|
||||
path: system/mariadb-operator
|
||||
releaseName: mariadb-operator
|
||||
namespace: cozy-mariadb-operator
|
||||
dependsOn:
|
||||
- cert-manager
|
||||
- victoria-metrics-operator
|
||||
|
||||
30
packages/core/platform/psds/mysql.yaml
Normal file
30
packages/core/platform/psds/mysql.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.mysql
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.mariadb-operator
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: mysql-application
|
||||
path: system/mysql-application
|
||||
releaseName: mysql-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: mysql
|
||||
path: apps/mysql
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
30
packages/core/platform/psds/nats.yaml
Normal file
30
packages/core/platform/psds/nats.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.nats
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: nats-application
|
||||
path: system/nats-application
|
||||
releaseName: nats-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: nats
|
||||
path: apps/nats
|
||||
libraries:
|
||||
- cozy-lib
|
||||
- name: nats-system
|
||||
path: system/nats
|
||||
65
packages/core/platform/psds/networking.yaml
Normal file
65
packages/core/platform/psds/networking.yaml
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.networking
|
||||
spec:
|
||||
variants:
|
||||
- name: noop
|
||||
packages: []
|
||||
- name: cilium
|
||||
dependsOn:
|
||||
- cozystack.cert-manager
|
||||
packages:
|
||||
- name: cilium
|
||||
releaseName: cilium
|
||||
path: system/cilium
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: []
|
||||
valuesFiles:
|
||||
- values.yaml
|
||||
- values-talos.yaml
|
||||
- name: cilium-networkpolicy
|
||||
releaseName: cilium-networkpolicy
|
||||
path: system/cilium-networkpolicy
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: [cilium]
|
||||
- name: kubeovn-cilium
|
||||
dependsOn:
|
||||
- cozystack.cert-manager
|
||||
packages:
|
||||
- name: cilium
|
||||
releaseName: cilium
|
||||
path: system/cilium
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: []
|
||||
valuesFiles:
|
||||
- values.yaml
|
||||
- values-talos.yaml
|
||||
- values-kubeovn.yaml
|
||||
- name: cilium-networkpolicy
|
||||
releaseName: cilium-networkpolicy
|
||||
path: system/cilium-networkpolicy
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: [cilium]
|
||||
- name: kubeovn
|
||||
releaseName: kubeovn
|
||||
path: system/kubeovn
|
||||
namespace: cozy-kubeovn
|
||||
privileged: true
|
||||
dependsOn: [cilium]
|
||||
- name: kubeovn-plunger
|
||||
releaseName: kubeovn-plunger
|
||||
path: system/kubeovn-plunger
|
||||
namespace: cozy-kubeovn
|
||||
dependsOn: [cilium,kubeovn]
|
||||
- name: kubeovn-webhook
|
||||
releaseName: kubeovn-webhook
|
||||
path: system/kubeovn-webhook
|
||||
namespace: cozy-kubeovn
|
||||
privileged: true
|
||||
dependsOn: [cilium,kubeovn]
|
||||
29
packages/core/platform/psds/postgres.yaml
Normal file
29
packages/core/platform/psds/postgres.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.postgres
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: postgres-application
|
||||
path: system/postgres-application
|
||||
releaseName: postgres-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: postgres
|
||||
path: apps/postgres
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
21
packages/core/platform/psds/rabbitmq-operator.yaml
Normal file
21
packages/core/platform/psds/rabbitmq-operator.yaml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.rabbitmq-operator
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
packages:
|
||||
- name: rabbitmq-operator
|
||||
path: system/rabbitmq-operator
|
||||
releaseName: rabbitmq-operator
|
||||
namespace: cozy-rabbitmq-operator
|
||||
|
||||
30
packages/core/platform/psds/rabbitmq.yaml
Normal file
30
packages/core/platform/psds/rabbitmq.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.rabbitmq
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.rabbitmq-operator
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: rabbitmq-application
|
||||
path: system/rabbitmq-application
|
||||
releaseName: rabbitmq-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: rabbitmq
|
||||
path: apps/rabbitmq
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
21
packages/core/platform/psds/redis-operator.yaml
Normal file
21
packages/core/platform/psds/redis-operator.yaml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.redis-operator
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
packages:
|
||||
- name: redis-operator
|
||||
path: system/redis-operator
|
||||
releaseName: redis-operator
|
||||
namespace: cozy-redis-operator
|
||||
|
||||
30
packages/core/platform/psds/redis.yaml
Normal file
30
packages/core/platform/psds/redis.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.redis
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.redis-operator
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: redis-application
|
||||
path: system/redis-application
|
||||
releaseName: redis-application
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: redis
|
||||
path: apps/redis
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
29
packages/core/platform/psds/tcp-balancer.yaml
Normal file
29
packages/core/platform/psds/tcp-balancer.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.tcp-balancer-application
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: tcp-balancer-application
|
||||
path: system/tcp-balancer-application
|
||||
releaseName: tcp-balancer
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: tcp-balancer
|
||||
path: apps/tcp-balancer
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
29
packages/core/platform/psds/vpn.yaml
Normal file
29
packages/core/platform/psds/vpn.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.vpn-application
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
variants:
|
||||
- name: default
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
libraries:
|
||||
- name: cozy-lib
|
||||
path: library/cozy-lib
|
||||
packages:
|
||||
- name: vpn-application
|
||||
path: system/vpn-application
|
||||
releaseName: vpn
|
||||
namespace: cozy-system
|
||||
sources:
|
||||
- name: vpn
|
||||
path: apps/vpn
|
||||
libraries:
|
||||
- cozy-lib
|
||||
|
||||
199
packages/packages.yaml
Normal file
199
packages/packages.yaml
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.clickhouse-operator
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
dependsOn:
|
||||
- cozystack.networking
|
||||
- cozystack.monitoring
|
||||
- cozystack.cozystack-core
|
||||
packages:
|
||||
default:
|
||||
- name: clickhouse-operator
|
||||
path: system/clickhouse-operator
|
||||
releaseName: clickhouse-operator
|
||||
namespace: cozy-clickhouse-operator
|
||||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.clickhouse-application
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: cozystack-packages
|
||||
namespace: cozy-system
|
||||
path: /
|
||||
dependsOn:
|
||||
- cozystack.clickhouse-operator
|
||||
packages:
|
||||
default:
|
||||
- name: clickhouse-application
|
||||
path: system/clickhouse-application
|
||||
releaseName: clickhouse-application
|
||||
namespace: cozy-system
|
||||
applications:
|
||||
default:
|
||||
- name: clickhouse-application
|
||||
path: apps/clickhouse
|
||||
libraries:
|
||||
- path: library/cozy-lib
|
||||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.networking
|
||||
spec:
|
||||
dependsOn:
|
||||
- cozystack.cert-manager
|
||||
packages:
|
||||
noop: []
|
||||
cilium:
|
||||
- name: cilium
|
||||
releaseName: cilium
|
||||
path: system/cilium
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: []
|
||||
valuesFiles:
|
||||
- values.yaml
|
||||
- values-talos.yaml
|
||||
- name: cilium-networkpolicy
|
||||
releaseName: cilium-networkpolicy
|
||||
path: system/cilium-networkpolicy
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: [cilium]
|
||||
kubeovn-cilium:
|
||||
- name: cilium
|
||||
releaseName: cilium
|
||||
path: system/cilium
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: []
|
||||
valuesFiles:
|
||||
- values.yaml
|
||||
- values-talos.yaml
|
||||
- values-kubeovn.yaml
|
||||
- name: cilium-networkpolicy
|
||||
releaseName: cilium-networkpolicy
|
||||
path: system/cilium-networkpolicy
|
||||
namespace: cozy-cilium
|
||||
privileged: true
|
||||
dependsOn: [cilium]
|
||||
- name: kubeovn
|
||||
releaseName: kubeovn
|
||||
path: system/kubeovn
|
||||
namespace: cozy-kubeovn
|
||||
privileged: true
|
||||
dependsOn: [cilium]
|
||||
- name: kubeovn-plunger
|
||||
releaseName: kubeovn-plunger
|
||||
path: system/kubeovn-plunger
|
||||
namespace: cozy-kubeovn
|
||||
dependsOn: [cilium,kubeovn]
|
||||
- name: kubeovn-webhook
|
||||
releaseName: kubeovn-webhook
|
||||
path: system/kubeovn-webhook
|
||||
namespace: cozy-kubeovn
|
||||
privileged: true
|
||||
dependsOn: [cilium,kubeovn]
|
||||
|
||||
# PackageSetDefinition --> ArtifactGenerator --> ExternalArtifact (many)
|
||||
# PackageSet --> HelmRelease (many)
|
||||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSet
|
||||
metadata:
|
||||
name: cozystack.networking
|
||||
spec:
|
||||
#ignoreDependencies:
|
||||
#- cozystack.networking
|
||||
packages:
|
||||
cilium:
|
||||
enabled: false
|
||||
values:
|
||||
kubeProxyReplacement: strict
|
||||
k8sServiceHost: api.example.org
|
||||
k8sServicePort: 6443
|
||||
kubeovn:
|
||||
values:
|
||||
kube-ovn:
|
||||
ipv4:
|
||||
POD_CIDR: "10.244.0.0/16"
|
||||
POD_GATEWAY: "10.244.0.1"
|
||||
SVC_CIDR: "10.96.0.0/16"
|
||||
JOIN_CIDR: "100.64.0.0/16"
|
||||
|
||||
---
|
||||
apiVersion: cozystack.io/v1alpha1
|
||||
kind: PackageSetDefinition
|
||||
metadata:
|
||||
name: cozystack.cozystack-core
|
||||
spec:
|
||||
packages:
|
||||
default:
|
||||
- name: cozystack-controller
|
||||
releaseName: cozystack-controller
|
||||
path: system/cozystack-controller
|
||||
namespace: cozy-system
|
||||
dependsOn: []
|
||||
- name: cozystack-api
|
||||
releaseName: cozystack-api
|
||||
path: system/cozystack-api
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: lineage-controller-webhook
|
||||
releaseName: lineage-controller-webhook
|
||||
path: system/lineage-controller-webhook
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: dashboard
|
||||
releaseName: dashboard
|
||||
path: system/dashboard
|
||||
namespace: cozy-dashboard
|
||||
dependsOn: [cozystack-api,cozystack-controller]
|
||||
oidc:
|
||||
- name: cozystack-controller
|
||||
releaseName: cozystack-controller
|
||||
path: system/cozystack-controller
|
||||
namespace: cozy-system
|
||||
dependsOn: []
|
||||
- name: cozystack-api
|
||||
releaseName: cozystack-api
|
||||
path: system/cozystack-api
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: lineage-controller-webhook
|
||||
releaseName: lineage-controller-webhook
|
||||
path: system/lineage-controller-webhook
|
||||
namespace: cozy-system
|
||||
dependsOn: [cozystack-controller]
|
||||
- name: dashboard
|
||||
releaseName: dashboard
|
||||
path: system/dashboard
|
||||
namespace: cozy-dashboard
|
||||
dependsOn: [cozystack-api,cozystack-controller,keycloak-configure]
|
||||
- name: keycloak-configure
|
||||
releaseName: keycloak-configure
|
||||
path: system/keycloak-configure
|
||||
namespace: cozy-keycloak
|
||||
dependsOn: [keycloak-operator]
|
||||
- name: keycloak
|
||||
releaseName: keycloak
|
||||
path: system/keycloak
|
||||
namespace: cozy-keycloak
|
||||
dependsOn: [postgres-operator]
|
||||
libraries:
|
||||
- path: library/cozy-lib
|
||||
- name: keycloak-operator
|
||||
releaseName: keycloak-operator
|
||||
path: system/keycloak-operator
|
||||
namespace: cozy-keycloak
|
||||
dependsOn: [keycloak]
|
||||
Loading…
Add table
Add a link
Reference in a new issue