FEAT(cert-manager): integrate cert-manager,

- vault, velero
This commit is contained in:
2025-12-29 13:42:21 +09:00
parent a39ec16b35
commit f7610c9a3e
3 changed files with 49 additions and 63 deletions

View File

@@ -1,47 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: velero
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
sources:
# Helm chart from VMware Tanzu repository
- repoURL: https://vmware-tanzu.github.io/helm-charts
chart: velero
targetRevision: 11.2.0
helm:
valueFiles:
- $values/velero/helm-values.yaml
# Values file from Git repository
- repoURL: https://gitea0213.kro.kr/bluemayne/cluster-infrastructure.git
targetRevision: main
ref: values
destination:
server: https://kubernetes.default.svc
namespace: velero
syncPolicy:
automated:
prune: true
selfHeal: true
allowEmpty: false
syncOptions:
- CreateNamespace=true
- PrunePropagationPolicy=foreground
- PruneLast=true
- ServerSideApply=true
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
revisionHistoryLimit: 10

View File

@@ -1,5 +1,52 @@
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata:
name: velero
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
sources:
- repoURL: https://vmware-tanzu.github.io/helm-charts
chart: velero
targetRevision: 11.2.0
helm:
valueFiles:
- $values/velero/helm-values.yaml
- repoURL: https://gitea0213.kro.kr/bluemayne/cluster-infrastructure.git
targetRevision: main
ref: values
destination:
server: https://kubernetes.default.svc
namespace: velero
syncPolicy:
automated:
prune: true
selfHeal: true
allowEmpty: false
syncOptions:
- CreateNamespace=true
- PrunePropagationPolicy=foreground
- PruneLast=true
- ServerSideApply=true
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
revisionHistoryLimit: 10
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata: metadata:
name: velero-ui name: velero-ui
namespace: argocd namespace: argocd
@@ -9,36 +56,29 @@ spec:
project: default project: default
source: source:
# Helm chart from OTWLD repository
repoURL: https://helm.otwld.com/ repoURL: https://helm.otwld.com/
chart: velero-ui chart: velero-ui
targetRevision: "*" # Use latest version targetRevision: "*"
helm: helm:
values: | values: |
# Image configuration
image: image:
repository: otwld/velero-ui repository: otwld/velero-ui
tag: latest tag: latest
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# Replica count
replicaCount: 1 replicaCount: 1
# Resources
resources: resources:
requests: requests:
cpu: 30m cpu: 30m
memory: 128Mi memory: 128Mi
limits: limits:
# cpu: removed to prevent throttling
memory: 256Mi memory: 256Mi
# Service configuration
service: service:
type: ClusterIP type: ClusterIP
port: 3000 port: 3000
# Environment variables
env: env:
- name: BASIC_AUTH_USERNAME - name: BASIC_AUTH_USERNAME
valueFrom: valueFrom:
@@ -52,18 +92,15 @@ spec:
key: password key: password
envFrom: [] envFrom: []
# Pod security context
podSecurityContext: podSecurityContext:
runAsNonRoot: true runAsNonRoot: true
runAsUser: 1000 runAsUser: 1000
fsGroup: 1000 fsGroup: 1000
# Container security context
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
# Service account
serviceAccount: serviceAccount:
create: true create: true
name: velero-ui name: velero-ui
@@ -79,7 +116,7 @@ spec:
allowEmpty: false allowEmpty: false
syncOptions: syncOptions:
- CreateNamespace=false # velero namespace already exists - CreateNamespace=false
- PrunePropagationPolicy=foreground - PrunePropagationPolicy=foreground
- PruneLast=true - PruneLast=true
- ServerSideApply=true - ServerSideApply=true

View File

@@ -3,11 +3,7 @@ kind: Kustomization
resources: resources:
# argocd.yaml files은 수동으로 관리 (순환 참조 방지) # argocd.yaml files은 수동으로 관리 (순환 참조 방지)
# - argocd-velero.yaml
# - argocd-ui.yaml
- namespace.yaml - namespace.yaml
# Velero credentials from Vault
- external-secret.yaml - external-secret.yaml
- vault/velero-ui-secret.yaml - vault/velero-ui-secret.yaml
- ingress.yaml - ingress.yaml