Skip to content

Instantly share code, notes, and snippets.

@OKNoah
Created August 24, 2019 02:55
Show Gist options
  • Save OKNoah/647a1df06ec71684b611a3aeab1d0d54 to your computer and use it in GitHub Desktop.
Save OKNoah/647a1df06ec71684b611a3aeab1d0d54 to your computer and use it in GitHub Desktop.
Sets up Arango on Kubernetes with ROOT password as secret
---
apiVersion: v1
kind: Service
metadata:
name: arangodb-agents
spec:
ports:
- port: 8529
targetPort: 8529
clusterIP: None
selector:
name: arangodb
role: agent
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: arangodb-agent
spec:
serviceName: "arangodb-agents"
replicas: 3
template:
metadata:
labels:
name: arangodb
role: agent
spec:
containers:
- name: arangodb
image: arangodb/arangodb:latest
env:
- name: IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: ARANGO_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: arango-root-password
key: password
ports:
- containerPort: 8529
volumeMounts:
- mountPath: /var/lib/arangodb3
name: arangodb-agency-data
args:
- --database.auto-upgrade
- "false"
- --server.authentication
- "false"
- --http.trusted-origin
- "*"
- --server.jwt-secret
- [SOME STRING HERE]
- --server.endpoint
- tcp://0.0.0.0:8529
- --agency.activate
- "true"
- --agency.size
- "3"
- --agency.supervision
- "true"
- --agency.my-address
- tcp://$(IP):8529
- --agency.endpoint
- tcp://arangodb-agent-0.arangodb-agents.default.svc.cluster.local:8529
volumeClaimTemplates:
- metadata:
name: arangodb-agency-data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: Service
metadata:
name: arangodb-coords
spec:
ports:
- port: 8529
targetPort: 8529
type: NodePort
selector:
name: arangodb
role: coordinator
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: arangodb-coord
spec:
serviceName: "arangodb-coords"
replicas: 3
template:
metadata:
labels:
name: arangodb
role: coordinator
spec:
containers:
- name: wormhole
image: flyio/wormhole:0.7.0
env:
- name: FLY_TOKEN
valueFrom:
secretKeyRef:
name: dreamer-api-secrets
key: DB_FLY_TOKEN
- name: FLY_LOCAL_ENDPOINT
value: 127.0.0.1:8529
- name: arangodb
image: arangodb/arangodb:latest
env:
- name: IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: ARANGO_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: arango-root-password
key: password
ports:
- containerPort: 8529
volumeMounts:
- mountPath: /var/lib/arangodb3
name: arangodb-coords-data
args:
- --database.auto-upgrade
- "false"
- --server.authentication
- "false"
- --server.jwt-secret
- [SOME STRING HERE]
- --http.trusted-origin
- "*"
- --server.endpoint
- tcp://0.0.0.0:8529
- --cluster.my-role
- COORDINATOR
- --cluster.my-local-info
- "$(IP)"
- --cluster.my-address
- tcp://$(IP):8529
- --cluster.agency-endpoint
- tcp://arangodb-agent-0.arangodb-agents.default.svc.cluster.local:8529
volumeClaimTemplates:
- metadata:
name: arangodb-coords-data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: Service
metadata:
name: arangodb-dbs
spec:
ports:
- port: 8529
targetPort: 8529
type: LoadBalancer
selector:
name: arangodb
role: dbserver
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: arangodb-db
spec:
serviceName: "arangodb-dbs"
replicas: 3
template:
metadata:
labels:
name: arangodb
role: dbserver
spec:
containers:
- name: arangodb
image: arangodb/arangodb:latest
env:
- name: IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: ARANGO_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: arango-root-password
key: password
ports:
- containerPort: 8529
volumeMounts:
- mountPath: /var/lib/arangodb3
name: arangodb-db-data
- mountPath: /var/lib/arangodb3-apps
name: arangodb-db-apps
args:
- --database.auto-upgrade
- "false"
- --server.authentication
- "false"
- --http.trusted-origin
- "*"
- --server.jwt-secret
- [SOME STRING HERE]
- --server.endpoint
- tcp://0.0.0.0:8529
- --cluster.my-role
- PRIMARY
- --cluster.my-local-info
- "$(IP)"
- --cluster.my-address
- tcp://$(IP):8529
- --cluster.agency-endpoint
- tcp://arangodb-agent-0.arangodb-agents.default.svc.cluster.local:8529
volumeClaimTemplates:
- metadata:
name: arangodb-db-data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
- metadata:
name: arangodb-db-apps
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment