Current component deploys Harbor private docker registry link
Harbor deployment has been primarilly driven byhelm chart link. However for correct work of docker registry we need to satisfy following requirements
- TLS - docker nativelly support TLS. So harbor ingress must have a valid TLS certificate or docker daemon must be configured to accept insecure docker registry
- Storage - harbor natively support several storage backends for registry
Please refer to the deployment flavors for supported variations
Current component supports number of deployment variations
aws
: deploys harbor to AWS dmetal
: private data center or bare metal kubernetes deployment support
Enabled if cloud.kind: aws
Supports following options
- TLS options (configured via
component.tls.kind
)
letsencrypt
- if enabled then Harbor will be installed behind Traefik ingress controlleracm
(recommended) - if enabled then Harbor will exposed via ELB with TLS offload
- Storage backend (configured via
component.harbor.storage
)
local
- if enabled then Harbor will use EBS baked storage (dynamically provisioned)s3
(recommended) - if enabled then images will be stored in s3 (transitive dependency ons3
component)minio
(recommended) - if enabled then images will be stored in minio (transitive dependency onminio
component)
TLS is a must for Harbor (or any docker registry). Therefore component supports two options letsencrypt
and acm
specified by parameter component.tls.kind
. So, component expects the following to be provided:
---
parameters:
- name: component.tls.kind
value: acm
# or value: letsencrypt
Enabled if cloud.kind: metal
. Supports following options
- TLS options (configured via
component.tls.kind
). Ingress controller must passcomponent.ingress.staticIp
letsencrypt
- if enabled then Harbor will be installed behind Traefik ingress controller
- Storage backend (configured via
component.harbor.storage
)
local
- if enabled then harbor will be usinghostPath
persistent volumes (must be preprovisioned by cluster amin)minio
(recommended) - if enabled then images will be stored in minio (transitive dependency onminio
component)