Self-Hosted Pipekit Helm Chart
Installation
Create a local
myvalues.yaml
file that contains the default values.
Set up the required dependencies. Information on these can be provided over your Slack support channel, or by email at support@pipekit.io.
Set a valid Pipekit license key in the
myvalues.yaml
file.Ensure you have access to the privately-hosted images used by this chart through an appropriate imagePullSecret, or you have modified the
myvalues.yaml
file to use the your own copies of the images.Modify
myvalues.yaml
to set the values for your specific installation.Apply the Pipekit services to your Kubernetes cluster
Pipekit Helm Chart Values
There are other optional, configurable options within the Helm Chart. These are listed below.
Key | Type | Default | Description |
---|---|---|---|
eventsHandler | object |
| Ignored unless |
eventsHandler.hpa.enabled | bool |
| Enable or disable the Horizontal Pod Autoscaler for this service |
eventsHandler.hpa.maxReplicas | int |
| Set the maximum number of replicas for the Horizontal Pod Autoscaler |
eventsHandler.hpa.minReplicas | int |
| Set the minimum number of replicas for the Horizontal Pod Autoscaler |
eventsHandler.imageName | string |
| Optionally override the default image name for this service |
eventsHandler.imageTag | string |
| Optionally override the default image tag for this service |
eventsHandler.pdb.enabled | bool |
| Enable or disable the Pod Disruption Budget for this service |
eventsHandler.pdb.minAvailable | string |
| Set the minimum number of pods available during a disruption |
eventsHandler.pdb.unhealthyPodEvictionPolicy | string |
| Set unhealthyPodEvictionPolicy on the PDB. Options: |
gitProviders.github.appID | string |
| Github application ID |
gitProviders.github.appName | string |
| The name of your github app |
gitProviders.github.clientID | string |
| Github OAuth client ID |
gitProviders.github.clientSecret | string |
| Github OAuth client secret |
gitProviders.github.enabled | bool |
| Enable or disable the Github integration |
gitProviders.github.privateKey | string |
| Github private key |
gitProviders.github.webhookSecret | string |
| Github webhook secret (optional) |
gitProviders.gitlab.enabled | bool |
| Enable or disable the Gitlab integration |
gitProviders.gitlab.webhookSecret | string |
| gitlab webhook secret |
global.adminPassword | string | A random password will be generated if not provided | Pipekit Admin password. This password is used internally by Pipekit services to authenticate with each other. |
global.breakGlassPassword | string | A random password will be generated if not provided | Pipekit Break Glass password. This password is used to access Pipekit in the event that SSO is unavailable. |
global.developmentMode | bool |
| Install non-production versions of postgres, redis and loki in-cluster. Useful for local development and evaluation Do not enable for production use |
global.imagePullPolicy | string |
| Globally set an imagePullPolicy. |
global.imageRepo | string |
| Globally set the container image repository. You will need your docker hub pull secret to pull from there. Place it in |
global.imageTag | string | The chart appVersion | Globally set the image tag. |
global.jwtSigningToken | string | A random token will be generated if not provided | Token used to create the JWT for users signing in to the Pipekit Services |
global.licenseKey | string |
| License key for Pipekit. Either enter your license key here or create a kubernetes secret containing the key. Leave blank to use global.licenseKeySecretName |
global.licenseKeySecretName | string |
| The name of the Kubernetes secret that contains the license key Leave blank to use global.licenseKey The named secret should be installed in the same namespace and should contain a key pair named |
global.logLevel | string |
| Set the log level for all Pipekit services |
global.nodeSelector | object |
| |
global.rotateAdminPassword | bool |
| Set to true to rotate the Pipekit Admin password |
global.rotateBreakGlassPassword | bool |
| Set to true to rotate the Pipekit Break Glass password |
global.rotateJwtSigningToken | bool |
| Set to true to rotate the JWT Signing Token. |
global.rotateSsoStoreSigningKey | bool |
| Set to true to rotate the SSO Store Signing Key |
global.serviceAccount.annotations | object |
| Annotations applied to created service account |
global.serviceAccount.imagePullSecrets | object |
| Secrets with credentials to pull images from a private registry |
global.serviceAccount.labels | object |
| Labels applied to created service account |
global.serviceAccount.name | string |
| Service account which is used to run the Pipekit services |
global.ssoStoreSigningKey | string | A random token will be generated if not provided | Token used to sign the SSO Sessions |
global.telemetryProtocols | string |
| Which telemetry protocols to use: comma delimited selection of otel, prometheus. otel is controlled by the standardized opentelemetry environment variables prometheus enables metrics on :9090/metrics set to 'none' to disable all telemetry |
id.hpa.enabled | bool |
| Enable or disable the Horizontal Pod Autoscaler for this service |
id.hpa.maxReplicas | int |
| Set the maximum number of replicas for the Horizontal Pod Autoscaler |
id.hpa.minReplicas | int |
| Set the minimum number of replicas for the Horizontal Pod Autoscaler |
id.imageName | string |
| Optionally override the default image name for this service |
id.imageTag | string |
| Optionally override the default image tag for this service |
id.pdb.enabled | bool |
| Enable or disable the Pod Disruption Budget for this service |
id.pdb.minAvailable | string |
| Set the minimum number of pods available during a disruption |
id.pdb.unhealthyPodEvictionPolicy | string |
| Set unhealthyPodEvictionPolicy on the PDB. Options: |
ingress.annotations | object |
| Additional ingress annotations. Some optional nginx examples provided below |
ingress.host | string |
| The host name to use for Pipekit |
ingress.ingressClassName | string |
| Defines which ingress controller will implement the resource |
ingress.labels | object |
| Additional ingress labels |
ingress.tls | list |
| Ingress TLS configuration |
login.githubSSO.clientID | string |
| Client ID |
login.githubSSO.clientSecret | string |
| Client secret |
login.githubSSO.enabled | bool |
| Enable or disable the Github SSO login option |
login.gitlabSSO.applicationID | string |
| Application ID |
login.gitlabSSO.applicationSecret | string |
| Application secret |
login.gitlabSSO.enabled | bool |
| Enable or disable the Gitlab SSO login option |
login.googleSSO.clientID | string |
| Client ID |
login.googleSSO.clientSecret | string |
| Client secret |
login.googleSSO.enabled | bool |
| Enable or disable the Google SSO login option |
login.microsoftSSO.clientID | string |
| Client ID |
login.microsoftSSO.clientSecret | string |
| Client secret |
login.microsoftSSO.enabled | bool |
| Enable or disable the Microsoft SSO login option |
login.userPass.enabled | bool |
| Enable or disable the username/password login option |
loki.host | string |
| Loki host URL |
loki.port | int |
| Loki port |
messenger.fluentbitImageName | string |
| Set the default image name for the fluentbit container |
messenger.fluentbitImageRepo | string |
| Set the image repo for the fluentbit container |
messenger.fluentbitImageTag | string |
| Set the default image tag for the fluentbit container |
messenger.hpa.enabled | bool |
| Enable or disable the Horizontal Pod Autoscaler for this service |
messenger.hpa.maxReplicas | int |
| Set the maximum number of replicas for the Horizontal Pod Autoscaler |
messenger.hpa.minReplicas | int |
| Set the minimum number of replicas for the Horizontal Pod Autoscaler |
messenger.imageName | string |
| Optionally override the default image name for this service |
messenger.imageTag | string |
| Optionally override the default image tag for this service |
messenger.pdb.enabled | bool |
| Enable or disable the Pod Disruption Budget for this service |
messenger.pdb.minAvailable | string |
| Set the minimum number of pods available during a disruption |
messenger.pdb.unhealthyPodEvictionPolicy | string |
| Set unhealthyPodEvictionPolicy on the PDB. Options: |
pipekitInit.imageName | string |
| Optionally override the default image name for this service |
pipekitInit.imageTag | string |
| Optionally override the default image tag for this service |
postgresql.host | string |
| Database host URL |
postgresql.maxRetries | int |
| Number of database connection retries |
postgresql.password | string |
| Database password |
postgresql.port | int |
| Database port |
postgresql.sslMode | string |
| Enable or disable SSL mode |
postgresql.username | string |
| Database username |
redis.host | string |
| Redis host URL |
redis.password | string |
| Optional Redis connection password |
redis.port | int |
| Redis port |
ui.hpa.enabled | bool |
| Enable or disable the Horizontal Pod Autoscaler for this service |
ui.hpa.maxReplicas | int |
| Set the maximum number of replicas for the Horizontal Pod Autoscaler |
ui.hpa.minReplicas | int |
| Set the minimum number of replicas for the Horizontal Pod Autoscaler |
ui.imageName | string |
| Optionally override the default image name for this service |
ui.imageTag | string |
| Optionally override the default image tag for this service |
ui.pdb.enabled | bool |
| Enable or disable the Pod Disruption Budget for this service |
ui.pdb.minAvailable | string |
| Set the minimum number of pods available during a disruption |
ui.pdb.unhealthyPodEvictionPolicy | string |
| Set unhealthyPodEvictionPolicy on the PDB. Options: |
users.hpa.enabled | bool |
| Enable or disable the Horizontal Pod Autoscaler for this service |
users.hpa.maxReplicas | int |
| Set the maximum number of replicas for the Horizontal Pod Autoscaler |
users.hpa.minReplicas | int |
| Set the minimum number of replicas for the Horizontal Pod Autoscaler |
users.imageName | string |
| Optionally override the default image name for this service |
users.imageTag | string |
| Optionally override the default image tag for this service |
users.pdb.enabled | bool |
| Enable or disable the Pod Disruption Budget for this service |
users.pdb.minAvailable | string |
| Set the minimum number of pods available during a disruption |
users.pdb.unhealthyPodEvictionPolicy | string |
| Set unhealthyPodEvictionPolicy on the PDB. Options: |
Upgrading Pipekit
Checking the latest version
Pipekit is automatically published to Artifact Hub. You can use this service to configure automatic notifications of new versions, either via an RSS feed or a webhook.
Alternatively, you can search the Helm repo for the latest version of Pipekit using the following command:
For further information on the helm search repo
command, please refer to the official Helm documentation.
Changes to the default values.yaml
Prior to upgrading, you should ensure that you understand any changes to the default values.yaml and the impact those changes may have on your installation. This page is always updated with the latest available Helm chart values for Pipekit.
If you wish to upgrade to an older version of the Pipekit Helm chart, you can extract the default values for that version using the following command:
The Pipekit values file is commented so you can see what each value does.
You can extract your existing values from your current installation using the following command:
For further information the helm commands used above, please refer to the official Helm documentation.
Upgrading Pipekit
To upgrade Pipekit, you can use the following command:
For more information on using Helm to perform upgrades, please check the official Helm documentation.
Automating the upgrades using Gitops
If you use a Gitops tool such as Argo CD, you can commit your changes to your git repository and the tool will handle the Helm upgrade for you.
If you wish to automate the upgrade process, we recommend a third party tool called Renovate Bot that can be configured to automatically raise pull requests for you when a new version of Pipekit is released.
Upgrade Support
If you have an issue upgrading Pipekit that isn't addressed here, please contact us over Slack, or by email at support@pipekit.io.
Last updated