diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b7532e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea +**/charts \ No newline at end of file diff --git a/README.md b/README.md index 3693e17..5efdf0c 100644 --- a/README.md +++ b/README.md @@ -3,18 +3,20 @@ ## Bootstrapping ```bash +# Create a cluster k3d cluster create mycluster --image rancher/k3s:v1.29.6-k3s1 +# (Optional) Create a vcluster inside it vcluster create vc-1 git clone https://github.com/kir-dev/k8s cd k8s # Install ArgoCD into the Kubernetes cluster -kubectl apply --kustomize argocd +kubectl apply --kustomize argocd/ # Install this repo as an ArgoCD Application -kubectl apply -f application.yaml +kubectl apply -f application-set/ ``` ## Documentation @@ -22,3 +24,4 @@ kubectl apply -f application.yaml - https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/ - ArgoCD `Application` reference: https://argo-cd.readthedocs.io/en/stable/user-guide/application-specification/ - Manage Argo CD Using Argo CD: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#manage-argo-cd-using-argo-cd +- Kustomization file documentation: https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/ \ No newline at end of file diff --git a/application-set/application-set.yaml b/application-set/application-set.yaml new file mode 100644 index 0000000..8a21e43 --- /dev/null +++ b/application-set/application-set.yaml @@ -0,0 +1,32 @@ +kind: ApplicationSet +apiVersion: argoproj.io/v1alpha1 +metadata: + name: apps + namespace: argocd +spec: + goTemplate: true + goTemplateOptions: ["missingkey=error"] + generators: + - git: + repoURL: https://github.com/albi005/k8s + revision: HEAD + directories: + - path: "*" + template: + metadata: + name: "{{.path.basename}}" + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + project: default + source: + repoURL: https://github.com/albi005/k8s + path: "{{.path.path}}" + destination: + name: in-cluster + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - ServerSideApply=true diff --git a/application.yaml b/application.yaml deleted file mode 100644 index 6b1f599..0000000 --- a/application.yaml +++ /dev/null @@ -1,19 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: applications - namespace: argocd -spec: - project: default - source: - repoURL: https://github.com/albi005/k8s - path: . - destination: - name: in-cluster - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - ServerSideApply=true diff --git a/argocd/application.yaml b/argocd/application.yaml deleted file mode 100644 index 585529e..0000000 --- a/argocd/application.yaml +++ /dev/null @@ -1,20 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: argocd - namespace: argocd -spec: - project: default - source: - repoURL: https://github.com/albi005/k8s - path: argocd - destination: - name: in-cluster - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/argocd/kustomization.yaml b/argocd/kustomization.yaml index ed291e4..179b6c0 100644 --- a/argocd/kustomization.yaml +++ b/argocd/kustomization.yaml @@ -1,9 +1,51 @@ # https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#manage-argo-cd-using-argo-cd resources: -- namespace.yaml -# TODO: Replace `stable` with a git commit hash and let Renovate update it -# automatically to the latest commit of the `stable` branch -- https://github.com/argoproj/argo-cd//manifests/cluster-install?ref=stable + - namespace.yaml + # TODO: Replace `stable` with a git commit hash and let Renovate update it + # automatically to the latest commit of the `stable` branch + - https://github.com/argoproj/argo-cd//manifests/cluster-install?ref=stable + +patches: + # https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#kustomizing-helm-charts + - target: + kind: ConfigMap + name: argocd-cm + patch: |- + - op: add + path: /data/kustomize.buildOptions + value: "--enable-helm" + + # GROUP 1: Heavy Components + # (Repo Server, API Server, App Controller need more RAM/CPU) + - target: + kind: (Deployment|StatefulSet) + name: (argocd-repo-server|argocd-server|argocd-application-controller) + patch: |- + - op: add + path: /spec/template/spec/containers/0/resources + value: + requests: + cpu: "50m" + memory: "128Mi" + limits: + cpu: "1000m" + memory: "1Gi" + + # GROUP 2: Light Components + # (Redis, Dex, Notifications, AppSet need very little) + - target: + kind: Deployment + name: (argocd-redis|argocd-dex-server|argocd-notifications-controller|argocd-applicationset-controller) + patch: |- + - op: add + path: /spec/template/spec/containers/0/resources + value: + requests: + cpu: "10m" + memory: "64Mi" + limits: + cpu: "200m" + memory: "256Mi" namespace: argocd diff --git a/cert-manager/application.yaml b/cert-manager/application.yaml deleted file mode 100644 index f00c42c..0000000 --- a/cert-manager/application.yaml +++ /dev/null @@ -1,31 +0,0 @@ - -# https://cert-manager.io/docs/installation/helm/#installing-from-the-oci-registry - -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: cert-manager - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: quay.io/jetstack/charts - chart: cert-manager - targetRevision: v1.19.2 - helm: - parameters: - - name: installCRDs - value: "true" - destination: - name: in-cluster - namespace: cert-manager - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/cert-manager/kustomization.yaml b/cert-manager/kustomization.yaml new file mode 100644 index 0000000..9744324 --- /dev/null +++ b/cert-manager/kustomization.yaml @@ -0,0 +1,16 @@ +namespace: cert-manager +resources: + - namespace.yaml +helmCharts: + - name: cert-manager + repo: oci://quay.io/jetstack/charts + version: v1.19.2 + releaseName: cert-manager + namespace: cert-manager + includeCRDs: true + valuesInline: + crds: + enabled: true + global: + leaderElection: + namespace: cert-manager diff --git a/cert-manager/namespace.yaml b/cert-manager/namespace.yaml new file mode 100644 index 0000000..c90416f --- /dev/null +++ b/cert-manager/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: cert-manager diff --git a/cnpg-barman-cloud-plugin/application.yaml b/cnpg-barman-cloud-plugin/application.yaml deleted file mode 100644 index 2c6ab6c..0000000 --- a/cnpg-barman-cloud-plugin/application.yaml +++ /dev/null @@ -1,22 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: cnpg-barman-cloud-plugin - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/albi005/k8s - path: cnpg-barman-cloud-plugin - destination: - name: in-cluster - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/cnpg/application.yaml b/cnpg/application.yaml deleted file mode 100644 index 37084a2..0000000 --- a/cnpg/application.yaml +++ /dev/null @@ -1,30 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: cnpg - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - # https://argo-cd.readthedocs.io/en/stable/user-guide/helm/ - # https://artifacthub.io/packages/helm/cloudnative-pg/cloudnative-pg - repoURL: https://cloudnative-pg.github.io/charts - chart: cloudnative-pg - targetRevision: 0.27.0 - helm: - # https://argo-cd.readthedocs.io/en/stable/user-guide/helm/#values - valuesObject: {} - # CNPG operator Helm chart values here - destination: - name: in-cluster - namespace: cnpg-system - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/cnpg/kustomization.yaml b/cnpg/kustomization.yaml new file mode 100644 index 0000000..efd4e6b --- /dev/null +++ b/cnpg/kustomization.yaml @@ -0,0 +1,10 @@ +namespace: cnpg-system +resources: + - namespace.yaml +helmCharts: + - name: cloudnative-pg + repo: https://cloudnative-pg.github.io/charts + version: 0.27.0 + releaseName: cnpg + namespace: cnpg-system + includeCRDs: true diff --git a/cnpg/namespace.yaml b/cnpg/namespace.yaml new file mode 100644 index 0000000..8deac4c --- /dev/null +++ b/cnpg/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: cnpg-system diff --git a/kube-prometheus-stack/application.yaml b/kube-prometheus-stack/application.yaml deleted file mode 100644 index 7d662fc..0000000 --- a/kube-prometheus-stack/application.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: kube-prom-stack - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://prometheus-community.github.io/helm-charts - chart: kube-prometheus-stack - targetRevision: 80.13.3 - helm: - valuesObject: - grafana: - additionalDataSources: - - name: Loki - type: loki - url: http://loki-gateway.monitoring.svc.cluster.local - - name: Tempo - type: tempo - url: http://tempo.monitoring.svc.cluster.local:3200 - prometheus: - prometheusSpec: - # Allow Prometheus to scrape ServiceMonitors in ANY namespace - serviceMonitorSelectorNilUsesHelmValues: false - selector: {} - destination: - name: in-cluster - namespace: monitoring - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/kube-prometheus-stack/kustomization.yaml b/kube-prometheus-stack/kustomization.yaml new file mode 100644 index 0000000..8ca4136 --- /dev/null +++ b/kube-prometheus-stack/kustomization.yaml @@ -0,0 +1,21 @@ +namespace: monitoring +helmCharts: + - name: kube-prometheus-stack + repo: https://prometheus-community.github.io/helm-charts + version: 80.13.3 + releaseName: kube-prometheus-stack + namespace: monitoring + includeCRDs: true + valuesInline: + grafana: + additionalDataSources: + - name: Loki + type: loki + url: http://loki-gateway.monitoring.svc.cluster.local + - name: Tempo + type: tempo + url: http://tempo.monitoring.svc.cluster.local:3200 + prometheus: + prometheusSpec: + serviceMonitorSelectorNilUsesHelmValues: false + selector: {} diff --git a/kustomization.yaml b/kustomization.yaml deleted file mode 100644 index 734cfa0..0000000 --- a/kustomization.yaml +++ /dev/null @@ -1,16 +0,0 @@ -resources: - - argocd/application.yaml - - cert-manager/application.yaml - - cnpg-barman-cloud-plugin/application.yaml - - cnpg/application.yaml - - kube-prometheus-stack/application.yaml - - loki/application.yaml - # - metrics-server/application.yaml - # - opentelemetry-operator/application.yaml - - startsch/application.yaml - # - prometheus/application.yaml - - tempo/application.yaml - - opentelemetry-collector/application.yaml - # - lgtm/application.yaml - # - signoz/application.yaml - # - vcluster/application.yaml diff --git a/lgtm/application.yaml b/lgtm/application.yaml deleted file mode 100644 index ddc78e2..0000000 --- a/lgtm/application.yaml +++ /dev/null @@ -1,35 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: lgtm - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://grafana.github.io/helm-charts - chart: lgtm-distributed - targetRevision: 2.1.0 - helm: - parameters: - - name: installCRDs - value: "true" - destination: - name: in-cluster - namespace: lgtm - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - ServerSideApply=true - - CreateNamespace=true - ignoreDifferences: - # k8s automatically adds these fields causing a desync. ignore - - group: apps - kind: StatefulSet - jsonPointers: - - /spec/volumeClaimTemplates/0/apiVersion - - /spec/volumeClaimTemplates/0/kind diff --git a/loki/application.yaml b/loki/application.yaml deleted file mode 100644 index 0218f19..0000000 --- a/loki/application.yaml +++ /dev/null @@ -1,106 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: loki - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://grafana.github.io/helm-charts - chart: loki - targetRevision: 6.49.0 - helm: - valuesObject: - # https://github.com/grafana/loki/blob/533b1f0ae8696a6d2b7f83e65e90337ac862f77c/production/helm/loki/single-binary-values.yaml - loki: - auth_enabled: false - commonConfig: - replication_factor: 1 - schemaConfig: - configs: - - from: "2024-04-01" - store: tsdb - object_store: s3 - schema: v13 - index: - prefix: loki_index_ - period: 24h - ingester: - chunk_encoding: snappy - tracing: - enabled: true - querier: - # Default is 4, if you have enough memory and CPU you can increase, reduce if OOMing - max_concurrent: 2 - - #gateway: - # ingress: - # enabled: true - # hosts: - # - host: FIXME - # paths: - # - path: / - # pathType: Prefix - - deploymentMode: SingleBinary - singleBinary: - replicas: 1 - resources: - limits: - cpu: 3 - memory: 4Gi - requests: - cpu: 2 - memory: 2Gi - extraEnv: - # Keep a little bit lower than memory limits - - name: GOMEMLIMIT - value: 3750MiB - - chunksCache: - # default is 500MB, with limited memory keep this smaller - writebackSizeLimit: 10MB - - # Enable minio for storage - minio: - enabled: true - - # Zero out replica counts of other deployment modes - backend: - replicas: 0 - read: - replicas: 0 - write: - replicas: 0 - - ingester: - replicas: 0 - querier: - replicas: 0 - queryFrontend: - replicas: 0 - queryScheduler: - replicas: 0 - distributor: - replicas: 0 - compactor: - replicas: 0 - indexGateway: - replicas: 0 - bloomCompactor: - replicas: 0 - bloomGateway: - replicas: 0 - destination: - name: in-cluster - namespace: monitoring - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/loki/kustomization.yaml b/loki/kustomization.yaml new file mode 100644 index 0000000..93755ca --- /dev/null +++ b/loki/kustomization.yaml @@ -0,0 +1,69 @@ +namespace: monitoring +helmCharts: + - name: loki + repo: https://grafana.github.io/helm-charts + version: 6.49.0 + releaseName: loki + namespace: monitoring + includeCRDs: true + valuesInline: + loki: + auth_enabled: false + commonConfig: + replication_factor: 1 + schemaConfig: + configs: + - from: "2024-04-01" + store: tsdb + object_store: s3 + schema: v13 + index: + prefix: loki_index_ + period: 24h + ingester: + chunk_encoding: snappy + tracing: + enabled: true + querier: + max_concurrent: 2 + deploymentMode: SingleBinary + singleBinary: + replicas: 1 + resources: + limits: + cpu: 3 + memory: 4Gi + requests: + cpu: 2 + memory: 2Gi + extraEnv: + - name: GOMEMLIMIT + value: 3750MiB + chunksCache: + writebackSizeLimit: 10MB + minio: + enabled: true + backend: + replicas: 0 + read: + replicas: 0 + write: + replicas: 0 + ingester: + replicas: 0 + querier: + replicas: 0 + queryFrontend: + replicas: 0 + queryScheduler: + replicas: 0 + distributor: + replicas: 0 + compactor: + replicas: 0 + indexGateway: + replicas: 0 + bloomCompactor: + replicas: 0 + bloomGateway: + replicas: 0 diff --git a/metrics-server/application.yaml b/metrics-server/application.yaml deleted file mode 100644 index 60bb8a5..0000000 --- a/metrics-server/application.yaml +++ /dev/null @@ -1,23 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: metrics-server - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://kubernetes-sigs.github.io/metrics-server/ - chart: metrics-server - targetRevision: 3.13.0 - destination: - name: in-cluster - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/monitoring/monitoring.yaml b/monitoring/monitoring.yaml new file mode 100644 index 0000000..d325236 --- /dev/null +++ b/monitoring/monitoring.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: monitoring diff --git a/opentelemetry-collector/application.yaml b/opentelemetry-collector/application.yaml deleted file mode 100644 index 4c3534d..0000000 --- a/opentelemetry-collector/application.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: otel-collector - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://open-telemetry.github.io/opentelemetry-helm-charts - chart: opentelemetry-collector - targetRevision: 0.143.0 - helm: - valuesObject: - mode: deployment - image: - repository: otel/opentelemetry-collector-contrib - config: - receivers: - otlp: - protocols: - grpc: - endpoint: 0.0.0.0:4317 - http: - endpoint: 0.0.0.0:4318 - - processors: - batch: {} - - exporters: - # 1. Traces -> Tempo - otlp/tempo: - endpoint: tempo.monitoring.svc.cluster.local:4317 - tls: - insecure: true - - # 2. Logs -> Loki - otlphttp/loki: - endpoint: http://loki.monitoring.svc.cluster.local:3100/otlp - tls: - insecure: true - - # 3. Metrics -> Prometheus (Remote Write is easiest) - prometheusremotewrite: - endpoint: http://kube-prom-stack-prometheus.monitoring.svc.cluster.local:9090/api/v1/write - - service: - pipelines: - traces: - receivers: [otlp] - processors: [batch] - exporters: [otlp/tempo] - metrics: - receivers: [otlp] - processors: [batch] - exporters: [prometheusremotewrite] - logs: - receivers: [otlp] - processors: [batch] - exporters: [otlphttp/loki] - destination: - name: in-cluster - namespace: monitoring - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/opentelemetry-collector/kustomization.yaml b/opentelemetry-collector/kustomization.yaml new file mode 100644 index 0000000..e7779dc --- /dev/null +++ b/opentelemetry-collector/kustomization.yaml @@ -0,0 +1,47 @@ +namespace: monitoring +helmCharts: + - name: opentelemetry-collector + repo: https://open-telemetry.github.io/opentelemetry-helm-charts + version: 0.143.0 + releaseName: opentelemetry-collector + namespace: monitoring + includeCRDs: true + valuesInline: + mode: deployment + image: + repository: otel/opentelemetry-collector-contrib + config: + receivers: + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + processors: + batch: {} + exporters: + otlp/tempo: + endpoint: tempo.monitoring.svc.cluster.local:4317 + tls: + insecure: true + otlphttp/loki: + endpoint: http://loki.monitoring.svc.cluster.local:3100/otlp + tls: + insecure: true + prometheusremotewrite: + endpoint: http://kube-prom-stack-prometheus.monitoring.svc.cluster.local:9090/api/v1/write + service: + pipelines: + traces: + receivers: [otlp] + processors: [batch] + exporters: [otlp/tempo] + metrics: + receivers: [otlp] + processors: [batch] + exporters: [prometheusremotewrite] + logs: + receivers: [otlp] + processors: [batch] + exporters: [otlphttp/loki] diff --git a/opentelemetry-operator/application.yaml b/opentelemetry-operator/application.yaml deleted file mode 100644 index 8b89f26..0000000 --- a/opentelemetry-operator/application.yaml +++ /dev/null @@ -1,22 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: opentelemetry-operator - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/albi005/k8s - path: opentelemetry-operator - destination: - name: in-cluster - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/opentelemetry-operator/kustomization.yaml b/opentelemetry-operator/kustomization.yaml deleted file mode 100644 index 7341a06..0000000 --- a/opentelemetry-operator/kustomization.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resources: - - https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml diff --git a/prometheus/application.yaml b/prometheus/application.yaml deleted file mode 100644 index b8ae2ed..0000000 --- a/prometheus/application.yaml +++ /dev/null @@ -1,22 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: prometheus - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/albi005/k8s - path: prometheus - destination: - name: in-cluster - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/prometheus/kustomization.yaml b/prometheus/kustomization.yaml deleted file mode 100644 index 430851c..0000000 --- a/prometheus/kustomization.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resources: - - https://github.com/prometheus-operator/prometheus-operator/releases/download/v0.87.1/bundle.yaml diff --git a/signoz/application.yaml b/signoz/application.yaml deleted file mode 100644 index 9685db2..0000000 --- a/signoz/application.yaml +++ /dev/null @@ -1,36 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: signoz - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://charts.signoz.io - targetRevision: 0.105.2 - chart: signoz - destination: - name: in-cluster - namespace: signoz - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true - ignoreDifferences: - # k8s automatically adds these fields causing a desync. ignore - - group: apps - kind: StatefulSet - jsonPointers: - - /spec/volumeClaimTemplates/0/apiVersion - - /spec/volumeClaimTemplates/0/kind - - group: apps - kind: Deployment - name: signoz-clickhouse-operator - jqPathExpressions: - - .spec.template.spec.containers[].env[].valueFrom.resourceFieldRef.divisor diff --git a/startsch/application.yaml b/startsch/application.yaml deleted file mode 100644 index 4f80b52..0000000 --- a/startsch/application.yaml +++ /dev/null @@ -1,22 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: startsch - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/albi005/k8s - path: startsch - destination: - name: in-cluster - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/tempo/application.yaml b/tempo/application.yaml deleted file mode 100644 index d57522d..0000000 --- a/tempo/application.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: tempo - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://grafana.github.io/helm-charts - chart: tempo - targetRevision: 1.24.1 - helm: - valuesObject: - tempo: - repository: grafana/tempo - tag: latest - # Minimal storage config for local running - storage: - trace: - backend: local - local: - path: /var/tempo/traces - destination: - name: in-cluster - namespace: monitoring - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true diff --git a/tempo/kustomization.yaml b/tempo/kustomization.yaml new file mode 100644 index 0000000..6a4ec72 --- /dev/null +++ b/tempo/kustomization.yaml @@ -0,0 +1,17 @@ +namespace: monitoring +helmCharts: + - name: tempo + repo: https://grafana.github.io/helm-charts + version: 1.24.1 + releaseName: tempo + namespace: monitoring + includeCRDs: true + valuesInline: + tempo: + repository: grafana/tempo + tag: latest + storage: + trace: + backend: local + local: + path: /var/tempo/traces diff --git a/vcluster/application.yaml b/vcluster/application.yaml deleted file mode 100644 index 4b3fd95..0000000 --- a/vcluster/application.yaml +++ /dev/null @@ -1,33 +0,0 @@ -kind: Application -apiVersion: argoproj.io/v1alpha1 -metadata: - name: my-vcluster - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - chart: vcluster - repoURL: https://charts.loft.sh - targetRevision: 0.30.4 - helm: - releaseName: vcluster-1 - destination: - name: in-cluster - namespace: vcluster-1 - syncPolicy: - automated: - prune: true - selfHeal: true - enabled: true - syncOptions: - - CreateNamespace=true - - ServerSideApply=true - ignoreDifferences: - # k8s automatically adds these fields causing a desync. ignore - - group: apps - kind: StatefulSet - jsonPointers: - - /spec/volumeClaimTemplates/0/apiVersion - - /spec/volumeClaimTemplates/0/kind