cozystack/packages/system
Andrei Kvapil 7ff5b2ba23
[harbor] Add managed Harbor container registry (#2058)
## What this PR does

Adds Harbor v2.14.2 as a managed tenant-level container registry service
in the PaaS bundle.

**Architecture:**

- Wrapper chart (`apps/harbor`) — HelmRelease, Ingress,
WorkloadMonitors, BucketClaim, dashboard RBAC
- Vendored upstream chart (`system/harbor`) from helm.goharbor.io
v1.18.2
- System chart (`system/harbor`) provisions PostgreSQL via CloudNativePG
and Redis via redis-operator
- ApplicationDefinition (`system/harbor-rd`) for dynamic `Harbor` CRD
registration
- PackageSource and paas.yaml bundle entry for platform integration

**Key design decisions:**

- Database and Redis provisioned via CPNG and redis-operator (not
internal Helm-based instances) for reliable day-2 operations
- Registry image storage uses S3 via COSI BucketClaim/BucketAccess from
namespace SeaweedFS
- Trivy vulnerability scanner cache uses PVC (S3 not supported by
vendored chart)
- Token CA key/cert persisted across upgrades via Secret lookup
- Per-component resource configuration (core, registry, jobservice,
trivy)
- Ingress with TLS via cert-manager, cloudflare issuer type handling,
proxy timeouts for large image pushes
- Auto-generated admin credentials persisted across upgrades

**E2E test:** Creates Harbor instance, verifies HelmRelease readiness,
deployment availability, credentials secret, service port, then cleans
up.

### Release note

```release-note
[harbor] Add managed Harbor container registry as a tenant-level service
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added Harbor container registry deployment with integrated Kubernetes
support, including database and cache layers.
  * Enabled metrics monitoring via Prometheus integration.
  * Configured dashboard management interface for Harbor administration.

* **Tests**
  * Added end-to-end testing for Harbor deployment and verification.

* **Chores**
  * Integrated Harbor into the platform's application package bundle.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-18 13:54:26 +01:00
..
application-definition-crd refactor(api): rename CozystackResourceDefinition to ApplicationDefinition 2026-01-15 22:35:56 +01:00
backup-controller Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
backupstrategy-controller Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
bootbox refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
bootbox-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
bucket Prepare release v1.0.0-beta.3 2026-02-11 06:13:35 +00:00
bucket-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
capi-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
capi-providers-bootstrap refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
capi-providers-core refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
capi-providers-cpprovider refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
capi-providers-infraprovider refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
cert-manager refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
cert-manager-crds refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
cert-manager-issuers refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
cilium fix(kilo): use official kilo image and clean up cilium-kilo config 2026-02-17 22:17:38 +01:00
cilium-networkpolicy refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
clickhouse-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
clickhouse-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
cluster-autoscaler feat(cluster-autoscaler): enable enforce-node-group-min-size by default 2026-02-14 11:42:52 +01:00
clustersecret-operator Add clustersecret-operator system package 2026-02-10 22:47:20 +05:00
coredns fix coredns serviceaccount to match kubernetes bootstrap rbac 2026-02-02 15:32:50 +01:00
cozy-proxy refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
cozystack-api Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
cozystack-basics refactor: rename mysql application to mariadb 2026-02-12 15:15:20 +01:00
cozystack-controller Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
dashboard Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
etcd-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
etcd-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
external-dns refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
external-secrets-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
flux-plunger Fix pre-commit check 2026-01-20 03:24:32 +01:00
fluxcd refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
fluxcd-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
foundationdb-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
foundationdb-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
gateway-api-crds refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
goldpinger refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
gpu-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
grafana-operator Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
harbor fix(harbor): set UTF-8 encoding and locale for CNPG database 2026-02-18 11:26:58 +03:00
harbor-rd feat(harbor): switch registry storage to S3 via COSI BucketClaim 2026-02-18 01:23:02 +03:00
hetzner-robotlb refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
http-cache-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
info-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
ingress-nginx refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
ingress-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
kafka-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
kafka-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
kamaji Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
keycloak refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
keycloak-configure [keycloak-configure] Fix kubernetes client creation 2026-02-10 00:48:51 +03:00
keycloak-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
kilo fix(kilo): use official kilo image and clean up cilium-kilo config 2026-02-17 22:17:38 +01:00
kubeovn Update Kube-OVN to v1.15.3 2026-02-10 22:16:11 +01:00
kubeovn-plunger Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
kubeovn-webhook Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
kubernetes-rd [kubernetes] show Service and Ingress resources for kubernetes app in dashboard 2026-01-26 18:13:06 +05:00
kubevirt refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
kubevirt-cdi refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
kubevirt-cdi-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
kubevirt-csi-node Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
kubevirt-instancetypes refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
kubevirt-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
lineage-controller-webhook Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
linstor Prepare release v1.0.0-beta.3 2026-02-11 06:13:35 +00:00
linstor-scheduler fix(linstor-scheduler): strip distribution suffix from Kubernetes version 2026-01-30 23:12:22 +03:00
local-ccm Update local-ccm v0.3.0 2026-02-10 20:19:03 +01:00
mariadb-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
mariadb-rd refactor: rename mysql application to mariadb 2026-02-12 15:15:20 +01:00
metallb Prepare release v1.0.0-alpha.1 2026-01-15 23:32:41 +00:00
metrics-server refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
mongodb-operator Fix pre-commit check 2026-01-20 03:24:32 +01:00
mongodb-rd [mongodb] Fix pre-commint check 2026-02-11 07:06:31 +01:00
monitoring Add monitoring for NATs 2026-02-17 22:54:12 +01:00
monitoring-agents [monitoring] Fix YAML parse error in monitoring-agents vmagent template 2026-02-12 00:22:18 +01:00
monitoring-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
multus refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
nats Add monitoring for NATs 2026-02-17 22:54:12 +01:00
nats-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
nfs-driver refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
objectstorage-controller Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
opencost Fix pre-commit check 2026-01-20 03:24:32 +01:00
piraeus-operator Move CRDs installation logic to piraeus-operator-crds chart 2026-02-11 22:54:56 +01:00
piraeus-operator-crds Move CRDs installation logic to piraeus-operator-crds chart 2026-02-11 22:54:56 +01:00
postgres-operator fix(postgres-operator): correct PromQL syntax in CNPGClusterOffline alert 2026-02-04 11:03:04 +01:00
postgres-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
prometheus-operator-crds refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
qdrant [qdrant] Add Qdrant vector database application 2026-02-06 13:30:58 +03:00
qdrant-rd [qdrant] Add Qdrant vector database application 2026-02-06 13:30:58 +03:00
rabbitmq-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
rabbitmq-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
redis-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
redis-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
reloader refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
seaweedfs Prepare release v1.0.0-beta.6 2026-02-17 22:36:40 +00:00
seaweedfs-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
snapshot-controller refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
tcp-balancer-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
telepresence refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
tenant-rd [tenant] remove isolated flag and enforce isolation 2026-01-21 17:07:08 +05:00
velero [backups] Add kubevirt plugin to velero 2026-02-10 17:49:44 +03:00
vertical-pod-autoscaler Post upgrade fixes for v1.0 packagesources 2026-01-28 20:08:35 +03:00
vertical-pod-autoscaler-crds refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
victoria-metrics-operator refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
virtualprivatecloud-rd feat(vpc): migrate subnets definition from map to array format 2026-02-15 21:34:19 +01:00
vm-disk-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
vm-instance-rd feat(vm-instance): port cpuModel, instancetype switching, and runStrategy changes 2026-02-14 03:02:41 +01:00
vpn-rd refactor(labels): remove cozystack.io/ui label 2026-01-19 13:59:29 +01:00
vsnap-crd refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
Makefile refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00