Skip to content

Instantly share code, notes, and snippets.

@sdbondi
Last active November 16, 2016 16:16
Show Gist options
  • Save sdbondi/2337b48b83443760833eee3324f1ebdc to your computer and use it in GitHub Desktop.
Save sdbondi/2337b48b83443760833eee3324f1ebdc to your computer and use it in GitHub Desktop.
apiVersion: v1
kind: ReplicationController
metadata:
name: drone-agent
namespace: app-support
labels:
tier: support
spec:
replicas: 2
selector:
name: drone-agent
tier: support
template:
metadata:
namespace: app-support
labels:
name: drone-agent
tier: support
spec:
containers:
- image: drone/drone:0.5
imagePullPolicy: Always
name: drone-agent
command:
- "/drone"
- "agent"
env:
- name: DRONE_DEBUG
valueFrom:
configMapKeyRef:
name: drone-config
key: agent.debug.is.enabled
- name: DRONE_SERVER
valueFrom:
configMapKeyRef:
name: drone-config
key: agent.drone.server.url
- name: DRONE_SECRET
valueFrom:
secretKeyRef:
name: drone-secrets
key: server.secret
- name: DRONE_TIMEOUT
valueFrom:
configMapKeyRef:
name: drone-config
key: agent.timeout
resources:
requests:
cpu: 100m
memory: 64Mi
volumeMounts:
# Enables Docker in Docker
- mountPath: /var/run/docker.sock
name: docker-socket
volumes:
- name: docker-socket
hostPath:
path: /var/run/docker.sock
apiVersion: v1
kind: ConfigMap
metadata:
name: drone-config
namespace: app-support
data:
################
# Proxy Config #
################
# CHANGEME: This should be changed to a valid email for Let's Encrypt's
# records.
proxy.letsencrypt.email: admin@fixate.it
# CHANGEME: The Fully-Qualified Domain Name (FQDN) for where Drone will run.
# No need to create a DNS entry just yet. The installer will walk you through
# this process.
proxy.fqdn: XXXXXXXXXXXXXXXXXXXXXXXXXX
################################
# Drone Server (master) Config #
################################
server.debug.is.enabled: "true"
# You'll probably want to leave this alone, but you can point to external
# DB instances if you'd like: http://readme.drone.io/0.5/manage/database/
server.database.driver: postgres
server.database.config: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
server.is.open: "true"
# CHANGEME: If you want to restrict access to a particular org, put the
# name here.
server.orgs.list: ""
# CHANGEME: Add your GitHub/Bitbucket/Gogs/etc username here. This is a
# comma-separated list of usernames who will have admin privs.
server.admin.list: XXXXXXXXXXX
server.admin.everyone.is.admin: "false"
# See http://readme.drone.io/0.5/manage/server/ for possible values here.
# For now, our demo is GitHub-only. Drone supports other remotes, we just
# haven't set the others up in here yet.
server.remote.bitbucket.is.enabled: "true"
server.remote.bitbucket.client.id: XXXXXXXXXXXXXXXX
server.remote.bitbucket.secret: XXXXXXXXXXXXXXXXXXXXXXXXXXX
######################
# Drone Agent Config #
######################
agent.debug.is.enabled: "true"
# agent.drone.server.url: wss://drone-server.app-support/ws/broker
agent.drone.server.url: wss://XXXXXXX/ws/broker
agent.timeout: 20m
apiVersion: v1
kind: ReplicationController
metadata:
name: drone-server
namespace: app-support
labels:
tier: support
spec:
replicas: 1
selector:
name: drone-server
template:
metadata:
namespace: app-support
labels:
name: drone-server
tier: support
spec:
containers:
- image: gtaylor/nginx-for-drone:latest
imagePullPolicy: Always
name: nginx-proxy
env:
- name: DOMAIN
valueFrom:
configMapKeyRef:
name: drone-config
key: proxy.fqdn
- name: EMAIL
valueFrom:
configMapKeyRef:
name: drone-config
key: proxy.letsencrypt.email
- name: UPSTREAM
value: localhost:8000
ports:
- name: http
containerPort: 80
protocol: TCP
- name: https
containerPort: 443
protocol: TCP
volumeMounts:
- mountPath: /etc/letsencrypt
name: drone-db
resources:
requests:
cpu: 40m
memory: 12Mi
- image: drone/drone:0.5.0
imagePullPolicy: Always
name: drone-server
env:
- name: DRONE_DEBUG
valueFrom:
configMapKeyRef:
name: drone-config
key: server.debug.is.enabled
- name: DRONE_SECRET
valueFrom:
secretKeyRef:
name: drone-secrets
key: server.secret
- name: DRONE_DATABASE_DRIVER
valueFrom:
configMapKeyRef:
name: drone-config
key: server.database.driver
- name: DRONE_DATABASE_DATASOURCE
valueFrom:
configMapKeyRef:
name: drone-config
key: server.database.config
- name: DRONE_OPEN
valueFrom:
configMapKeyRef:
name: drone-config
key: server.is.open
- name: DRONE_ORGS
valueFrom:
configMapKeyRef:
name: drone-config
key: server.orgs.list
- name: DRONE_ADMIN
valueFrom:
configMapKeyRef:
name: drone-config
key: server.admin.list
- name: DRONE_ADMIN_ALL
valueFrom:
configMapKeyRef:
name: drone-config
key: server.admin.everyone.is.admin
- name: DRONE_BITBUCKET
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.bitbucket.is.enabled
- name: DRONE_BITBUCKET_CLIENT
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.bitbucket.client.id
- name: DRONE_BITBUCKET_SECRET
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.bitbucket.secret
- name: DRONE_BROKER_DEBUG
value: "true"
ports:
- containerPort: 8000
protocol: TCP
volumeMounts:
# Persist our configs in an SQLite DB in here
- mountPath: /var/lib/drone
name: drone-db
# Enables Docker in Docker
- mountPath: /var/run/docker.sock
name: docker-socket
resources:
requests:
cpu: 40m
memory: 32Mi
volumes:
- name: drone-db
gcePersistentDisk:
pdName: drone-server
fsType: ext4
- name: docker-socket
hostPath:
path: /var/run/docker.sock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment