added monerod
This commit is contained in:
parent
9d336dc0b7
commit
d1426ce308
8
services/monero/monerod/cm-release-keys.yaml
Normal file
8
services/monero/monerod/cm-release-keys.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: monero-release-keys
|
||||
namespace: monero
|
||||
data:
|
||||
binaryfate.asc: |
|
||||
81AC 591F E9C4 B65C 5806 AFC3 F0AF 4D46 2A0B DF92
|
||||
77
services/monero/monerod/deployment.yaml
Normal file
77
services/monero/monerod/deployment.yaml
Normal file
@ -0,0 +1,77 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: monerod
|
||||
namespace: monero
|
||||
labels: { app: monerod }
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy: { type: Recreate }
|
||||
selector: { matchLabels: { app: monerod } }
|
||||
template:
|
||||
metadata:
|
||||
labels: { app: monerod }
|
||||
spec:
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
initContainers:
|
||||
- name: fetch-monero-cli
|
||||
image: debian:bookworm-slim
|
||||
command: ["/bin/sh","-lc"]
|
||||
args:
|
||||
- |
|
||||
set -euo pipefail
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends ca-certificates curl gnupg tar bzip2
|
||||
mkdir -p /opt/monero/bin /tmp/gnupg
|
||||
gpg --homedir /tmp/gnupg --import /keys/binaryfate.asc
|
||||
curl -fL https://downloads.getmonero.org/cli/linux64 -o /tmp/monero-cli.tar.bz2
|
||||
curl -fL https://downloads.getmonero.org/cli/linux64.sig -o /tmp/monero-cli.tar.bz2.asc
|
||||
gpg --homedir /tmp/gnupg --verify /tmp/monero-cli.tar.bz2.asc /tmp/monero-cli.tar.bz2
|
||||
tar -xjf /tmp/monero-cli.tar.bz2 -C /opt/monero
|
||||
MONEROD=$(find /opt/monero -type f -name monerod | head -n1)
|
||||
install -m 0755 "$MONEROD" /opt/monero/bin/monerod
|
||||
volumeMounts:
|
||||
- { name: monero-bin, mountPath: /opt/monero }
|
||||
- { name: release-keys, mountPath: /keys, readOnly: true }
|
||||
|
||||
containers:
|
||||
- name: monerod
|
||||
image: debian:bookworm-slim
|
||||
command: ["/bin/sh","-lc"]
|
||||
args:
|
||||
- |
|
||||
exec /opt/monero/bin/monerod \
|
||||
--data-dir /chain \
|
||||
--prune-blockchain \
|
||||
--rpc-bind-ip 0.0.0.0 --rpc-bind-port 18081 \
|
||||
--confirm-external-bind \
|
||||
--non-interactive \
|
||||
--max-concurrency 2
|
||||
ports:
|
||||
- { containerPort: 18081, name: rpc }
|
||||
volumeMounts:
|
||||
- { name: chain, mountPath: /chain }
|
||||
- { name: monero-bin, mountPath: /opt/monero/bin }
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
capabilities: { drop: ["ALL"] }
|
||||
readinessProbe:
|
||||
httpGet: { path: /get_info, port: 18081 }
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 10
|
||||
livenessProbe:
|
||||
httpGet: { path: /get_info, port: 18081 }
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 20
|
||||
volumes:
|
||||
- name: chain
|
||||
persistentVolumeClaim: { claimName: monerod-chain }
|
||||
- name: monero-bin
|
||||
emptyDir: {}
|
||||
- name: release-keys
|
||||
configMap: { name: monero-release-keys }
|
||||
7
services/monero/monerod/kustomization.yaml
Normal file
7
services/monero/monerod/kustomization.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- pvc.yaml
|
||||
- cm-release-keys.yaml
|
||||
- deploy.yaml
|
||||
- svc.yaml
|
||||
11
services/monero/monerod/pvc.yaml
Normal file
11
services/monero/monerod/pvc.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: monerod-chain
|
||||
namespace: monero
|
||||
spec:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
storageClassName: astreae
|
||||
resources:
|
||||
requests:
|
||||
storage: 120Gi
|
||||
11
services/monero/monerod/service.yaml
Normal file
11
services/monero/monerod/service.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: monerod
|
||||
namespace: monero
|
||||
labels: { app: monerod }
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector: { app: monerod }
|
||||
ports:
|
||||
- { name: rpc, port: 18081, targetPort: 18081 }
|
||||
Loading…
x
Reference in New Issue
Block a user