Skip to content

Instantly share code, notes, and snippets.

@vigohe
Created January 21, 2019 15:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vigohe/0d2546b1e66a858b3ab792e6e4f753d7 to your computer and use it in GitHub Desktop.
Save vigohe/0d2546b1e66a858b3ab792e6e4f753d7 to your computer and use it in GitHub Desktop.
Drone running on K8 with istio as ingress
apiVersion: v1
kind: Namespace
metadata:
name: drone-test
labels:
istio-injection: enabled
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: drone-test
name: drone-poc-pv-claim
labels:
app: server
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: server
namespace: drone-test
spec:
replicas: 1
selector:
matchLabels:
app: server
template:
metadata:
labels:
app: server
version: v1
spec:
containers:
- name: server
image: drone/drone:0.8.9
imagePullPolicy: Always
env:
- name: DRONE_OPEN
value: "true"
- name: DRONE_HOST
value: "http://drone.bar.com"
- name: DRONE_BITBUCKET
value: "true"
- name: DRONE_BITBUCKET_CLIENT
value: "******"
- name: DRONE_BITBUCKET_SECRET
value: "******"
- name: DRONE_SECRET
value: "******"
volumeMounts:
- mountPath: /var/lib/drone
name: drone-lib
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
ports:
- containerPort: 8000
name: http-port
- containerPort: 9000
name: grpc-port
volumes:
- name: drone-lib
persistentVolumeClaim:
claimName: drone-poc-pv-claim
---
apiVersion: v1
kind: Service
metadata:
name: server
namespace: drone-test
labels:
app: server
spec:
type: ClusterIP
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8000
- name: grpc
protocol: TCP
port: 9000
targetPort: 9000
selector:
app: server
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: server-gateway
namespace: drone-test
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "server.drone-test.svc.cluster.local"
- "drone.bar.com"
- port:
number: 9000
name: grpc
protocol: GRPC
hosts:
- "server.drone-test.svc.cluster.local"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: server
namespace: drone-test
spec:
hosts:
- "server.drone-test.svc.cluster.local"
- "drone-test.${CLUSTER_ENVIRONMENT}.${CLUSTER_DOMAIN}"
gateways:
- server-gateway
http:
- match:
- port: 80
route:
- destination:
port:
number: 80
host: server.drone-test.svc.cluster.local
tcp:
- match:
- port: 9000
route:
- destination:
host: server.drone-test.svc.cluster.local
port:
number: 9000
---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: bitbucket-svc
namespace: drone-test
spec:
hosts:
- "*.bitbucket.org"
location: MESH_EXTERNAL
ports:
- number: 443
name: https
protocol: HTTPS
resolution: NONE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment