Now that we have all the properties in place, we are ready to deploy
Here are all the env variables we will be passing to chart:
$ env
POSTGRES_USERNAME=artifactory
POSTGRES_PASSWORD=password
Here is the final values.yaml file:
splitServicesToContainers: true
artifactory:
serviceAccount:
create: true
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::<ACCOUNT_ID>:role/<IAM_ROLE_NAME>
persistence:
enabled: true
storageClassName: myclass
accessMode: ReadWriteOnce
size: 100Gi
customBinarystoreXmlSecret: my-binarystore
primary:
replicaCount: 3
podAntiAffinity:
type: "hard"
resources:
requests:
cpu: "2"
memory: 10Gi
limits:
# cpu: "14"
memory: 12Gi
javaOpts:
other: >
-XX:InitialRAMPercentage=40
-XX:MaxRAMPercentage=65
-Dartifactory.async.corePoolSize=80
-Dartifactory.async.poolMaxQueueSize=20000
-Dartifactory.http.client.max.total.connections=100
-Dartifactory.http.client.max.connections.per.route=100
-Dartifactory.access.client.max.connections=125
-Dartifactory.metadata.event.operator.threads=4
-XX:MaxMetaspaceSize=512m
-Djdk.nio.maxCachedBufferSize=524288
-XX:MaxDirectMemorySize=512m
tomcat:
connector:
maxThreads: 500
extraConfig: 'acceptCount="800" acceptorThreadCount="2" compression="off" connectionLinger="-1" connectionTimeout="120000" enableLookups="false"'
database:
maxOpenConnections: 100
extraEnvironmentVariables:
- name: MALLOC_ARENA_MAX
value: "8"
- name: SKIP_WAIT_FOR_EXTERNAL_DB
value: "true"
access:
tomcat:
connector:
maxThreads: 125
javaOpts:
other: >
-XX:InitialRAMPercentage=20
-XX:MaxRAMPercentage=60
database:
maxOpenConnections: 100
resources:
requests:
cpu: 1
memory: 2Gi
limits:
# cpu: 2
memory: 3Gi
extraEnvironmentVariables:
- name: MALLOC_ARENA_MAX
value: "8"
- name: SKIP_WAIT_FOR_EXTERNAL_DB
value: "true"
router:
resources:
requests:
cpu: 400m
memory: 800Mi
limits:
# cpu: "8"
memory: 2Gi
frontend:
resources:
requests:
cpu: 200m
memory: 300Mi
limits:
# cpu: "3"
memory: 1Gi
metadata:
database:
maxOpenConnections: 100
resources:
requests:
cpu: 200m
memory: 200Mi
limits:
# cpu: "4"
memory: 1Gi
onemodel:
resources:
requests:
cpu: 200m
memory: 160Mi
limits:
# cpu: "1"
memory: 250Mi
event:
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
# cpu: 500m
memory: 250Mi
observability:
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
# cpu: 500m
memory: 250Mi
jfconnect:
resources:
requests:
cpu: 50m
memory: 100Mi
limits:
# cpu: 500m
memory: 250Mi
topology:
resources:
requests:
cpu: 100m
memory: 1000Mi
limits:
memory: 1500Mi
extraEnvironmentVariables:
- name: MALLOC_ARENA_MAX
value: "8"
postgresql:
enabled: false
database:
## To run Artifactory with any database other than PostgreSQL allowNonPostgresql set to true.
allowNonPostgresql: false
type: "postgresql"
driver: org.postgresql.Driver
secrets:
user:
name: "my-database"
key: "db-user"
password:
name: "my-database"
key: "db-password"
url:
name: "my-database"
key: "db-url"
ingress:
enabled: false
nginx:
enabled: true
service:
type: LoadBalancer
ssloffload: true
tlsSecretName: artifactory-tls
replicaCount: 3
disableProxyBuffering: true
resources:
requests:
cpu: "1"
memory: "500Mi"
limits:
# cpu: "4"
memory: "1Gi"
If you are passing the license key:
$ helm install artifactory-ha \
--set artifactory.license.secret=artifactory-cluster-license \
--set artifactory.license.dataKey=art.lic \
-f values.yaml \
--namespace jfrog jfrog/artifactory-ha --version 107.104.10
Else:
$ helm install artifactory-ha \
--set artifactory.license.secret=artifactory-cluster-license \
--set artifactory.license.dataKey=art.lic \
-f values.yaml \
--namespace jfrog jfrog/artifactory-ha --version 107.104.10