-
Notifications
You must be signed in to change notification settings - Fork 1
/
harbor-values.yaml
3088 lines (3053 loc) · 284 KB
/
harbor-values.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
## @section Global parameters
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.storageClass Global storage class for dynamic provisioning
##
global:
imageRegistry: ""
## E.g.
## imagePullSecrets:
## - myRegistryKeySecretName
##
imagePullSecrets: []
storageClass: ""
## @section Common Parameters
## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
##
nameOverride: ""
## @param fullnameOverride String to fully override common.names.fullname template with a string
##
fullnameOverride: ""
## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
##
kubeVersion: ""
## @param commonAnnotations Annotations to add to all deployed objects
##
commonAnnotations: {}
## @param commonLabels Labels to add to all deployed objects
##
commonLabels: {}
## @param extraDeploy Array of extra objects to deploy with the release (evaluated as a template).
##
extraDeploy: []
## @section Harbor parameters
## Init containers parameters:
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
##
volumePermissions:
## @param volumePermissions.enabled Enable init container that changes volume permissions in the data directory (for cases where the default k8s `runAsUser` and `fsUser` values do not work)
##
enabled: false
## @param volumePermissions.image.registry Init container volume-permissions image registry
## @param volumePermissions.image.repository Init container volume-permissions image name
## @param volumePermissions.image.tag Init container volume-permissions image tag
## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
##
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 10-debian-10-r281
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
pullSecrets: []
## - myRegistryKeySecretName
## Init containers' resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## @param volumePermissions.resources.limits The resources limits for the container
## @param volumePermissions.resources.requests The requested resources for the container
##
resources:
## Example:
## limits:
## cpu: 100m
## memory: 128Mi
limits: {}
## Examples:
## requests:
## cpu: 100m
## memory: 128Mi
requests: {}
## @param internalTLS.enabled Use TLS in all the supported containers: chartmuseum, clair, core, jobservice, portal, registry and trivy
## In order to enable https in each components tls cert files need to provided in advance.
##
internalTLS:
enabled: false
ipFamily:
## Enable listening on IPv6 ([::]) for nginx-based components (nginx,portal)
## Note that enabling ipv6 will cause nginx to crash on start on systems
## with IPv6 disabled using the `ipv6.disable` kernel flag)
## @param ipFamily.ipv6.enabled Enable listening on IPv6 ([::]) for nginx-based components (nginx,portal)
ipv6:
enabled: true
## ipv4Enabled set to true if ipv4 is enabled in cluster
## @param ipFamily.ipv4.enabled Enable listening on IPv4 for nginx-based components (nginx,portal)
ipv4:
enabled: true
## @param caBundleSecretName The custom ca bundle secret name, the secret must contain key named "ca.crt" which will be injected into the trust store for chartmuseum, clair, core, jobservice, registry, trivy components.
##
caBundleSecretName: ""
## @param externalURL The external URL for Harbor core service
## It is used to
## 1) populate the docker/helm commands showed on portal
## 2) populate the token service URL returned to docker/notary client
##
## Format: protocol://domain[:port]. Usually:
## 1) if "service.type" is "ingress", the "domain" should be
## the value of "ingress.hosts.core"
## 2) if "service.type" is "clusterIP", the "domain" should be
## the value of "service.clusterIP.name"
## 3) if "service.type" is "nodePort", the "domain" should be
## the IP address of k8s node. If Harbor is deployed behind the proxy,
## set it as the URL of proxy
##
externalURL: https://hub.chhabraharsh37.me
## SecurityContext configuration
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
## @param containerSecurityContext.runAsUser Set container's Security Context runAsUser
## @param containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
##
containerSecurityContext:
runAsUser: 1001
runAsNonRoot: true
## @param podSecurityContext.fsGroup Set pod's Security Context fsGroup
##
podSecurityContext:
fsGroup: 1001
## @param logLevel The log level used for Harbor services. Allowed values are [ fatal | error | warn | info | debug | trace ]
##
logLevel: debug
## @param forcePassword Option to force users to specify passwords (core.secret, harborAdminPassword, and secretKey). That is required for 'helm upgrade' to work properly.
## If it is not forced, random values will be generated.
##
forcePassword: false
## @param harborAdminPassword The initial password of Harbor admin. Change it from portal after launching Harbor
##
harborAdminPassword: "Harbor123"
## If expose the service via Ingress, the NGINX server will not be used
##
## The proxy settings for updating clair vulnerabilities from the Internet and replicating
## artifacts from/to the registries that cannot be reached directly
## @param proxy.httpProxy The URL of the HTTP proxy server
## @param proxy.httpsProxy The URL of the HTTPS proxy server
## @param proxy.noProxy The URLs that the proxy settings not apply to
## @param proxy.components The component list that the proxy settings apply to
##
proxy:
httpProxy: ""
httpsProxy: ""
noProxy: 127.0.0.1,localhost,.local,.internal
components:
- core
- jobservice
- clair
- trivy
## @section Traffic Exposure Parameters
## Service parameters
##
service:
## @param service.type The way how to expose the service: `Ingress`, `ClusterIP`, `NodePort` or `LoadBalancer`
##
type: LoadBalancer
## TLS parameters
##
tls:
## @param service.tls.enabled Enable the tls or not (for external access)
## Note: When type is "Ingress" and TLS is disabled, the port must be included
## in the command when pulling/pushing images.
## ref: https://github.com/goharbor/harbor/issues/5291
##
enabled: true
## @param service.tls.existingSecret Existing secret name containing your own TLS certificates. The secret must contain the keys: `tls.crt` - the certificate (required), `tls.key` - the private key (required), `ca.crt` - the certificate of CA (optional). Self-signed TLS certificates will be used otherwise.
##
existingSecret: ""
## @param service.tls.notaryExistingSecret By default, the Notary service will use the same cert and key as described above. Fill the name of secret if you want to use a separated one. Only needed when the `service.type` is `ingress`.
##
notaryExistingSecret: ""
## @param service.tls.commonName The common name used to generate the certificate, it's necessary when the `service.type` is `ClusterIP` or `NodePort` and `service.tls.existingSecret` is null
## Mandatory when "secretName" is not provided or type is not "Ingress".
##
commonName: 'hub.chhabraharsh37.me'
## Service parameters when type is "clusterIP"
##
ports:
## @param service.ports.http The service port Harbor listens on when serving with HTTP
##
http: 80
## @param service.ports.https The service port Harbor listens on when serving with HTTPS
##
https: 443
## @param service.ports.notary The service port Notary listens on. Only needed when `notary.enabled` is set to `true`
##
notary: 4443
## @param service.nodePorts [object] Service parameters when type is "nodePort"
##
nodePorts:
http: ""
https: ""
notary: ""
## @param service.loadBalancerIP Load Balancer IP
##
loadBalancerIP: ""
## @param service.annotations The annotations attached to the loadBalancer service
##
annotations: {}
## @param service.loadBalancerSourceRanges List of IP address ranges to assign to loadBalancerSourceRanges
##
loadBalancerSourceRanges: []
## @param service.externalTrafficPolicy Enable client source IP preservation
##
externalTrafficPolicy: ""
## Ingress parameters
##
ingress:
## @param ingress.enabled Deploy ingress rules
##
enabled: false
## @param ingress.pathType Ingress path type
##
pathType: ImplementationSpecific
## @param ingress.apiVersion Override ingress api version
##
apiVersion: ""
## DEPRECATED: Use ingress.annotations instead of ingress.certManager
## certManager: false
##
## @param ingress.hosts [object] The list of hostnames to be covered with this ingress record
##
hosts:
core: core.harbor.domain
notary: notary.harbor.domain
## @param ingress.controller The ingress controller type. Currently supports `default`, `gce` and `ncp`
## leave as `default` for most ingress controllers.
## set to `gce` if using the GCE ingress controller
## set to `ncp` if using the NCP (NSX-T Container Plugin) ingress controller
##
controller: default
## @param ingress.annotations [object] Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
## For a full list of possible ingress annotations, please see
## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
## Use this parameter to set the required annotations for cert-manager, see
## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
##
annotations:
ingress.kubernetes.io/ssl-redirect: 'true'
ingress.kubernetes.io/proxy-body-size: '0'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
nginx.ingress.kubernetes.io/proxy-body-size: '0'
## @section Persistence Parameters
## The persistence is enabled by default and a default StorageClass
## is needed in the k8s cluster to provision volumes dynamically.
## Specify another StorageClass in the "storageClass" or set "existingClaim"
## if you have already existing persistent volumes to use
##
## For storing images and charts, you can also use "azure", "gcs", "s3",
## "swift" or "oss". Set it in the "imageChartStorage" section
##
persistence:
## @param persistence.enabled Enable the data persistence or not
##
enabled: true
## Resource Policy
## @param persistence.resourcePolicy Setting it to `keep` to avoid removing PVCs during a helm delete operation. Leaving it empty will delete PVCs after the chart deleted
##
resourcePolicy: 'keep'
persistentVolumeClaim:
## @param persistence.persistentVolumeClaim.registry.existingClaim Use the existing PVC which must be created manually before bound, and specify the `subPath` if the PVC is shared with other components
## @param persistence.persistentVolumeClaim.registry.storageClass Specify the `storageClass` used to provision the volume. Or the default StorageClass will be used (the default). Set it to `-` to disable dynamic provisioning
## @param persistence.persistentVolumeClaim.registry.subPath The sub path used in the volume
## @param persistence.persistentVolumeClaim.registry.accessMode The access mode of the volume
## @param persistence.persistentVolumeClaim.registry.size The size of the volume
##
registry:
existingClaim: ""
storageClass: ""
subPath: ""
accessMode: ReadWriteOnce
size: 5Gi
## @param persistence.persistentVolumeClaim.jobservice.existingClaim Use the existing PVC which must be created manually before bound, and specify the `subPath` if the PVC is shared with other components
## @param persistence.persistentVolumeClaim.jobservice.storageClass Specify the `storageClass` used to provision the volume. Or the default StorageClass will be used(the default). Set it to `-` to disable dynamic provisioning
## @param persistence.persistentVolumeClaim.jobservice.subPath The sub path used in the volume
## @param persistence.persistentVolumeClaim.jobservice.accessMode The access mode of the volume
## @param persistence.persistentVolumeClaim.jobservice.size The size of the volume
##
jobservice:
existingClaim: ""
storageClass: ""
subPath: ""
accessMode: ReadWriteOnce
size: 1Gi
## @param persistence.persistentVolumeClaim.chartmuseum.existingClaim Use the existing PVC which must be created manually before bound, and specify the `subPath` if the PVC is shared with other components
## @param persistence.persistentVolumeClaim.chartmuseum.storageClass Specify the `storageClass` used to provision the volume. Or the default StorageClass will be used(the default). Set it to `-` to disable dynamic provisioning
## @param persistence.persistentVolumeClaim.chartmuseum.subPath The sub path used in the volume
## @param persistence.persistentVolumeClaim.chartmuseum.accessMode The access mode of the volume
## @param persistence.persistentVolumeClaim.chartmuseum.size The size of the volume
##
chartmuseum:
existingClaim: ""
storageClass: ""
subPath: ""
accessMode: ReadWriteOnce
size: 5Gi
## @param persistence.persistentVolumeClaim.trivy.storageClass Specify the `storageClass` used to provision the volume. Or the default StorageClass will be used(the default). Set it to `-` to disable dynamic provisioning
## @param persistence.persistentVolumeClaim.trivy.accessMode The access mode of the volume
## @param persistence.persistentVolumeClaim.trivy.size The size of the volume
##
trivy:
storageClass: ""
accessMode: ReadWriteOnce
size: 5Gi
## Define which storage backend is used for registry and chartmuseum to store
## images and charts.
## ref: https://github.com/docker/distribution/blob/master/docs/configuration.md#storage
##
imageChartStorage:
## @param persistence.imageChartStorage.caBundleSecretName Specify the `caBundleSecretName` if the storage service uses a self-signed certificate. The secret must contain keys named `ca.crt` which will be injected into the trust store of registry's and chartmuseum's containers.
##
caBundleSecretName: ""
## @param persistence.imageChartStorage.disableredirect The configuration for managing redirects from content backends. For backends which do not supported it (such as using MinIO® for `s3` storage type), please set it to `true` to disable redirects. Refer to the [guide](https://github.com/docker/distribution/blob/master/docs/configuration.md#redirect) for more information about the detail
##
disableredirect: false
## @param persistence.imageChartStorage.type The type of storage for images and charts: `filesystem`, `azure`, `gcs`, `s3`, `swift` or `oss`. The type must be `filesystem` if you want to use persistent volumes for registry and chartmuseum. Refer to the [guide](https://github.com/docker/distribution/blob/master/docs/configuration.md#storage) for more information about the detail
##
type: filesystem
## Images/charts storage parameters when type is "filesystem"
## @param persistence.imageChartStorage.filesystem.rootdirectory Filesystem storage type setting: Storage root directory
## @param persistence.imageChartStorage.filesystem.maxthreads Filesystem storage type setting: Maximum threads directory
##
filesystem:
rootdirectory: /storage
maxthreads: ""
## Images/charts storage parameters when type is "azure"
## @param persistence.imageChartStorage.azure.accountname Azure storage type setting: Name of the Azure account
## @param persistence.imageChartStorage.azure.accountkey Azure storage type setting: Key of the Azure account
## @param persistence.imageChartStorage.azure.container Azure storage type setting: Container
## @param persistence.imageChartStorage.azure.storagePrefix Azure storage type setting: Storage prefix
## @param persistence.imageChartStorage.azure.realm Azure storage type setting: Realm of the Azure account
##
azure:
accountname: accountname
accountkey: base64encodedaccountkey
container: containername
storagePrefix: /azure/harbor/charts
## Example realm
## realm: core.windows.net
##
realm: ""
## Images/charts storage parameters when type is "gcs"
## @param persistence.imageChartStorage.gcs.bucket GCS storage type setting: Bucket name
## @param persistence.imageChartStorage.gcs.encodedkey GCS storage type setting: Base64 encoded key
## @param persistence.imageChartStorage.gcs.rootdirectory GCS storage type setting: Root directory name
## @param persistence.imageChartStorage.gcs.chunksize GCS storage type setting: Chunk size name
##
gcs:
bucket: bucketname
## The base64 encoded json file which contains the gcs key (file's content)
##
encodedkey: base64-encoded-json-key-file
rootdirectory: ""
chunksize: ""
## Images/charts storage parameters when type is "s3"
## ref: https://docs.docker.com/registry/storage-drivers/s3/
## @param persistence.imageChartStorage.s3.region S3 storage type setting: Region
## @param persistence.imageChartStorage.s3.bucket S3 storage type setting: Bucket name
## @param persistence.imageChartStorage.s3.accesskey S3 storage type setting: Access key name
## @param persistence.imageChartStorage.s3.secretkey S3 storage type setting: Secret Key name
## @param persistence.imageChartStorage.s3.regionendpoint S3 storage type setting: Region Endpoint
## @param persistence.imageChartStorage.s3.encrypt S3 storage type setting: Encrypt
## @param persistence.imageChartStorage.s3.keyid S3 storage type setting: Key ID
## @param persistence.imageChartStorage.s3.secure S3 storage type setting: Secure
## @param persistence.imageChartStorage.s3.skipverify S3 storage type setting: TLS skip verification
## @param persistence.imageChartStorage.s3.v4auth S3 storage type setting: V4 authorization
## @param persistence.imageChartStorage.s3.chunksize S3 storage type setting: V4 authorization
## @param persistence.imageChartStorage.s3.rootdirectory S3 storage type setting: Root directory name
## @param persistence.imageChartStorage.s3.storageClass S3 storage type setting: Storage class
## @param persistence.imageChartStorage.s3.sse S3 storage type setting: SSE name
##
s3:
region: us-west-1
bucket: bucketname
accesskey: ""
secretkey: ""
regionendpoint: ""
encrypt: ""
keyid: ""
secure: ""
skipverify: ""
v4auth: ""
chunksize: ""
rootdirectory: ""
storageClass: ""
sse: ""
## Images/charts storage parameters when type is "swift"
## @param persistence.imageChartStorage.swift.authurl Swift storage type setting: Authentication url
## @param persistence.imageChartStorage.swift.username Swift storage type setting: Authentication url
## @param persistence.imageChartStorage.swift.password Swift storage type setting: Password
## @param persistence.imageChartStorage.swift.container Swift storage type setting: Container
## @param persistence.imageChartStorage.swift.region Swift storage type setting: Region
## @param persistence.imageChartStorage.swift.tenant Swift storage type setting: Tenant
## @param persistence.imageChartStorage.swift.tenantid Swift storage type setting: TenantID
## @param persistence.imageChartStorage.swift.domain Swift storage type setting: Domain
## @param persistence.imageChartStorage.swift.domainid Swift storage type setting: DomainID
## @param persistence.imageChartStorage.swift.trustid Swift storage type setting: TrustID
## @param persistence.imageChartStorage.swift.insecureskipverify Swift storage type setting: Verification
## @param persistence.imageChartStorage.swift.chunksize Swift storage type setting: Chunk
## @param persistence.imageChartStorage.swift.prefix Swift storage type setting: Prefix
## @param persistence.imageChartStorage.swift.secretkey Swift storage type setting: Secre Key
## @param persistence.imageChartStorage.swift.accesskey Swift storage type setting: Access Key
## @param persistence.imageChartStorage.swift.authversion Swift storage type setting: Auth
## @param persistence.imageChartStorage.swift.endpointtype Swift storage type setting: Endpoint
## @param persistence.imageChartStorage.swift.tempurlcontainerkey Swift storage type setting: Temp URL container key
## @param persistence.imageChartStorage.swift.tempurlmethods Swift storage type setting: Temp URL methods
##
swift:
authurl: https://storage.myprovider.com/v3/auth
username: ""
password: ""
container: ""
region: ""
tenant: ""
tenantid: ""
domain: ""
domainid: ""
trustid: ""
insecureskipverify: ""
chunksize: ""
prefix: ""
secretkey: ""
accesskey: ""
authversion: ""
endpointtype: ""
tempurlcontainerkey: ""
tempurlmethods: ""
## Images/charts storage parameters when type is "oss"
## @param persistence.imageChartStorage.oss.accesskeyid OSS storage type setting: Access key ID
## @param persistence.imageChartStorage.oss.accesskeysecret OSS storage type setting: Access key secret name containing the token
## @param persistence.imageChartStorage.oss.region OSS storage type setting: Region name
## @param persistence.imageChartStorage.oss.bucket OSS storage type setting: Bucket name
## @param persistence.imageChartStorage.oss.endpoint OSS storage type setting: Endpoint
## @param persistence.imageChartStorage.oss.internal OSS storage type setting: Internal
## @param persistence.imageChartStorage.oss.encrypt OSS storage type setting: Encrypt
## @param persistence.imageChartStorage.oss.secure OSS storage type setting: Secure
## @param persistence.imageChartStorage.oss.chunksize OSS storage type setting: Chunk
## @param persistence.imageChartStorage.oss.rootdirectory OSS storage type setting: Directory
## @param persistence.imageChartStorage.oss.secretkey OSS storage type setting: Secret key
##
oss:
accesskeyid: ""
accesskeysecret: ""
region: ""
bucket: ""
endpoint: ""
internal: ""
encrypt: ""
secure: ""
chunksize: ""
rootdirectory: ""
secretkey: ""
## @section Nginx Parameters
## Bitnami Nginx image
## ref: https://hub.docker.com/r/bitnami/nginx/tags/
##
nginxImage:
## @param nginxImage.registry Registry for Nginx image
## @param nginxImage.repository Repository for Nginx image
## @param nginxImage.tag Tag for Nginx image
## @param nginxImage.pullPolicy Harbor Portal image pull policy
## @param nginxImage.pullSecrets Specify docker-registry secret names as an array
## @param nginxImage.debug Specify if debug logs should be enabled
##
registry: docker.io
repository: bitnami/nginx
tag: 1.21.4-debian-10-r41
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## e.g:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Set to true if you would like to see extra information on logs
## It turns BASH and/or NAMI debugging in the image
##
debug: false
## Nginx Parameters
##
nginx:
## @param nginx.command Override default container command (useful when using custom images)
##
command: []
## @param nginx.args Override default container args (useful when using custom images)
##
args: []
## @param nginx.replicas The replica count
##
replicas: 1
## @param nginx.updateStrategy.type Update strategy - only really applicable for deployments with RWO PVs attached
## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the
## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will
## terminate the single previous pod, so that the new, incoming pod can attach to the PV
##
updateStrategy:
type: RollingUpdate
## @param nginx.customLivenessProbe Override default liveness probe
##
customLivenessProbe: {}
## @param nginx.customReadinessProbe Override default readiness probe
##
customReadinessProbe: {}
## @param nginx.extraEnvVars Array containing extra env vars
## For example:
## - name: BEARER_AUTH
## value: true
##
extraEnvVars: []
## @param nginx.extraEnvVarsCM ConfigMap containing extra env vars
##
extraEnvVarsCM: ""
## @param nginx.extraEnvVarsSecret Secret containing extra env vars (in case of sensitive data)
##
extraEnvVarsSecret: ""
## @param nginx.extraVolumes Array of extra volumes to be added to the deployment (evaluated as template). Requires setting `extraVolumeMounts`
##
extraVolumes: []
## @param nginx.extraVolumeMounts Array of extra volume mounts to be added to the container (evaluated as template). Normally used with `extraVolumes`.
##
extraVolumeMounts: []
## @param nginx.hostAliases Specify hostAliases for the Pod to use
##
hostAliases: []
## @param nginx.initContainers Add additional init containers to the pod (evaluated as a template)
##
initContainers: []
## @param nginx.sidecars Attach additional containers to the pod (evaluated as a template)
##
sidecars: []
## NGINX containers' resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## @param nginx.resources.limits The resources limits for the container
## @param nginx.resources.requests The requested resources for the container
##
resources:
## Example:
## limits:
## cpu: 500m
## memory: 1Gi
limits: {}
## Examples:
## requests:
## cpu: 250m
## memory: 256Mi
requests: {}
## @param nginx.podAffinityPreset NGINX Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param nginx.podAntiAffinityPreset NGINX Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
## Allowed values: soft, hard
##
nodeAffinityPreset:
## @param nginx.nodeAffinityPreset.type NGINX Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
##
type: ""
## @param nginx.nodeAffinityPreset.key NGINX Node label key to match Ignored if `affinity` is set.
## E.g.
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## @param nginx.nodeAffinityPreset.values NGINX Node label values to match. Ignored if `affinity` is set.
## E.g.
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## @param nginx.affinity NGINX Affinity for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
##
affinity: {}
## @param nginx.priorityClassName NGINX pods Priority Class Name
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
##
priorityClassName: ""
## @param nginx.nodeSelector NGINX Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## @param nginx.tolerations NGINX Tolerations for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param nginx.podLabels Add additional labels to the pod (evaluated as a template)
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param nginx.podAnnotations Annotations to add to the nginx pod
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param nginx.behindReverseProxy If nginx is behind another reverse proxy, set to true
## if the reverse proxy already provides the 'X-Forwarded-Proto' header field.
## This is, for example, the case for the OpenShift HAProxy router.
##
behindReverseProxy: false
## @param nginx.lifecycleHooks LifecycleHook to set additional configuration at startup, e.g. LDAP settings via REST API. Evaluated as a template
##
lifecycleHooks: {}
## NGINX containers' liveness probe
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
## @param nginx.livenessProbe.enabled Enable livenessProbe
## @param nginx.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param nginx.livenessProbe.periodSeconds Period seconds for livenessProbe
## @param nginx.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
## @param nginx.livenessProbe.failureThreshold Failure threshold for livenessProbe
## @param nginx.livenessProbe.successThreshold Success threshold for livenessProbe
##
livenessProbe:
enabled: true
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## NGINX containers' readiness probe
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
## @param nginx.readinessProbe.enabled Enable readinessProbe
## @param nginx.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param nginx.readinessProbe.periodSeconds Period seconds for readinessProbe
## @param nginx.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
## @param nginx.readinessProbe.failureThreshold Failure threshold for readinessProbe
## @param nginx.readinessProbe.successThreshold Success threshold for readinessProbe
##
readinessProbe:
enabled: true
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## @section Harbor Portal Parameters
## Bitnami Harbor Portal image
## ref: https://hub.docker.com/r/bitnami/harbor-portal/tags/
##
portalImage:
## @param portalImage.registry Registry for portal image
## @param portalImage.repository Repository for portal image
## @param portalImage.tag Tag for portal image
## @param portalImage.pullPolicy Harbor Portal image pull policy
## @param portalImage.pullSecrets Specify docker-registry secret names as an array
## @param portalImage.debug Specify if debug logs should be enabled
##
registry: docker.io
repository: bitnami/harbor-portal
tag: 2.4.1-debian-10-r0
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## e.g:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Set to true if you would like to see extra information on logs
## It turns BASH and/or NAMI debugging in the image
##
debug: false
## Portal Parameters
##
portal:
## @param portal.command Override default container command (useful when using custom images)
##
command: []
## @param portal.args Override default container args (useful when using custom images)
##
args: []
## @param portal.replicas The replica count
##
replicas: 1
## @param portal.updateStrategy.type Update strategy - only really applicable for deployments with RWO PVs attached
## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the
## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will
## terminate the single previous pod, so that the new, incoming pod can attach to the PV
##
updateStrategy:
type: RollingUpdate
## Use TLS in the container
##
tls:
## @param portal.tls.existingSecret Name of a secret with the certificates for internal TLS access. Requires internalTLS.enabled to be set to true. If this values is not set it will be automatically generated
## Otherwise, it will generate a cert automatically
##
existingSecret: ""
## @param portal.lifecycleHooks LifecycleHook to set additional configuration at startup, e.g. LDAP settings via REST API. Evaluated as a template
##
lifecycleHooks: {}
## @param portal.customLivenessProbe Override default liveness probe
##
customLivenessProbe: {}
## @param portal.customReadinessProbe Override default readiness probe
##
customReadinessProbe: {}
## @param portal.extraEnvVars Array containing extra env vars
## For example:
## - name: BEARER_AUTH
## value: true
##
extraEnvVars: []
## @param portal.extraEnvVarsCM ConfigMap containing extra env vars
##
extraEnvVarsCM: ""
## @param portal.extraEnvVarsSecret Secret containing extra env vars (in case of sensitive data)
##
extraEnvVarsSecret: ""
## @param portal.extraVolumes Array of extra volumes to be added to the deployment (evaluated as template). Requires setting `extraVolumeMounts`
##
extraVolumes: []
## @param portal.extraVolumeMounts Array of extra volume mounts to be added to the container (evaluated as template). Normally used with `extraVolumes`.
##
extraVolumeMounts: []
## @param portal.hostAliases Specify hostAliases for the Pod to use
##
hostAliases: []
## @param portal.initContainers Add additional init containers to the pod (evaluated as a template)
##
initContainers: []
## @param portal.sidecars Attach additional containers to the pod (evaluated as a template)
##
sidecars: []
## Harbor Portal containers' resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## @param portal.resources.limits The resources limits for the container
## @param portal.resources.requests The requested resources for the container
##
resources:
## Example:
## limits:
## cpu: 500m
## memory: 1Gi
limits: {}
## Examples:
## requests:
## cpu: 250m
## memory: 256Mi
requests: {}
## @param portal.podAffinityPreset Harbor Portal Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param portal.podAntiAffinityPreset Harbor Portal Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
##
nodeAffinityPreset:
## @param portal.nodeAffinityPreset.type Harbor Portal Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
##
type: ""
## @param portal.nodeAffinityPreset.key Harbor Portal Node label key to match Ignored if `affinity` is set.
## E.g.
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## @param portal.nodeAffinityPreset.values Harbor Portal Node label values to match. Ignored if `affinity` is set.
## E.g.
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## @param portal.affinity Harbor Portal Affinity for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
##
affinity: {}
## @param portal.priorityClassName Portal pods Priority Class Name
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
##
priorityClassName: ""
## @param portal.nodeSelector Harbor Portal Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## @param portal.tolerations Harbor Portal Tolerations for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param portal.podLabels Add additional labels to the pod (evaluated as a template)
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param portal.podAnnotations Annotations to add to the portal pod
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param portal.automountServiceAccountToken Automount service account token
##
automountServiceAccountToken: false
## Harbor Portal containers' liveness probe
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
## @param portal.livenessProbe.enabled Enable livenessProbe
## @param portal.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param portal.livenessProbe.periodSeconds Period seconds for livenessProbe
## @param portal.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
## @param portal.livenessProbe.failureThreshold Failure threshold for livenessProbe
## @param portal.livenessProbe.successThreshold Success threshold for livenessProbe
##
livenessProbe:
enabled: true
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## Harbor Portal containers' readiness probe
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
## @param portal.readinessProbe.enabled Enable readinessProbe
## @param portal.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param portal.readinessProbe.periodSeconds Period seconds for readinessProbe
## @param portal.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
## @param portal.readinessProbe.failureThreshold Failure threshold for readinessProbe
## @param portal.readinessProbe.successThreshold Success threshold for readinessProbe
##
readinessProbe:
enabled: true
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## @section Harbor Core Parameters
## Bitnami Harbor Core image
## ref: https://hub.docker.com/r/bitnami/harbor-core/tags/
##
coreImage:
## @param coreImage.registry Registry for core image
## @param coreImage.repository Repository for Harbor core image
## @param coreImage.tag Tag for Harbor core image
## @param coreImage.pullPolicy Harbor Core image pull policy
## @param coreImage.pullSecrets Specify docker-registry secret names as an array
## @param coreImage.debug Specify if debug logs should be enabled
##
registry: docker.io
repository: bitnami/harbor-core
tag: 2.4.0-debian-10-r46
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## e.g:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Set to true if you would like to see extra information on logs
## It turns BASH and/or NAMI debugging in the image
##
debug: false
## Harbor Core Parameters
##
core:
## @param core.command Override default container command (useful when using custom images)
##
command: []
## @param core.args Override default container args (useful when using custom images)
##
args: []
## @param core.uaaSecretName If using external UAA auth which has a self signed cert, you can provide a pre-created secret containing it under the key `ca.crt`.
##
uaaSecretName: ""
## @param core.secretKey The key used for encryption. Must be a string of 16 chars
## e.g:
## secretKey: "not-a-secure-string"
##
secretKey: ""
## @param core.updateStrategy.type Update strategy - only really applicable for deployments with RWO PVs attached
## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the
## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will
## terminate the single previous pod, so that the new, incoming pod can attach to the PV
##
updateStrategy:
type: RollingUpdate
## @param core.replicas The replica count
##
replicas: 1
## Use TLS in the container
##
tls:
## @param core.tls.existingSecret Name of a secret with the certificates for internal TLS access. Requires internalTLS.enabled to be set to true. If this values is not set it will be automatically generated
## Otherwise, it will generate a cert automatically
##
existingSecret: ""
## @param core.customLivenessProbe Override default liveness probe
##
customLivenessProbe: {}
## @param core.customReadinessProbe Override default readiness probe
##
customReadinessProbe: {}
## @param core.customStartupProbe Override default Startup Probe probe
##
customStartupProbe: {}
## @param core.extraEnvVars Array containing extra env vars
## For example:
## - name: BEARER_AUTH
## value: true
##
extraEnvVars: []
## @param core.extraEnvVarsCM ConfigMap containing extra env vars
##
extraEnvVarsCM: ""
## @param core.extraEnvVarsSecret Secret containing extra env vars (in case of sensitive data)
##
extraEnvVarsSecret: ""
## @param core.extraVolumes Array of extra volumes to be added to the deployment (evaluated as template). Requires setting `extraVolumeMounts`
##
extraVolumes: []
## @param core.extraVolumeMounts Array of extra volume mounts to be added to the container (evaluated as template). Normally used with `extraVolumes`.
##
extraVolumeMounts: []
## @param core.hostAliases Specify hostAliases for the Pod to use
##
hostAliases: []
## @param core.initContainers Add additional init containers to the pod (evaluated as a template)
##
initContainers: []
## @param core.sidecars Attach additional containers to the pod (evaluated as a template)
##
sidecars: []
## Harbor Core containers' resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## @param core.resources.limits The resources limits for the container
## @param core.resources.requests The requested resources for the container
##
resources:
## Example:
## limits:
## cpu: 500m
## memory: 1Gi
limits: {}
## Examples:
## requests:
## cpu: 250m
## memory: 256Mi
requests: {}
## @param core.podAffinityPreset Harbor core Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param core.podAntiAffinityPreset Harbor core Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`