Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 18 additions & 6 deletions apis/cluster/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,24 @@ type ProviderOptions struct {
}

type ComponentOptions struct {
FluxCD bool `json:"fluxCD,omitempty"`
FeatureSets []FeatureSet `json:"featureSets,omitempty"`
AllFeatures bool `json:"allFeatures,omitempty"`
ClusterProfile string `json:"clusterProfile,omitempty"`
MonitoringClusterName string `json:"monitoringClusterName,omitempty"`
SpokeComponents bool `json:"spokeComponent,omitempty"`
FluxCD bool `json:"fluxCD,omitempty"`
ArgoCD ArgoCDOptions `json:"argoCD,omitempty"`
FeatureSets []FeatureSet `json:"featureSets,omitempty"`
AllFeatures bool `json:"allFeatures,omitempty"`
ClusterProfile string `json:"clusterProfile,omitempty"`
MonitoringClusterName string `json:"monitoringClusterName,omitempty"`
SpokeComponents bool `json:"spokeComponent,omitempty"`
}

// ArgoCDOptions picks the cluster's Argo CD GitOps strategy: standalone,
// central (PrincipalClusterName), existing (ExistingClusterName/Kubeconfig), or self-as-principal (DeployPrincipal).
type ArgoCDOptions struct {
Enabled bool `json:"enabled,omitempty"`
PrincipalClusterName string `json:"principalClusterName,omitempty"`
ExistingClusterName string `json:"existingClusterName,omitempty"`
ExistingKubeconfig string `json:"existingKubeconfig,omitempty"`
DeployPrincipal bool `json:"deployPrincipal,omitempty"`
PrincipalServiceType string `json:"principalServiceType,omitempty"`
}

type FeatureSet struct {
Expand Down
16 changes: 16 additions & 0 deletions apis/config/v1alpha1/setupconfig_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ type SelfManagement struct {
UseGateway bool `json:"useGateway"`
// +optional
EnableCredLess bool `json:"enableCredLess"`
// +optional
ArgoCD ArgoCDOptions `json:"argoCD,omitempty"`
}

type SelfManagementOptions struct {
Expand All @@ -134,6 +136,8 @@ type SelfManagementOptions struct {
UseGateway bool `json:"useGateway"`
// +optional
EnableCredLess bool `json:"enableCredLess"`
// +optional
ArgoCD ArgoCDOptions `json:"argoCD,omitempty"`
}

type EnableFeaturesOptions map[string]FeatureSetOptions
Expand Down Expand Up @@ -176,9 +180,21 @@ func (opt SelfManagementOptions) ToConfig() SelfManagement {
KubeAPIServer: opt.KubeAPIServer,
UseGateway: opt.UseGateway,
EnableCredLess: opt.EnableCredLess,
ArgoCD: opt.ArgoCD,
}
}

type ArgoCDOptions struct {
// +optional
Enabled bool `json:"enabled,omitempty"`
// +optional
ExistingKubeconfig string `json:"existingKubeconfig,omitempty"`
// +optional
DeployPrincipal bool `json:"deployPrincipal,omitempty"`
// +optional
PrincipalServiceType string `json:"principalServiceType,omitempty"`
}

type CAPIClusterConfig struct {
ClusterName string `json:"clusterName,omitempty"`
Region string `json:"region,omitempty"`
Expand Down
18 changes: 18 additions & 0 deletions apis/config/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading