Releases: goharbor/harbor-operator
v1.1.1
Changelog
fdef8ca bump up harbor v2.3.3
898d980 ci(readme): update readme
301bc63 doc(tutorial):update the outdated guides info
704ced9 fix RELEASE_VERSION in docker image
ea87115 fix chart image version
e5d19d1 fix(openshift): add support for openshift (#778)
dc90792 fix(sample) minimal_stack_fs.yaml
18b73a6 revert(lb) revert loadblance from 1.0
Docker images
docker pull goharbor/harbor-operator:v1.1.1
docker pull ghcr.io/goharbor/harbor-operator:v1.1.1
Deployment manifests
kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.1.1/manifests/cluster/deployment.yaml
(install harbor-operator)kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.1.1/manifests/samples/full_stack.yaml
(install full stack sample)
v1.1.0
Changes
- Support deploying Harbor v2.3
- Support Kubernetes version 1.21
- Upgrade ingress version to v1
- Refine CRD definitions to provide consistent database, storage, and cache configuration spec (introduce new CRD version
v1beta1
) - Support applying day2 configuration with CRD-based declaration way
- Support exposing Harbor services with the load balancer (has issue #755)
- Expose additional configuration options for S3 storage
- Logging in a consistent format
- Extend supporting versions of underlying operators (PostgreSQL, Redis, and Minio)
- Fix bugs and do improvements (see more details in changelog)
Changelog
5c925d3 Doc/update related docs (#609)
e5e4d2f Docs/tutorials registry (#606)
d54eaeb add POSTGRES_SECRETS_TEMPLATE in container ENV (#718)
852a3d0 add contour support (#651)
112e363 add harborcluster validator
92439b6 add kustomize
2c80a32 add mutation
9084bb8 add v1beta1 sample
53ca0ac doc(Development): Remove cert-manager deployment (#735)
36567d3 doc(README):update README to reflect latest changes (#740)
047072b doc(Readme): add release plan sections
a560052 doc(backup):add notes to the backup docs (#632)
c9ead7d doc(by-helm-chart):update image version
1f6d18f doc(by-helm-chart):update image version
f8a9f57 doc(by-helm-chart):update image version
58cf14a doc(by-helm-chart):update image version
ba4e811 doc(console):add doc for enabling minio console (#618)
9b2fa07 doc(installation):add doc for custimizing storage,db and cache (#623)
b2b0fd7 doc(pg) add postgres backup doc (#534)
7737964 doc(readme): update versioning and compatibility matrix (#675)
cca0a85 fix doc
5abfbdc fix go version in CI charts
f80845d fix json unmarshal bug (#747)
d3d7cac fix k8s version (#709)
6195bc8 fix(Makefile): fix kubebuilder installation
f5054e8 fix(ci) image in kustomization.yaml
599e7a1 fix(ci) support certmanager 1.4 (#697)
0592321 fix(config):handle empty redis password (#625)
69527e6 fix(configuration): clean status reason when reconcile success (#752)
8e3ad45 fix(configuration): missing extended fields (#746)
6a67475 fix(crd) remove useless EncryptionKeyRef
0f24976 fix(crd) remove useless samples (#614)
055b6b5 fix(database) set ref pg secret owner (#662)
fcda8e2 fix(database,redis): fix harbor
991031a fix(helm): crds
f344706 fix(ingress): ingress nil panic
74aba7e fix(openshift): fix issue 698 (#721)
8481e68 fix(samples):revise errors in sample manifest (#624)
241271d fix(storage): add s3 swift
12815e6 fix(version) notaryserver.go (#656)
db72477 fix: add fileSystem
cc9952e fix: add missing component spec copy for exporter
5b19aab fix: append slash to the end of ingress path (#702)
678182a fix: helm charts
c6e2642 fix: let backend port in notary ingress depend on internal tls (#744)
af83486 fix: let jobservice of exporter be optional (#722)
daeb48b fix: remove the scale subresource for registry resource (#628)
89ee304 fix: remove ttl for job of creating bucket (#694)
a0db41f optimization of log consist (#689)
6dcbdc9 refactor: create the minio bucket by the job (#620)
eee0d9f refactor: refact crd based harborconfiguration (#748)
6208eb3 sys(stale): add stale configurations
20072ed update version
0a03139 upgrade certmanger (#665)
de9c415 upgrade kind
648ae48 upgrade minio to latest version
Docker images
docker pull goharbor/harbor-operator:v1.1.0
docker pull ghcr.io/goharbor/harbor-operator:v1.1.0
Deployment manifests
kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.1.0/manifests/cluster/deployment.yaml
(install harbor-operator)kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.1.0/manifests/samples/full_stack.yaml
(install full stack sample)
Known issues
See the known issues from here.
v1.0.1
Changelog
fd7f32c Cherry pick of #668 (#671)
c46e199 add contour support (#659)
907f12d doc(readme): update versioning and compatibility matrix (#675)
885b98c fix(database) set ref pg secret owner (#662) (#669)
c59f620 fix(version) notaryserver.go (#657)
Docker images
docker pull goharbor/harbor-operator:v1.0.1
docker pull ghcr.io/goharbor/harbor-operator:v1.0.1 (mirror)
Deployment manifests
kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.0.1/manifests/cluster/deployment.yaml
(install harbor-operator)kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.0.1/manifests/samples/full_stack.yaml
(install full stack sample)
v1.0.0
We’re pleased to announce that the Harbor Operator v1.0.0 is now GA !! This provides a more flexible and resilient way to deploy and manage a full Harbor service including both the Harbor service components and its relevant dependent services such as database, cache, and storage services.
Highlights:
- Provides high customizability in deployment stack (identified by HarborCluster CR)
- Minimal stack: provisions core components such as Harbor Core, Registry, Registry Controller, Job Service and Web Portal only
- Standard stack: provisions optional components such Notary, Trivy, ChartMuseum and Metrics Exporter
- Full stack: provisions related dependent services including the database (PostgreSQL), cache (Redis) and storage (MinIO)
- Supports configuring either external or in-cluster deployed dependent services
- Supports a variety of backend storage configurations
- filesystem: A storage driver configured to use a directory tree in a Kubernetes volume.
- s3: A driver storing objects in an Amazon S3 bucket.
- swift: A driver storing objects in Openstack Swift.
- Supports updating the deployed Harbor cluster
- Allows configuring replicas of individual components
- Support in place upgrades
- Deletes all the linked resources when deleting the Harbor cluster
- Configures Harbor system settings with ConfigMap in a declarative way
- Support services exposed with ingress (validated Nginx, GCE, NSX NCP)
Changelog
a560052 doc(backup):add notes to the backup docs (#632)
2bbc176 feat: set ttlSecondsAfterFinished for job of init bucket (#631)
2d63325 feature(doc): backup minio data (#627)
b2b0fd7 doc(pg) add postgres backup doc (#534)
Docker images
docker pull goharbor/harbor-operator:v1.0.0
docker pull ghcr.io/goharbor/harbor-operator:v1.0.0
(mirror)
Deployment manifests
kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.0.0/manifests/cluster/deployment.yaml
(full stack harbor operator)kubectl apply -f https://raw.githubusercontent.com/goharbor/harbor-operator/v1.0.0/manifests/harbor/deployment.yaml
(standard harbor operator)
Helm chart
- harbor-operator-v1.0.0.tgz (standard harbor operator))
v1.0.0-rc2
Changelog
5c925d3 Doc/update related docs (#609)
e5e4d2f Docs/tutorials registry (#606)
ba4e811 doc(console):add doc for enabling minio console (#618)
9b2fa07 doc(installation):add doc for custimizing storage,db and cache (#623)
cca0a85 fix doc
0592321 fix(config):handle empty redis password (#625)
6a67475 fix(crd) remove useless EncryptionKeyRef
0f24976 fix(crd) remove useless samples (#614)
8481e68 fix(samples):revise errors in sample manifest (#624)
daeb48b fix: remove the scale subresource for registry resource (#628)
6dcbdc9 refactor: create the minio bucket by the job (#620)
0ecf702 update default tag version to v1.0.0
Docker images
docker pull goharbor/harbor-operator:v1.0.0-rc2
v1.0.0-rc1
Changelog
a13e7ff Fix NCP ingress issues
df70168 Make PostgreSQL secrets name template configurable (#575)
1a21a13 add chart for harborcluster
218d27e add other dependencies in sample yaml
25b539b add sentinel support for chartmuseum
e738f78 bump up operator 4.0.6
e50adfe clean up code (#557)
22aef76 doc(README): add status badges
d07de09 doc(README): refresh the doc structure (#543)
ea8fe8a doc(config) add resource-configurations.md (#583)
157bf76 doc(tutorial): draft tutorial doc (#580)
9b54327 enable errorlint
6463810 enable funlen
06b89bd enable github security scan
c9a15e5 enable gomnd
5f5a06b enable gosec
7f5bcef enable wsl
b31cde7 fix (ingress) Use of portal controller const
1fa74d1 fix ci for cluster-operator
377f5a0 fix cluster sample yaml
972b77c fix compile openapiv2
cc90ebf fix compile openapiv2
5ff36c0 fix const DefaultAllowedRegistryTypesForProxyCache
fedd001 fix coreurl mismatch
27698e4 fix database user
942d118 fix docs
3a69146 fix encrypt key length to 16
624d377 fix full_stack.yaml
297c04f fix golanglint goerr113 (#558)
3d547df fix kustomize configuration
5ba1a57 fix most golint
cb38676 fix registry s3 secret
3c17809 fix spec.imageChartStorage.filesystem.chartPersistentVolume optional
e3b17a0 fix(Ingress) API version
c66fa2a fix(Makefile):remove certmanager from target run
3daf943 fix(ci) Disable parallel tests
0ef6584 fix(ci) github token is not must
0ebd267 fix(ci) kubectl logs
8929acc fix(ci): fix generated files missing
ffa1f5e fix(ci): fix golint check
41b8eda fix(config):update config manifests
ded816d fix(controller) apply harborcluster fail
457647e fix(controller):use context from cluster reconciler
b1614df fix(ctrl):update cluster ctrl for status timestamp
57461ef fix(ctrl):update harbor ctrl to fix #275
4c8fee3 fix(database) add postgre-operator api file
e75c7d8 fix(database) add psql- prefix to database pod name
32049bc fix(database) failed to initialize database core
33e8b7e fix(database) failed to initialize database core
9d8e3dc fix(database) fix golint issue
6e2122f fix(database) fix postgres health check ping operation was canceled
ceb4d19 fix(database) psql service health check failed
9752dfc fix(database) psql service health check failed
699fb61 fix(database) the core and notary pods cannot start up
125a567 fix(harbor class) Close #399
be8e910 fix(harborcluster): fix harborcluster controller reconcile. (#541)
7f62810 fix(harborcluster): improve the get -o printing columns (#547)
62fa943 fix(image):allow image customization
796c6d3 fix(ingress) ncp portal path (#571)
e531143 fix(kustomization):rm minio console deployment (#585)
f6127df fix(lcm): fix redis controller service labels
daf80c7 fix(minio): fix minio resource name
d3776a3 fix(minio):add an empty healthchecker for storage
5248131 fix(minio):fix operator exit issue
ed63909 fix(minio):fix storage redirect issue
f671573 fix(minio):fix the issue if missing ingress
b9d0507 fix(minio):update svcconfig getter
d71a873 fix(network policies) RBAC
3066ae5 fix(network policies) controller watch
e73fbd8 fix(network policies) reviewer comment
7346bbd fix(notary) cert name too long
9207c54 fix(pg) Psql credential secret NOT FOUND error
4828038 fix(pg) add pg default resource config (#579)
9606f48 fix(pg) add postgress kb annotation and comments (#559)
7333ccf fix(pg) harbor cluster pg status unknow
187c0de fix(pg) remove pg default resource define (#545)
6e75341 fix(pg) remove pg status check
802a926 fix(psql):use consistent name for psql resources
c43e178 fix(rbac): fix rbac issue of cluster ctrl
aac4497 fix(rbac):fix rbac issue of harborcluster cr
e1f2d0b fix(rbac):update rbac settings of harborcluster ctrl
464ed1f fix(redis): keep redis pvc after harbor cluster delete
3c20164 fix(redis-controller): fix npe issue and some logic error
c6bfc6c fix(statue): fix statue not update
06ed85e fix(status): fix statue not update
7cc3271 fix(status): fix statue not update
0e8be4c fix(status): fix statue not update
1d2d44c fix(status): fix statue not update
729768c fix(storage): fix go lint
241b44b fix(storage): fix minio error tls
56cc963 fix(storage): fix minio ingress port
eab364e fix(storage): fix nil pointer error
ae5ce1c fix(storage): fix s3 secret endpoint
286e457 fix(storage): go lint
bc68104 fix(storage): ingress anno and certificate
3f5c55c fix(storage): refine some definitions
ccd96de fix(storage): remove storage health check
95c27b7 fix(storage): update dependence
c10ec68 fix(storage):add prefix for minio related resource
ca3232b fix(storage):certificateRef validation failed
88f1936 fix(storage):fmt
d954eda fix(storage):remove cluster dep
988416c fix(storage):rm cluster dependency
51971df fix(storage):storage spec mismatch
742bd9d fix(storage):update certificateRef filed
6e9fede fix(typo)
fe746f4 fix(webhook):reduce duplicated code in webhook
ff824c8 fix(webhook):refactor cluster webhook check and update cluster deployment manifest
c725314 fix(webhook):register webhook in single thread
68c1e7a fix(webhook):revise in-cluster storage webhook (#593)
8183495 fix(webhook):update harbor cr webhook
4b9230e fix: add log name for lcm controller
37ea862 fix: add predicate for harbor cluster controller to resolve reconcile cycle
7f03b59 fix: add redis spec kb comments anno and comments and remove useless fields (#560)
0394939 fix: add suffix name redis for cache cr
1d7a328 fix: adjust lcm controller interface, first params use ctx
4b2d90e fix: apply component spec to trvy deployment
3a9f4e8 fix: cache and database use specify storageclass
50b4961 fix: change all references of cert-manager to v1
1ecd07c fix: ci error
bd88c9e fix: correct GetImage when the respository is empty
ad849dc fix: correct get image for minio
e04da2c fix: correct the component spec when get jobservice cr
6b1c4d8 fix: correct the image in the cluster deployment.yaml
cac18f3 fix: correct the resource limits for the postgres (#577)
f583809 fix: correct the validate registryctl
81431ff fix: fix full stack certs lost minio domain and minio s3 enable v4auth
e64cab1 fix: fix generated minio ingress rules backend service name
3dbad4e fix: fix incluster redis resources limit not work
a40f338 fix: fix minio redirect enable not work and cleanup ingress resource when redirect is disable
c516e3b fix: fix the s3 configuration when redirect disable is false
e4716fe fix: go lint
35ef1ef fix: go lint
12925fe fix: go lint
c14905c fix: go-lint
a0c772f fix: inject github token from operator to trivy spec
6a229c8 fix: make registryctl depend on config of registry (#594)
6710d3a fix: mark resource as unchanged when it's immutable
41cb383 fix: only expose needed ports in service of components (#551)
ae58766 fix: remove redis tls spec and set keepPVC as false
29be933 fix: requeue request when optimistic lock error found
163dcfd fix: set http header when put harbor configuration (#578)
f907821 fix: set resources of minio from spec of harbor cluster
37a23bd fix: specify nonroot uid for manager
82fb98a fix: update comments
a062462 fix: update minIO ingress
993f4e9 fix: validate notary ingress when it's enabled
6c7f50d merge fix
0517f8c merge master to develop
e26cf01 refactor(controller): one method to add mutable and immutable secret
0964eda refactor(controller):read max concurrency from config
154addb refactor(ctrl):update harbor CR ctrl
cfc6fc5 refactor(image):remove useless image locators
2b37308 refactor(lcm): reorg the lcm packages
954c461 refactor(main): refactor main.go to reduce duplicate code
9319e88 refactor(rbac):rename cluster role name
919c802 refactor(reconciler): update harbor cluster ctrl
debdc46 refactor(reconciler):update the logic of cluster ctrl
b18488a refactor(services):support concurrent cluster ctrl
6be5508 refactor: remove pg health check
ac162c6 refactor: remove redis health check
9580305 remove confusing files (#582)
bec7494 sample(harbor):add sample deployment manifests
95c7dfd sync generate files
6bce5c3 update harbor version to 2.1.2
a0607ed update some CI metrix
076f99c update(storage): update default minio resource limits and requests (#544)
236a873 update(storage): update example with minio
83975e6 update(storage):bump minio operator version to v4.0.3
Docker images
docker pull goharbor/harbor-operator:v1.0.0-rc1
v0.6.0
Changelog
0d3cdd1 Fix(reconciliation) Rework reconciliation loop. Close #131.
aa6769d fix coreurl mismatch
91f6a48 fix encrypt key length to 16
01e2ae9 fix(build) Remove vendor
ada726b fix(chartmuseum) Add secret key field to deployment env var for storage driver
fd8a56e fix(ci) Remove installation of certmanager in go-test
d3cc520 fix(ci) Use make helm-install
cc8b0c1 fix(ci) kubectl logs
8143512 fix(ci) setup go before building manager
d1464d9 fix(lint)
d420164 fix(lint)
b777b07 fix(linters)
5972178 fix(registry) Add secret key field to deployment env var for storage driver
7c3a395 fix(sample) Specify sample secret type
3157529 fix(statuscheck) Ensure conditions are ok
5750a0c fix(test) pkg/controller/
e3375a5 fix(tests)
8e545ae vendor(dependencies)
Docker images
docker pull goharbor/harbor-operator:v0.6.0
v0.6.0-rc2
Changelog
c2e809f add a registry config
71633e5 enhance CI testing 1. install harbor-operator 2. install harbor 3. curl api 4. docker push
f36e94a fix Makefile
0543296 fix golang lint
ea6e7f3 fix release docker for tag
e7030bd fix(chart) condition ingress.enable not working
2759447 fix(chart) helm generate does not add yaml comment but templated one. Fix #168
f0d30b1 fix(chart) remove dependencies
982c14a fix(ci) sync charts files
39e4fc9 fix(config) no github token
cbe764c fix(core) admin password wrong
117e1a6 fix(crd) add default namespace in kustomization.yaml
0158f4e fix(helm) Certificate issue for validation webhook
43c120c fix(makefile) kustomize install
c3f07d6 fix(notary) not shown marker
38ccdce fix(notary) signer alias key should use upper case envrionment
98cbf1a fix(trivy) failed pull image
aad6049 fix(trivy) permission failed
a624954 use kind cluster
Docker images
docker pull goharbor/harbor-operator:v0.6.0-rc2
v0.6.0-rc1
Changelog
3d19a71 Add TLS certificate
c0df2bd Add trivy deployment
7255203 Big bang
319e3e1 Deploy Trivy with an Harbor object
0af657b Fix linting
38cf6e8 Update controllers/goharbor/harbor/trivy.go
adf71df fix CI release
1f7f69c fix(Helm Chart) Use latest Kustomize version
a7f0e6f fix(Makefile) More info on CICD error
5aea757 fix(Makefile) Set kustomize build reoder legacy
c07521c fix(bug): fix core wrong cacheSecret
b36c53f fix(chart) Update service target port to match port of the pod
44fba4f fix(ci) Ensure samples are valids
8949437 fix(ci) update directory name in dockerfile fix(ci) update go version in CI/CD to match go.mod fix(ci) restore manifests target in Makefile feat(ci) update setup-go github action feat(ci) use makefile targets feat(ci) format .github files feat(makefile) Remove unused gomplate feat(makefile) Add make-lint target feat(makefile) Create binaries folder when necessary feat(dockerfile) Copy all file at once feat(dockerfile) use single make command
90339e0 fix(clair) Remove clair apis and controllers
f9c6367 fix(component): Remove Replicas default value to fix the make sample
command
f7d10bf fix(config) Implements Trivy kustomizeconfig and use config to generate chart
a24fbea fix(config) Implements Trivy kustomizeconfig and use config to generate chart
683a1cf fix(config-dev): Remove debug configurations
da9688a fix(controllers) Trim "/" from relative paths
dbc9267 fix(core) Mount token key to the right path
3c2d94a fix(core): add csrf-key environment variable. use 32 bit random string.
6ef169b fix(core): add csrf-key environment variable. use 32 bit random string.
f171418 fix(core): add csrf-key environment variable. use 32 bit random string.
06ab3a7 fix(core): fix missing _REDIS_URL
env of harbror-core
9ee1aed fix(deployments) Take care of componentSpec
2e4e65c fix(harbor) Use common password for core and chartmuseum
a12feac fix(helm chart) mount configuration templates
4fd2aee fix(ingress) Ingresses use right backend
4162aa1 fix(kubebuilder): Fix port minimum values for kubebuilder
980324e fix(kubebuilder): Fix some integers where the value 0 should be accepted for kubebuilder
0689982 fix(linter)
1a18aab fix(linter) Few fixes
402dc32 fix(linter) gci: Sort imports
64775e7 fix(linter) go mod tidy
80761d2 fix(linter) gocritic: Do not use os.Exit after deferred call
4ff5b0b fix(linter) godot: Add dot to top level comments
a6f1188 fix(linter) wsl: Add blank lines for readibility
0cfcdba fix(linters) Reduce function length
5112afa fix(linters) remove default value from enumeration type
baaa810 fix(makefile) Add controller-gen dependency to the right target
8d73b91 fix(makefile) Remove useless GITHUB_USER variable
4d82d81 fix(makefile): Set TMPDIR env variable if unset
9acae45 fix(rbac) define rbac for each controllers
ec8812c fix(registry) Take care of nil values on template
f1f8eed fix(registryctl) Add core and jobservice secret to RegistryController spec
6854e45 fix(sample) harbor use existing admin secret
224ed08 fix(sample) remove out of date sample
20d6dd7 fix(samples) Ba able to make sample-database when crds are not yet installed
c62fb9f fix(samples) Remove useless trivy secret
0408717 fix(samples) Update sample to fit crds
4fc6fcf fix(storage) Add local storage with pvc
7d0174c fix(tests) Deploy registry dependency for registryctl tests
5541862 fix(tests) Remove broken Helm tests
8979a77 fix(tests) Run yaml validator on right folders
f594b41 fix(tests) Specify github.com/googleapis/gnostic version
ced1f51 fix(tests) Support Kubernetes >= 1.16
6288612 fix(tests) fix relative crd path for go tests fix(tests) Do not start webhooks when testing controllers
db80076 fix(trivy) Add SCANNER_STORE_REDIS_URL environment variable
0409a7d fix(trivy) Add SecurityContext FSGroup for reports folder
7850d15 fix(trivy) Add external certificate authorities
238b21b fix(trivy) Remove default client CA
e1d489d fix(trivy) Remove workerConcurrency field from Trivy
1737ac6 goharbor.io/v1alpha2
e2f58f1 refactor(controllers) Move some features from controllers to pkg
9036fca specify secret type when creating it
2186cd2 vendor
a6d56b8 vendor
c92f274 vendor
da9f1d0 vendor
a9ebfeb vendor
8f2c7e7 vendor
26bd40e vendor stringer
e2fe722 wip
Docker images
docker pull goharbor/harbor-operator:v0.6.0-rc1
v0.5.2
Changelog
98b40f8 fix(status): fix ready condition in status.
5581325 fix(status): fix ready condition in status.
fb081bd fix(status): fix ready condition in status.
8656fc5 fix(status): fix ready condition in status.
047bb12 fix(cert):roll back ingress cert changes
fc7e0b0 fix: replace subpath mount by folder mount to use secret synchronization
22bb302 fix(clair):change updater interval to 1h
d219313 fix(deploy) fix kustomize controller image
8dc8ba4 fix(certificate):refactor certificates
80adf67 use own certs
ce0f2b1 fix(registry):add 'relativeurls' to config yaml
ac4cc2a fix(ingress):add missing annotations
c07521c fix(bug): fix core wrong cacheSecret
06ab3a7 fix(core): fix missing _REDIS_URL
env of harbror-core
3c2d94a fix(core): add csrf-key environment variable. use 32 bit random string.
6ef169b fix(core): add csrf-key environment variable. use 32 bit random string.
f171418 fix(core): add csrf-key environment variable. use 32 bit random string.
Docker images
docker pull goharbor/harbor-operator:v0.5.2