--- # 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