REFACTOR(goldilocks): use managedNamespaceMetad...

- Remove namespace.yaml files
- Add managedNamespaceMetadata with Goldilocks label
- Set CreateNamespace=true in syncOptions
- Update kustomization.yaml to remove namespace.yaml references
This commit is contained in:
2025-12-29 15:57:47 +09:00
parent ac2abde8b5
commit 5ec1a3323d
27 changed files with 164 additions and 271 deletions

View File

@@ -4,43 +4,38 @@ metadata:
name: alertmanager name: alertmanager
namespace: argocd namespace: argocd
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: default project: default
sources: sources:
# Helm chart from external repository - repoURL: https://prometheus-community.github.io/helm-charts
- repoURL: https://prometheus-community.github.io/helm-charts chart: alertmanager
chart: alertmanager targetRevision: 1.29.0
targetRevision: 1.29.0 helm:
helm: valueFiles:
valueFiles: - $values/alertmanager/helm-values.yaml
- $values/alertmanager/helm-values.yaml - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
# Values file from Git repository targetRevision: main
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git ref: values
targetRevision: main
ref: values
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: alertmanager namespace: alertmanager
syncPolicy: syncPolicy:
automated: automated:
prune: true prune: true
selfHeal: true selfHeal: true
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
retry: retry:
limit: 5 limit: 5
backoff: backoff:
duration: 5s duration: 5s
factor: 2 factor: 2
maxDuration: 3m maxDuration: 3m
managedNamespaceMetadata:
labels:
goldilocks.fairwinds.com/enabled: 'true'
revisionHistoryLimit: 10 revisionHistoryLimit: 10

View File

@@ -1,5 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: []
resources:
- namespace.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: alertmanager
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -4,51 +4,44 @@ metadata:
name: goldilocks name: goldilocks
namespace: argocd namespace: argocd
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: default project: default
sources: sources:
# Helm chart from external repository - repoURL: https://charts.fairwinds.com/stable
- repoURL: https://charts.fairwinds.com/stable chart: goldilocks
chart: goldilocks targetRevision: 8.0.2
targetRevision: 8.0.2 helm:
helm: valueFiles:
valueFiles: - $values/goldilocks/helm-values.yaml
- $values/goldilocks/helm-values.yaml - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
# Values file from Git repository targetRevision: main
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git ref: values
targetRevision: main
ref: values
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: goldilocks namespace: goldilocks
syncPolicy: syncPolicy:
automated: automated:
prune: true prune: true
selfHeal: true selfHeal: true
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
- RespectIgnoreDifferences=true - RespectIgnoreDifferences=true
retry: retry:
limit: 5 limit: 5
backoff: backoff:
duration: 5s duration: 5s
factor: 2 factor: 2
maxDuration: 3m maxDuration: 3m
managedNamespaceMetadata:
# Ignore Deployment differences for CPU limits (set to null) labels:
goldilocks.fairwinds.com/enabled: 'true'
ignoreDifferences: ignoreDifferences:
- group: apps - group: apps
kind: Deployment kind: Deployment
jqPathExpressions: jqPathExpressions:
- '.spec.template.spec.containers[].resources.limits.cpu' - .spec.template.spec.containers[].resources.limits.cpu
revisionHistoryLimit: 10 revisionHistoryLimit: 10

View File

@@ -1,6 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- namespace.yaml - ingress.yaml
- ingress.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: goldilocks
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -4,47 +4,41 @@ metadata:
name: grafana name: grafana
namespace: argocd namespace: argocd
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: default project: default
sources: sources:
# Helm chart from external repository - repoURL: https://grafana.github.io/helm-charts
- repoURL: https://grafana.github.io/helm-charts chart: grafana
chart: grafana targetRevision: 10.3.0
targetRevision: 10.3.0 helm:
helm: valueFiles:
valueFiles: - $values/grafana/helm-values.yaml
- $values/grafana/helm-values.yaml - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
# Values file from Git repository targetRevision: main
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git ref: values
targetRevision: main - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
ref: values targetRevision: main
# Additional resources (ExternalSecret, Ingress, etc.) path: grafana
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
targetRevision: main
path: grafana
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: grafana namespace: grafana
syncPolicy: syncPolicy:
automated: automated:
prune: true prune: true
selfHeal: true selfHeal: true
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
retry: retry:
limit: 5 limit: 5
backoff: backoff:
duration: 5s duration: 5s
factor: 2 factor: 2
maxDuration: 3m maxDuration: 3m
managedNamespaceMetadata:
labels:
goldilocks.fairwinds.com/enabled: 'true'
revisionHistoryLimit: 10 revisionHistoryLimit: 10

View File

@@ -1,7 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- namespace.yaml - vault/grafana-admin-password.yaml
- vault/grafana-admin-password.yaml - ingress.yaml
- ingress.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: grafana
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -4,43 +4,38 @@ metadata:
name: kube-state-metrics name: kube-state-metrics
namespace: argocd namespace: argocd
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: default project: default
sources: sources:
# Helm chart from external repository - repoURL: https://prometheus-community.github.io/helm-charts
- repoURL: https://prometheus-community.github.io/helm-charts chart: kube-state-metrics
chart: kube-state-metrics targetRevision: 5.25.1
targetRevision: 5.25.1 helm:
helm: valueFiles:
valueFiles: - $values/kube-state-metrics/helm-values.yaml
- $values/kube-state-metrics/helm-values.yaml - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
# Values file from Git repository targetRevision: main
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git ref: values
targetRevision: main
ref: values
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: kube-state-metrics namespace: kube-state-metrics
syncPolicy: syncPolicy:
automated: automated:
prune: true prune: true
selfHeal: true selfHeal: true
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
retry: retry:
limit: 5 limit: 5
backoff: backoff:
duration: 5s duration: 5s
factor: 2 factor: 2
maxDuration: 3m maxDuration: 3m
managedNamespaceMetadata:
labels:
goldilocks.fairwinds.com/enabled: 'true'
revisionHistoryLimit: 10 revisionHistoryLimit: 10

View File

@@ -1,5 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: []
resources:
- namespace.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: kube-state-metrics
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -6,15 +6,15 @@ metadata:
spec: spec:
project: default project: default
sources: sources:
- repoURL: https://grafana.github.io/helm-charts - repoURL: https://grafana.github.io/helm-charts
chart: loki chart: loki
targetRevision: 6.24.0 targetRevision: 6.24.0
helm: helm:
valueFiles: valueFiles:
- $values/loki/helm-values.yaml - $values/loki/helm-values.yaml
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
targetRevision: HEAD targetRevision: HEAD
ref: values ref: values
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: loki namespace: loki
@@ -23,4 +23,7 @@ spec:
prune: true prune: true
selfHeal: true selfHeal: true
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
managedNamespaceMetadata:
labels:
goldilocks.fairwinds.com/enabled: 'true'

View File

@@ -1,5 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: []
resources:
- namespace.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: loki
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -4,43 +4,38 @@ metadata:
name: node-exporter name: node-exporter
namespace: argocd namespace: argocd
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: default project: default
sources: sources:
# Helm chart from external repository - repoURL: https://prometheus-community.github.io/helm-charts
- repoURL: https://prometheus-community.github.io/helm-charts chart: prometheus-node-exporter
chart: prometheus-node-exporter targetRevision: 4.39.0
targetRevision: 4.39.0 helm:
helm: valueFiles:
valueFiles: - $values/node-exporter/helm-values.yaml
- $values/node-exporter/helm-values.yaml - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
# Values file from Git repository targetRevision: main
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git ref: values
targetRevision: main
ref: values
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: node-exporter namespace: node-exporter
syncPolicy: syncPolicy:
automated: automated:
prune: true prune: true
selfHeal: true selfHeal: true
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
retry: retry:
limit: 5 limit: 5
backoff: backoff:
duration: 5s duration: 5s
factor: 2 factor: 2
maxDuration: 3m maxDuration: 3m
managedNamespaceMetadata:
labels:
goldilocks.fairwinds.com/enabled: 'true'
revisionHistoryLimit: 10 revisionHistoryLimit: 10

View File

@@ -1,5 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: []
resources:
- namespace.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: node-exporter
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -4,47 +4,41 @@ metadata:
name: prometheus name: prometheus
namespace: argocd namespace: argocd
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: default project: default
sources: sources:
# Helm chart from external repository - repoURL: https://prometheus-community.github.io/helm-charts
- repoURL: https://prometheus-community.github.io/helm-charts chart: kube-prometheus-stack
chart: kube-prometheus-stack targetRevision: 80.0.0
targetRevision: 80.0.0 helm:
helm: valueFiles:
valueFiles: - $values/prometheus/helm-values.yaml
- $values/prometheus/helm-values.yaml - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
# Values file from Git repository targetRevision: main
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git ref: values
targetRevision: main - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
ref: values targetRevision: main
# Additional resources (ExternalSecret, etc.) path: prometheus
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
targetRevision: main
path: prometheus
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: prometheus namespace: prometheus
syncPolicy: syncPolicy:
automated: automated:
prune: true prune: true
selfHeal: true selfHeal: true
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
retry: retry:
limit: 5 limit: 5
backoff: backoff:
duration: 5s duration: 5s
factor: 2 factor: 2
maxDuration: 3m maxDuration: 3m
managedNamespaceMetadata:
labels:
goldilocks.fairwinds.com/enabled: 'true'
revisionHistoryLimit: 10 revisionHistoryLimit: 10

View File

@@ -1,6 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- namespace.yaml - vault/postgresql-password.yaml
- vault/postgresql-password.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: prometheus
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -6,15 +6,15 @@ metadata:
spec: spec:
project: default project: default
sources: sources:
- repoURL: https://grafana.github.io/helm-charts - repoURL: https://grafana.github.io/helm-charts
chart: promtail chart: promtail
targetRevision: 6.16.6 targetRevision: 6.16.6
helm: helm:
valueFiles: valueFiles:
- $values/promtail/helm-values.yaml - $values/promtail/helm-values.yaml
- repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git - repoURL: https://gitea0213.kro.kr/bluemayne/monitoring.git
targetRevision: HEAD targetRevision: HEAD
ref: values ref: values
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: promtail namespace: promtail
@@ -23,4 +23,7 @@ spec:
prune: true prune: true
selfHeal: true selfHeal: true
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
managedNamespaceMetadata:
labels:
goldilocks.fairwinds.com/enabled: 'true'

View File

@@ -1,5 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: []
resources:
- namespace.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: promtail
labels:
goldilocks.fairwinds.com/enabled: "true"

View File

@@ -4,51 +4,44 @@ metadata:
name: vpa name: vpa
namespace: argocd namespace: argocd
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: default project: default
sources: sources:
# Helm chart from external repository - repoURL: https://charts.fairwinds.com/stable
- repoURL: https://charts.fairwinds.com/stable chart: vpa
chart: vpa targetRevision: 4.6.0
targetRevision: 4.6.0 helm:
helm: valueFiles:
valueFiles: - $values/vpa/helm-values.yaml
- $values/vpa/helm-values.yaml - repoURL: https://gitea0213.kro.kr/bluemayne/cluster-infrastructure.git
# Values file from Git repository targetRevision: main
- repoURL: https://gitea0213.kro.kr/bluemayne/cluster-infrastructure.git ref: values
targetRevision: main
ref: values
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: vpa namespace: vpa
syncPolicy: syncPolicy:
automated: automated:
prune: true prune: true
selfHeal: true selfHeal: true
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
- RespectIgnoreDifferences=true - RespectIgnoreDifferences=true
retry: retry:
limit: 5 limit: 5
backoff: backoff:
duration: 5s duration: 5s
factor: 2 factor: 2
maxDuration: 3m maxDuration: 3m
managedNamespaceMetadata:
# Ignore Deployment differences for CPU limits (set to null) labels:
goldilocks.fairwinds.com/enabled: 'true'
ignoreDifferences: ignoreDifferences:
- group: apps - group: apps
kind: Deployment kind: Deployment
jqPathExpressions: jqPathExpressions:
- '.spec.template.spec.containers[].resources.limits.cpu' - .spec.template.spec.containers[].resources.limits.cpu
revisionHistoryLimit: 10 revisionHistoryLimit: 10

View File

@@ -1,5 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: []
resources:
- namespace.yaml

View File

@@ -1,6 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: vpa
labels:
goldilocks.fairwinds.com/enabled: "true"