add custom charts support

This commit is contained in:
2024-04-30 20:08:39 +03:00
parent d78b71fb1f
commit ad5f053ec1
23 changed files with 102 additions and 61 deletions

View File

@@ -2,6 +2,8 @@ package config
type Additional struct {
CertManager struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/cert-manager"`
ChartVersion string `yaml:"chart_version" env-default:"v1.14.5"`
Enabled bool `yaml:"enabled"`
HaEnabled bool `yaml:"ha_enabled"`
DnsServers []string `yaml:"dns_servers" env-default:"[8.8.8.8,1.1.1.1]"`
@@ -13,6 +15,8 @@ type Additional struct {
} `yaml:"cert_manager"`
Ingress struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/ingress-nginx"`
ChartVersion string `yaml:"chart_version" env-default:"4.10.1"`
Type string `yaml:"type" env-default:"nginx"`
Enabled bool `yaml:"enabled"`
IngressClassName string `yaml:"ingress_class_name" env-default:"nginx"`
@@ -42,10 +46,14 @@ type Additional struct {
ReclaimPolicy string `yaml:"reclaim_policy" env-default:"Delete"`
} `yaml:"local_path_provisioner"`
Longhorn struct {
Enabled bool `yaml:"enabled"`
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/longhorn"`
ChartVersion string `yaml:"chart_version" env-default:"1.6.1"`
Enabled bool `yaml:"enabled"`
} `yaml:"longhorn"`
SecretsStoreCsiDriver struct {
Enabled bool `yaml:"enabled"`
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/secrets-store-csi-driver"`
ChartVersion string `yaml:"chart_version" env-default:"1.4.3"`
Enabled bool `yaml:"enabled"`
} `yaml:"secrets_store_csi_driver"`
} `yaml:"storage"`
}

View File

@@ -3,6 +3,8 @@ package config
type Cicd struct {
Enabled bool `yaml:"enabled"`
ArgoCd struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/argo-cd"`
ChartVersion string `yaml:"chart_version" env-default:"6.7.12"`
AdminPassword string
Ha struct {
Enabled bool `yaml:"enabled"`
@@ -21,11 +23,19 @@ type Cicd struct {
Rbac struct {
AdditionalPolicies string `yaml:"additional_policies"`
} `yaml:"argo_cd"`
ServiceIngress struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/service-ingress"`
ChartVersion string `yaml:"chart_version" env-default:"0.1.0"`
} `yaml:"service_ingress"`
} `yaml:"argo_cd"`
UpdatesOperator struct {
Enabled bool `yaml:"enabled"`
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/keel"`
ChartVersion string `yaml:"chart_version" env-default:"1.0.3"`
Enabled bool `yaml:"enabled"`
} `yaml:"updates_operator"`
Rollouts struct {
Enabled bool `yaml:"enabled"`
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/argo-rollouts"`
ChartVersion string `yaml:"chart_version" env-default:"2.35.1"`
Enabled bool `yaml:"enabled"`
} `yaml:"rollouts"`
}

View File

@@ -1,6 +1,8 @@
package config
type Observability struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/observability"`
ChartVersion string `yaml:"chart_version" env-default:"0.1.0"`
Enabled bool `yaml:"enabled"`
Logging Logging `yaml:"logging"`
Tracing Tracing `yaml:"tracing"`
@@ -11,6 +13,8 @@ type Observability struct {
type Logging struct {
Enabled bool `yaml:"enabled"`
Operator struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/fluent-operator"`
ChartVersion string `yaml:"chart_version" env-default:"2.7.0"`
Image string `yaml:"image" env-default:"kubesphere/fluent-operator"`
Tag string `yaml:"tag" env-default:"v2.7.0"`
InitContainer struct {
@@ -27,10 +31,12 @@ type Logging struct {
Tag string `yaml:"tag" env-default:"v2.2.2"`
} `yaml:"fluent_bit"`
Loki struct {
Registry string `yaml:"registry" env-default:"docker.io"`
Image string `yaml:"image" env-default:"grafana/loki"`
Tag string `yaml:"tag" env-default:"null"`
Persistence struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/loki"`
ChartVersion string `yaml:"chart_version" env-default:"5.47.2"`
Registry string `yaml:"registry" env-default:"docker.io"`
Image string `yaml:"image" env-default:"grafana/loki"`
Tag string `yaml:"tag" env-default:"null"`
Persistence struct {
StorageClass string `yaml:"storage_class" env-default:"local-path"`
StorageSize string `yaml:"storage_size" env-default:"10Gi"`
Retention string `yaml:"retention" env-default:"168h"`
@@ -55,19 +61,23 @@ type Logging struct {
type Tracing struct {
Enabled bool `yaml:"enabled"`
Operator struct {
Image string `yaml:"image" env-default:"ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator"`
Tag string `yaml:"tag" env-default:""`
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/opentelemetry-operator"`
ChartVersion string `yaml:"chart_version" env-default:"0.55.0"`
Image string `yaml:"image" env-default:"ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator"`
Tag string `yaml:"tag" env-default:""`
} `yaml:"operator"`
Collector struct {
Image string `yaml:"image" env-default:"otel/opentelemetry-collector-contrib"`
Tag string `yaml:"tag" env-default:"0.95.0"`
} `yaml:"collector"`
Tempo struct {
Image string `yaml:"image" env-default:"grafana/tempo"`
Tag string `yaml:"tag" env-default:""`
Retention string `yaml:"retention" env-default:"24h"`
ListenPort int `yaml:"listen_port" env-default:"3100"`
Persistence struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/tempo"`
ChartVersion string `yaml:"chart_version" env-default:"1.7.2"`
Image string `yaml:"image" env-default:"grafana/tempo"`
Tag string `yaml:"tag" env-default:""`
Retention string `yaml:"retention" env-default:"24h"`
ListenPort int `yaml:"listen_port" env-default:"3100"`
Persistence struct {
StorageClass string `yaml:"storage_class" env-default:"local-path"`
StorageSize string `yaml:"storage_size" env-default:"10Gi"`
} `yaml:"persistence"`

View File

@@ -1,7 +1,9 @@
package config
type Registry struct {
Enabled bool `yaml:"enabled"`
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/harbor"`
ChartVersion string `yaml:"chart_version" env-default:"1.14.2"`
Enabled bool `yaml:"enabled"`
AdminPassword string
Namespace string `yaml:"namespace" env-default:"registry"`
Version string `yaml:"version" env-default:"v2.10.1"`
@@ -12,7 +14,11 @@ type Registry struct {
NodePortHttps int `yaml:"node_port_https" env-default:"30003"`
} `yaml:"expose"`
Tls struct {
Enabled bool `yaml:"enabled"`
Enabled bool `yaml:"enabled"`
CertificateGenerator struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/certificate-generator"`
ChartVersion string `yaml:"chart_version" env-default:"0.1.0"`
} `yaml:"certificate_generator"`
} `yaml:"tls"`
Persistence struct {
StorageClass string `yaml:"storage_class" env-default:"local-path"`

View File

@@ -1,10 +1,12 @@
package config
type SecretsStorage struct {
Enabled bool `yaml:"enabled"`
Image string `yaml:"image" env-default:"kubesphere/fluent-operator"`
Tag string `yaml:"tag" env-default:"v2.7.0"`
Expose struct {
ChartRef string `yaml:"chart_ref" env-default:"kube-forge/vault"`
ChartVersion string `yaml:"chart_version" env-default:"0.1.0"`
Enabled bool `yaml:"enabled"`
Image string `yaml:"image" env-default:"kubesphere/fluent-operator"`
Tag string `yaml:"tag" env-default:"v2.7.0"`
Expose struct {
Type string `yaml:"type"`
Domain string `yaml:"domain"`
NodePort int `yaml:"node_port"`