clusters/core/addons/harbor-ha-okd/values.yaml (130 lines of code) (raw):
redis:
fullnameOverride: redis
auth:
sentinel: false
existingSecret: redis-creds
existingSecretPasswordKey: REDIS_PASSWORD
master:
persistence:
size: 1Gi
replica:
persistence:
size: 1Gi
sentinel:
enabled: true
minio:
fullnameOverride: minio
mode: distributed
ingress:
enabled: true
hostname: 'minio-harbor.example.com'
annotations:
route.openshift.io/termination: edge
auth:
existingSecret: 'minio-admin-ui'
forceNewKeys: true
persistence:
size: 5Gi
provisioning:
enabled: true
buckets:
- name: harbor
usersExistingSecrets:
- centralized-minio-users
policies:
- name: harbor
statements:
- resources:
- "arn:aws:s3:::harbor"
- "arn:aws:s3:::harbor/*"
actions:
- "s3:*"
effect: "Allow"
harbor:
# we use harbor secret to consolidate all the secrets
existingSecretAdminPassword: harbor
existingSecretAdminPasswordKey: HARBOR_ADMIN_PASSWORD
existingSecretSecretKey: harbor
core:
replicas: 2
xsrfKey: "somekey"
# (FIXME) This is not yet merged and still not released
configureUserSettings: |
{
"auth_mode": "oidc_auth",
"oidc_name": "keycloak",
"oidc_endpoint": "https://keycloak.example.com/auth/realms/shared",
"oidc_client_id": "harbor",
"oidc_client_secret": "YOURSECRET",
"oidc_groups_claim": "roles",
"oidc_admin_group": "administrator",
"oidc_scope": "openid,email,profile,roles",
"oidc_auto_onboard": "true",
"oidc_user_claim": "preferred_username"
}
jobservice:
replicas: 2
secret: SomeSecret
jobLoggers:
- database
registry:
replicas: 2
credentials:
# username is defined in existingSecret below, but this value also used by jobservice, so let's align it
username: harbor_registry_user
# we use harbor secret to consolidate all the secrets
# Secret keys must be REGISTRY_PASSWD and REGISTRY_HTPASSWD. For key REGISTRY_PASSWD the value is the password.
# For key REGISTRY_HTPASSWD the value is the string in the password file generated by htpasswd where the username
# is harbor_registry_user and the encryption type is bcrypt.
# For example: `htpasswd -bBc passwordfile harbor_registry_user harbor_registry_password`. The username must be harbor_registry_user!
existingSecret: harbor
fullnameOverride: harbor
externalURL: https://registry.example.com
ipFamily:
# ipv6Enabled set to true if ipv6 is enabled in cluster, currently it affected the nginx related component
ipv6:
enabled: false
expose:
tls:
# we are behind a load balancer, so we don't need to use TLS
enabled: false
ingress:
hosts:
core: registry.example.com
harbor:
annotations:
route.openshift.io/termination: edge
# Use recreate strategy to avoid registry volume stuck in mounting status
updateStrategy:
type: Recreate
persistence:
enabled: true
resourcePolicy: "keep"
persistentVolumeClaim:
trivy:
size: 3Gi
imageChartStorage:
type: "s3"
# https://github.com/goharbor/harbor-helm/issues/1318
disableredirect: true
s3:
bucket: harbor
existingSecret: harbor-s3
regionendpoint: "http://minio.harbor.svc.cluster.local:9000"
portal:
replicas: 2
notary:
enabled: false
database:
type: external
external:
host: "harbor-primary.harbor.svc"
port: "5432"
username: "harbor"
existingSecret: "harbor-pguser-harbor"
sslmode: "require"
redis:
type: external
external:
sentinelMasterSet: "mymaster"
addr: "redis-node-0.redis-headless.harbor.svc.cluster.local:26379,redis-node-1.redis-headless.harbor.svc.cluster.local:26379,redis-node-2.redis-headless.harbor.svc.cluster.local:26379"
# https://github.com/goharbor/harbor-helm/issues/1352
# existingSecret: "harbor-redis"
# Take the value from "add-ons/harbor-ha-okd/templates/external-secrets/redis-creds.yaml" secret
password: SomeSecret
# Configuration for setting up resources in Keycloak to enable OIDC authentication.
# Prerequisite: Ensure that the Keycloak Operator is installed and integrated with Keycloak.
# Refer to the installation guide for the Keycloak Operator:
# https://github.com/epam/edp-cluster-add-ons/tree/main/clusters/core/addons/keycloak-operator
#
# Additionally, necessary Keycloak resources such as realms, roles, and groups must be created
# to support component functionality. This can be done using the provided add-ons or manually:
# https://github.com/epam/edp-cluster-add-ons/tree/main/clusters/core/addons/kuberocketci-rbac
oidc:
enabled: false
# This section enables configuration for using External Secrets Operator (ESO) as the secret manager.
# Prerequisite: Ensure that ESO is installed in the cluster.
# Refer to the EDP cluster add-on for ESO installation and setup:
# https://github.com/epam/edp-cluster-add-ons/tree/main/clusters/core/addons/external-secrets
#
# Ensure that you have created the necessary roles for ESO integration.
# Follow the detailed instructions here:
# https://docs.kuberocketci.io/docs/operator-guide/secrets-management/external-secrets-operator-integration#aws-parameter-store-scenario-in-kuberocketci
eso:
# -- Install components of the ESO.
enabled: true
# -- Defines provider type. One of `aws` or `generic`.
type: "aws"
# -- Defines Secret Store name.
secretStoreName: "aws-parameterstore"
# -- Value name in AWS ParameterStore, AWS SecretsManager or other Secret Store.
secretName: "/infra/core/addons/harbor-ha-okd"
# -- Role ARN for the ExternalSecretOperator to assume.
roleArn: arn:aws:iam::012345678910:role/AWSIRSA_Shared_ExternalSecretOperatorAccess
# Defines Secret Store configuration. Used when eso.type is set to "generic".
generic:
secretStore:
# -- Defines SecretStore provider configuration.
providerConfig: {}
# gcpsm:
# projectID: "alphabet-123"