diff --git a/deploy/blockchain-watcher/workers/solana-events.yaml b/deploy/blockchain-watcher/workers/solana-source-events.yaml similarity index 66% rename from deploy/blockchain-watcher/workers/solana-events.yaml rename to deploy/blockchain-watcher/workers/solana-source-events.yaml index 7a6c4f89..c528b909 100644 --- a/deploy/blockchain-watcher/workers/solana-events.yaml +++ b/deploy/blockchain-watcher/workers/solana-source-events.yaml @@ -2,17 +2,17 @@ apiVersion: v1 kind: Service metadata: - name: {{ .NAME }}-solana-events + name: {{ .NAME }}-solana-source-events namespace: {{ .NAMESPACE }} labels: - app: {{ .NAME }}-solana-events + app: {{ .NAME }}-solana-source-events spec: selector: - app: {{ .NAME }}-solana-events + app: {{ .NAME }}-solana-source-events ports: - port: {{ .PORT }} targetPort: {{ .PORT }} - name: {{ .NAME }}-solana-events + name: {{ .NAME }}-solana-source-events protocol: TCP --- apiVersion: v1 @@ -31,7 +31,7 @@ spec: apiVersion: v1 kind: ConfigMap metadata: - name: {{ .NAME }}-solana-events-jobs + name: {{ .NAME }}-solana-source-events-jobs namespace: {{ .NAMESPACE }} data: testnet-jobs.json: |- @@ -63,34 +63,6 @@ data: } } ] - }, - { - "id": "poll-transfer-redeemed-solana", - "chain": "solana", - "source": { - "action": "PollSolanaTransactions", - "records": "GetSolanaTransactions", - "config": { - "slotBatchSize": 1000, - "commitment": "finalized", - "interval": 1500, - "signaturesLimit": 200, - "programId": "DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe", - "chain": "solana", - "chainId": 1 - } - }, - "handlers": [ - { - "action": "HandleSolanaTransactions", - "target": "sns", - "mapper": "solanaTransferRedeemedMapper", - "config": { - "programId": "DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe", - "metricName": "process_vaa_event" - } - } - ] } ] mainnet-jobs.json: |- @@ -117,35 +89,7 @@ data: "mapper": "solanaLogMessagePublishedMapper", "config": { "programId": "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth", - "metricName": "process_source_solana_event" - } - } - ] - }, - { - "id": "poll-transfer-redeemed-solana", - "chain": "solana", - "source": { - "action": "PollSolanaTransactions", - "records": "GetSolanaTransactions", - "config": { - "slotBatchSize": 1000, - "commitment": "finalized", - "interval": 1500, - "signaturesLimit": 200, - "programId": "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb", - "chain": "solana", - "chainId": 1 - } - }, - "handlers": [ - { - "action": "HandleSolanaTransactions", - "target": "sns", - "mapper": "solanaTransferRedeemedMapper", - "config": { - "programId": "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb", - "metricName": "process_vaa_solana_event" + "metricName": "process_source_event" } } ] @@ -155,17 +99,17 @@ data: apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .NAME }}-solana-events + name: {{ .NAME }}-solana-source-events namespace: {{ .NAMESPACE }} spec: replicas: 1 selector: matchLabels: - app: {{ .NAME }}-solana-events + app: {{ .NAME }}-solana-source-events template: metadata: labels: - app: {{ .NAME }}-solana-events + app: {{ .NAME }}-solana-source-events annotations: prometheus.io/scrape: "true" prometheus.io/port: "{{ .PORT }}" @@ -218,7 +162,7 @@ spec: claimName: blockchain-watcher-solana-pvc - name: jobs-volume configMap: - name: {{ .NAME }}-solana-events-jobs + name: {{ .NAME }}-solana-source-events-jobs items: - key: {{ .BLOCKCHAIN_ENV }}-jobs.json path: jobs.json diff --git a/deploy/blockchain-watcher/workers/solana-target-events.yaml b/deploy/blockchain-watcher/workers/solana-target-events.yaml new file mode 100644 index 00000000..8c8d1d69 --- /dev/null +++ b/deploy/blockchain-watcher/workers/solana-target-events.yaml @@ -0,0 +1,169 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ .NAME }}-solana-target-events + namespace: {{ .NAMESPACE }} + labels: + app: {{ .NAME }}-solana-target-events +spec: + selector: + app: {{ .NAME }}-solana-target-events + ports: + - port: {{ .PORT }} + targetPort: {{ .PORT }} + name: {{ .NAME }}-solana-target-events + protocol: TCP +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: blockchain-watcher-solana-target-events-pvc + namespace: {{ .NAMESPACE }} +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Mi + storageClassName: gp2 +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .NAME }}-solana-target-events-jobs + namespace: {{ .NAMESPACE }} +data: + testnet-jobs.json: |- + [ + { + "id": "poll-transfer-redeemed-solana", + "chain": "solana", + "source": { + "action": "PollSolanaTransactions", + "records": "GetSolanaTransactions", + "config": { + "slotBatchSize": 1000, + "commitment": "finalized", + "interval": 1500, + "signaturesLimit": 200, + "programId": "DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe", + "chain": "solana", + "chainId": 1 + } + }, + "handlers": [ + { + "action": "HandleSolanaTransactions", + "target": "sns", + "mapper": "solanaTransferRedeemedMapper", + "config": { + "programId": "DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe", + "metricName": "process_vaa_event" + } + } + ] + } + ] + mainnet-jobs.json: |- + [ + { + "id": "poll-transfer-redeemed-solana", + "chain": "solana", + "source": { + "action": "PollSolanaTransactions", + "records": "GetSolanaTransactions", + "config": { + "slotBatchSize": 1000, + "commitment": "finalized", + "interval": 1500, + "signaturesLimit": 200, + "programId": "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb", + "chain": "solana", + "chainId": 1 + } + }, + "handlers": [ + { + "action": "HandleSolanaTransactions", + "target": "sns", + "mapper": "solanaTransferRedeemedMapper", + "config": { + "programId": "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb", + "metricName": "process_vaa_event" + } + } + ] + } + ] +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .NAME }}-solana-target-events + namespace: {{ .NAMESPACE }} +spec: + replicas: 1 + selector: + matchLabels: + app: {{ .NAME }}-solana-target-events + template: + metadata: + labels: + app: {{ .NAME }}-solana-target-events + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "{{ .PORT }}" + spec: + restartPolicy: Always + terminationGracePeriodSeconds: 30 + serviceAccountName: event-watcher + containers: + - name: {{ .NAME }} + image: {{ .IMAGE_NAME }} + env: + - name: NODE_ENV + value: {{ .NODE_ENV }} + - name: PORT + value: "{{ .PORT }}" + - name: LOG_LEVEL + value: {{ .LOG_LEVEL }} + - name: BLOCKCHAIN_ENV + value: {{ .BLOCKCHAIN_ENV }} + - name: DRY_RUN_ENABLED + value: "{{ .DRY_RUN_ENABLED }}" + - name: SNS_TOPIC_ARN + value: {{ .SNS_TOPIC_ARN }} + - name: SNS_REGION + value: {{ .SNS_REGION }} + - name: NODE_OPTIONS + value: {{ .NODE_OPTIONS }} + - name: SOLANA_RPCS + valueFrom: + secretKeyRef: + name: blockchain-watcher + key: solana-urls + - name: JOBS_DIR + value: /home/node/app/jobs + resources: + limits: + memory: {{ .RESOURCES_LIMITS_MEMORY }} + cpu: {{ .RESOURCES_LIMITS_CPU }} + requests: + memory: {{ .RESOURCES_REQUESTS_MEMORY }} + cpu: {{ .RESOURCES_REQUESTS_CPU }} + volumeMounts: + - name: metadata-volume + mountPath: /home/node/app/metadata-repo + - name: jobs-volume + mountPath: /home/node/app/jobs + volumes: + - name: metadata-volume + persistentVolumeClaim: + claimName: blockchain-watcher-solana-target-events-pvc + - name: jobs-volume + configMap: + name: {{ .NAME }}-solana-target-events-jobs + items: + - key: {{ .BLOCKCHAIN_ENV }}-jobs.json + path: jobs.json