Series
This is part of a series of JFrog blogs that will help guide you through installing their new Unified Platform.
General
https://github.com/jfrog/charts/tree/master/stable/distribution
Add repo
helm repo add jfrog https://charts.jfrog.io
Update repo
helm repo update
Join Key & JFrog URL
In order to install Distribution, you will need at least one Join Key and JFrog URL from the Artifactory installation.
Go to Artifactory.
Security → Settings
Under Connection details, enter your password and click Unlock.
Copy the Join Key.
export JOIN_KEY=[YOUR_JOIN_KEY]
export JFROG_URL=https://yourdomain.com
Helm
--set distribution.joinKey=${JOIN_KEY} \
--set distribution.jfrogUrl=${JFROG_URL} \
Master Key
Create Master Key
export MASTER_KEY=$(openssl rand -hex 32)
Helm
--set distribution.masterKey=${MASTER_KEY} \
Google SQL
Create a Google PostgreSQL 9.6 database with a user and database named distribution.
export POSTGRES_HOST=[DATABASE_IP]
export POSTGRES_PORT=5432
export POSTGRES_DATABASE=distribution
export POSTGRES_USERNAME=distribution
export POSTGRES_PASSWORD=[DATABASE_PASSWORD]
export DIST_POSTGRES_CONN_URL="postgresql://${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DATABASE}"
Helm
--set postgresql.enabled=false \
--set database.url="${DIST_POSTGRES_CONN_URL}" \
--set database.user=${POSTGRES_USERNAME} \
--set database.password=${POSTGRES_PASSWORD} \
Redis
Create redis password.
export REDIS_PASSWORD=$(openssl rand -hex 32)
Helm
--set redis.password=${REDIS_PASSWORD} \
Resources & Limits
Add recommended resources and limits
I’m using the values-large.yaml option as the recommended resources and limits. You can choose from values-small.yaml, values-medium.yaml or values-large.yaml.
Download values-large.yaml.
wget https://raw.githubusercontent.com/jfrog/charts/master/stable/distribution/values-large.yaml
Install
helm install distribution \
--set distribution.joinKey=${JOIN_KEY} \
--set distribution.jfrogUrl=${JFROG_URL} \
--set distribution.masterKey=${MASTER_KEY} \
--set postgresql.enabled=false \
--set database.url="${DIST_POSTGRES_CONN_URL}" \
--set database.user=${POSTGRES_USERNAME} \
--set database.password=${POSTGRES_PASSWORD} \
--set redis.password=${REDIS_PASSWORD} \
-f values-large.yaml \
--version 5.1.3 \
-n jfrog \
jfrog/distribution
Uninstall
helm uninstall distribution -n jfrog && sleep 90 && kubectl delete pvc -l app=distribution -n jfrog
Delete SQL database.
gcloud sql instances delete [INSTANCE_NAME]