add custom charts support
This commit is contained in:
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: cert-manager
|
||||
namespace: cert-manager
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/cert-manager
|
||||
chart_version: v1.14.5
|
||||
chart_ref: {{ .Modules.Additional.CertManager.ChartRef }}
|
||||
chart_version: {{ .Modules.Additional.CertManager.ChartVersion }}
|
||||
{{- if .Modules.Additional.CertManager.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: ingress-nginx
|
||||
namespace: ingress-nginx
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/ingress-nginx
|
||||
chart_version: 4.10.1
|
||||
chart_ref: {{ .Modules.Additional.Ingress.ChartRef }}
|
||||
chart_version: {{ .Modules.Additional.Ingress.ChartVersion }}
|
||||
{{- if and .Modules.Additional.Ingress.Enabled (eq .Modules.Additional.Ingress.Type "nginx") }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: longhorn
|
||||
namespace: longhorn-system
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/longhorn
|
||||
chart_version: 1.6.1
|
||||
chart_ref: {{ .Modules.Additional.Storage.Longhorn.ChartRef }}
|
||||
chart_version: {{ .Modules.Additional.Storage.Longhorn.ChartVersion }}
|
||||
{{- if .Modules.Additional.Storage.Longhorn.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{{- if .Modules.Additional.Storage.SecretsStoreCsiDriver.Enabled }}
|
||||
- name: csi-secrets-store
|
||||
namespace: kube-system
|
||||
chart_ref: kube-forge/secrets-store-csi-driver
|
||||
chart_version: 1.4.3
|
||||
{{- end }}
|
||||
chart_ref: {{ .Modules.Additional.Storage.SecretsStoreCsiDriver.ChartRef }}
|
||||
chart_version: {{ .Modules.Additional.Storage.SecretsStoreCsiDriver.ChartVersion }}
|
||||
{{- if .Modules.Additional.Storage.SecretsStoreCsiDriver.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
release_state: "absent"
|
||||
{{- end }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: argo-cd-ingress
|
||||
namespace: cicd
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/service-ingress
|
||||
chart_version: 0.1.0
|
||||
chart_ref: {{ .Modules.Cicd.ArgoCd.ServiceIngress.ChartRef }}
|
||||
chart_version: {{ .Modules.Cicd.ArgoCd.ServiceIngress.ChartVersion }}
|
||||
{{- if and .Modules.Cicd.Enabled (eq .Modules.Cicd.ArgoCd.Expose.Type "ingress") }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: argo-cd
|
||||
namespace: cicd
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/argo-cd
|
||||
chart_version: 6.7.12
|
||||
chart_ref: {{ .Modules.Cicd.ArgoCd.ChartRef }}
|
||||
chart_version: {{ .Modules.Cicd.ArgoCd.ChartVersion }}
|
||||
{{- if .Modules.Cicd.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
- name: argo-rollouts
|
||||
namespace: cicd
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/argo-rollouts
|
||||
chart_ref: {{ .Modules.Cicd.Rollouts.ChartRef }}
|
||||
chart_version: {{ .Modules.Cicd.Rollouts.ChartVersion }}
|
||||
{{- if and .Modules.Cicd.Enabled .Modules.Cicd.Rollouts.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
release_state: "absent"
|
||||
{{- end }}
|
||||
chart_version: 2.35.1
|
||||
values:
|
||||
installCRDs: true
|
||||
keepCRDs: false
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
- name: keel
|
||||
namespace: kube-system
|
||||
chart_ref: kube-forge/keel
|
||||
chart_version: 1.0.3
|
||||
chart_ref: {{ .Modules.Cicd.UpdatesOperator.ChartRef }}
|
||||
chart_version: {{ .Modules.Cicd.UpdatesOperator.ChartVersion }}
|
||||
{{- if and .Modules.Cicd.Enabled .Modules.Cicd.UpdatesOperator.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: fluent-operator
|
||||
namespace: observability
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/fluent-operator
|
||||
chart_version: 2.7.0
|
||||
chart_ref: {{ .Modules.Observability.Logging.Operator.ChartRef }}
|
||||
chart_version: {{ .Modules.Observability.Logging.Operator.ChartVersion }}
|
||||
{{- if and .Modules.Observability.Enabled .Modules.Observability.Logging.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: loki
|
||||
namespace: observability
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/loki
|
||||
chart_version: 5.47.2
|
||||
chart_ref: {{ .Modules.Observability.Logging.Loki.ChartRef }}
|
||||
chart_version: {{ .Modules.Observability.Logging.Loki.ChartVersion }}
|
||||
{{- if and .Modules.Observability.Enabled .Modules.Observability.Logging.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: observability
|
||||
namespace: observability
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/observability
|
||||
chart_version: 0.1.0
|
||||
chart_ref: {{ .Modules.Observability.ChartRef }}
|
||||
chart_version: {{ .Modules.Observability.ChartVersion }}
|
||||
{{- if .Modules.Observability.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
@@ -210,7 +210,6 @@
|
||||
domain: &grafanaDomain {{ .Modules.Observability.Visualization.Grafana.Expose.Domain }}
|
||||
{{- if eq .Modules.Observability.Visualization.Grafana.Expose.Type "NodePort" }}
|
||||
serviceNodePort: {{ .Modules.Observability.Visualization.Grafana.Expose.NodePortHttp }}
|
||||
|
||||
{{- end }}
|
||||
image:
|
||||
repository: {{ .Modules.Observability.Visualization.Grafana.Image }}
|
||||
@@ -224,6 +223,7 @@
|
||||
|
||||
config:
|
||||
server: |
|
||||
enable_gzip = true
|
||||
root_url = {{ if .Modules.Observability.Visualization.Grafana.Expose.Tls.Enabled }}https{{ else }}http{{ end }}://{{ .Modules.Observability.Visualization.Grafana.Expose.Domain }}
|
||||
|
||||
security: |
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: opentelemetry-operator
|
||||
namespace: observability
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/opentelemetry-operator
|
||||
chart_version: 0.55.0
|
||||
chart_ref: {{ .Modules.Observability.Tracing.Operator.ChartRef }}
|
||||
chart_version: {{ .Modules.Observability.Tracing.Operator.ChartVersion }}
|
||||
{{- if and .Modules.Observability.Enabled .Modules.Observability.Tracing.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: tempo
|
||||
namespace: observability
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/tempo
|
||||
chart_version: 1.7.2
|
||||
chart_ref: {{ .Modules.Observability.Tracing.Tempo.ChartRef }}
|
||||
chart_version: {{ .Modules.Observability.Tracing.Tempo.ChartVersion }}
|
||||
{{- if and .Modules.Observability.Enabled .Modules.Observability.Tracing.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: harbor-certificate-generator
|
||||
namespace: {{ .Modules.Registry.Namespace }}
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/certificate-generator
|
||||
chart_version: 0.1.0
|
||||
chart_ref: {{ .Modules.Registry.Tls.CertificateGenerator.ChartRef }}
|
||||
chart_version: {{ .Modules.Registry.Tls.CertificateGenerator.ChartVersion }}
|
||||
{{- if and .Modules.Registry.Enabled (eq .Modules.Registry.Expose.Type "ingress") }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: harbor
|
||||
namespace: {{ .Modules.Registry.Namespace }}
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/harbor
|
||||
chart_version: 1.14.2
|
||||
chart_ref: {{ .Modules.Registry.ChartRef }}
|
||||
chart_version: {{ .Modules.Registry.ChartVersion }}
|
||||
{{- if .Modules.Registry.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- name: vault
|
||||
namespace: secrets-storage
|
||||
create_namespace: true
|
||||
chart_ref: kube-forge/vault
|
||||
chart_version: 0.1.0
|
||||
chart_ref: {{ .Modules.SecretsStorage.ChartRef }}
|
||||
chart_version: {{ .Modules.SecretsStorage.ChartVersion }}
|
||||
{{- if .Modules.SecretsStorage.Enabled }}
|
||||
release_state: "present"
|
||||
{{- else }}
|
||||
|
||||
Reference in New Issue
Block a user