Управляемый реестр контейнеров Harbor

Harbor — это доверенный cloud-native-реестр с открытым исходным кодом для хранения, подписывания и сканирования содержимого.

Предварительные требования

The Cozystack Harbor app stores its registry data exclusively in S3-compatible object storage: the chart pins the registry backend to S3 and exposes no filesystem option. That bucket is provisioned through COSI (objectstorage.k8s.io) from a SeaweedFS deployment, so before deploying Harbor the tenant must have SeaweedFS available — enabled on the same tenant or inherited from a parent tenant (the resolved class is propagated down the tenant tree, surfaced as the namespace.cozystack.io/seaweedfs namespace label).

Включите SeaweedFS, задав seaweedfs: true для tenant (или родительского tenant):

seaweedfs: true

Если в цепочке tenants нет объектного хранилища, Harbor не может подготовить бакет реестра: ресурсы <release>-registry типов BucketClaim/BucketAccess так и не создают Secret с учетными данными <release>-registry-bucket, поэтому HelmRelease Harbor не может перейти в согласованное состояние и ожидает BucketInfo.

Параметр storageClass помечен в схеме чарта как неизменяемый. Описание контракта и список компонентов, обеспечивающих его соблюдение, приведены в docs/storage-immutability.md.

Параметры

Общие параметры

ИмяОписаниеТипЗначение
hostИмя хоста для внешнего доступа к Harbor (по умолчанию используется поддомен ‘harbor’ хоста tenant).string""
storageClassStorageClass для хранения данных.string""

Настройка компонентов

ИмяОписаниеТипЗначение
coreКонфигурация основного API-сервера.object{}
core.resourcesЯвная конфигурация CPU и памяти. Если параметр не задан, применяется пресет, указанный в resourcesPreset.object{}
core.resources.cpuКоличество выделенных ядер CPU.quantity""
core.resources.memoryОбъем выделенной памяти.quantity""
core.resourcesPresetПресет ресурсов по умолчанию, используемый, если параметр resources не задан.stringt1.small
registryКонфигурация реестра образов контейнеров.object{}
registry.resourcesЯвная конфигурация CPU и памяти. Если параметр не задан, применяется пресет, указанный в resourcesPreset.object{}
registry.resources.cpuКоличество выделенных ядер CPU.quantity""
registry.resources.memoryОбъем выделенной памяти.quantity""
registry.resourcesPresetПресет ресурсов по умолчанию, используемый, если параметр resources не задан.stringt1.small
jobserviceКонфигурация сервиса фоновых заданий.object{}
jobservice.resourcesЯвная конфигурация CPU и памяти. Если параметр не задан, применяется пресет, указанный в resourcesPreset.object{}
jobservice.resources.cpuКоличество выделенных ядер CPU.quantity""
jobservice.resources.memoryОбъем выделенной памяти.quantity""
jobservice.resourcesPresetПресет ресурсов по умолчанию, используемый, если параметр resources не задан.stringt1.nano
trivyКонфигурация сканера уязвимостей Trivy.object{}
trivy.enabledВключение или отключение сканера уязвимостей.booltrue
trivy.sizeРазмер постоянного тома для кэша базы данных уязвимостей.quantity5Gi
trivy.resourcesЯвная конфигурация CPU и памяти. Если параметр не задан, применяется пресет, указанный в resourcesPreset.object{}
trivy.resources.cpuКоличество выделенных ядер CPU.quantity""
trivy.resources.memoryОбъем выделенной памяти.quantity""
trivy.resourcesPresetПресет ресурсов по умолчанию, используемый, если параметр resources не задан.stringt1.nano
databaseКонфигурация базы данных PostgreSQL.object{}
database.sizeРазмер постоянного тома для хранения базы данных.quantity5Gi
database.replicasКоличество экземпляров базы данных.int2
redisКонфигурация кэша Redis.object{}
redis.sizeРазмер постоянного тома для хранения кэша.quantity1Gi
redis.replicasКоличество реплик Redis.int2
Last modified 2026-07-30: translate 1.6 (a593638)