Add app for clustersecretstore and set External secret for woodpecker harbor

This commit is contained in:
dvirlabs 2025-08-10 05:16:42 +03:00
parent ac0c66b90b
commit 7cd142ff15
10 changed files with 122 additions and 54 deletions

View File

@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cluster-secret-store-creator
namespace: argocd
spec:
project: dev-tools
source:
repoURL: https://git.dvirlabs.com/dvirlabs/dev-tools.git
targetRevision: HEAD
path: manifests/cluster-secret-store
directory:
recurse: true
destination:
server: https://kubernetes.default.svc
namespace: dev-tools
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@ -0,0 +1,15 @@
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
name: vault-cicd
spec:
provider:
vault:
auth:
tokenSecretRef:
key: token
name: vault-eso-token
namespace: dev-tools
path: cicd
server: http://vault.dev-tools.svc.cluster.local:8200
version: v2

View File

@ -0,0 +1,15 @@
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
name: vault-general-secrets
spec:
provider:
vault:
auth:
tokenSecretRef:
key: token
name: vault-eso-token
namespace: dev-tools
path: general-secrets
server: http://vault.dev-tools.svc.cluster.local:8200
version: v2

View File

@ -0,0 +1,15 @@
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
name: vault-internal-users
spec:
provider:
vault:
auth:
tokenSecretRef:
key: token
name: vault-eso-token
namespace: dev-tools
path: internal-users
server: http://vault.dev-tools.svc.cluster.local:8200
version: v2

View File

@ -0,0 +1,15 @@
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
name: vault-oidc-secrets
spec:
provider:
vault:
auth:
tokenSecretRef:
key: token
name: vault-eso-token
namespace: dev-tools
path: oidc-secrets
server: http://vault.dev-tools.svc.cluster.local:8200
version: v2

View File

@ -1,18 +0,0 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: grafana-oidc
namespace: dev-tools
spec:
refreshInterval: 1h
secretStoreRef:
name: vault-oidc-clients
kind: ClusterSecretStore
target:
name: grafana-oidc-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: oidc-clients/gitea-oidc
property: client_secret

View File

@ -1,18 +0,0 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: wikijs-db-secret
namespace: dev-tools
spec:
refreshInterval: 1h
secretStoreRef:
name: vault-general-secrets
kind: ClusterSecretStore
target:
name: wikijs-db-secret
creationPolicy: Owner
data:
- secretKey: password
remoteRef:
key: wikijs-db
property: password

View File

@ -1,18 +0,0 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: kaniko-docker-config
namespace: dev-tools
spec:
refreshInterval: 1h
secretStoreRef:
name: vault-general-secrets
kind: ClusterSecretStore
target:
name: kaniko-docker-config
creationPolicy: Owner
data:
- secretKey: config.json
remoteRef:
key: general-secrets/woodpecker-kaniko
property: config.json

View File

@ -0,0 +1,18 @@
# apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret
# metadata:
# name: kaniko-docker-config
# namespace: dev-tools
# spec:
# refreshInterval: 1h
# secretStoreRef:
# name: vault-general-secrets
# kind: ClusterSecretStore
# target:
# name: kaniko-docker-config
# creationPolicy: Owner
# data:
# - secretKey: config.json
# remoteRef:
# key: general-secrets/woodpecker-kaniko
# property: config.json

View File

@ -0,0 +1,22 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: woodpecker-harbor-creds
namespace: dev-tools
spec:
refreshInterval: 1h
secretStoreRef:
name: vault-cicd # ClusterSecretStore for CICD secrets
kind: ClusterSecretStore
target:
name: woodpecker-harbor-secret # K8s Secret that will be created
creationPolicy: Owner
data:
- secretKey: docker_username
remoteRef:
key: harbor # relative to ClusterSecretStore's path (cicd)
property: docker_username
- secretKey: docker_password
remoteRef:
key: harbor
property: docker_password