added harbor app
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
# Bootstrap Application, applied once by hand (like app-of-projects.yaml
|
||||||
|
# and app-of-secretstores.yaml) — ArgoCD can't sync its own entry points.
|
||||||
|
# General-purpose spot for occasional raw Kubernetes manifests that don't
|
||||||
|
# fit the Helm-chart-per-app pattern this repo otherwise uses, and don't
|
||||||
|
# belong under secretstores/ (that one's scoped to External Secrets
|
||||||
|
# Operator resources specifically). First use: a second Ingress for
|
||||||
|
# Harbor's Tailscale hostname, since that chart has no multi-host support
|
||||||
|
# of its own to hang it off.
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: app-of-extra-manifests
|
||||||
|
namespace: argocd
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: 'http://gitea.192.168.1.7.nip.io/mukul/devops-infra-argo-config.git'
|
||||||
|
targetRevision: main
|
||||||
|
path: extra-manifests
|
||||||
|
directory:
|
||||||
|
recurse: true
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: argocd
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Harbor's chart has no multi-host mechanism at all (checked against the
|
||||||
|
# actual template — no extraHosts like argo-cd, no secondaryingress like
|
||||||
|
# jenkins). This is a standalone second Ingress routing the Tailscale
|
||||||
|
# hostname to the same backend the chart's own Ingress uses
|
||||||
|
# (harbor-core:80) — confirmed against the real rendered Service, not
|
||||||
|
# assumed.
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: harbor-ingress-tailscale
|
||||||
|
namespace: harbor
|
||||||
|
spec:
|
||||||
|
ingressClassName: contour
|
||||||
|
rules:
|
||||||
|
- host: "harbor.100.90.248.118.nip.io"
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: harbor-core
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# Vault-backed from the start, same as jenkins-admin-credentials. Key name
|
||||||
|
# matches what the chart's existingSecretAdminPasswordKey expects — see
|
||||||
|
# devops-infra-helm-charts/helm-overrides/k8s-admin-prd-ase1/harbor/custom-values.yaml.
|
||||||
|
apiVersion: external-secrets.io/v1
|
||||||
|
kind: ExternalSecret
|
||||||
|
metadata:
|
||||||
|
name: harbor-admin-credentials
|
||||||
|
namespace: harbor
|
||||||
|
spec:
|
||||||
|
refreshInterval: 1h
|
||||||
|
secretStoreRef:
|
||||||
|
name: vault-backend
|
||||||
|
kind: ClusterSecretStore
|
||||||
|
target:
|
||||||
|
name: harbor-admin-credentials
|
||||||
|
creationPolicy: Owner
|
||||||
|
data:
|
||||||
|
- secretKey: HARBOR_ADMIN_PASSWORD
|
||||||
|
remoteRef:
|
||||||
|
key: harbor/admin
|
||||||
|
property: password
|
||||||
@@ -101,4 +101,15 @@ appSpec:
|
|||||||
nameOverride: jenkins
|
nameOverride: jenkins
|
||||||
namespace: jenkins
|
namespace: jenkins
|
||||||
chartDir: jenkins
|
chartDir: jenkins
|
||||||
valuesDir: jenkins
|
valuesDir: jenkins
|
||||||
|
- name: harbor
|
||||||
|
# Fresh install (helm list -n harbor came back empty despite claude.md
|
||||||
|
# saying otherwise). nameOverride pinned for the same predictability
|
||||||
|
# reason as jenkins — rendered object names all end up prefixed with
|
||||||
|
# this (harbor-core, harbor-registry, etc.), which is also what
|
||||||
|
# Jenkins needs to reference for internal image pushes
|
||||||
|
# (harbor-core.harbor.svc.cluster.local).
|
||||||
|
nameOverride: harbor
|
||||||
|
namespace: harbor
|
||||||
|
chartDir: harbor
|
||||||
|
valuesDir: harbor
|
||||||
Reference in New Issue
Block a user