Skip to content

Latest commit

 

History

History
 
 

helm

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Installing with the Helm chart

Note: this functionality is new and should be considered beta for now

This Helm chart installs Postfacto and its dependencies.

Evaluation install

Start with this simplified install if you just want to try out Postfacto, skip to the production install section if you want to run an instance for real.

  1. Download the chart from the releases page

  2. Run the chart:

    helm install postfacto <downloaded-chart.tgz>

    If you will be running in an environment that doesn't support HTTPS, you will need to turn off the automatic redirect with the disableSSLRedirect option

  3. Create an admin user so you can access the admin console

    kubectl get pods
    # Take note of the postfacto pod name
    kubectl exec <pod name> create-admin-user <admin-email> <admin-password> 

You should now have a Postfacto running in k8s, you can head to the /admin path to create a retro then to /retros/ to start using it.

This is a reasonable installation if you don't plan on upgrading or allowing other users to sign up and create retros, for that, read on to see a few more options you need to set.

Production Install

The steps here are the same as the evaluation install, you just need to set a few more options (either by passing them through using the --set command or --values with a file)

Passwords

The first thing to do is to pick passwords for the redis and postgres, this is required for upgrades, otherwise the sub charts will attempt to generate a new password which won't actually work.

  • redis.password=<redis-password>
  • postgresql.postgresqlPassword=<postgresql-password>

Letting other users register

Postfacto can allow users to register with google and then create retros themselves, to do this you need to provice a google oAuth client ID, you can follow this guide up until generating scopes to get a client id to provide in this parameter:

  • googleOAuthClientId=<client-id>

Keeping users logged in between upgrades

An out of the box install will invalidate sessions after each upgrade, to stop this provide a secret key base that is the same across upgrades:

  • secretKeyBase=<random-long-value>

Upgrading

Upgrading is similar to installing, make sure you provide the same passwords for redis and postgres as well as any other configuration

helm upgrade postfacto . \
  --set redis.password=<redis-password> \
  --set postgresql.postgresqlPassword=<postgresql-password> 

Parameters

Postfacto parameters

Parameter Description Default
googleOAuthClientId The Google oAuth client ID to use to allow users to log in using a google account nil
disableSSLRedirect By default Postfacto redirects to HTTPS by default, setting this to true disables that behaviour and can be useful when getting started nil
secretKeyBase Used for signing and encryption, should be set to a random value random 10 character alpha numeric string

Subcharts

This chart includes the following subcharts:

All options are documented for these are documented in the above links and can be customized by providing the value prefixed with the chart name. For example to modify the postgresqlDataDir option for postgres you would add the following to the install/upgrade command

--set postgresql.postgresqlDataDir=<new-data-dir>

Local development

Building the chart

To build the chart locally, follow the following steps

  1. Install Helm CLI (version 3+)
  2. Add stable chart repository to helm
    helm repo add stable https://kubernetes-charts.storage.googleapis.com
  3. Download subcharts:
    helm dep build
  4. Build the chart:
    helm package .

Installing the chart

Installing the chart locally with the following command:

helm install postfacto <local-chart.tgz>

This will automatically install postgresql and redis with persistence enabled, which means the configuration and data survive helm uninstall.

In this case the next time postfacto gets installed, postgresql will attempt to generate a new password and fail to authenticate.

In order to clean the state after helm uninstall it is recommended to delete all persistent volume claims using:

kubectl delete pvc -l release=postfacto