/ codexnode-manifest.yml
codexnode-manifest.yml
 1  apiVersion: v1
 2  kind: Namespace
 3  metadata:
 4    name: codex-test-namespace
 5    labels:
 6      name: codex-test-namespace
 7  
 8  ---
 9  
10  apiVersion: apps/v1
11  kind: Deployment
12  metadata:
13    name: codex-demo
14    namespace: codex-test-namespace
15  spec:
16    replicas: 1
17    selector:
18      matchLabels:
19        codex-node: dist-test
20    template:
21      metadata:
22        labels:
23          codex-node: dist-test
24      spec:
25        containers:
26        - name: codex-node1
27          image: codexstorage/nim-codex:sha-7b88ea0
28          ports:
29          - containerPort: 8080
30            name: api-1
31          env:
32          - name: API_PORT
33            value: "8080"
34          - name: DATA_DIR
35            value: datadir1
36          - name: DISC_PORT
37            value: "8081"
38          - name: LISTEN_ADDRS
39            value: "/ip4/0.0.0.0/tcp/8082"
40        - name: codex-node2
41          image: codexstorage/nim-codex:sha-7b88ea0
42          ports:
43          - containerPort: 8083
44            name: api-2
45          env:
46          - name: API_PORT
47            value: "8083"
48          - name: DATA_DIR
49            value: datadir2
50          - name: DISC_PORT
51            value: "8084"
52          - name: LISTEN_ADDRS
53            value: "/ip4/0.0.0.0/tcp/8085"
54            
55  ---
56  
57  apiVersion: v1
58  kind: Service
59  metadata:
60    name: codex-entrypoint
61    namespace: codex-test-namespace
62  spec:
63    type: NodePort
64    selector:
65      codex-node: dist-test
66    ports:
67    - name: "node1"
68      protocol: TCP
69      port: 8080
70      targetPort: api-1
71      nodePort: 30001
72    - name: "node2"
73      protocol: TCP
74      port: 8083
75      targetPort: api-2
76      nodePort: 30002
77