refactor: one self-contained folder per platform service
Each platform/apps/<service>/ now holds its own application.yaml (multi-source: chart + values + raw-manifest extras), values.yaml, and any extra manifests (HTTPRoute, RBAC, ClusterSecretStore) together, replacing the split apps/*.yaml + manifests/*/ + separate *-config Application pattern. Root platform-app.yaml now recurses platform/apps/*/application.yaml only. Extras get a resource-level sync-wave (1) so they still land after their service's Helm chart within the same Application sync. Also adds an HTTPRoute for vault (vault.fireflylab.local) - exposed same as every other service here, accepted as LAN-only exposure.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: harbor
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "1"
|
||||
spec:
|
||||
project: default
|
||||
sources:
|
||||
- repoURL: https://helm.goharbor.io
|
||||
chart: harbor
|
||||
targetRevision: "1.16.0" # TODO: verify latest via `helm search repo harbor/harbor --versions`
|
||||
helm:
|
||||
valueFiles:
|
||||
- $values/platform/apps/harbor/values.yaml
|
||||
- repoURL: https://gitea.fireflylab.cc/duynguyen/cluster-platform.git
|
||||
targetRevision: main
|
||||
ref: values
|
||||
- repoURL: https://gitea.fireflylab.cc/duynguyen/cluster-platform.git
|
||||
targetRevision: main
|
||||
path: platform/apps/harbor
|
||||
directory:
|
||||
exclude: "{application.yaml,values.yaml}"
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: harbor
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- SkipDryRunOnMissingResource=true
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: harbor
|
||||
namespace: harbor
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "1"
|
||||
spec:
|
||||
parentRefs:
|
||||
- name: envoy-gateway
|
||||
namespace: envoy-gateway-system
|
||||
hostnames:
|
||||
- "harbor.fireflylab.local"
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
backendRefs:
|
||||
# verify with: kubectl get svc -n harbor (nginx frontend, combines portal+core+registry)
|
||||
- name: harbor-nginx
|
||||
port: 80
|
||||
@@ -0,0 +1,30 @@
|
||||
expose:
|
||||
type: clusterIP
|
||||
tls:
|
||||
enabled: false
|
||||
|
||||
externalURL: http://harbor.fireflylab.local
|
||||
|
||||
persistence:
|
||||
imageChartStorage:
|
||||
disableRedirect: true
|
||||
type: filesystem
|
||||
filesystem:
|
||||
rootdirectory: /storage
|
||||
persistentVolumeClaim:
|
||||
registry:
|
||||
storageClass: nfs-delete
|
||||
size: 50Gi
|
||||
jobservice:
|
||||
jobLog:
|
||||
storageClass: nfs-delete
|
||||
size: 5Gi
|
||||
database:
|
||||
storageClass: nfs-delete
|
||||
size: 5Gi
|
||||
redis:
|
||||
storageClass: nfs-delete
|
||||
size: 2Gi
|
||||
trivy:
|
||||
storageClass: nfs-delete
|
||||
size: 5Gi
|
||||
Reference in New Issue
Block a user