diff --git a/applications_sbx/infrastructure/harbor.yaml b/applications_sbx/infrastructure/harbor.yaml new file mode 100644 index 000000000..93ecbbeef --- /dev/null +++ b/applications_sbx/infrastructure/harbor.yaml @@ -0,0 +1,19 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: harbor + namespace: argocd + labels: + purpose: infra +spec: + destination: + server: https://kubernetes.default.svc + project: default + source: + path: ionos_sbx/harbor + repoURL: https://github.com/DOME-Marketplace/dome-gitops + targetRevision: HEAD + syncPolicy: + automated: + prune: true + selfHeal: true \ No newline at end of file diff --git a/ionos_sbx/harbor/Chart.yaml b/ionos_sbx/harbor/Chart.yaml new file mode 100644 index 000000000..d71349068 --- /dev/null +++ b/ionos_sbx/harbor/Chart.yaml @@ -0,0 +1,7 @@ +apiVersion: v2 +name: harbor +description: Chart holder for harbor + +type: application +version: 0.1.0 +appVersion: "2.14" \ No newline at end of file diff --git a/ionos_sbx/harbor/README.md b/ionos_sbx/harbor/README.md new file mode 100644 index 000000000..b0e37b248 --- /dev/null +++ b/ionos_sbx/harbor/README.md @@ -0,0 +1,11 @@ + +# Harbor + +Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted. + +```bash + helm repo add harbor https://helm.goharbor.io + helm repo update + kubectl create namespace harbor + helm upgrade --install -n harbor harbor/harbor -f values.yaml +``` \ No newline at end of file diff --git a/ionos_sbx/harbor/templates/postgres-sealed-secret.yaml b/ionos_sbx/harbor/templates/postgres-sealed-secret.yaml new file mode 100644 index 000000000..667378c96 --- /dev/null +++ b/ionos_sbx/harbor/templates/postgres-sealed-secret.yaml @@ -0,0 +1,12 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: harbor-db-secret + namespace: harbor-ns +spec: + encryptedData: + password: AgBE1muqB96gBtmNmerdNppA/7X5RA0QALKyKHcU0OnqSMxGIHzPO6/IM9qBK4kCabQ7u4TNKVZbpZarxvyrBBcrxAEkyaWYOYjYWC6XenAWlwIhYtDQA7ilthDA0VuCqedekhX3LvRm+9E03FfS1ooIVXwRVMUnhyniqp0LoOyCUBInQ7PUdK6sRUUyCO5+iek8pxh7l8xw9zrSh+SuT1YCFfB7nGAPRDvMA9nAr83KVdwp4a72Vv3ou2tfNRw/aayNbzau0mZ9jmk035mlvI0M1ysfGRSILDary5Q3OS/mtHsOwIXEghTQtdkGbdr4YFmF5I8jrxa3MFd8vZ/yZQhP5rhE8cGLjgiYo5Gdj9g8sJSWW/zjndJtlduIfm8klXmdQW0KsZLxXvIBzdo4qg5YXIL8419PYaIu26JJul1SG32JuD3C+HYkvO+F2aWkEWrN+/DDugxMEJooG4csx31HhbRqBxjpKq4acYrjz1bvag7BkesxJoIe33e2X9fjNvnqYfF3yfwSwjHNM5YtzgQyrQDbrTxa8AU67n7Gsjb7pTnipDH9c/RqKYAi+59kqTKibgmrnKt6OWH3hRkbhEmAaY5A0SMFdlQN1qVc7xVeOE2hVfxzmO7/JgOzoZzUx7qFF3j7Xn67zqTwjgNO7WSqVj/QOzS7jVe4FbfkQYsBC2fo4x6dbPvgBbNmxhuii6JmQlJd9nxVo/EU + template: + metadata: + name: harbor-db-secret + namespace: harbor-ns \ No newline at end of file diff --git a/ionos_sbx/harbor/values.yaml b/ionos_sbx/harbor/values.yaml new file mode 100644 index 000000000..66eb3d690 --- /dev/null +++ b/ionos_sbx/harbor/values.yaml @@ -0,0 +1,52 @@ +logLevel: debug + +expose: + type: nodePort + tls: + enabled: false + +# Persistencia para componentes +persistence: + enabled: true + resourcePolicy: "keep" + persistentVolumeClaim: + registry: + size: 40Gi + jobservice: + size: 1Gi + database: + size: 1Gi + redis: + size: 1Gi + trivy: + size: 5Gi + +# Base de datos externa +database: + type: external + external: + host: pg-75qkrjg6i4d7tlg2.postgresql.de-txl.ionos.com + port: 5432 + username: harboruser + coreDatabase: harbordb + existingSecret: harbor-db-secret + existingSecretPasswordKey: password + sslmode: require + +redis: + type: internal + +trivy: + enabled: true + +chartmesum: + enabled: true + +core: + replicaCount: 1 + +jobservice: + replicaCount: 1 + +registry: + replicaCount: 1 \ No newline at end of file