96 lines
3.1 KiB
YAML
Raw Normal View History

# services/crypto/xmr-miner/deployment.yaml
2025-08-13 01:00:20 -05:00
apiVersion: apps/v1
kind: Deployment
metadata:
2025-08-14 00:34:13 -05:00
name: monero-p2pool
2025-08-13 01:00:20 -05:00
namespace: crypto
2025-08-14 00:34:13 -05:00
labels: { app: monero-p2pool }
2025-08-13 01:00:20 -05:00
spec:
replicas: 1
2025-08-13 08:17:31 -05:00
selector:
2025-08-14 00:34:13 -05:00
matchLabels: { app: monero-p2pool }
2025-08-13 01:00:20 -05:00
template:
metadata:
2025-08-14 00:34:13 -05:00
labels: { app: monero-p2pool }
2025-08-13 01:00:20 -05:00
spec:
nodeSelector:
2025-08-13 18:11:03 -05:00
node-role.kubernetes.io/worker: "true"
2025-09-02 10:43:44 -05:00
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: hardware
operator: In
values: ["rpi4","rpi5"]
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 50
preference:
matchExpressions:
- key: hardware
operator: In
values: ["rpi4"]
2025-12-24 19:06:40 -03:00
initContainers:
- name: fetch-p2pool
image: alpine:3.20
command: ["/bin/sh","-c"]
args:
- |
set -euxo pipefail
2025-12-24 19:06:40 -03:00
apk add --no-cache curl tar openssl >/dev/null
test -n "${P2POOL_URL}"
echo "Downloading ${P2POOL_URL}"
curl -fsSL "${P2POOL_URL}" -o /tmp/p2pool.tgz
if [ -n "${P2POOL_SHA256}" ]; then
echo "${P2POOL_SHA256} /tmp/p2pool.tgz" | sha256sum -c -
fi
mkdir -p /opt/p2pool
tar -xzf /tmp/p2pool.tgz -C /opt/p2pool
ls -l /opt/p2pool
BIN="$(find /opt/p2pool -maxdepth 2 -type f -name 'p2pool*' | head -n1)"
2025-12-24 19:06:40 -03:00
test -n "${BIN}"
install -m0755 "${BIN}" /opt/p2pool/p2pool
env:
- name: P2POOL_URL
valueFrom: { configMapKeyRef: { name: xmr-miner-sources, key: P2POOL_URL } }
- name: P2POOL_SHA256
valueFrom: { configMapKeyRef: { name: xmr-miner-sources, key: P2POOL_SHA256, optional: true } }
volumeMounts:
- { name: p2pool-bin, mountPath: /opt/p2pool }
2025-08-13 01:00:20 -05:00
containers:
2025-08-14 00:34:13 -05:00
- name: monero-p2pool
2025-12-24 19:06:40 -03:00
image: debian:bookworm-slim
imagePullPolicy: IfNotPresent
command: ["/opt/p2pool/p2pool"]
2025-08-13 01:00:20 -05:00
args:
2025-08-13 09:19:49 -05:00
- "--host"
- "monerod.crypto.svc.cluster.local"
- "--rpc-port"
- "18081"
- "--zmq-port"
- "18083"
- "--stratum"
- "0.0.0.0:3333"
- "--wallet"
- "$(XMR_ADDR)"
2025-08-13 08:17:31 -05:00
# - "--light-mode"
# - "--no-randomx"
# - "--no-cache"
env:
- name: XMR_ADDR
valueFrom:
secretKeyRef:
name: xmr-payout
key: address
2025-08-13 01:00:20 -05:00
ports:
2025-08-13 08:17:31 -05:00
- { name: stratum, containerPort: 3333, protocol: TCP }
readinessProbe:
tcpSocket: { port: 3333 }
initialDelaySeconds: 10
periodSeconds: 10
2025-12-24 19:06:40 -03:00
volumeMounts:
- { name: p2pool-bin, mountPath: /opt/p2pool }
volumes:
- name: p2pool-bin
emptyDir: {}