mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2025-12-31 19:47:25 +01:00
* Automatically set serverblock from IN chart * Automatically set nginx PVC * Bump chart version * Upgrade dependencies * Updated k8s test versions
478 lines
13 KiB
YAML
478 lines
13 KiB
YAML
# Default values for invoiceninja.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
## Global Docker image parameters
|
|
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
|
|
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
|
|
##
|
|
# global:
|
|
# imageRegistry: myRegistryName
|
|
# imagePullSecrets:
|
|
# - myRegistryKeySecretName
|
|
# storageClass: myStorageClass
|
|
|
|
## Invoice Ninja image version
|
|
## ref: https://github.com/invoiceninja/dockerfiles
|
|
##
|
|
image:
|
|
registry: docker.io
|
|
repository: invoiceninja/invoiceninja
|
|
tag: 5.2.10
|
|
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
##
|
|
pullPolicy: IfNotPresent
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
|
|
## String to turn on debug mode in Invoice Ninja
|
|
##
|
|
debug: false
|
|
|
|
## A 32 character long Application Key
|
|
##
|
|
appKey: ""
|
|
|
|
## Email of user to create first run
|
|
## If not specified, default user email will be "admin@example.com"
|
|
##
|
|
userEmail: ""
|
|
|
|
## Password of user to create on first run
|
|
## If not specified, default user password will be "changeme!"
|
|
##
|
|
userPassword: ""
|
|
|
|
## Name of log channel to use
|
|
##
|
|
logChannel: ""
|
|
|
|
## Name of broadcast driver to use
|
|
##
|
|
broadcastDriver: ""
|
|
|
|
## Name of cache driver to use
|
|
##
|
|
cacheDriver: ""
|
|
|
|
## Name of session driver to use
|
|
##
|
|
sessionDriver: ""
|
|
|
|
## Name of queue connection to use
|
|
##
|
|
queueConnection: ""
|
|
|
|
## List of trusted proxies for Invoice Ninja to communicate with the nginx proxy
|
|
##
|
|
trustedProxies: "*"
|
|
|
|
## Use local or Phantom JS PDF generation
|
|
##
|
|
snappdf: true
|
|
|
|
## Name of queue connection to use (use "log" for debug)
|
|
## Please check the ref below for any other env you may need to define
|
|
## ref: https://github.com/invoiceninja/invoiceninja/blob/v5-stable/config/mail.php
|
|
##
|
|
mailer: log
|
|
|
|
## Force HTTPS for all connections to Invoice Ninja
|
|
##
|
|
requireHttps: false
|
|
|
|
## String to partially override fullname template (will maintain the release name)
|
|
##
|
|
# nameOverride:
|
|
|
|
## String to fully override fullname template
|
|
##
|
|
# fullnameOverride:
|
|
|
|
## Add labels to all the deployed resources
|
|
##
|
|
commonLabels: {}
|
|
|
|
## Add annotations to all the deployed resources
|
|
##
|
|
commonAnnotations: {}
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name: ""
|
|
|
|
## Pod Labels
|
|
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
|
##
|
|
podLabels: {}
|
|
|
|
## Pod annotations
|
|
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
##
|
|
podAnnotations: {}
|
|
|
|
## Pod affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
podAffinityPreset: ""
|
|
|
|
## Pod anti-affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
podAntiAffinityPreset: soft
|
|
|
|
## Node affinity preset
|
|
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
|
|
## Allowed values: soft, hard
|
|
##
|
|
nodeAffinityPreset:
|
|
## Node affinity type
|
|
## Allowed values: soft, hard
|
|
##
|
|
type: ""
|
|
## Node label key to match
|
|
## E.g.
|
|
## key: "kubernetes.io/e2e-az-name"
|
|
##
|
|
key: ""
|
|
## Node label values to match
|
|
## E.g.
|
|
## values:
|
|
## - e2e-az1
|
|
## - e2e-az2
|
|
##
|
|
values: []
|
|
|
|
## Affinity for pod assignment. Evaluated as a template.
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
|
|
##
|
|
affinity: {}
|
|
|
|
## Node labels for pod assignment. Evaluated as a template.
|
|
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
##
|
|
nodeSelector: {}
|
|
|
|
## Tolerations for pod assignment. Evaluated as a template.
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
##
|
|
tolerations: []
|
|
|
|
## Configure Pods Security Context
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
|
|
##
|
|
podSecurityContext:
|
|
fsGroup: 1500
|
|
|
|
## Configure Container Security Context (only main container)
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
|
|
##
|
|
containerSecurityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 1500
|
|
# runAsGroup: 1500
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
|
|
## Init containers parameters:
|
|
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
|
|
##
|
|
volumePermissions:
|
|
enabled: false
|
|
image:
|
|
registry: docker.io
|
|
repository: bitnami/bitnami-shell
|
|
tag: "10"
|
|
pullPolicy: Always
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
resources: {}
|
|
|
|
## Number of replicas (requires ReadWriteMany PVC support)
|
|
##
|
|
replicaCount: 1
|
|
|
|
## Set up update strategy for Invoice Ninja installation. Set to Recreate if you use persistent volume that cannot be mounted by more than one pods to makesure the pods is destroyed first.
|
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
|
## Example:
|
|
## updateStrategy:
|
|
## type: RollingUpdate
|
|
## rollingUpdate:
|
|
## maxSurge: 25%
|
|
## maxUnavailable: 25%
|
|
##
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
|
|
## Container ports
|
|
##
|
|
containerPorts:
|
|
fastcgi: 9000
|
|
|
|
## An array to add extra env vars
|
|
## Example:
|
|
## extraEnvVars:
|
|
## - name: FOO
|
|
## value: "bar"
|
|
##
|
|
extraEnvVars: []
|
|
|
|
## ConfigMap with extra environment variables
|
|
##
|
|
extraEnvVarsCM:
|
|
|
|
## Secret with extra environment variables
|
|
##
|
|
extraEnvVarsSecret:
|
|
|
|
## Extra volumes to add to the deployment
|
|
##
|
|
extraVolumes: []
|
|
|
|
## Extra volume mounts to add to the container
|
|
##
|
|
extraVolumeMounts: []
|
|
|
|
## Kubernetes service type
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
|
|
## Set this to NodePort, LoadBalancer or ClusterIP
|
|
##
|
|
service:
|
|
## Service type
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
|
##
|
|
type: ClusterIP
|
|
## Service ports
|
|
##
|
|
port: 9000
|
|
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
|
##
|
|
nodePort: ""
|
|
## Service clusterIP.
|
|
##
|
|
# clusterIP: None
|
|
## Specify the loadBalancerIP value for LoadBalancer service types.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
|
|
##
|
|
# loadBalancerIP:
|
|
## Specify the loadBalancerSourceRanges value for LoadBalancer service types.
|
|
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
|
|
##
|
|
loadBalancerSourceRanges: []
|
|
## Enable client source IP preservation
|
|
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
##
|
|
externalTrafficPolicy: Cluster
|
|
## Additional service annotations (evaluate as a template)
|
|
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
##
|
|
annotations: {}
|
|
|
|
## Configure extra options for liveness and readiness probes
|
|
## This applies to all the Invoice Ninja in the sharded cluster
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
##
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
port: fastcgi
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
successThreshold: 1
|
|
port: fastcgi
|
|
|
|
resources:
|
|
{}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
## Enable persistence using Persistent Volume Claims
|
|
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
|
##
|
|
persistence:
|
|
public:
|
|
enabled: true
|
|
## Invoice Ninja data Persistent Volume Storage Class
|
|
## If defined, storageClassName: <storageClass>
|
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
## If undefined (the default) or set to null, no storageClassName spec is
|
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
|
## GKE, AWS & OpenStack)
|
|
##
|
|
# storageClass: "-"
|
|
##
|
|
## If you want to reuse an existing claim, you can pass the name of the PVC using
|
|
## the existingClaim variable
|
|
# existingClaim: your-claim
|
|
accessMode: ReadWriteMany
|
|
size: 1Gi
|
|
## Custom dataSource
|
|
##
|
|
dataSource: {}
|
|
storage:
|
|
enabled: true
|
|
## Invoice Ninja data Persistent Volume Storage Class
|
|
## If defined, storageClassName: <storageClass>
|
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
## If undefined (the default) or set to null, no storageClassName spec is
|
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
|
## GKE, AWS & OpenStack)
|
|
##
|
|
# storageClass: "-"
|
|
##
|
|
## If you want to reuse an existing claim, you can pass the name of the PVC using
|
|
## the existingClaim variable
|
|
# existingClaim: your-claim
|
|
accessMode: ReadWriteMany
|
|
size: 10Gi
|
|
## Custom dataSource
|
|
##
|
|
dataSource: {}
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 10
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
|
|
## Redis chart configuration
|
|
## ref: https://github.com/bitnami/charts/blob/master/bitnami/redis/values.yaml
|
|
##
|
|
redis:
|
|
enabled: true
|
|
sentinel:
|
|
enabled: true
|
|
usePassword: false
|
|
|
|
## External Redis Configuration
|
|
##
|
|
## All of these values are only used when redis.enabled is set to false
|
|
##
|
|
externalRedis:
|
|
## Redis/Sentinel host
|
|
##
|
|
host: ""
|
|
## Redis/Sentinel port number
|
|
##
|
|
port: 6379
|
|
## Redis password
|
|
##
|
|
password: ""
|
|
## Use existing secret (ignores previous password)
|
|
## must contain key `redis-password`
|
|
## NOTE: When it's set, the `externalRedis.password` parameter is ignored
|
|
##
|
|
# existingSecret:
|
|
## Whether Redis Sentinel are used
|
|
sentinel: false
|
|
## Redis databases
|
|
##
|
|
databases:
|
|
default: "0"
|
|
cache: "1"
|
|
|
|
## MariaDB chart configuration
|
|
## ref: https://github.com/bitnami/charts/blob/master/bitnami/mariadb/values.yaml
|
|
##
|
|
mariadb:
|
|
## Whether to deploy a MariaDB server to satisfy the applications database requirements.
|
|
## To use an external database set this to false and configure the externaldb parameters
|
|
##
|
|
enabled: true
|
|
## MariaDB Authentication parameters
|
|
##
|
|
auth:
|
|
## MariaDB root password
|
|
##
|
|
# rootPassword: changeit
|
|
## MariaDB custom user and database
|
|
##
|
|
username: invoiceninja
|
|
database: invoiceninja
|
|
# password: changeit
|
|
|
|
## External Database Configuration
|
|
##
|
|
## All of these values are only used when mariadb.enabled is set to false
|
|
##
|
|
externalDatabase:
|
|
## Database host
|
|
##
|
|
host: ""
|
|
## non-root Username for Invoice Ninja Database
|
|
##
|
|
user: invoiceninja
|
|
## Database password
|
|
##
|
|
password: ""
|
|
## Database name
|
|
##
|
|
database: invoiceninja
|
|
## Database port number
|
|
##
|
|
port: 3306
|
|
## Use existing secret (ignores previous password)
|
|
## must contain key `mariadb-password`
|
|
## NOTE: When it's set, the `externalDatabase.password` parameter is ignored
|
|
##
|
|
# existingSecret:
|
|
|
|
## Nginx chart configuration
|
|
## ref: https://github.com/bitnami/charts/blob/master/bitnami/nginx/values.yaml
|
|
##
|
|
nginx:
|
|
service:
|
|
## Service type
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
|
##
|
|
type: ClusterIP
|
|
## Configure the ingress resource that allows you to access the Invoice Ninja
|
|
## ref: http://kubernetes.io/docs/user-guide/ingress/
|
|
##
|
|
ingress:
|
|
enabled: true
|
|
hostname: invoiceninja.local
|
|
## Use the serverblock config map from Invoice Ninja
|
|
##
|
|
existingServerBlockConfigmap: '{{ include "invoiceninja.nginx.serverBlockName" . }}'
|
|
## Use the public PVC created by Invoice Ninja
|
|
##
|
|
staticSitePVC: '{{ include "invoiceninja.public.storageName" . }}'
|