blob: 97096fcf8c6e28c1f5d936f01c61361411812131 [file] [log] [blame]
---
apiVersion: v1
kind: Namespace
metadata:
name: dgraph
---
apiVersion: v1
kind: Service
metadata:
name: dgraph
namespace: dgraph
labels:
app: dgraph
spec:
type: ClusterIP
ports:
- port: 5080
targetPort: 5080
name: zero-grpc
- port: 6080
targetPort: 6080
name: zero-http
- port: 8080
targetPort: 8080
name: alpha-http
- port: 9080
targetPort: 9080
name: alpha-grpc
# - port: 8000
# targetPort: 8000
# name: ratel-http
selector:
app: dgraph
---
# apiVersion: traefik.containo.us/v1alpha1
# kind: IngressRoute
# metadata:
# name: ratel
# namespace: dgraph
# spec:
# entryPoints:
# - web
# routes:
# - kind: Rule
# match: PathPrefix(`/ratel`)
# services:
# - kind: Service
# name: dgraph
# namespace: dgraph
# passHostHeader: true
# port: 8000
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: dgraph-stripprefix
namespace: dgraph
spec:
stripPrefix:
prefixes:
- /dgraph
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: alpha
namespace: dgraph
spec:
entryPoints:
- web
routes:
- kind: Rule
match: PathPrefix(`/dgraph`)
services:
- kind: Service
name: dgraph
namespace: dgraph
passHostHeader: true
port: 8080
middlewares:
- name: dgraph-stripprefix
---
# This StatefulSet runs 1 pod with one Zero, one Alpha & one Ratel containers.
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: dgraph
namespace: dgraph
spec:
serviceName: "dgraph"
replicas: 1
selector:
matchLabels:
app: dgraph
template:
metadata:
labels:
app: dgraph
spec:
containers:
# - name: ratel
# image: giolekva/dgraph-arm:latest
# imagePullPolicy: Always
# ports:
# - containerPort: 8000
# name: ratel-http
# command:
# - dgraph-ratel
- name: zero
image: giolekva/dgraph-arm:latest
imagePullPolicy: Always
ports:
- containerPort: 5080
name: zero-grpc
- containerPort: 6080
name: zero-http
volumeMounts:
- name: datadir
mountPath: /dgraph
command:
- bash
- "-c"
- |
set -ex
dgraph zero --my=$(hostname -f):5080
- name: alpha
image: giolekva/dgraph-arm:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
name: alpha-http
- containerPort: 9080
name: alpha-grpc
volumeMounts:
- name: datadir
mountPath: /dgraph
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
command:
- bash
- "-c"
- |
set -ex
dgraph alpha --my=$(hostname -f):7080 --lru_mb 2048 --zero dgraph-0.dgraph.${POD_NAMESPACE}.svc.cluster.local:5080 --whitelist 0.0.0.0:255.255.255.255
terminationGracePeriodSeconds: 60
volumes:
- name: datadir
persistentVolumeClaim:
claimName: datadir
updateStrategy:
type: RollingUpdate
volumeClaimTemplates:
- metadata:
name: datadir
annotations:
volume.alpha.kubernetes.io/storage-class: local-path
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 1Gi