- Kubernetes >= 1.19.0
- Helm >= 3.0
Clone this repo to your computer and cd
into it:
git clone https://github.com/corezoid/gitcall-helm.git && cd gitcall-helm
Before start an installation process you have to set necessary values such as database and message queue hostnames, credentials, etc. Most of the value names are self-explanatory, and some not fully obvious cases are described below.
Do not edit the original values.yaml
, make a copy and use it for your needs.
cp values.yaml my-values.yaml
To secure different parts of GitCall a secret key required. You have to prepare it using random generator and set a
global.gitcall.secret
with a given value. The value must not be shorter than 64 characters. You can use any random generator
tool or just a shell command:
echo $(for N in {1..12}; do echo -n $RANDOM; done | base64 | head -c 64)
In the most cases you don't have to change this key during upgrades. Surely, keep this key in secret.
Fill the global.mq
and global.db
values with your credentials.
GitCall sets up a Docker Registry and some parts of it need to be explicitly configured.
At first, the Registry must be accessible using public DNS name, so you have to properly set up a DNS record and point
it to your cluster's load balancer IP address, then set the global.gitcall.registry.host
value. Always keep the
global.gitcall.registry.tls
set to true
, unless you know what you're doing.
At second, you have to configure the storage for images using registry.storage
parameters. Currently, this chart
support two kind of storage: filesystem volume or an S3 bucket. By default, a filesystem volume is configured. If you
want to use it, make sure you've specified enough disk space in registry.storage.filesystem.size
parameter and
provided a valid storage class in the registry.storage.filesystem.storageClass
(please consult your cloud provider, if
you're not sure what storage classes you can use).
In case if you need to use an S3 bucket instead of a regular volume, change value of registry.storage.provider
to
s3
, uncomment and fill necessary values of registry.storage.s3
.
export GITCALL_NAMESPACE="gitcall"
export GITCALL_RELEASE="prod"
After you finish all the preparations, make a final check to be sure that everything is okay:
helm lint -n ${GITCALL_NAMESPACE} -f my-values.yaml .
and start the installation/upgrading process:
helm upgrade -n ${GITCALL_NAMESPACE} --install --atomic --wait-for-jobs --create-namespace -f values.yaml ${GITCALL_RELEASE} .
helm uninstall -n ${GITCALL_NAMESPACE} --wait ${GITCALL_RELEASE}
First version.