Files
ansible-role-eom/tasks/p2pool.yaml
T
2026-10-23 11:18:18 -04:00

192 lines
4.5 KiB
YAML

---
# tasks file for monero
- name: Create P2Pool namespace
k8s:
state: present
definition:
apiVersion: v1
kind: Namespace
metadata:
name: p2pool
- name: Create PVC for P2Pool
k8s:
state: present
definition:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
namespace: p2pool
spec:
storageClassName: r720-nfs-client
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 64Gi
- name: Create a Tor instance for P2Poold
k8s:
definition:
apiVersion: tor.k8s.torproject.org/v1alpha2
kind: Tor
metadata:
name: tor
namespace: p2pool
- name: Create Deployment for P2Poold
k8s:
definition:
apiVersion: v1
kind: Deployment
metadata:
name: p2pool
namespace: p2pool
spec:
replicas: 1
selector:
matchLabels:
app: p2pool
template:
metadata:
labels:
app: p2pool
spec:
containers:
- name: p2pool
image: nginx
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3333
- containerPort: 37889
- name: Create Service for P2Pool
k8s:
definition:
apiVersion: v1
kind: Service
metadata:
name: p2pool
namespace: p2pool
spec:
selector:
app: p2pool
ports:
- port: 3333
name: mine
- port: 37889
name: p2p
type: ClusterIP
- name: Create OnionService for mining
k8s:
definition:
apiVersion: tor.k8s.torproject.org/v1alpha2
kind: OnionService
metadata:
name: mining
namespace: p2pool
spec:
version: 3
rules:
- port:
number: 3333
backend:
service:
name: p2pool
port:
number: 3333
- name: Create OnionService for P2P
k8s:
definition:
apiVersion: tor.k8s.torproject.org/v1alpha2
kind: OnionService
metadata:
name: p2p
namespace: p2pool
spec:
version: 3
rules:
- port:
number: 28722
backend:
service:
name: p2pool
port:
number: 37889
- name: Get Tor Service info
kubernetes.core.k8s_info:
api_version: v1
kind: Service
namespace: p2pool
field_selectors:
- metadata.name=tor-tor-svc
register: tor_svc
- name: Get p2pool OnionService info
kubernetes.core.k8s_info:
api_version: tor.k8s.torproject.org/v1alpha2
kind: OnionService
namespace: p2pool
field_selectors:
- metadata.name=p2p
register: p2pool_onionservice
- name: Edit Deployment for P2Poold
k8s:
definition:
apiVersion: v1
kind: Deployment
metadata:
name: p2pool
namespace: p2pool
spec:
replicas: 1
selector:
matchLabels:
app: p2pool
template:
metadata:
labels:
app: p2pool
spec:
containers:
- name: p2pool
image: ericomeehan/p2pool:latest
imagePullPolicy: IfNotPresent
command:
- p2pool
args:
- "--host"
- "{{ monero_p2pool_hostname }}"
- "--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"
- "--socks5"
- "{{ tor_svc.resources[0].spec.clusterIP }}:9050"
- "--no-dns"
- "--no-upnp"
- "--onion-address"
- "{{ p2pool_onionservice.resources[0].status.hostname }}"
ports:
- containerPort: 3333
- containerPort: 37889
volumeMounts:
- name: data
mountPath: /home/p2pool
volumes:
- name: data
persistentVolumeClaim:
claimName: data