Skip to content

Instantly share code, notes, and snippets.

@nlf
Created October 14, 2016 14:21
Show Gist options
  • Save nlf/c9658aca32e1835c5cb0e6c2fe9beb7a to your computer and use it in GitHub Desktop.
Save nlf/c9658aca32e1835c5cb0e6c2fe9beb7a to your computer and use it in GitHub Desktop.
description "drone agent"
start on started docker
stop on runlevel [!2345]
respawn
pre-start script
docker pull drone/drone:0.5.0-rc
docker rm drone-agent || true
end script
script
docker run -v /var/run/docker.sock:/var/run/docker.sock \
-e DRONE_SERVER=ws://drone-internal.yourdomain.com/ws/broker \
-e DRONE_SECRET=somesecret \
--name drone-agent \
drone/drone:0.5.0-rc agent
end script
apiVersion: v1
data:
agent-secret: somesecretgoeshere
database-config: postgres://username:password@yourserver.com/drone
database-driver: postgres
github-client: githubclientid
github-secret: githubclientsecret
orgs: yourgithuborg
kind: ConfigMap
metadata:
name: drone
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: drone
name: drone
spec:
replicas: 1
selector:
matchLabels:
app: drone
template:
metadata:
labels:
app: drone
name: drone
spec:
containers:
- env:
- name: DRONE_GITHUB
value: "true"
- name: DRONE_GITHUB_CLIENT
valueFrom:
configMapKeyRef:
key: github-client
name: drone
- name: DRONE_GITHUB_SECRET
valueFrom:
configMapKeyRef:
key: github-secret
name: drone
- name: DRONE_ORGS
valueFrom:
configMapKeyRef:
key: orgs
name: drone
- name: DRONE_OPEN
value: "true"
- name: DATABASE_DRIVER
valueFrom:
configMapKeyRef:
key: database-driver
name: drone
- name: DATABASE_CONFIG
valueFrom:
configMapKeyRef:
key: database-config
name: drone
- name: I_UNDERSTAND_I_AM_USING_AN_UNSTABLE_VERSION
value: "true"
- name: I_AGREE_TO_FIX_BUGS_AND_NOT_FILE_BUGS
value: "true"
- name: DEBUG
value: "true"
- name: DRONE_ADMIN
value: nlf
- name: DRONE_SECRET
valueFrom:
configMapKeyRef:
key: agent-secret
name: drone
image: drone/drone:0.5.0-rc
imagePullPolicy: Always
name: drone
ports:
- containerPort: 8000
protocol: TCP
dnsPolicy: ClusterFirst
restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
name: drone
spec:
ports:
- port: 8000
protocol: TCP
targetPort: 8000
selector:
app: drone
type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: drone
spec:
rules:
- host: drone-internal.yourdomain.com # this is configured with the internal IPs of each node
http:
paths:
- backend:
serviceName: drone
servicePort: 8000
- host: drone.yourdomain.com
http:
paths:
- backend:
serviceName: drone
servicePort: 8000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment