Git Product home page Git Product logo

octobox-helm-chart's Introduction

octobox-helm-chart

This Helm chart will deploy an Octobox instance.

Requirements

  • Postgres database
  • Redis database

This chart will deploy PostgreSQL and Redis databases for easy development and testing, you should use your own databases for production.

Configuration

Octobox

Variable Description Default
replicaCount Replica count for the Octobox deployment 1
image.repository Docker image repository octoboxio/octobox
image.tag Docker tag latest
image.pullPolicy Image pull policy Always
imagePullSecrets Pull secrets []
config.database Database server type postgres
config.fetchSubject Fetch extra info for each notification 1
config.githubClientId GitHub Client ID changeme
config.githubScope GitHub scopes 'notifications'
config.gaAnalyticsId Google Analytics ID ''
config.minimumRefreshInterval Minimum number of minutes between notification syncs 5
config.octoboxDatabaseHost Database hostname octobox-postgresql.octobox.svc.cluster.local
config.octoboxDatabaseName Database name octobox
config.octoboxDatabasePort Database port 5432
config.openInSameTab Open notifications in same tab 0
config.personalAccessTokensEnabled Enable or disable personal access token 0
config.pushNotifications Enable push notifications 1
config.railsEnv Rails environment production
config.websocketAllowedOrigins Allowed origins for the websocket, if pushNotifications are enabled https://localhost
existingSecret The name of an existing secret nil
secrets.githubClientSecret GitHub Client secret, if existingSecret is nil changeme
secrets.octoboxDatabasePassword Database password, if existingSecret is nil changeme
secrets.octoboxDatabaseUsername Database username, if existingSecret is nil postgres
secrets.redisUrl Redis URL, if existingSecret is nil redis://:[email protected]
secrets.secretKeyBase Secret key, if existingSecret is nil changeme
cronjob.name Notifications sync cron job name sync-notifications
cronjob.enabled Set to true to enable the notifications sync cron job false
cronjob.restartPolicy Notifications sync cron job restart policy OnFailure
cronjob.schedule Notifications sync cron job schedule "*/5 * * * *"
cronjob.command Notifications sync cron job command [/usr/local/bin/rake]
cronjob.args Notifications sync cron job args ["tasks:sync_notifications"]
serviceAccount.create Set to true to create a service account false
serviceAccount.annotations Custom annotations for the service account {}
serviceAccount.name The name for the service account. Automatically generated if not set nil
podSecurityContext Pod security context {}
securityContext Security context {}
livenessProbe LivenessProbe for Octobox pod {httpGet: {path: /, port: http}, initialDelaySeconds: 60, periodSeconds: 10}
readinessProbe RedinessProbe for Octobox pod {httpGet: {path: /, port: http}, initialDelaySeconds: 5, periodSeconds: 10}
service.type Service type ClusterIP
service.port Service port 3000
ingress.enabled Set to true to enable ingress false
ingress.annotations Annotations for ingress {}
ingress.hosts Hosts to configure for ingress []
ingress.tls TLS configuration for ingress []
ressources CPU/Memory resource requests/limits {}
nodeSelector Node labels for pod assignment {}
tolerations Node taints to tolerate []
affinity Node/pod affinities {}

PostgreSQL

PostgreSQL deployment configuration.
See charts/bitnami/postgresql for more configuration.

Variable Description Default
enabled Deploy PostgreSQL database true
existingSecret Name of existing secret to use for PostgreSQL passwords. Check charts/bitnami/postgresql for more info. true
postgresqlDatabase PostgreSQL database octobox
postgresqlPassword PostgreSQL admin password changeme
persistence.enabled Enable persistence using PVC true
persistence.size PVC Storage Request for PostgreSQL volume 8Gi
resources CPU/Memory resource requests/limits {}

Redis

Redis deployment configuration.
See charts/bitnami/redis for more configuration.

Variable Description Default
enabled Deploy Redis database true
cluster.enabled Use master-slave topology false
master.persistence.enabled Enable persistence using PVC true
master.persistence.size PVC Storage Request for Redis volume 8Gi
master.resources CPU/Memory resource requests/limits {}
password Redis password (ignored if existingSecret set) changeme
existingSecret Name of existing secret object (for password authentication) nil
existingSecretPasswordKey Name of key containing password to be retrieved from the existing secret nil

Nginx

Nginx deployment configuration.
See AdrienKuhn/nginx-helm-chart for more configuration.

Variable Description Default
enabled Deploy Nginx true
initContainers[0].name init container name public
initContainers[0].image init container image. Should match Octobox deployed version "octoboxio/octobox:latest"
initContainers[0].command init container command ["cp", "-r", "/usr/src/app/public/.", "/shared-data"]
initContainers[0].volumeMounts[0].mountPath init container volume mount path /shared-data
initContainers[0].volumeMounts[0].name init container volume mount name public
volumeMounts[0].mountPath Shared pod volume mount path /usr/src/app/public
volumeMounts[0].name Shared pod volume name public
volumes[0].emptyDir Shared volume empty directory {}
volumes[0].name Shared volume name public
service.type Service type ClusterIP
service.port Service port 443
serverBlock Nginx server block See values.yaml
resources CPU/Memory resource requests/limits {}
ingress.enabled Set to true to enable ingress false
ingress.annotations Annotations for ingress {}
ingress.hosts Hosts to configure for ingress []
ingress.tls TLS configuration for ingress []

Installation

Add repository

Follow instructions at https://adrienkuhn.github.io/helm-repo/

Install

This example is for development and testing only.
For production, you have to change Postgres and Redis configuration, and customize the Octobox configuration.

export SECRET_KEY_BASE=`openssl rand -base64 32`
helm install octobox adrienkuhn-helm-repo/octobox \
  --namespace octobox \
  --set config.githubClientId=YOUR_GITHUB_CLIENT_ID \
  --set secrets.githubClientSecret=YOUR_GITHUB_CLIENT_SECRET \
  --set secrets.secretKeyBase="$SECRET_KEY_BASE"

octobox-helm-chart's People

Contributors

adrienkuhn avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.