feat: migrate CSI drivers to dedicated storage project (#45)

- Migrate csi-cephfs from Terraform to ArgoCD
- Migrate csi-cephrbd from Terraform to ArgoCD
- Create dedicated storage project and ApplicationSet for CSI drivers
- Add csi-* pattern matching in storage ApplicationSet
- Remove CSI apps from platform project to separate concerns

Reviewed-on: #45
This commit was merged in pull request #45.
This commit is contained in:
2026-03-19 01:29:31 +11:00
parent 06a8f98b5c
commit 90f793464b
16 changed files with 394 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: storage-apps
namespace: argocd
spec:
generators:
- git:
repoURL: https://git.unkin.net/unkin/argocd-apps
revision: HEAD
directories:
- path: apps/overlays/*/csi-*
template:
metadata:
name: 'storage-{{path[3]}}' # cluster-app format (e.g., storage-csi-cephfs)
spec:
project: storage
source:
repoURL: https://git.unkin.net/unkin/argocd-apps
targetRevision: HEAD
path: '{{path}}'
destination:
server: https://kubernetes.default.svc
namespace: '{{path[3]}}' # Use directory name as namespace
syncPolicy:
automated:
prune: true
selfHeal: true
+32
View File
@@ -0,0 +1,32 @@
---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: storage
namespace: argocd
spec:
description: Storage infrastructure and CSI drivers
sourceRepos:
- https://git.unkin.net/unkin/argocd-apps
- https://ceph.github.io/csi-charts
destinations:
- namespace: 'csi-*'
server: https://kubernetes.default.svc
clusterResourceWhitelist:
- group: ''
kind: Namespace
- group: 'rbac.authorization.k8s.io'
kind: ClusterRole
- group: 'rbac.authorization.k8s.io'
kind: ClusterRoleBinding
- group: 'apiextensions.k8s.io'
kind: CustomResourceDefinition
- group: 'storage.k8s.io'
kind: StorageClass
- group: 'storage.k8s.io'
kind: CSIDriver
- group: 'scheduling.k8s.io'
kind: PriorityClass
namespaceResourceWhitelist:
- group: '*'
kind: '*'