230 lines
5.9 KiB
YAML
230 lines
5.9 KiB
YAML
#SPDX-License-Identifier: MIT-0
|
|
---
|
|
# tasks file for ansible-role-monero
|
|
- name: Create Monero namespace
|
|
k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: monero
|
|
|
|
- name: Create PVC for Monero
|
|
k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: data
|
|
namespace: monero
|
|
spec:
|
|
storageClassName: r720-nfs-client
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 512Gi
|
|
|
|
- name: Create PVC for P2Pool
|
|
k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: p2pool
|
|
namespace: monero
|
|
spec:
|
|
storageClassName: r720-nfs-client
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 64Gi
|
|
|
|
- name: Request a certificate for Monero
|
|
k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: monerotls
|
|
namespace: monero
|
|
spec:
|
|
secretName: monerotls
|
|
privateKey:
|
|
algorithm: RSA
|
|
encoding: PKCS1
|
|
size: 2048
|
|
duration: 2160h # 90d
|
|
renewBefore: 360h # 15d
|
|
isCA: false
|
|
usages:
|
|
- server auth
|
|
- client auth
|
|
subject:
|
|
organizations:
|
|
- EOM
|
|
commonName: monerod.eom.dev
|
|
dnsNames:
|
|
- monerod.eom.dev
|
|
issuerRef:
|
|
name: ca-issuer
|
|
kind: ClusterIssuer
|
|
|
|
- name: Request a certificate for p2pool
|
|
k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: tls
|
|
namespace: monero
|
|
spec:
|
|
secretName: tls
|
|
privateKey:
|
|
algorithm: RSA
|
|
encoding: PKCS1
|
|
size: 2048
|
|
duration: 2160h # 90d
|
|
renewBefore: 360h # 15d
|
|
isCA: false
|
|
usages:
|
|
- server auth
|
|
- client auth
|
|
subject:
|
|
organizations:
|
|
- EOM
|
|
commonName: p2pool.eom.dev
|
|
dnsNames:
|
|
- p2pool.eom.dev
|
|
issuerRef:
|
|
name: ca-issuer
|
|
kind: ClusterIssuer
|
|
|
|
- name: Edit Deployment for Monerod
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: monerod
|
|
namespace: monero
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: monerod
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: monerod
|
|
spec:
|
|
containers:
|
|
- name: monerod
|
|
image: ericomeehan/monerod:latest
|
|
imagePullPolicy: Always
|
|
command:
|
|
- monerod
|
|
args:
|
|
- "--p2p-bind-ip=0.0.0.0"
|
|
- "--p2p-bind-port=18080"
|
|
- "--rpc-bind-ip=0.0.0.0"
|
|
- "--rpc-bind-port=18081"
|
|
- "--restricted-rpc"
|
|
- "--rpc-login={{ monerod_user }}:{{ monerod_password }}"
|
|
- "--data-dir=/data"
|
|
- "--zmq-pub=tcp://127.0.0.1:18083"
|
|
- "--rpc-ssl=enabled"
|
|
- "--rpc-ssl-private-key=/etc/letsencrypt/tls.key"
|
|
- "--rpc-ssl-certificate=/etc/letsencrypt/tls.crt"
|
|
- "--non-interactive"
|
|
- "--no-igd"
|
|
- "--confirm-external-bind"
|
|
- "--bootstrap-daemon-address=auto"
|
|
resources:
|
|
requests:
|
|
memory: 2Gi
|
|
ports:
|
|
- containerPort: 18080
|
|
- containerPort: 18081
|
|
- containerPort: 18083
|
|
volumeMounts:
|
|
- name: monerod
|
|
mountPath: /data
|
|
- name: monerotls
|
|
mountPath: /etc/letsencrypt
|
|
- name: p2pool
|
|
image: ericomeehan/p2pool:latest
|
|
imagePullPolicy: IfNotPresent
|
|
command:
|
|
- p2pool
|
|
args:
|
|
- "--host"
|
|
- "127.0.0.1"
|
|
- "--rpc-port"
|
|
- "18081"
|
|
- "--wallet"
|
|
- "{{ monero_p2pool_wallet_address }}"
|
|
- "--stratum"
|
|
- "0.0.0.0:3333"
|
|
- "--p2p"
|
|
- "0.0.0.0:37889"
|
|
- "--addpeers"
|
|
- "65.21.227.114:37889"
|
|
- "--tls-cert"
|
|
- "/etc/letsencrypt/tls.crt"
|
|
- "--tls-cert-key"
|
|
- "/etc/letsencrypt/tls.key"
|
|
- "--rpc-ssl"
|
|
ports:
|
|
- containerPort: 3333
|
|
- containerPort: 37889
|
|
volumeMounts:
|
|
- name: p2pool
|
|
mountPath: /home/p2pool
|
|
- name: tls
|
|
mountPath: /etc/letsencrypt
|
|
volumes:
|
|
- name: monerod
|
|
persistentVolumeClaim:
|
|
claimName: data
|
|
- name: p2pool
|
|
persistentVolumeClaim:
|
|
claimName: p2pool
|
|
- name: monerotls
|
|
secret:
|
|
secretName: monerotls
|
|
- name: tls
|
|
secret:
|
|
secretName: tls
|
|
|
|
- name: Create Service for Monero
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: monerod
|
|
namespace: monero
|
|
spec:
|
|
selector:
|
|
app: monerod
|
|
ports:
|
|
- port: 18080
|
|
name: p2p
|
|
- port: 18081
|
|
name: rpc
|
|
- port: 18083
|
|
name: zmq
|
|
- port: 3333
|
|
name: mine
|
|
- port: 37889
|
|
name: p2poolp2p
|
|
type: LoadBalancer
|
|
|