Files
homelab/infra/argocd/templates/argocd-crossplane.yaml
2025-05-21 05:53:00 -05:00

102 lines
1.9 KiB
YAML

apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: argocd-secret-crossplane
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: argocd-secret-crossplane
data:
- secretKey: authToken
remoteRef:
key: kv/argocd/provider-argocd
property: token
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: prod-kubeconfig
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: prod-kubeconfig
data:
- secretKey: kubeconfig
remoteRef:
key: kv/argocd/prd
property: kubeconfig
---
apiVersion: argocd.crossplane.io/v1alpha1
kind: ProviderConfig
metadata:
name: argocd-provider
spec:
serverAddr: argocd-server.argocd.svc:443
insecure: true
plainText: false
credentials:
source: Secret
secretRef:
namespace: argocd
name: argocd-secret-crossplane
key: authToken
---
apiVersion: cluster.argocd.crossplane.io/v1alpha1
kind: Cluster
metadata:
name: prd
labels:
purpose: prd
spec:
forProvider:
name: prd
config:
kubeconfigSecretRef:
name: prod-kubeconfig
namespace: argocd
key: kubeconfig
providerConfigRef:
name: argocd-provider
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: dev-kubeconfig
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: dev-kubeconfig
data:
- secretKey: kubeconfig
remoteRef:
key: kv/argocd/dev
property: kubeconfig
---
apiVersion: cluster.argocd.crossplane.io/v1alpha1
kind: Cluster
metadata:
name: dev
labels:
purpose: dev
spec:
forProvider:
name: dev
config:
kubeconfigSecretRef:
name: dev-kubeconfig
namespace: argocd
key: kubeconfig
providerConfigRef:
name: argocd-provider