Skip to content

Instantly share code, notes, and snippets.

@HerrmannHinz
Last active August 21, 2017 20:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HerrmannHinz/3bf4cae439235f8ccc372d6890457382 to your computer and use it in GitHub Desktop.
Save HerrmannHinz/3bf4cae439235f8ccc372d6890457382 to your computer and use it in GitHub Desktop.
drone kubernetes minikube
apiVersion: v1
kind: ReplicationController
metadata:
name: drone-agent
labels:
heritage: drone-cicd
spec:
replicas: 1
selector:
name: drone-agent
template:
metadata:
labels:
name: drone-agent
spec:
containers:
- image: drone/agent:0.8.0-rc.3
imagePullPolicy: Always
name: drone-agent
command:
env:
- name: DRONE_BROKER_DEBUG
value: "true"
- name: DRONE_DEBUG
valueFrom:
configMapKeyRef:
name: drone-config
key: agent.debug.is.enabled
- name: DRONE_SERVER
value: "drone-server:9000"
- name: DRONE_SECRET
valueFrom:
configMapKeyRef:
name: drone-config
key: server.secret
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: default
data:
# can go into a secret - yeah - but for the laziness its okay in here
server.secret: "ZkMwdHl5NTNFNUtlVE5taFhBMU1MQm9ucERtcDJDZDIK"
################################
# 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: sqlite3
server.database.config: /var/lib/drone/drone.sqlite
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: "admin"
server.admin.everyone.is.admin: "true"
# See http://docs.drone.io/install-for-bitbucket-server/ for possible values here.
server.remote.stash.is.enabled: "true"
server.remote.stash.url: "http://bitbucket.192.168.99.100.xip.io"
server.remote.stash.consumer.key: "xxxxxxddddddddssssssssss"
server.remote.stash.consumer.rsa: "/etc/bitbucket/key.pem"
server.remote.stash.git.username: "admin"
server.remote.stash.git.password: "changeme"
######################
# Drone Agent Config #
######################
agent.debug.is.enabled: "true"
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: drone-server
spec:
rules:
- host: drone.192.168.99.100.xip.io
http:
paths:
- path: /
backend:
serviceName: drone-server
servicePort: 8000
apiVersion: v1
kind: ReplicationController
metadata:
name: drone-server
labels:
heritage: drone-cicd
spec:
replicas: 1
selector:
name: drone-server
template:
metadata:
labels:
name: drone-server
spec:
containers:
- image: drone/drone:0.8.0-rc.3
imagePullPolicy: Always
name: drone-server
env:
- name: DRONE_HOST
value: "http://drone.192.168.99.100.xip.io"
# remote bitbucket server (selfhosted)
- name: DRONE_BROKER_DEBUG
value: "true"
- name: DRONE_STASH
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.stash.is.enabled
- name: DRONE_STASH_GIT_USERNAME
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.stash.git.username
- name: DRONE_STASH_GIT_PASSWORD
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.stash.git.password
- name: DRONE_STASH_URL
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.stash.url
- name: DRONE_STASH_CONSUMER_KEY
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.stash.consumer.key
- name: DRONE_STASH_CONSUMER_RSA
valueFrom:
configMapKeyRef:
name: drone-config
key: server.remote.stash.consumer.rsa
- name: DRONE_DEBUG
valueFrom:
configMapKeyRef:
name: drone-config
key: server.debug.is.enabled
- name: DRONE_SECRET
valueFrom:
configMapKeyRef:
name: drone-config
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
ports:
- containerPort: 8000
protocol: TCP
- containerPort: 9000
protocol: TCP
volumeMounts:
# Persist our configs in an SQLite DB in here
- mountPath: /var/lib/drone
name: drone-server-sqlite-db
# bitbucket pem file
- mountPath: /etc/bitbucket/key.pem
name: drone-stash-consumer-rsa
resources:
requests:
cpu: 40m
memory: 32Mi
volumes:
- name: drone-server-sqlite-db
hostPath:
path: /mnt/share/drone-server-sqlite-db
- name: docker-socket
hostPath:
path: /var/run/docker.sock
- name: drone-stash-consumer-rsa
hostPath:
path: /mnt/share/data/secrets/bitbucket/key.pem
apiVersion: v1
kind: Service
metadata:
name: drone-server
labels:
provider: drone-server
heritage: drone-cicd
spec:
ports:
- name: http
port: 8000
protocol: TCP
targetPort: 8000
- name: rpc
port: 9000
protocol: TCP
targetPort: 9000
selector:
name: drone-server
type: NodePort
apiVersion: v1
kind: ReplicationController
metadata:
name: drone-wall
labels:
heritage: drone-cicd
spec:
replicas: 1
selector:
name: drone-wall
template:
metadata:
labels:
name: drone-wall
spec:
containers:
- image: drone/drone-wall:latest
imagePullPolicy: Always
name: drone-server
ports:
- containerPort: 80
protocol: TCP
resources:
requests:
cpu: 40m
memory: 32Mi
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: drone-wall
spec:
rules:
- host: drone-wall.192.168.99.100.xip.io
http:
paths:
- path: /
backend:
serviceName: drone-wall
servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
name: drone-wall
labels:
provider: drone-wall
heritage: drone-cicd
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
name: drone-wall
type: NodePort
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment