artifactory chart vs. cluster-s3-storage-v3
Is this a request for help?: No Is this a BUG REPORT or FEATURE REQUEST? (choose one): Both
Version of Helm and Kubernetes: 3.7.2, 1.21.5
Which chart: artifactory
What happened: artifactory-ha has a template to use cluster-s3-storage-v3 if aws-s3-v3 configured. artifactory-ha chart is deprecated: From Artifactory 7.27.6, you can use the artifactory chart to install an Artifactory HA cluster. Prior to version 7.27.6, you need to use the artifactory-ha chart to install an Artifactory HA cluster. You can still use the artifactory-ha chart, but it is set to be deprecated at a future date. However the artifactory-ha is deprecated the replacement artifactory chart do not have the capability to use cluster-s3-storage-v3 what cause issues if you have more than one node.
What you expected to happen: artifactory chart able to configure cluster-s3-storage-v3
How to reproduce it (as minimally and precisely as possible): use artifactory chart instead of artifactory-ha
Anything else we need to know:
Possible solution, introduce "cluster-s3-storage-v3" artifactory.persistence.type:
{{- if eq .Values.artifactory.persistence.type "cluster-s3-storage-v3" }} <!-- AWS S3 V3 --> <config version="2"> <chain> <!--template="cluster-s3-storage-v3"--> <provider id="cache-fs-eventual-s3" type="cache-fs"> <provider id="sharding-cluster-eventual-s3" type="sharding-cluster"> <sub-provider id="eventual-cluster-s3" type="eventual-cluster"> <provider id="retry-s3" type="retry"> <provider id="s3-storage-v3" type="s3-storage-v3"/> </provider> </sub-provider> <dynamic-provider id="remote-s3" type="remote"/> </provider> </provider> </chain> <provider id="sharding-cluster-eventual-s3" type="sharding-cluster"> <readBehavior>crossNetworkStrategy</readBehavior> <writeBehavior>crossNetworkStrategy</writeBehavior> {{- if .Values.artifactory.persistence.redundancy }} <redundancy>{{ .Values.artifactory.persistence.redundancy }}</redundancy> {{ else }} <redundancy>3</redundancy> {{- end }} <property name="zones" value="local,remote"/> </provider> <provider id="remote-s3" type="remote"> <zone>remote</zone> </provider> <provider id="eventual-cluster-s3" type="eventual-cluster"> <zone>local</zone> </provider> <!-- Set max cache-fs size --> <provider id="cache-fs-eventual-s3" type="cache-fs"> <maxCacheSize>{{ .Values.artifactory.persistence.maxCacheSize | int64 }}</maxCacheSize> <cacheProviderDir>{{ .Values.artifactory.persistence.cacheProviderDir }}</cacheProviderDir> </provider> {{- with .Values.artifactory.persistence.awsS3V3 }} <provider id="s3-storage-v3" type="s3-storage-v3"> <testConnection>{{ .testConnection }}</testConnection> {{- if .identity }} <identity>{{ .identity }}</identity> {{- end }} {{- if .credential }} <credential>{{ .credential }}</credential> {{- end }} <region>{{ .region }}</region> <bucketName>{{ .bucketName }}</bucketName> <path>{{ .path }}</path> <endpoint>{{ .endpoint }}</endpoint> {{- with .maxConnections }} <maxConnections>{{ . }}</maxConnections> {{- end }} {{- with .kmsServerSideEncryptionKeyId }} <kmsServerSideEncryptionKeyId>{{ . }}</kmsServerSideEncryptionKeyId> {{- end }} {{- with .kmsKeyRegion }} <kmsKeyRegion>{{ . }}</kmsKeyRegion> {{- end }} {{- with .kmsCryptoMode }} <kmsCryptoMode>{{ . }}</kmsCryptoMode> {{- end }} {{- if .useInstanceCredentials }} <useInstanceCredentials>true</useInstanceCredentials> {{- else }} <useInstanceCredentials>false</useInstanceCredentials> {{- end }} <usePresigning>{{ .usePresigning }}</usePresigning> <signatureExpirySeconds>{{ .signatureExpirySeconds }}</signatureExpirySeconds> {{- with .cloudFrontDomainName }} <cloudFrontDomainName>{{ . }}</cloudFrontDomainName> {{- end }} {{- with .cloudFrontKeyPairId }} <cloudFrontKeyPairId>{{ .cloudFrontKeyPairId }}</cloudFrontKeyPairId> {{- end }} {{- with .cloudFrontPrivateKey }} <cloudFrontPrivateKey>{{ . }}</cloudFrontPrivateKey> {{- end }} {{- with .enableSignedUrlRedirect }} <enableSignedUrlRedirect>{{ . }}</enableSignedUrlRedirect> {{- end }} {{- with .enablePathStyleAccess }} <enablePathStyleAccess>{{ . }}</enablePathStyleAccess> {{- end }} </provider> {{- end }} </config> {{- end }}
Better view: https://github.com/mheder79/charts/commit/bdaed40c101caf6d8fe7b690346e782356fd23c9
@mheder79 This is a known issue , we documented this with examples here, Please provide a PR if you have already tested this
cc @gitta-jfrog
@mheder79 can you please check whether changes done in https://github.com/jfrog/charts/pull/1682 PR resolves this issue
Hi @chukka ,
nice work, looks like the new types can solve the issue. I'm closing this issue.