migrate: applicationsets -> argocd-apps (prod only)
This commit is contained in:
parent
a419b58efb
commit
7891389e89
43
MIGRATION.md
Normal file
43
MIGRATION.md
Normal file
@ -0,0 +1,43 @@
|
||||
# ArgoCD Apps Migration
|
||||
|
||||
## Summary
|
||||
|
||||
This repository has been converted from `applicationsets/` to `argocd-apps/`.
|
||||
|
||||
- Previous model: `ApplicationSet` manifests under `applicationsets/`
|
||||
- New model: single `Application` manifests under `argocd-apps/`
|
||||
|
||||
`applicationsets/` is now **deprecated** and has been moved to `archive/applicationsets/`.
|
||||
|
||||
## What Changed
|
||||
|
||||
For each file in `applicationsets/`, an equivalent `Application` was created in `argocd-apps/`.
|
||||
|
||||
- API kind changed from `ApplicationSet` to `Application`
|
||||
- Existing app name, project, destination server, destination namespace, repo URL, target revision, and sync policy were preserved
|
||||
- `syncOptions` includes `CreateNamespace=true`
|
||||
- `spec.syncPolicy.automated.prune` is temporarily set to `false` during takeover to avoid accidental deletions
|
||||
|
||||
## Environment Values Policy
|
||||
|
||||
This repo now references **prod-only** chart values in ArgoCD app definitions.
|
||||
|
||||
- `values-int.yaml` is no longer referenced by generated ArgoCD apps
|
||||
- Existing `values-int.yaml` files were not deleted
|
||||
- Helm apps now read values from `manifests/<app>/values.yaml`
|
||||
|
||||
## Archived Legacy Structure
|
||||
|
||||
- Old `applicationsets/` files were moved to `archive/applicationsets/`
|
||||
- `charts/` and `manifests/` remain active in place
|
||||
|
||||
## Required Root App Change
|
||||
|
||||
Update your ArgoCD root app (or app-of-apps) to point to `argocd-apps/` instead of `applicationsets/`.
|
||||
|
||||
Typical change:
|
||||
|
||||
- From: `spec.source.path: applicationsets`
|
||||
- To: `spec.source.path: argocd-apps`
|
||||
|
||||
Apply and sync the root app after this path update.
|
||||
23
archive/applicationsets/dcgm-exporter.yaml
Normal file
23
archive/applicationsets/dcgm-exporter.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: dcgm-exporter
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: ai-stack
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: charts/ollama
|
||||
helm:
|
||||
valueFiles:
|
||||
- ../../manifests/ollama/values.yaml
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: ai-stack
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
38
archive/applicationsets/eck-resources.yaml
Normal file
38
archive/applicationsets/eck-resources.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: ApplicationSet
|
||||
metadata:
|
||||
name: eck-resources
|
||||
namespace: argocd
|
||||
spec:
|
||||
generators:
|
||||
- list:
|
||||
elements:
|
||||
- env: prod
|
||||
valuesFile: values-prod.yaml
|
||||
nameSuffix: eck-prod
|
||||
host: kibana.dvirlabs.com
|
||||
- env: int
|
||||
valuesFile: values-int.yaml
|
||||
nameSuffix: eck-int
|
||||
host: kibana-int.dvirlabs.com
|
||||
template:
|
||||
metadata:
|
||||
name: '{{nameSuffix}}'
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: master
|
||||
path: charts/eck-resources
|
||||
helm:
|
||||
valueFiles:
|
||||
- my-values/{{valuesFile}}
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
30
archive/applicationsets/external-secrets-appset.yaml
Normal file
30
archive/applicationsets/external-secrets-appset.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: ApplicationSet
|
||||
metadata:
|
||||
name: external-secrets-appset
|
||||
namespace: argocd
|
||||
spec:
|
||||
generators:
|
||||
- git:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
revision: master
|
||||
directories:
|
||||
- path: manifests/external-secrets
|
||||
template:
|
||||
metadata:
|
||||
name: 'external-secret-{{path.basename}}'
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: master
|
||||
path: '{{path}}'
|
||||
directory:
|
||||
recurse: true
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
28
archive/applicationsets/prometheus-scrape-secret.yaml
Normal file
28
archive/applicationsets/prometheus-scrape-secret.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: ApplicationSet
|
||||
metadata:
|
||||
name: prometheus-scrape-secret
|
||||
namespace: argocd
|
||||
spec:
|
||||
generators:
|
||||
- list:
|
||||
elements:
|
||||
- name: prometheus-scrape-secret
|
||||
template:
|
||||
metadata:
|
||||
name: '{{name}}'
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: manifests/prometheus-scrape-secret
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
34
archive/applicationsets/rancher-monitoring-appset.yaml
Normal file
34
archive/applicationsets/rancher-monitoring-appset.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: ApplicationSet
|
||||
metadata:
|
||||
name: rancher-monitoring-appset
|
||||
namespace: argocd
|
||||
spec:
|
||||
generators:
|
||||
- list:
|
||||
elements:
|
||||
- env: prod
|
||||
valuesFile: values-prod.yaml
|
||||
nameSuffix: rancher-monitoring-prod
|
||||
host: grafana.dvirlabs.com
|
||||
template:
|
||||
metadata:
|
||||
name: '{{nameSuffix}}'
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: charts/rancher-monitoring
|
||||
helm:
|
||||
valueFiles:
|
||||
- my-values/{{valuesFile}}
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
34
archive/applicationsets/uptime-kuma.yaml
Normal file
34
archive/applicationsets/uptime-kuma.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: ApplicationSet
|
||||
metadata:
|
||||
name: uptime-kuma
|
||||
namespace: argocd
|
||||
spec:
|
||||
generators:
|
||||
- list:
|
||||
elements:
|
||||
- env: prod
|
||||
valuesFile: values-prod.yaml
|
||||
nameSuffix: uptime-kuma-prod
|
||||
host: kuma.dvirlabs.com
|
||||
template:
|
||||
metadata:
|
||||
name: '{{nameSuffix}}'
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: master
|
||||
path: charts/uptime-kuma
|
||||
helm:
|
||||
valueFiles:
|
||||
- my-values/{{valuesFile}}
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
23
argocd-apps/dcgm-exporter.yaml
Normal file
23
argocd-apps/dcgm-exporter.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: dcgm-exporter
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: ai-stack
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: charts/ollama
|
||||
helm:
|
||||
valueFiles:
|
||||
- ../../manifests/ollama/values.yaml
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: ai-stack
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
23
argocd-apps/eck-resources.yaml
Normal file
23
argocd-apps/eck-resources.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: eck-resources
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: charts/eck-resources
|
||||
helm:
|
||||
valueFiles:
|
||||
- ../../manifests/eck-resources/values.yaml
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
22
argocd-apps/external-secrets-appset.yaml
Normal file
22
argocd-apps/external-secrets-appset.yaml
Normal file
@ -0,0 +1,22 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: external-secrets-appset
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: master
|
||||
path: manifests/external-secrets
|
||||
directory:
|
||||
recurse: true
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
20
argocd-apps/prometheus-scrape-secret.yaml
Normal file
20
argocd-apps/prometheus-scrape-secret.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: prometheus-scrape-secret
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: manifests/prometheus-scrape-secret
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
23
argocd-apps/rancher-monitoring-appset.yaml
Normal file
23
argocd-apps/rancher-monitoring-appset.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: rancher-monitoring-appset
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: charts/rancher-monitoring
|
||||
helm:
|
||||
valueFiles:
|
||||
- ../../manifests/rancher-monitoring/values.yaml
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
23
argocd-apps/uptime-kuma.yaml
Normal file
23
argocd-apps/uptime-kuma.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: uptime-kuma
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: observability
|
||||
source:
|
||||
repoURL: https://git.dvirlabs.com/dvirlabs/observability-stack.git
|
||||
targetRevision: HEAD
|
||||
path: charts/uptime-kuma
|
||||
helm:
|
||||
valueFiles:
|
||||
- ../../manifests/uptime-kuma/values.yaml
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
3
manifests/eck-resources/values.yaml
Normal file
3
manifests/eck-resources/values.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
enabled: true
|
||||
env: prod
|
||||
host: kibana.dvirlabs.com
|
||||
62
manifests/rancher-monitoring/values.yaml
Normal file
62
manifests/rancher-monitoring/values.yaml
Normal file
@ -0,0 +1,62 @@
|
||||
namespaceOverride: monitoring
|
||||
|
||||
prometheus:
|
||||
prometheusSpec:
|
||||
serviceMonitorSelectorNilUsesHelmValues: false
|
||||
podMonitorSelectorNilUsesHelmValues: false
|
||||
retention: 10d
|
||||
resources:
|
||||
requests:
|
||||
memory: 400Mi
|
||||
cpu: 200m
|
||||
storageSpec:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
storageClassName: nfs-client
|
||||
resources:
|
||||
requests:
|
||||
storage: 50Gi
|
||||
additionalScrapeConfigsSecret:
|
||||
enabled: true
|
||||
name: prometheus-additional-scrape-configs
|
||||
key: additional-scrape-configs.yaml
|
||||
|
||||
grafana:
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClassName: nfs-client
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
size: 2Gi
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
hosts:
|
||||
- grafana.dvirlabs.com
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt
|
||||
tls:
|
||||
- hosts:
|
||||
- grafana.dvirlabs.com
|
||||
secretName: tls-grafana
|
||||
|
||||
envFromSecret: grafana-oidc-secret
|
||||
|
||||
grafana.ini:
|
||||
server:
|
||||
root_url: https://grafana.dvirlabs.com
|
||||
auth:
|
||||
disable_login_form: true
|
||||
disable_signout_menu: false
|
||||
auth.generic_oauth:
|
||||
enabled: true
|
||||
name: Keycloak
|
||||
allow_sign_up: true
|
||||
client_id: grafana
|
||||
client_secret: ${client_secret}
|
||||
scopes: openid profile email
|
||||
auth_url: https://keycloak.dvirlabs.com/realms/lab/protocol/openid-connect/auth
|
||||
token_url: https://keycloak.dvirlabs.com/realms/lab/protocol/openid-connect/token
|
||||
api_url: https://keycloak.dvirlabs.com/realms/lab/protocol/openid-connect/userinfo
|
||||
role_attribute_path: 'Admin'
|
||||
allow_assign_grafana_admin: true
|
||||
19
manifests/uptime-kuma/values.yaml
Normal file
19
manifests/uptime-kuma/values.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
enabled: true
|
||||
|
||||
image:
|
||||
tag: "2.0.2"
|
||||
|
||||
volume:
|
||||
enabled: true
|
||||
storageClassName: nfs-client
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 3001
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
replicaCount: 1
|
||||
Loading…
x
Reference in New Issue
Block a user