[Blockchain Watcher] (FIX) Divided solana pods (#1105)

Divided solana pods

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
This commit is contained in:
Julian 2024-02-07 16:56:04 -03:00 committed by GitHub
parent 59705a5bad
commit 9c06a6e91d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 179 additions and 66 deletions

View File

@ -2,17 +2,17 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ .NAME }}-solana-events name: {{ .NAME }}-solana-source-events
namespace: {{ .NAMESPACE }} namespace: {{ .NAMESPACE }}
labels: labels:
app: {{ .NAME }}-solana-events app: {{ .NAME }}-solana-source-events
spec: spec:
selector: selector:
app: {{ .NAME }}-solana-events app: {{ .NAME }}-solana-source-events
ports: ports:
- port: {{ .PORT }} - port: {{ .PORT }}
targetPort: {{ .PORT }} targetPort: {{ .PORT }}
name: {{ .NAME }}-solana-events name: {{ .NAME }}-solana-source-events
protocol: TCP protocol: TCP
--- ---
apiVersion: v1 apiVersion: v1
@ -31,7 +31,7 @@ spec:
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ .NAME }}-solana-events-jobs name: {{ .NAME }}-solana-source-events-jobs
namespace: {{ .NAMESPACE }} namespace: {{ .NAMESPACE }}
data: data:
testnet-jobs.json: |- 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: |- mainnet-jobs.json: |-
@ -117,35 +89,7 @@ data:
"mapper": "solanaLogMessagePublishedMapper", "mapper": "solanaLogMessagePublishedMapper",
"config": { "config": {
"programId": "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth", "programId": "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",
"metricName": "process_source_solana_event" "metricName": "process_source_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"
} }
} }
] ]
@ -155,17 +99,17 @@ data:
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .NAME }}-solana-events name: {{ .NAME }}-solana-source-events
namespace: {{ .NAMESPACE }} namespace: {{ .NAMESPACE }}
spec: spec:
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
app: {{ .NAME }}-solana-events app: {{ .NAME }}-solana-source-events
template: template:
metadata: metadata:
labels: labels:
app: {{ .NAME }}-solana-events app: {{ .NAME }}-solana-source-events
annotations: annotations:
prometheus.io/scrape: "true" prometheus.io/scrape: "true"
prometheus.io/port: "{{ .PORT }}" prometheus.io/port: "{{ .PORT }}"
@ -218,7 +162,7 @@ spec:
claimName: blockchain-watcher-solana-pvc claimName: blockchain-watcher-solana-pvc
- name: jobs-volume - name: jobs-volume
configMap: configMap:
name: {{ .NAME }}-solana-events-jobs name: {{ .NAME }}-solana-source-events-jobs
items: items:
- key: {{ .BLOCKCHAIN_ENV }}-jobs.json - key: {{ .BLOCKCHAIN_ENV }}-jobs.json
path: jobs.json path: jobs.json

View File

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