appVersion: "0.8.9" images: ## The official drone (server) image, change tag to use a different version. ## ref: https://hub.docker.com/r/drone/drone/tags/ ## server: repository: "docker.io/drone/drone" tag: 0.8.9 pullPolicy: IfNotPresent ## The official drone (agent) image, change tag to use a different version. ## ref: https://hub.docker.com/r/drone/agent/tags/ ## agent: repository: "docker.io/drone/agent" tag: 0.8.9 pullPolicy: IfNotPresent ## The official docker (dind) image, change tag to use a different version. ## ref: https://hub.docker.com/r/library/docker/tags/ ## dind: repository: "docker.io/library/docker" tag: 18.06.1-ce-dind pullPolicy: IfNotPresent service: httpPort: 80 ## If service.type is not set to NodePort, the following statement ## will be ignored. ## #nodePort: 32015 ## Service type can be set to ClusterIP, NodePort or LoadBalancer. ## type: LoadBalancer ## Drone Service annotations ## # annotations: # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http # service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:xx-xxxx-x:xxxxxxxxxxx:certificate/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx # external-dns.alpha.kubernetes.io/hostname: drone.domain.tld. ingress: ## If true, Drone Ingress will be created. ## enabled: false ## Drone Ingress annotations ## # annotations: # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: 'true' ## Drone hostnames must be provided if Ingress is enabled ## # hosts: # - drone.domain.io ## Drone Ingress TLS configuration secrets ## Must be manually created in the namespace ## # tls: # - secretName: drone-tls # hosts: # - drone.domain.io server: ## If not set, it will be autofilled with the cluster host. ## Host must be in "://" format. ## # host: "https://drone.domain.io" ## Drone server configuration. ## Values in here get injected as environment variables. ## ref: http://readme.drone.io/admin/installation-reference ## env: #DRONE_HOST: "http://" DRONE_DEBUG: "false" DRONE_DATABASE_DRIVER: "sqlite3" DRONE_DATABASE_DATASOURCE: "/var/lib/drone/drone.sqlite" DRONE_PROVIDER: github DRONE_OPEN: "true" DRONE_GITHUB: "true" #DRONE_ORGS: "" DRONE_GITHUB_CLIENT: "" ## Secret environment variables are configured in `server.envSecrets`. ## Each item in `server.envSecrets` references a Kubernetes Secret. ## These Secrets should be created before they are referenced. ## envSecrets: # # The name of a Kubernetes Secret drone-server-secrets: # # A list of Secret keys to include as environment variables - DRONE_GITHUB_SECRET ## Additional server annotations. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## annotations: {} ## CPU and memory limits for drone server ## resources: {} # requests: # memory: 32Mi # cpu: 40m # limits: # memory: 2Gi # cpu: 1 ## Use an alternate scheduler, e.g. "stork". ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## # schedulerName: ## Pod scheduling preferences. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## affinity: {} ## Node labels for pod assignment ## ref: https://kubernetes.io/docs/user-guide/node-selection ## nodeSelector: {} ## additional siecar containers, e. g. for a database proxy, such as Google's cloudsql-proxy. ## ex: https://github.com/kubernetes/charts/tree/master/stable/keycloak ## extraContainers: | ## additional volumes, e. g. for secrets used in an extraContainers. ## extraVolumes: | agent: ## Drone agent configuration. ## Values in here get injected as environment variables. ## ref: http://readme.drone.io/admin/installation-reference ## env: DRONE_DEBUG: "false" ## Number of drone agent replicas replicas: 1 ## Additional agent annotations. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## annotations: {} ## CPU and memory limits for drone agent ## resources: {} # requests: # memory: 32Mi # cpu: 40m # limits: # memory: 2Gi # cpu: 1 ## Liveness and readiness probe values ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes livenessProbe: enabled: true failureThreshold: 3 initialDelaySeconds: 0 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 readinessProbe: enabled: true failureThreshold: 3 initialDelaySeconds: 0 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 ## Use an alternate scheduler, e.g. "stork". ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## # schedulerName: ## Pod scheduling preferences. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## affinity: {} ## Node labels for pod assignment ## ref: https://kubernetes.io/docs/user-guide/node-selection ## nodeSelector: {} dind: ## Enable or disable DinD ## If disabled, the drone agent will spawn docker containers on the host. Pay ## attention to the fact that we can't enforce resource constraints in that case. ## enabled: false ## Values in here get injected as environment variables to DinD. ## ref: http://readme.drone.io/admin/installation-reference ## # env: # DRONE_DEBUG: "false" ## Allowing custom command and args to DinD ## ref: https://discourse.drone.io/t/docker-mtu-problem/1207 ## # command: '["/bin/sh"]' # args: '["-c", "dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --mtu=1350"]' ## Docker storage driver. ## Your DinD instance should be using the same driver as your host. ## ref: https://docs.docker.com/engine/userguide/storagedriver/selectadriver/ ## driver: overlay2 ## CPU and memory limits for dind ## resources: {} # requests: # memory: 32Mi # cpu: 40m # limits: # memory: 2Gi # cpu: 1 ## Enable scraping of the /metrics endpoint for Prometheus metrics: prometheus: enabled: false ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: enabled: true ## A manually managed Persistent Volume and Claim ## Requires persistence.enabled: true ## If defined, PVC must be created manually before volume will be bound # existingClaim: ## rabbitmq data Persistent Volume Storage Class ## If defined, storageClassName: ## 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: "-" accessMode: ReadWriteOnce size: 1Gi ## Uncomment this if you want to set a specific shared secret between ## the agents and servers, otherwise this will be auto-generated. ## # sharedSecret: supersecret rbac: ## Specifies whether RBAC resources should be created create: true ## RBAC api version (v1, v1beta1, or v1alpha1) apiVersion: v1 serviceAccount: ## Specifies whether a ServiceAccount should be created create: true ## The name of the ServiceAccount to use. ## If not set and create is true, a name is generated using the fullname template name: drone-cluster-user