Files
smom-dbis-138/helm/besu-network/templates/rpc.yaml
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

156 lines
4.4 KiB
YAML

{{- if .Values.rpc.enabled }}
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "besu-network.fullname" . }}-rpc
namespace: {{ .Values.global.namespace }}
labels:
{{- include "besu-network.labels" . | nindent 4 }}
component: rpc
spec:
serviceName: {{ include "besu-network.fullname" . }}-rpc
replicas: {{ .Values.rpc.replicas }}
selector:
matchLabels:
{{- include "besu-network.selectorLabels" . | nindent 6 }}
component: rpc
template:
metadata:
labels:
{{- include "besu-network.selectorLabels" . | nindent 8 }}
component: rpc
spec:
{{- with .Values.rpc.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: component
operator: In
values:
- rpc
topologyKey: topology.kubernetes.io/zone
initContainers:
- name: config-init
image: busybox:1.36
command:
- sh
- -c
- |
cp /config-source/* /config-dest/
chmod -R 644 /config-dest/*
volumeMounts:
- name: config-source
mountPath: /config-source
- name: config-dest
mountPath: /config-dest
resources:
requests:
cpu: "10m"
memory: "32Mi"
limits:
cpu: "100m"
memory: "64Mi"
containers:
- name: besu
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.tag }}"
imagePullPolicy: {{ .Values.global.image.pullPolicy }}
command:
- /opt/besu/bin/besu
- --config-file=/config/besu-config.toml
ports:
- name: metrics
containerPort: {{ .Values.rpc.config.metricsPort }}
protocol: TCP
- name: rpc
containerPort: {{ .Values.rpc.config.rpcPort }}
protocol: TCP
- name: ws
containerPort: {{ .Values.rpc.config.wsPort }}
protocol: TCP
env:
- name: JAVA_OPTS
value: "-Xmx8g -Xms8g"
resources:
{{- toYaml .Values.rpc.resources | nindent 12 }}
volumeMounts:
- name: data
mountPath: /data
- name: config
mountPath: /config
livenessProbe:
httpGet:
path: /liveness
port: metrics
initialDelaySeconds: 60
periodSeconds: 30
readinessProbe:
httpGet:
path: /readiness
port: metrics
initialDelaySeconds: 30
periodSeconds: 10
volumes:
- name: config-source
configMap:
name: {{ include "besu-network.fullname" . }}-rpc-config
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
storageClassName: {{ .Values.rpc.storage.storageClass }}
resources:
requests:
storage: {{ .Values.rpc.storage.size }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ include "besu-network.fullname" . }}-rpc
namespace: {{ .Values.global.namespace }}
labels:
{{- include "besu-network.labels" . | nindent 4 }}
component: rpc
spec:
type: {{ .Values.service.rpc.type }}
ports:
- name: rpc
port: {{ .Values.rpc.config.rpcPort }}
targetPort: rpc
protocol: TCP
- name: ws
port: {{ .Values.rpc.config.wsPort }}
targetPort: ws
protocol: TCP
- name: metrics
port: {{ .Values.rpc.config.metricsPort }}
targetPort: metrics
protocol: TCP
selector:
{{- include "besu-network.selectorLabels" . | nindent 4 }}
component: rpc
---
{{- if .Values.pdb.rpc }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "besu-network.fullname" . }}-rpc-pdb
namespace: {{ .Values.global.namespace }}
spec:
minAvailable: {{ .Values.pdb.rpc.minAvailable }}
selector:
matchLabels:
{{- include "besu-network.selectorLabels" . | nindent 6 }}
component: rpc
{{- end }}
{{- end }}