wormhole-explorer/devnet/mongo-configure-job.yaml

82 lines
2.0 KiB
YAML

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-account
namespace: 'default'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: mongodb-role
rules:
- apiGroups: ["*"]
resources: ["services"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["pods"]
verbs: ["get","list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: mongodb-role-binding
subjects:
- kind: ServiceAccount
name: mongodb-account
namespace: 'default'
roleRef:
kind: ClusterRole
name: mongodb-role
apiGroup: rbac.authorization.k8s.io
---
apiVersion: batch/v1
kind: Job
metadata:
name: mongo-configure-job
spec:
template:
metadata:
name: mongo-configure-job
spec:
serviceAccountName: mongodb-account
initContainers:
- name: mongo-configure-dependency
image: ylonkar/pod-dependency-init-container:1.0.2
env:
- name: POD_LABELS
value: "app=mongo,statefulset.kubernetes.io/pod-name=mongo-2"
- name: MAX_RETRY
value: "10"
- name: RETRY_TIME_OUT
value: "30000"
containers:
- name: mongo
image: mongo:latest
command:
- mongosh
- mongo-0.mongo
- "--eval"
- |
rs.initiate({
_id : "rs0",
members: [
{
"_id": 0,
"host": "mongo-0.mongo",
"priority": 4
},
{
"_id": 1,
"host": "mongo-1.mongo",
"priority": 2
},
{
"_id": 2,
"host": "mongo-2.mongo",
"priority": 1
}
]
})
restartPolicy: Never
backoffLimit: 4