├── public-merge-kiln ├── helmsman │ ├── README.md │ ├── .gitignore │ ├── values │ │ ├── shared-services │ │ │ ├── external-dns.yaml │ │ │ ├── cert-manager.yaml │ │ │ ├── ingress-nginx.yaml │ │ │ ├── haproxy.yaml │ │ │ └── kube-prometheus-stack.yaml │ │ └── ethereum │ │ │ ├── ethstats.yaml │ │ │ ├── pari-beaconchain-hack.yaml │ │ │ ├── tolerations │ │ │ ├── clients.yaml │ │ │ ├── beaconexplorer.yaml │ │ │ └── blockscout.yaml │ │ │ ├── rpc-proxy.yaml │ │ │ ├── testnet-homepage.yaml │ │ │ ├── fauceth.yaml │ │ │ └── blockscout.yaml │ ├── local-charts │ │ ├── ingress-definitions │ │ │ ├── values.yaml │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ │ ├── haproxy.yaml │ │ │ │ ├── ingress.home.yaml │ │ │ │ ├── ingress.ethstats.yaml │ │ │ │ ├── ingress.explorer.yaml │ │ │ │ ├── ingress.consensusmonitor.yaml │ │ │ │ ├── ingress.beaconchain.yaml │ │ │ │ ├── ingress.faucet.yaml │ │ │ │ ├── ingress.rpc.yaml │ │ │ │ └── _helpers.tpl │ │ └── cluster-issuer │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ ├── secret.yaml │ │ │ ├── certificate.yaml │ │ │ ├── clusterissuer.yaml │ │ │ └── _helpers.tpl │ │ │ └── values.yaml │ └── .env.example └── terraform │ └── .terraform.lock.hcl ├── public-merge-devnet3 ├── helmsman │ ├── README.md │ ├── .gitignore │ ├── values │ │ ├── shared-services │ │ │ ├── external-dns.yaml │ │ │ ├── cert-manager.yaml │ │ │ ├── ingress-nginx.yaml │ │ │ └── kube-prometheus-stack.yaml │ │ └── ethereum │ │ │ ├── ethstats.yaml │ │ │ ├── tolerations │ │ │ ├── clients.yaml │ │ │ ├── blockscout.yaml │ │ │ └── beaconexplorer.yaml │ │ │ ├── testnet-faucet.yaml │ │ │ ├── testnet-homepage.yaml │ │ │ ├── geth.yaml │ │ │ ├── geth-archive.yaml │ │ │ ├── nethermind.yaml │ │ │ └── blockscout.yaml │ ├── local-charts │ │ ├── ingress-definitions │ │ │ ├── values.yaml │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ │ ├── ingress.home.yaml │ │ │ │ ├── ingress.ethstats.yaml │ │ │ │ ├── ingress.faucet.yaml │ │ │ │ ├── ingress.explorer.yaml │ │ │ │ ├── ingress.beaconchain.yaml │ │ │ │ ├── ingress.consensusmonitor.yaml │ │ │ │ ├── ingress.rpc.yaml │ │ │ │ └── _helpers.tpl │ │ └── cluster-issuer │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ ├── secret.yaml │ │ │ ├── certificate.yaml │ │ │ ├── clusterissuer.yaml │ │ │ └── _helpers.tpl │ │ │ └── values.yaml │ └── .env.example └── terraform │ └── .terraform.lock.hcl ├── public-merge-devnet4 ├── helmsman │ ├── README.md │ ├── .gitignore │ ├── values │ │ ├── shared-services │ │ │ ├── external-dns.yaml │ │ │ ├── cert-manager.yaml │ │ │ ├── ingress-nginx.yaml │ │ │ └── kube-prometheus-stack.yaml │ │ └── ethereum │ │ │ ├── ethstats.yaml │ │ │ ├── tolerations │ │ │ ├── clients.yaml │ │ │ ├── beaconexplorer.yaml │ │ │ └── blockscout.yaml │ │ │ ├── testnet-homepage.yaml │ │ │ ├── rpc-proxy.yaml │ │ │ ├── fauceth.yaml │ │ │ ├── nethermind.yaml │ │ │ ├── blockscout.yaml │ │ │ ├── geth.yaml │ │ │ └── geth-archive.yaml │ ├── local-charts │ │ ├── ingress-definitions │ │ │ ├── values.yaml │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ │ ├── ingress.home.yaml │ │ │ │ ├── ingress.ethstats.yaml │ │ │ │ ├── ingress.explorer.yaml │ │ │ │ ├── ingress.beaconchain.yaml │ │ │ │ ├── ingress.consensusmonitor.yaml │ │ │ │ ├── ingress.rpc.yaml │ │ │ │ ├── ingress.faucet.yaml │ │ │ │ └── _helpers.tpl │ │ └── cluster-issuer │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ ├── secret.yaml │ │ │ ├── certificate.yaml │ │ │ ├── clusterissuer.yaml │ │ │ └── _helpers.tpl │ │ │ └── values.yaml │ └── .env.example └── terraform │ └── .terraform.lock.hcl ├── public-merge-devnet5 ├── helmsman │ ├── README.md │ ├── .gitignore │ ├── values │ │ ├── shared-services │ │ │ ├── external-dns.yaml │ │ │ ├── cert-manager.yaml │ │ │ ├── ingress-nginx.yaml │ │ │ └── kube-prometheus-stack.yaml │ │ └── ethereum │ │ │ ├── ethstats.yaml │ │ │ ├── tolerations │ │ │ ├── clients.yaml │ │ │ ├── beaconexplorer.yaml │ │ │ └── blockscout.yaml │ │ │ ├── testnet-homepage.yaml │ │ │ ├── rpc-proxy.yaml │ │ │ ├── fauceth.yaml │ │ │ ├── geth.yaml │ │ │ ├── nethermind.yaml │ │ │ └── blockscout.yaml │ ├── local-charts │ │ ├── ingress-definitions │ │ │ ├── values.yaml │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ │ ├── ingress.home.yaml │ │ │ │ ├── ingress.ethstats.yaml │ │ │ │ ├── ingress.explorer.yaml │ │ │ │ ├── ingress.beaconchain.yaml │ │ │ │ ├── ingress.consensusmonitor.yaml │ │ │ │ ├── ingress.rpc.yaml │ │ │ │ ├── ingress.faucet.yaml │ │ │ │ └── _helpers.tpl │ │ └── cluster-issuer │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ ├── secret.yaml │ │ │ ├── certificate.yaml │ │ │ ├── clusterissuer.yaml │ │ │ └── _helpers.tpl │ │ │ └── values.yaml │ └── .env.example └── terraform │ └── .terraform.lock.hcl ├── public-merge-kintsugi ├── helmsman │ ├── README.md │ ├── .gitignore │ ├── values │ │ ├── shared-services │ │ │ ├── external-dns.yaml │ │ │ ├── cert-manager.yaml │ │ │ ├── ingress-nginx.yaml │ │ │ └── kube-prometheus-stack.yaml │ │ └── ethereum │ │ │ ├── ethstats.yaml │ │ │ ├── tolerations │ │ │ ├── clients.yaml │ │ │ ├── beaconexplorer.yaml │ │ │ └── blockscout.yaml │ │ │ ├── rpc-proxy.yaml │ │ │ ├── testnet-homepage.yaml │ │ │ ├── fauceth.yaml │ │ │ ├── geth.yaml │ │ │ ├── geth-archive.yaml │ │ │ ├── blockscout.yaml │ │ │ ├── besu.yaml │ │ │ └── nethermind.yaml │ ├── local-charts │ │ ├── ingress-definitions │ │ │ ├── values.yaml │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ │ ├── ingress.home.yaml │ │ │ │ ├── ingress.ethstats.yaml │ │ │ │ ├── ingress.explorer.yaml │ │ │ │ ├── ingress.beaconchain.yaml │ │ │ │ ├── ingress.consensusmonitor.yaml │ │ │ │ ├── ingress.rpc.yaml │ │ │ │ ├── ingress.faucet.yaml │ │ │ │ └── _helpers.tpl │ │ └── cluster-issuer │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ ├── secret.yaml │ │ │ ├── certificate.yaml │ │ │ ├── clusterissuer.yaml │ │ │ └── _helpers.tpl │ │ │ └── values.yaml │ └── .env.example └── terraform │ └── .terraform.lock.hcl ├── public-goerli-shadowfork ├── helmsman │ ├── .gitignore │ ├── values │ │ ├── shared-services │ │ │ ├── external-dns.yaml │ │ │ ├── cert-manager.yaml │ │ │ ├── fileserver-pvc.yaml │ │ │ ├── ingress-nginx.yaml │ │ │ ├── fileserver.yaml │ │ │ └── kube-prometheus-stack.yaml │ │ └── ethereum │ │ │ ├── ethstats.yaml │ │ │ ├── testnet-homepage.yaml │ │ │ ├── tolerations │ │ │ ├── clients.yaml │ │ │ └── beaconexplorer.yaml │ │ │ ├── rpc-proxy.yaml │ │ │ └── consensus-monitor.yaml │ ├── local-charts │ │ ├── ingress-definitions │ │ │ ├── values.yaml │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ │ ├── ingress.home.yaml │ │ │ │ ├── ingress.ethstats.yaml │ │ │ │ ├── ingress.beaconchain.yaml │ │ │ │ ├── ingress.consensusmonitor.yaml │ │ │ │ ├── ingress.rpc.yaml │ │ │ │ └── _helpers.tpl │ │ ├── generic-pvc │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ │ ├── pvc.yaml │ │ │ │ └── _helpers.tpl │ │ │ └── values.yaml │ │ └── cluster-issuer │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ ├── secret.yaml │ │ │ ├── certificate.yaml │ │ │ ├── clusterissuer.yaml │ │ │ └── _helpers.tpl │ │ │ └── values.yaml │ └── .env.example └── terraform │ └── .terraform.lock.hcl ├── .gitignore ├── private-poa-el-cl └── helmsman │ ├── values │ ├── ethereum-private │ │ ├── ethstats.yaml │ │ ├── tolerations │ │ │ ├── clients.yaml │ │ │ ├── blockscout.yaml │ │ │ └── beaconexplorer.yaml │ │ ├── besu.yaml │ │ ├── geth.yaml │ │ ├── nethermind.yaml │ │ ├── geth-archive.yaml │ │ ├── lighthouse-beacon.yaml │ │ ├── blockscout.yaml │ │ ├── teku-beacon.yaml │ │ └── eth2-fork-mon.yaml │ └── kube-prometheus-stack.yaml │ ├── .env │ └── shared-services.yaml ├── LICENSE └── README.md /public-merge-kiln/helmsman/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/shared-services/external-dns.yaml: -------------------------------------------------------------------------------- 1 | provider: digitalocean 2 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/shared-services/external-dns.yaml: -------------------------------------------------------------------------------- 1 | provider: digitalocean 2 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/shared-services/external-dns.yaml: -------------------------------------------------------------------------------- 1 | provider: digitalocean 2 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/shared-services/external-dns.yaml: -------------------------------------------------------------------------------- 1 | provider: digitalocean 2 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/shared-services/external-dns.yaml: -------------------------------------------------------------------------------- 1 | provider: digitalocean 2 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/shared-services/external-dns.yaml: -------------------------------------------------------------------------------- 1 | provider: digitalocean 2 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/values.yaml: -------------------------------------------------------------------------------- 1 | domain: "testnet.wenmerge.dev" 2 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/values.yaml: -------------------------------------------------------------------------------- 1 | domain: "testnet.wenmerge.dev" 2 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/values.yaml: -------------------------------------------------------------------------------- 1 | domain: "testnet.wenmerge.dev" 2 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/values.yaml: -------------------------------------------------------------------------------- 1 | domain: "testnet.wenmerge.dev" 2 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/values.yaml: -------------------------------------------------------------------------------- 1 | domain: "testnet.wenmerge.dev" 2 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/values.yaml: -------------------------------------------------------------------------------- 1 | domain: "testnet.wenmerge.dev" 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Terraform 2 | .terraform 3 | .terraform.lock.hcl 4 | *.tfstate 5 | *.tfstate.* 6 | 7 | # Helmsman 8 | .helmsman-tmp 9 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/generic-pvc/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: All ingress resource definitions 3 | name: generic-pvc 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: All ingress resource definitions 3 | name: ingress-definitions 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: All ingress resource definitions 3 | name: ingress-definitions 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/shared-services/cert-manager.yaml: -------------------------------------------------------------------------------- 1 | installCRDs: true 2 | ingressShim: 3 | defaultIssuerName: "cluster-issuer" 4 | defaultIssuerKind: "ClusterIssuer" 5 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: All ingress resource definitions 3 | name: ingress-definitions 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/shared-services/cert-manager.yaml: -------------------------------------------------------------------------------- 1 | installCRDs: true 2 | ingressShim: 3 | defaultIssuerName: "cluster-issuer" 4 | defaultIssuerKind: "ClusterIssuer" 5 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: All ingress resource definitions 3 | name: ingress-definitions 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/shared-services/cert-manager.yaml: -------------------------------------------------------------------------------- 1 | installCRDs: true 2 | ingressShim: 3 | defaultIssuerName: "cluster-issuer" 4 | defaultIssuerKind: "ClusterIssuer" 5 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/shared-services/cert-manager.yaml: -------------------------------------------------------------------------------- 1 | installCRDs: true 2 | ingressShim: 3 | defaultIssuerName: "cluster-issuer" 4 | defaultIssuerKind: "ClusterIssuer" 5 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: All ingress resource definitions 3 | name: ingress-definitions 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/shared-services/cert-manager.yaml: -------------------------------------------------------------------------------- 1 | installCRDs: true 2 | ingressShim: 3 | defaultIssuerName: "cluster-issuer" 4 | defaultIssuerKind: "ClusterIssuer" 5 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: All ingress resource definitions 3 | name: ingress-definitions 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/shared-services/cert-manager.yaml: -------------------------------------------------------------------------------- 1 | installCRDs: true 2 | ingressShim: 3 | defaultIssuerName: "cluster-issuer" 4 | defaultIssuerKind: "ClusterIssuer" 5 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/.env.example: -------------------------------------------------------------------------------- 1 | EXECUTION_CHAIN_ID: 1337602 2 | 3 | DO_DNS_ZONE_TOKEN: 4 | DO_DNS_DOMAIN: devnet3.themerge.dev 5 | 6 | FAUCET_CAPTCHA_SECRET: 7 | FAUCET_PRIVATE_KEY: 8 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/cluster-issuer/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Create a certificate issuer used by cert-manager with a default certificate 3 | name: cluster-issuer 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/cluster-issuer/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Create a certificate issuer used by cert-manager with a default certificate 3 | name: cluster-issuer 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/generic-pvc/templates/pvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: "{{ .Values.name }}" 5 | spec: 6 | {{ toYaml .Values.spec | nindent 2 }} 7 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/generic-pvc/values.yaml: -------------------------------------------------------------------------------- 1 | name: "my-pvc" 2 | spec: 3 | storageClassName: "" 4 | accessModes: 5 | - ReadWriteOnce 6 | resources: 7 | requests: 8 | storage: 3Gi 9 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/cluster-issuer/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Create a certificate issuer used by cert-manager with a default certificate 3 | name: cluster-issuer 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/cluster-issuer/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Create a certificate issuer used by cert-manager with a default certificate 3 | name: cluster-issuer 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/cluster-issuer/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Create a certificate issuer used by cert-manager with a default certificate 3 | name: cluster-issuer 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/cluster-issuer/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Create a certificate issuer used by cert-manager with a default certificate 3 | name: cluster-issuer 4 | version: 0.0.1 5 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/.env.example: -------------------------------------------------------------------------------- 1 | EXECUTION_CHAIN_ID: 1337752 2 | 3 | DO_DNS_ZONE_TOKEN: 4 | DO_DNS_DOMAIN: devnet4.themerge.dev 5 | 6 | FAUCETH_HCAPTCHA_SITEKEY: 7 | FAUCETH_HCAPTCHA_SECRET: 8 | FAUCETH_APP_ETHKEY: 9 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/.env.example: -------------------------------------------------------------------------------- 1 | EXECUTION_CHAIN_ID: 1337762 2 | 3 | DO_DNS_ZONE_TOKEN: 4 | DO_DNS_DOMAIN: devnet5.themerge.dev 5 | 6 | FAUCETH_HCAPTCHA_SITEKEY: 7 | FAUCETH_HCAPTCHA_SECRET: 8 | FAUCETH_APP_ETHKEY: 9 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/.env.example: -------------------------------------------------------------------------------- 1 | EXECUTION_CHAIN_ID: 1337702 2 | 3 | DO_DNS_ZONE_TOKEN: 4 | DO_DNS_DOMAIN: kintsugi.themerge.dev 5 | 6 | FAUCETH_HCAPTCHA_SITEKEY: 7 | FAUCETH_HCAPTCHA_SECRET: 8 | FAUCETH_APP_ETHKEY: 9 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/ethstats.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: puppeth/ethstats 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | WS_SECRET: "KilnNetwork" 8 | 9 | resources: {} 10 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/ethstats.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: puppeth/ethstats 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | WS_SECRET: "PrivateNetwork" 8 | 9 | resources: {} 10 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/ethstats.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: puppeth/ethstats 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | WS_SECRET: "Devnet4Network" 8 | 9 | resources: {} 10 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/ethstats.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: puppeth/ethstats 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | WS_SECRET: "Devnet5Network" 8 | 9 | resources: {} 10 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/ethstats.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: puppeth/ethstats 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | WS_SECRET: "KintsugiNetwork" 8 | 9 | resources: {} 10 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/ethstats.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: puppeth/ethstats 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | WS_SECRET: "PrivateNetwork" 8 | 9 | resources: {} 10 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/ethereum/ethstats.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: puppeth/ethstats 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | WS_SECRET: "ShadowGoerliNetwork" 8 | 9 | resources: {} 10 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/shared-services/fileserver-pvc.yaml: -------------------------------------------------------------------------------- 1 | name: "snapshot" 2 | spec: 3 | storageClassName: "do-block-storage" 4 | accessModes: 5 | - ReadWriteOnce 6 | resources: 7 | requests: 8 | storage: 80Gi 9 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/shared-services/ingress-nginx.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | replicaCount: 3 3 | minAvailable: 1 4 | extraArgs: 5 | default-ssl-certificate: "shared-services/default-cert" 6 | 7 | defaultBackend: 8 | enabled: true 9 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/cluster-issuer/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | data: 6 | access-token: {{.Values.secrets.digitalocean_access_token | b64enc }} 7 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/cluster-issuer/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | data: 6 | access-token: {{.Values.secrets.digitalocean_access_token | b64enc }} 7 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/cluster-issuer/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | data: 6 | access-token: {{.Values.secrets.digitalocean_access_token | b64enc }} 7 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/cluster-issuer/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | data: 6 | access-token: {{.Values.secrets.digitalocean_access_token | b64enc }} 7 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/cluster-issuer/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | data: 6 | access-token: {{.Values.secrets.digitalocean_access_token | b64enc }} 7 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/pari-beaconchain-hack.yaml: -------------------------------------------------------------------------------- 1 | service: 2 | type: ClusterIP 3 | 4 | serverBlock: |- 5 | server { 6 | listen 0.0.0.0:8080; 7 | location / { 8 | proxy_pass http://164.92.130.5:3333; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/cluster-issuer/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | data: 6 | access-token: {{.Values.secrets.digitalocean_access_token | b64enc }} 7 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/ethereum/testnet-homepage.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/ethereum-testnet-homepage 3 | tag: latest@sha256:3045819c2b2f0ff541e9b7b0c2c681a8278c466d196fe853148728e82e3de592 4 | pullPolicy: IfNotPresent 5 | 6 | customMarkdown: |- 7 | # 8 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/cluster-issuer/values.yaml: -------------------------------------------------------------------------------- 1 | acme: 2 | server: "https://acme-v02.api.letsencrypt.org/directory" 3 | email: "" 4 | 5 | secrets: 6 | digitalocean_access_token: "" 7 | 8 | defaultCert: 9 | domain: "testnet.wenmerge.dev" 10 | secretName: default-cert 11 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/cluster-issuer/values.yaml: -------------------------------------------------------------------------------- 1 | acme: 2 | server: "https://acme-v02.api.letsencrypt.org/directory" 3 | email: "" 4 | 5 | secrets: 6 | digitalocean_access_token: "" 7 | 8 | defaultCert: 9 | domain: "testnet.wenmerge.dev" 10 | secretName: default-cert 11 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/cluster-issuer/values.yaml: -------------------------------------------------------------------------------- 1 | acme: 2 | server: "https://acme-v02.api.letsencrypt.org/directory" 3 | email: "" 4 | 5 | secrets: 6 | digitalocean_access_token: "" 7 | 8 | defaultCert: 9 | domain: "testnet.wenmerge.dev" 10 | secretName: default-cert 11 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/cluster-issuer/values.yaml: -------------------------------------------------------------------------------- 1 | acme: 2 | server: "https://acme-v02.api.letsencrypt.org/directory" 3 | email: "" 4 | 5 | secrets: 6 | digitalocean_access_token: "" 7 | 8 | defaultCert: 9 | domain: "testnet.wenmerge.dev" 10 | secretName: default-cert 11 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/cluster-issuer/values.yaml: -------------------------------------------------------------------------------- 1 | acme: 2 | server: "https://acme-v02.api.letsencrypt.org/directory" 3 | email: "" 4 | 5 | secrets: 6 | digitalocean_access_token: "" 7 | 8 | defaultCert: 9 | domain: "testnet.wenmerge.dev" 10 | secretName: default-cert 11 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/.env.example: -------------------------------------------------------------------------------- 1 | EXECUTION_CHAIN_ID: 1337802 2 | 3 | DO_DNS_ZONE_TOKEN: 4 | DO_DNS_DOMAIN: kiln.themerge.dev 5 | 6 | FAUCETH_HCAPTCHA_SITEKEY: 7 | FAUCETH_HCAPTCHA_SECRET: 8 | FAUCETH_APP_ETHKEY: 9 | 10 | ETH_CLIENTS_AUTH_JWT: # Can be generated using `openssl rand -hex 32` 11 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/cluster-issuer/values.yaml: -------------------------------------------------------------------------------- 1 | acme: 2 | server: "https://acme-v02.api.letsencrypt.org/directory" 3 | email: "" 4 | 5 | secrets: 6 | digitalocean_access_token: "" 7 | 8 | defaultCert: 9 | domain: "testnet.wenmerge.dev" 10 | secretName: default-cert 11 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/haproxy.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: haproxy # Gross cross-namespace reference so ingress objects can route back to haproxy. 5 | spec: 6 | type: ExternalName 7 | externalName: haproxy.shared-services.svc.cluster.local -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/.env.example: -------------------------------------------------------------------------------- 1 | EXECUTION_CHAIN_ID: 5 2 | CONSENSUS_GENESIS_MNEMONIC: "" 3 | 4 | SNAPSHOT_AWS_ACCESS_KEY_ID: 5 | SNAPSHOT_AWS_SECRET_ACCESS_KEY: 6 | 7 | DO_DNS_ZONE_TOKEN: 8 | DO_DNS_DOMAIN: shadowgoerli.themerge.dev 9 | 10 | FAUCETH_HCAPTCHA_SITEKEY: 11 | FAUCETH_HCAPTCHA_SECRET: 12 | FAUCETH_APP_ETHKEY: 13 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/.env: -------------------------------------------------------------------------------- 1 | EXECUTION_CHAIN_ID: "1337331" 2 | EXECUTION_GENESIS_MNEMONIC: "stumble horn valley travel milk void screen bulk wink hood cup item glove setup wrong toward erase invite saddle this poverty basket index lab" 3 | CONSENSUS_GENESIS_MNEMONIC: "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete" 4 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/tolerations/clients.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "clients" 5 | effect: "NoSchedule" 6 | 7 | affinity: 8 | nodeAffinity: 9 | requiredDuringSchedulingIgnoredDuringExecution: 10 | nodeSelectorTerms: 11 | - matchExpressions: 12 | - key: dedicated 13 | operator: In 14 | values: 15 | - clients 16 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/ethereum/tolerations/clients.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "clients" 5 | effect: "NoSchedule" 6 | 7 | affinity: 8 | nodeAffinity: 9 | requiredDuringSchedulingIgnoredDuringExecution: 10 | nodeSelectorTerms: 11 | - matchExpressions: 12 | - key: dedicated 13 | operator: In 14 | values: 15 | - clients 16 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/tolerations/clients.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "clients" 5 | effect: "NoSchedule" 6 | 7 | affinity: 8 | nodeAffinity: 9 | requiredDuringSchedulingIgnoredDuringExecution: 10 | nodeSelectorTerms: 11 | - matchExpressions: 12 | - key: dedicated 13 | operator: In 14 | values: 15 | - clients 16 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/tolerations/clients.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "clients" 5 | effect: "NoSchedule" 6 | 7 | affinity: 8 | nodeAffinity: 9 | requiredDuringSchedulingIgnoredDuringExecution: 10 | nodeSelectorTerms: 11 | - matchExpressions: 12 | - key: dedicated 13 | operator: In 14 | values: 15 | - clients 16 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/tolerations/clients.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "clients" 5 | effect: "NoSchedule" 6 | 7 | affinity: 8 | nodeAffinity: 9 | requiredDuringSchedulingIgnoredDuringExecution: 10 | nodeSelectorTerms: 11 | - matchExpressions: 12 | - key: dedicated 13 | operator: In 14 | values: 15 | - clients 16 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/tolerations/clients.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "clients" 5 | effect: "NoSchedule" 6 | 7 | affinity: 8 | nodeAffinity: 9 | requiredDuringSchedulingIgnoredDuringExecution: 10 | nodeSelectorTerms: 11 | - matchExpressions: 12 | - key: dedicated 13 | operator: In 14 | values: 15 | - clients 16 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/tolerations/clients.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "clients" 5 | effect: "NoSchedule" 6 | 7 | affinity: 8 | nodeAffinity: 9 | requiredDuringSchedulingIgnoredDuringExecution: 10 | nodeSelectorTerms: 11 | - matchExpressions: 12 | - key: dedicated 13 | operator: In 14 | values: 15 | - clients 16 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/cluster-issuer/templates/certificate.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: cert-manager.io/v1 3 | kind: Certificate 4 | metadata: 5 | name: {{ include "cluster-issuer.fullname" . }}-default-cert 6 | spec: 7 | secretName: {{ .Values.defaultCert.secretName }} 8 | issuerRef: 9 | name: {{ include "cluster-issuer.fullname" . }} 10 | kind: ClusterIssuer 11 | dnsNames: 12 | - '*.{{ .Values.defaultCert.domain }}' 13 | - '{{ .Values.defaultCert.domain }}' 14 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/cluster-issuer/templates/certificate.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: cert-manager.io/v1 3 | kind: Certificate 4 | metadata: 5 | name: {{ include "cluster-issuer.fullname" . }}-default-cert 6 | spec: 7 | secretName: {{ .Values.defaultCert.secretName }} 8 | issuerRef: 9 | name: {{ include "cluster-issuer.fullname" . }} 10 | kind: ClusterIssuer 11 | dnsNames: 12 | - '*.{{ .Values.defaultCert.domain }}' 13 | - '{{ .Values.defaultCert.domain }}' 14 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/cluster-issuer/templates/certificate.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: cert-manager.io/v1 3 | kind: Certificate 4 | metadata: 5 | name: {{ include "cluster-issuer.fullname" . }}-default-cert 6 | spec: 7 | secretName: {{ .Values.defaultCert.secretName }} 8 | issuerRef: 9 | name: {{ include "cluster-issuer.fullname" . }} 10 | kind: ClusterIssuer 11 | dnsNames: 12 | - '*.{{ .Values.defaultCert.domain }}' 13 | - '{{ .Values.defaultCert.domain }}' 14 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/cluster-issuer/templates/certificate.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: cert-manager.io/v1 3 | kind: Certificate 4 | metadata: 5 | name: {{ include "cluster-issuer.fullname" . }}-default-cert 6 | spec: 7 | secretName: {{ .Values.defaultCert.secretName }} 8 | issuerRef: 9 | name: {{ include "cluster-issuer.fullname" . }} 10 | kind: ClusterIssuer 11 | dnsNames: 12 | - '*.{{ .Values.defaultCert.domain }}' 13 | - '{{ .Values.defaultCert.domain }}' 14 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/cluster-issuer/templates/certificate.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: cert-manager.io/v1 3 | kind: Certificate 4 | metadata: 5 | name: {{ include "cluster-issuer.fullname" . }}-default-cert 6 | spec: 7 | secretName: {{ .Values.defaultCert.secretName }} 8 | issuerRef: 9 | name: {{ include "cluster-issuer.fullname" . }} 10 | kind: ClusterIssuer 11 | dnsNames: 12 | - '*.{{ .Values.defaultCert.domain }}' 13 | - '{{ .Values.defaultCert.domain }}' 14 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/cluster-issuer/templates/certificate.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: cert-manager.io/v1 3 | kind: Certificate 4 | metadata: 5 | name: {{ include "cluster-issuer.fullname" . }}-default-cert 6 | spec: 7 | secretName: {{ .Values.defaultCert.secretName }} 8 | issuerRef: 9 | name: {{ include "cluster-issuer.fullname" . }} 10 | kind: ClusterIssuer 11 | dnsNames: 12 | - '*.{{ .Values.defaultCert.domain }}' 13 | - '{{ .Values.defaultCert.domain }}' 14 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/ingress.home.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-home 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "{{ .Values.domain }}" 13 | rules: 14 | - host: "{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: testnet-homepage 22 | port: 23 | number: 1313 24 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/ingress.home.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-home 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "{{ .Values.domain }}" 13 | rules: 14 | - host: "{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: testnet-homepage 22 | port: 23 | number: 1313 24 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/ingress.home.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-home 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "{{ .Values.domain }}" 13 | rules: 14 | - host: "{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: testnet-homepage 22 | port: 23 | number: 1313 24 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/ingress.home.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-home 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "{{ .Values.domain }}" 13 | rules: 14 | - host: "{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: testnet-homepage 22 | port: 23 | number: 1313 24 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/ingress.home.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-home 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "{{ .Values.domain }}" 13 | rules: 14 | - host: "{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: testnet-homepage 22 | port: 23 | number: 1313 24 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/templates/ingress.home.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-home 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "{{ .Values.domain }}" 13 | rules: 14 | - host: "{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: testnet-homepage 22 | port: 23 | number: 1313 24 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/ingress.ethstats.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-ethstats 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "ethstats.{{ .Values.domain }}" 13 | rules: 14 | - host: "ethstats.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: ethstats 22 | port: 23 | number: 3000 24 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/ingress.faucet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-faucet 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "faucet.{{ .Values.domain }}" 13 | rules: 14 | - host: "faucet.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: testnet-faucet 22 | port: 23 | number: 5001 24 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/tolerations/blockscout.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "blockscout" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "blockscout" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: blockscout 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - blockscout 25 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/ingress.ethstats.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-ethstats 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "ethstats.{{ .Values.domain }}" 13 | rules: 14 | - host: "ethstats.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: ethstats 22 | port: 23 | number: 3000 24 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/ingress.ethstats.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-ethstats 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "ethstats.{{ .Values.domain }}" 13 | rules: 14 | - host: "ethstats.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: ethstats 22 | port: 23 | number: 3000 24 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/ingress.ethstats.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-ethstats 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "ethstats.{{ .Values.domain }}" 13 | rules: 14 | - host: "ethstats.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: ethstats 22 | port: 23 | number: 3000 24 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/ingress.explorer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-explorer 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "explorer.{{ .Values.domain }}" 13 | rules: 14 | - host: "explorer.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: blockscout 22 | port: 23 | number: 4000 24 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/tolerations/blockscout.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "blockscout" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "blockscout" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: blockscout 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - blockscout 25 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/templates/ingress.ethstats.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-ethstats 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "ethstats.{{ .Values.domain }}" 13 | rules: 14 | - host: "ethstats.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: ethstats 22 | port: 23 | number: 3000 24 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/ingress.explorer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-explorer 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "explorer.{{ .Values.domain }}" 13 | rules: 14 | - host: "explorer.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: blockscout 22 | port: 23 | number: 4000 24 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/ingress.explorer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-explorer 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "explorer.{{ .Values.domain }}" 13 | rules: 14 | - host: "explorer.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: blockscout 22 | port: 23 | number: 4000 24 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/ingress.explorer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-explorer 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "explorer.{{ .Values.domain }}" 13 | rules: 14 | - host: "explorer.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: blockscout 22 | port: 23 | number: 4000 24 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/ingress.ethstats.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-ethstats 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "ethstats.{{ .Values.domain }}" 13 | rules: 14 | - host: "ethstats.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: ethstats 22 | port: 23 | number: 3000 24 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/ingress.explorer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-explorer 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "explorer.{{ .Values.domain }}" 13 | rules: 14 | - host: "explorer.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: blockscout 22 | port: 23 | number: 4000 24 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/tolerations/beaconexplorer.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "beaconexplorer" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "beaconexplorer" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: beaconexplorer 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - beaconexplorer 25 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/tolerations/beaconexplorer.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "beaconexplorer" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "beaconexplorer" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: beaconexplorer 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - beaconexplorer 25 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/tolerations/beaconexplorer.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "beaconexplorer" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "beaconexplorer" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: beaconexplorer 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - beaconexplorer 25 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/tolerations/beaconexplorer.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "beaconexplorer" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "beaconexplorer" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: beaconexplorer 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - beaconexplorer 25 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/tolerations/beaconexplorer.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "beaconexplorer" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "beaconexplorer" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: beaconexplorer 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - beaconexplorer 25 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/ethereum/tolerations/beaconexplorer.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "beaconexplorer" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "beaconexplorer" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: beaconexplorer 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - beaconexplorer 25 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/ingress.beaconchain.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-beaconchain 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "beaconchain.{{ .Values.domain }}" 13 | rules: 14 | - host: "beaconchain.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: beaconchain-explorer 22 | port: 23 | number: 3333 24 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/ingress.beaconchain.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-beaconchain 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "beaconchain.{{ .Values.domain }}" 13 | rules: 14 | - host: "beaconchain.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: beaconchain-explorer 22 | port: 23 | number: 3333 24 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/ingress.beaconchain.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-beaconchain 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "beaconchain.{{ .Values.domain }}" 13 | rules: 14 | - host: "beaconchain.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: beaconchain-explorer 22 | port: 23 | number: 3333 24 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/ingress.beaconchain.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-beaconchain 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "beaconchain.{{ .Values.domain }}" 13 | rules: 14 | - host: "beaconchain.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: beaconchain-explorer 22 | port: 23 | number: 3333 24 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/tolerations/beaconexplorer.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "beaconexplorer" 5 | effect: "NoSchedule" 6 | 7 | postgresql: 8 | primary: 9 | tolerations: 10 | - key: "dedicated" 11 | operator: "Equal" 12 | value: "beaconexplorer" 13 | effect: "NoSchedule" 14 | nodeSelector: 15 | dedicated: beaconexplorer 16 | affinity: 17 | nodeAffinity: 18 | requiredDuringSchedulingIgnoredDuringExecution: 19 | nodeSelectorTerms: 20 | - matchExpressions: 21 | - key: dedicated 22 | operator: In 23 | values: 24 | - beaconexplorer 25 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/templates/ingress.beaconchain.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-beaconchain 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "beaconchain.{{ .Values.domain }}" 13 | rules: 14 | - host: "beaconchain.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: beaconchain-explorer 22 | port: 23 | number: 3333 24 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/ingress.consensusmonitor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-consensusmonitor 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "consensusmonitor.{{ .Values.domain }}" 13 | rules: 14 | - host: "consensusmonitor.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: consensus-monitor 22 | port: 23 | number: 8080 24 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/templates/ingress.consensusmonitor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-consensusmonitor 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "consensusmonitor.{{ .Values.domain }}" 13 | rules: 14 | - host: "consensusmonitor.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: consensus-monitor 22 | port: 23 | number: 8080 24 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/ingress.consensusmonitor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-consensusmonitor 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "consensusmonitor.{{ .Values.domain }}" 13 | rules: 14 | - host: "consensusmonitor.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: consensus-monitor 22 | port: 23 | number: 8080 24 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/ingress.consensusmonitor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-consensusmonitor 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "consensusmonitor.{{ .Values.domain }}" 13 | rules: 14 | - host: "consensusmonitor.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: consensus-monitor 22 | port: 23 | number: 8080 24 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/ingress.consensusmonitor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-consensusmonitor 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "consensusmonitor.{{ .Values.domain }}" 13 | rules: 14 | - host: "consensusmonitor.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: consensus-monitor 22 | port: 23 | number: 8080 24 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/ingress.consensusmonitor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-consensusmonitor 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "consensusmonitor.{{ .Values.domain }}" 13 | rules: 14 | - host: "consensusmonitor.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: consensus-monitor 22 | port: 23 | number: 8080 24 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/cluster-issuer/templates/clusterissuer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cert-manager.io/v1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: {{ .Values.acme.server }} 9 | # Email address used for ACME registration 10 | email: {{ .Values.acme.email }} 11 | # Name of a secret used to store the ACME account private key 12 | privateKeySecretRef: 13 | name: {{ include "cluster-issuer.fullname" . }}-acme-privkey 14 | # Enable the DNS-01 challenge provider 15 | solvers: 16 | - dns01: 17 | digitalocean: 18 | tokenSecretRef: 19 | name: {{ include "cluster-issuer.fullname" . }} 20 | key: access-token 21 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/cluster-issuer/templates/clusterissuer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cert-manager.io/v1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: {{ .Values.acme.server }} 9 | # Email address used for ACME registration 10 | email: {{ .Values.acme.email }} 11 | # Name of a secret used to store the ACME account private key 12 | privateKeySecretRef: 13 | name: {{ include "cluster-issuer.fullname" . }}-acme-privkey 14 | # Enable the DNS-01 challenge provider 15 | solvers: 16 | - dns01: 17 | digitalocean: 18 | tokenSecretRef: 19 | name: {{ include "cluster-issuer.fullname" . }} 20 | key: access-token 21 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/cluster-issuer/templates/clusterissuer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cert-manager.io/v1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: {{ .Values.acme.server }} 9 | # Email address used for ACME registration 10 | email: {{ .Values.acme.email }} 11 | # Name of a secret used to store the ACME account private key 12 | privateKeySecretRef: 13 | name: {{ include "cluster-issuer.fullname" . }}-acme-privkey 14 | # Enable the DNS-01 challenge provider 15 | solvers: 16 | - dns01: 17 | digitalocean: 18 | tokenSecretRef: 19 | name: {{ include "cluster-issuer.fullname" . }} 20 | key: access-token 21 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/cluster-issuer/templates/clusterissuer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cert-manager.io/v1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: {{ .Values.acme.server }} 9 | # Email address used for ACME registration 10 | email: {{ .Values.acme.email }} 11 | # Name of a secret used to store the ACME account private key 12 | privateKeySecretRef: 13 | name: {{ include "cluster-issuer.fullname" . }}-acme-privkey 14 | # Enable the DNS-01 challenge provider 15 | solvers: 16 | - dns01: 17 | digitalocean: 18 | tokenSecretRef: 19 | name: {{ include "cluster-issuer.fullname" . }} 20 | key: access-token 21 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/cluster-issuer/templates/clusterissuer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cert-manager.io/v1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: {{ .Values.acme.server }} 9 | # Email address used for ACME registration 10 | email: {{ .Values.acme.email }} 11 | # Name of a secret used to store the ACME account private key 12 | privateKeySecretRef: 13 | name: {{ include "cluster-issuer.fullname" . }}-acme-privkey 14 | # Enable the DNS-01 challenge provider 15 | solvers: 16 | - dns01: 17 | digitalocean: 18 | tokenSecretRef: 19 | name: {{ include "cluster-issuer.fullname" . }} 20 | key: access-token 21 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/cluster-issuer/templates/clusterissuer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cert-manager.io/v1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: {{ include "cluster-issuer.fullname" . }} 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: {{ .Values.acme.server }} 9 | # Email address used for ACME registration 10 | email: {{ .Values.acme.email }} 11 | # Name of a secret used to store the ACME account private key 12 | privateKeySecretRef: 13 | name: {{ include "cluster-issuer.fullname" . }}-acme-privkey 14 | # Enable the DNS-01 challenge provider 15 | solvers: 16 | - dns01: 17 | digitalocean: 18 | tokenSecretRef: 19 | name: {{ include "cluster-issuer.fullname" . }} 20 | key: access-token 21 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/shared-services/ingress-nginx.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | replicaCount: 3 3 | minAvailable: 1 4 | extraArgs: 5 | default-ssl-certificate: "shared-services/default-cert" 6 | config: 7 | use-forwarded-headers: "true" 8 | compute-full-forwarded-for: "true" 9 | use-proxy-protocol: "true" 10 | service: 11 | annotations: 12 | service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true" 13 | # Required to deal with Proxy Protocol from internal services/pods 14 | # More details in: https://github.com/kubernetes/ingress-nginx/issues/3996 15 | service.beta.kubernetes.io/do-loadbalancer-hostname: "themerge.dev" 16 | metrics: 17 | enabled: true 18 | serviceMonitor: 19 | enabled: true 20 | 21 | defaultBackend: 22 | enabled: true 23 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/shared-services/ingress-nginx.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | replicaCount: 3 3 | minAvailable: 1 4 | extraArgs: 5 | default-ssl-certificate: "shared-services/default-cert" 6 | config: 7 | use-forwarded-headers: "true" 8 | compute-full-forwarded-for: "true" 9 | use-proxy-protocol: "true" 10 | service: 11 | annotations: 12 | service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true" 13 | # Required to deal with Proxy Protocol from internal services/pods 14 | # More details in: https://github.com/kubernetes/ingress-nginx/issues/3996 15 | service.beta.kubernetes.io/do-loadbalancer-hostname: "lb.kiln.themerge.dev" 16 | metrics: 17 | enabled: true 18 | serviceMonitor: 19 | enabled: true 20 | 21 | defaultBackend: 22 | enabled: true 23 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/shared-services.yaml: -------------------------------------------------------------------------------- 1 | context: shared-services 2 | 3 | helmRepos: 4 | prometheus-community: https://prometheus-community.github.io/helm-charts 5 | ebrianne: https://ebrianne.github.io/helm-charts 6 | namespaces: 7 | kube-system: 8 | shared-services: 9 | protected: false 10 | 11 | apps: 12 | # Local storage 13 | local-path-provisioner: 14 | namespace: kube-system 15 | enabled: true 16 | chart: "ebrianne/local-path-provisioner" 17 | version: "0.0.20" 18 | wait: true 19 | priority: -100 20 | # Metrics collection 21 | kube-prometheus-stack: 22 | namespace: shared-services 23 | enabled: true 24 | chart: "prometheus-community/kube-prometheus-stack" 25 | version: "18.0.12" 26 | valuesFiles: 27 | - "values/kube-prometheus-stack.yaml" 28 | wait: true 29 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/shared-services/ingress-nginx.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | replicaCount: 3 3 | minAvailable: 1 4 | extraArgs: 5 | default-ssl-certificate: "shared-services/default-cert" 6 | config: 7 | use-forwarded-headers: "true" 8 | compute-full-forwarded-for: "true" 9 | use-proxy-protocol: "true" 10 | service: 11 | annotations: 12 | service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true" 13 | # Required to deal with Proxy Protocol from internal services/pods 14 | # More details in: https://github.com/kubernetes/ingress-nginx/issues/3996 15 | service.beta.kubernetes.io/do-loadbalancer-hostname: "lb.devnet4.themerge.dev" 16 | metrics: 17 | enabled: true 18 | serviceMonitor: 19 | enabled: true 20 | 21 | defaultBackend: 22 | enabled: true 23 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/shared-services/ingress-nginx.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | replicaCount: 3 3 | minAvailable: 1 4 | extraArgs: 5 | default-ssl-certificate: "shared-services/default-cert" 6 | config: 7 | use-forwarded-headers: "true" 8 | compute-full-forwarded-for: "true" 9 | use-proxy-protocol: "true" 10 | service: 11 | annotations: 12 | service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true" 13 | # Required to deal with Proxy Protocol from internal services/pods 14 | # More details in: https://github.com/kubernetes/ingress-nginx/issues/3996 15 | service.beta.kubernetes.io/do-loadbalancer-hostname: "lb.devnet5.themerge.dev" 16 | metrics: 17 | enabled: true 18 | serviceMonitor: 19 | enabled: true 20 | 21 | defaultBackend: 22 | enabled: true 23 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/shared-services/ingress-nginx.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | replicaCount: 3 3 | minAvailable: 1 4 | extraArgs: 5 | default-ssl-certificate: "shared-services/default-cert" 6 | config: 7 | use-forwarded-headers: "true" 8 | compute-full-forwarded-for: "true" 9 | use-proxy-protocol: "true" 10 | service: 11 | annotations: 12 | service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true" 13 | # Required to deal with Proxy Protocol from internal services/pods 14 | # More details in: https://github.com/kubernetes/ingress-nginx/issues/3996 15 | service.beta.kubernetes.io/do-loadbalancer-hostname: "lb.shadowgoerli.themerge.dev" 16 | metrics: 17 | enabled: true 18 | serviceMonitor: 19 | enabled: true 20 | 21 | defaultBackend: 22 | enabled: true 23 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/testnet-faucet.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/testnet-faucet 3 | tag: latest@sha256:88ccf0c23817941802ca05831d4069281d0f50a3fe58ac8e8e280874ce175c2d 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | webui: 8 | title: "Testnet faucet" 9 | buttonText: "Request 50 Testnet ETH" 10 | logoUrl: "https://github.com/parithosh/testnet-faucet/raw/master/public/assets/images/ethereum-merge.png" 11 | footer: "Forked from Slock.it by Pari - Send feedback to https://github.com/parithosh/testnet-faucet" 12 | recaptchaKey: "6LfbgmsdAAAAALLKaIb2tFlAGrNl5DhUhytXi-u6" 13 | server: 14 | environment: live 15 | debug: true 16 | Ethereum: 17 | milliEtherToTransfer: 50000 18 | gasLimit: "30000" 19 | live: 20 | rpc: "http://dshackle:8545/eth" 21 | account: "0xb7Bb9BeA19ECbE938f79c4919ebacaaC6f5E70b8" 22 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/tolerations/blockscout.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "blockscout" 5 | effect: "NoSchedule" 6 | nodeSelector: 7 | dedicated: blockscout 8 | affinity: 9 | nodeAffinity: 10 | requiredDuringSchedulingIgnoredDuringExecution: 11 | nodeSelectorTerms: 12 | - matchExpressions: 13 | - key: dedicated 14 | operator: In 15 | values: 16 | - blockscout 17 | 18 | postgresql: 19 | primary: 20 | tolerations: 21 | - key: "dedicated" 22 | operator: "Equal" 23 | value: "blockscout" 24 | effect: "NoSchedule" 25 | nodeSelector: 26 | dedicated: blockscout 27 | affinity: 28 | nodeAffinity: 29 | requiredDuringSchedulingIgnoredDuringExecution: 30 | nodeSelectorTerms: 31 | - matchExpressions: 32 | - key: dedicated 33 | operator: In 34 | values: 35 | - blockscout 36 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/tolerations/blockscout.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "blockscout" 5 | effect: "NoSchedule" 6 | nodeSelector: 7 | dedicated: blockscout 8 | affinity: 9 | nodeAffinity: 10 | requiredDuringSchedulingIgnoredDuringExecution: 11 | nodeSelectorTerms: 12 | - matchExpressions: 13 | - key: dedicated 14 | operator: In 15 | values: 16 | - blockscout 17 | 18 | postgresql: 19 | primary: 20 | tolerations: 21 | - key: "dedicated" 22 | operator: "Equal" 23 | value: "blockscout" 24 | effect: "NoSchedule" 25 | nodeSelector: 26 | dedicated: blockscout 27 | affinity: 28 | nodeAffinity: 29 | requiredDuringSchedulingIgnoredDuringExecution: 30 | nodeSelectorTerms: 31 | - matchExpressions: 32 | - key: dedicated 33 | operator: In 34 | values: 35 | - blockscout 36 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/tolerations/blockscout.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "blockscout" 5 | effect: "NoSchedule" 6 | nodeSelector: 7 | dedicated: blockscout 8 | affinity: 9 | nodeAffinity: 10 | requiredDuringSchedulingIgnoredDuringExecution: 11 | nodeSelectorTerms: 12 | - matchExpressions: 13 | - key: dedicated 14 | operator: In 15 | values: 16 | - blockscout 17 | 18 | postgresql: 19 | primary: 20 | tolerations: 21 | - key: "dedicated" 22 | operator: "Equal" 23 | value: "blockscout" 24 | effect: "NoSchedule" 25 | nodeSelector: 26 | dedicated: blockscout 27 | affinity: 28 | nodeAffinity: 29 | requiredDuringSchedulingIgnoredDuringExecution: 30 | nodeSelectorTerms: 31 | - matchExpressions: 32 | - key: dedicated 33 | operator: In 34 | values: 35 | - blockscout 36 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/tolerations/blockscout.yaml: -------------------------------------------------------------------------------- 1 | tolerations: 2 | - key: "dedicated" 3 | operator: "Equal" 4 | value: "blockscout" 5 | effect: "NoSchedule" 6 | nodeSelector: 7 | dedicated: blockscout 8 | affinity: 9 | nodeAffinity: 10 | requiredDuringSchedulingIgnoredDuringExecution: 11 | nodeSelectorTerms: 12 | - matchExpressions: 13 | - key: dedicated 14 | operator: In 15 | values: 16 | - blockscout 17 | 18 | postgresql: 19 | primary: 20 | tolerations: 21 | - key: "dedicated" 22 | operator: "Equal" 23 | value: "blockscout" 24 | effect: "NoSchedule" 25 | nodeSelector: 26 | dedicated: blockscout 27 | affinity: 28 | nodeAffinity: 29 | requiredDuringSchedulingIgnoredDuringExecution: 30 | nodeSelectorTerms: 31 | - matchExpressions: 32 | - key: dedicated 33 | operator: In 34 | values: 35 | - blockscout 36 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/shared-services/fileserver.yaml: -------------------------------------------------------------------------------- 1 | replicaCount: 1 2 | 3 | service: 4 | type: ClusterIP 5 | 6 | initContainers: 7 | - name: init-geth-snapshot 8 | image: amazon/aws-cli 9 | imagePullPolicy: IfNotPresent 10 | securityContext: 11 | runAsNonRoot: false 12 | runAsUser: 0 13 | env: 14 | - name: AWS_ACCESS_KEY_ID 15 | value: "" #injected via -set 16 | - name: AWS_SECRET_ACCESS_KEY 17 | value: "" #injected via -set 18 | command: 19 | - sh 20 | - -ace 21 | - > 22 | if ! [ -f /data/geth-goerli.tar ]; 23 | then 24 | cd /data; 25 | aws s3 cp s3://ethdevops-data-snapshots/geth-goerli.tar geth-goerli.tar --region eu-central-1 --endpoint-url https://s3-accelerate.amazonaws.com; 26 | echo "downloaded geth-goerli.tar"; 27 | else 28 | echo "geth-goerli.tar already imported. skipping..." 29 | fi; 30 | volumeMounts: 31 | - name: staticsite 32 | mountPath: "/data" 33 | 34 | staticSitePVC: "snapshot" 35 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/ingress.beaconchain.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-beaconchain 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "beaconchain.{{ .Values.domain }}" 13 | rules: 14 | - host: "beaconchain.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: beaconchain-explorer 22 | port: 23 | number: 3333 24 | #- host: "beaconchain.{{ .Values.domain }}" 25 | # http: 26 | # paths: 27 | # - path: / 28 | # pathType: Prefix 29 | # backend: 30 | # service: 31 | # name: pari-beaconchain-hack-nginx 32 | # port: 33 | # number: 80 34 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/ingress.rpc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-rpc 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | #nginx.ingress.kubernetes.io/rewrite-target: /eth 10 | nginx.ingress.kubernetes.io/enable-cors: "true" 11 | nginx.ingress.kubernetes.io/cors-allow-origin: "*" 12 | nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS" 13 | spec: 14 | tls: 15 | - hosts: 16 | - "rpc.{{ .Values.domain }}" 17 | rules: 18 | - host: "rpc.{{ .Values.domain }}" 19 | http: 20 | paths: 21 | - path: / 22 | pathType: Prefix 23 | backend: 24 | service: 25 | # TODO: change to dshackle once https://github.com/emeraldpay/dshackle/issues/132 is solved 26 | name: geth-lighthouse-0 27 | port: 28 | number: 8545 29 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/testnet-homepage.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/ethereum-testnet-homepage 3 | tag: latest@sha256:3045819c2b2f0ff541e9b7b0c2c681a8278c466d196fe853148728e82e3de592 4 | pullPolicy: IfNotPresent 5 | 6 | customMarkdown: |- 7 | ## General information 8 | 9 | TTD: `5000000000` 10 | 11 | ## Genesis configuration 12 | 13 | ### Execution layer clients 14 | 15 | ```sh 16 | https://config.devnet4.themerge.dev/el/bootnodes 17 | https://config.devnet4.themerge.dev/el/genesis/geth.json 18 | https://config.devnet4.themerge.dev/el/genesis/chainspec.json 19 | ``` 20 | 21 | ### Consensus layer clients 22 | 23 | ``` 24 | https://config.devnet4.themerge.dev/cl/bootnodes 25 | https://config.devnet4.themerge.dev/cl/genesis/config.yaml 26 | https://config.devnet4.themerge.dev/cl/genesis/genesis.ssz 27 | https://config.devnet4.themerge.dev/cl/genesis/deploy_block.txt 28 | https://config.devnet4.themerge.dev/cl/genesis/deposit_contract.txt 29 | https://config.devnet4.themerge.dev/cl/genesis/deposit_contract_block.txt 30 | ``` 31 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/testnet-homepage.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/ethereum-testnet-homepage 3 | tag: latest@sha256:3045819c2b2f0ff541e9b7b0c2c681a8278c466d196fe853148728e82e3de592 4 | pullPolicy: IfNotPresent 5 | 6 | customMarkdown: |- 7 | ## General information 8 | 9 | TTD: `500000000000` 10 | 11 | ## Genesis configuration 12 | 13 | ### Execution layer clients 14 | 15 | ```sh 16 | https://config.devnet5.themerge.dev/el/bootnodes 17 | https://config.devnet5.themerge.dev/el/genesis/geth.json 18 | https://config.devnet5.themerge.dev/el/genesis/chainspec.json 19 | ``` 20 | 21 | ### Consensus layer clients 22 | 23 | ``` 24 | https://config.devnet5.themerge.dev/cl/bootnodes 25 | https://config.devnet5.themerge.dev/cl/genesis/config.yaml 26 | https://config.devnet5.themerge.dev/cl/genesis/genesis.ssz 27 | https://config.devnet5.themerge.dev/cl/genesis/deploy_block.txt 28 | https://config.devnet5.themerge.dev/cl/genesis/deposit_contract.txt 29 | https://config.devnet5.themerge.dev/cl/genesis/deposit_contract_block.txt 30 | ``` 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Rafael Matias 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ethereum Kubernetes Testnets 2 | 3 | This repository contains examples on how to deploy ethereum testnets and tooling on kubernetes. 4 | Most of the helm charts being used in this repo come from [skylenet/ethereum-helm-charts](https://github.com/skylenet/ethereum-helm-charts/). 5 | 6 | ## Examples 7 | 8 | ### [Private PoA/PoS Network (EL+CL)](private-poa-el-cl) 9 | 10 | Private network from scratch running all the major clients. 11 | 12 | ### [Merge Kiln](public-merge-kiln) 13 | 14 | Providing the infrastructure and tooling for https://kiln.themerge.dev/ 15 | 16 | ### [Merge Kintsugi](public-merge-kintsugi) 17 | 18 | Providing the infrastructure and tooling for https://kintsugi.themerge.dev/ 19 | 20 | ### [Merge Devnet 5](public-merge-devnet4) 21 | 22 | Providing the infrastructure and tooling for https://devnet5.themerge.dev/ 23 | 24 | ### [Merge Devnet 4](public-merge-devnet4) 25 | 26 | Providing the infrastructure and tooling for https://devnet4.themerge.dev/ 27 | 28 | ### [Merge Devnet 3](public-merge-devnet3) 29 | 30 | Providing the infrastructure and tooling for https://devnet3.themerge.dev/ (Deprecated) 31 | 32 | 33 | ## License 34 | 35 | [MIT License](LICENSE) 36 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/rpc-proxy.yaml: -------------------------------------------------------------------------------- 1 | replicas: 1 2 | 3 | args: 4 | - --url=http://geth-teku-0:8545 5 | - --wsurl=http://geth-teku-0:8546 6 | - --rpm=100000000 7 | 8 | config: | 9 | Allow = [ 10 | "eth_blockNumber", 11 | "eth_call", 12 | "eth_chainId", 13 | "eth_estimateGas", 14 | "eth_feeHistory", 15 | "eth_gasPrice", 16 | "eth_getBalance", 17 | "eth_getBlockByHash", 18 | "eth_getBlockByNumber", 19 | "eth_getBlockTransactionCountByHash", 20 | "eth_getBlockTransactionCountByNumber", 21 | "eth_getCode", 22 | "eth_getFilterChanges", 23 | "eth_getLogs", 24 | "eth_getStorageAt", 25 | "eth_getTransactionByBlockHashAndIndex", 26 | "eth_getTransactionByBlockNumberAndIndex", 27 | "eth_getTransactionByHash", 28 | "eth_getTransactionCount", 29 | "eth_getTransactionReceipt", 30 | "eth_newBlockFilter", 31 | "eth_newPendingTransactionFilter", 32 | "eth_sendRawTransaction", 33 | "eth_subscribe", 34 | "eth_syncing", 35 | "eth_uninstallFilter", 36 | "eth_unsubscribe", 37 | "net_listening", 38 | "net_version", 39 | "rpc_modules", 40 | "web3_clientVersion", 41 | ] 42 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/rpc-proxy.yaml: -------------------------------------------------------------------------------- 1 | replicas: 1 2 | 3 | args: 4 | - --url=http://geth-teku-0:8545 5 | - --wsurl=http://geth-teku-0:8546 6 | - --rpm=100000000 7 | 8 | config: | 9 | Allow = [ 10 | "eth_blockNumber", 11 | "eth_call", 12 | "eth_chainId", 13 | "eth_estimateGas", 14 | "eth_feeHistory", 15 | "eth_gasPrice", 16 | "eth_getBalance", 17 | "eth_getBlockByHash", 18 | "eth_getBlockByNumber", 19 | "eth_getBlockTransactionCountByHash", 20 | "eth_getBlockTransactionCountByNumber", 21 | "eth_getCode", 22 | "eth_getFilterChanges", 23 | "eth_getLogs", 24 | "eth_getStorageAt", 25 | "eth_getTransactionByBlockHashAndIndex", 26 | "eth_getTransactionByBlockNumberAndIndex", 27 | "eth_getTransactionByHash", 28 | "eth_getTransactionCount", 29 | "eth_getTransactionReceipt", 30 | "eth_newBlockFilter", 31 | "eth_newPendingTransactionFilter", 32 | "eth_sendRawTransaction", 33 | "eth_subscribe", 34 | "eth_syncing", 35 | "eth_uninstallFilter", 36 | "eth_unsubscribe", 37 | "net_listening", 38 | "net_version", 39 | "rpc_modules", 40 | "web3_clientVersion", 41 | ] 42 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/rpc-proxy.yaml: -------------------------------------------------------------------------------- 1 | replicas: 1 2 | 3 | args: 4 | - --url=http://geth-teku-0:8545 5 | - --wsurl=http://geth-teku-0:8546 6 | - --rpm=100000000 7 | 8 | config: | 9 | Allow = [ 10 | "eth_blockNumber", 11 | "eth_call", 12 | "eth_chainId", 13 | "eth_estimateGas", 14 | "eth_feeHistory", 15 | "eth_gasPrice", 16 | "eth_getBalance", 17 | "eth_getBlockByHash", 18 | "eth_getBlockByNumber", 19 | "eth_getBlockTransactionCountByHash", 20 | "eth_getBlockTransactionCountByNumber", 21 | "eth_getCode", 22 | "eth_getFilterChanges", 23 | "eth_getLogs", 24 | "eth_getStorageAt", 25 | "eth_getTransactionByBlockHashAndIndex", 26 | "eth_getTransactionByBlockNumberAndIndex", 27 | "eth_getTransactionByHash", 28 | "eth_getTransactionCount", 29 | "eth_getTransactionReceipt", 30 | "eth_newBlockFilter", 31 | "eth_newPendingTransactionFilter", 32 | "eth_sendRawTransaction", 33 | "eth_subscribe", 34 | "eth_syncing", 35 | "eth_uninstallFilter", 36 | "eth_unsubscribe", 37 | "net_listening", 38 | "net_version", 39 | "rpc_modules", 40 | "web3_clientVersion", 41 | ] 42 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/rpc-proxy.yaml: -------------------------------------------------------------------------------- 1 | replicas: 1 2 | 3 | args: 4 | - --url=http://geth-lighthouse-0:8545 5 | - --wsurl=http://geth-lighthouse-0:8546 6 | - --rpm=100000000 7 | 8 | config: | 9 | Allow = [ 10 | "eth_blockNumber", 11 | "eth_call", 12 | "eth_chainId", 13 | "eth_estimateGas", 14 | "eth_feeHistory", 15 | "eth_gasPrice", 16 | "eth_getBalance", 17 | "eth_getBlockByHash", 18 | "eth_getBlockByNumber", 19 | "eth_getBlockTransactionCountByHash", 20 | "eth_getBlockTransactionCountByNumber", 21 | "eth_getCode", 22 | "eth_getFilterChanges", 23 | "eth_getLogs", 24 | "eth_getStorageAt", 25 | "eth_getTransactionByBlockHashAndIndex", 26 | "eth_getTransactionByBlockNumberAndIndex", 27 | "eth_getTransactionByHash", 28 | "eth_getTransactionCount", 29 | "eth_getTransactionReceipt", 30 | "eth_newBlockFilter", 31 | "eth_newPendingTransactionFilter", 32 | "eth_sendRawTransaction", 33 | "eth_subscribe", 34 | "eth_syncing", 35 | "eth_uninstallFilter", 36 | "eth_unsubscribe", 37 | "net_listening", 38 | "net_version", 39 | "rpc_modules", 40 | "web3_clientVersion", 41 | ] 42 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/ethereum/rpc-proxy.yaml: -------------------------------------------------------------------------------- 1 | replicas: 1 2 | 3 | args: 4 | - --url=http://geth-lighthouse-0:8545 5 | - --wsurl=http://geth-lighthouse-0:8546 6 | - --rpm=100000000 7 | 8 | config: | 9 | Allow = [ 10 | "eth_blockNumber", 11 | "eth_call", 12 | "eth_chainId", 13 | "eth_estimateGas", 14 | "eth_feeHistory", 15 | "eth_gasPrice", 16 | "eth_getBalance", 17 | "eth_getBlockByHash", 18 | "eth_getBlockByNumber", 19 | "eth_getBlockTransactionCountByHash", 20 | "eth_getBlockTransactionCountByNumber", 21 | "eth_getCode", 22 | "eth_getFilterChanges", 23 | "eth_getLogs", 24 | "eth_getStorageAt", 25 | "eth_getTransactionByBlockHashAndIndex", 26 | "eth_getTransactionByBlockNumberAndIndex", 27 | "eth_getTransactionByHash", 28 | "eth_getTransactionCount", 29 | "eth_getTransactionReceipt", 30 | "eth_newBlockFilter", 31 | "eth_newPendingTransactionFilter", 32 | "eth_sendRawTransaction", 33 | "eth_subscribe", 34 | "eth_syncing", 35 | "eth_uninstallFilter", 36 | "eth_unsubscribe", 37 | "net_listening", 38 | "net_version", 39 | "rpc_modules", 40 | "web3_clientVersion", 41 | ] 42 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/testnet-homepage.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/ethereum-testnet-homepage 3 | tag: latest@sha256:3045819c2b2f0ff541e9b7b0c2c681a8278c466d196fe853148728e82e3de592 4 | pullPolicy: IfNotPresent 5 | 6 | customMarkdown: |- 7 | ## How to join 8 | 9 | Read the [documentation](https://hackmd.io/dFzKxB3ISWO8juUqPpJFfw) for more instructions on how to join the testnet. 10 | 11 | ## General information 12 | 13 | TTD: `5000000000` 14 | 15 | ## Genesis configuration 16 | 17 | ### Execution layer clients 18 | 19 | ```sh 20 | https://config.devnet3.themerge.dev/el/bootnodes 21 | https://config.devnet3.themerge.dev/el/genesis/geth.json 22 | https://config.devnet3.themerge.dev/el/genesis/chainspec.json 23 | ``` 24 | 25 | ### Consensus layer clients 26 | 27 | ``` 28 | https://config.devnet3.themerge.dev/cl/bootnodes 29 | https://config.devnet3.themerge.dev/cl/genesis/config.yaml 30 | https://config.devnet3.themerge.dev/cl/genesis/genesis.ssz 31 | https://config.devnet3.themerge.dev/cl/genesis/deploy_block.txt 32 | https://config.devnet3.themerge.dev/cl/genesis/deposit_contract.txt 33 | https://config.devnet3.themerge.dev/cl/genesis/deposit_contract_block.txt 34 | ``` 35 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/testnet-homepage.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/ethereum-testnet-homepage 3 | tag: latest@sha256:3045819c2b2f0ff541e9b7b0c2c681a8278c466d196fe853148728e82e3de592 4 | pullPolicy: IfNotPresent 5 | 6 | customMarkdown: |- 7 | ## How to join 8 | 9 | Read the [documentation](https://hackmd.io/dFzKxB3ISWO8juUqPpJFfw) for more instructions on how to join the testnet. 10 | 11 | ## General information 12 | 13 | TTD: `5000000000` 14 | 15 | ## Genesis configuration 16 | 17 | ### Execution layer clients 18 | 19 | ```sh 20 | https://config.kintsugi.themerge.dev/el/bootnodes 21 | https://config.kintsugi.themerge.dev/el/genesis/geth.json 22 | https://config.kintsugi.themerge.dev/el/genesis/chainspec.json 23 | ``` 24 | 25 | ### Consensus layer clients 26 | 27 | ``` 28 | https://config.kintsugi.themerge.dev/cl/bootnodes 29 | https://config.kintsugi.themerge.dev/cl/genesis/config.yaml 30 | https://config.kintsugi.themerge.dev/cl/genesis/genesis.ssz 31 | https://config.kintsugi.themerge.dev/cl/genesis/deploy_block.txt 32 | https://config.kintsugi.themerge.dev/cl/genesis/deposit_contract.txt 33 | https://config.kintsugi.themerge.dev/cl/genesis/deposit_contract_block.txt 34 | ``` 35 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/ingress.faucet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-faucet 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "faucet.{{ .Values.domain }}" 13 | rules: 14 | - host: "faucet.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: fauceth 22 | port: 23 | number: 8080 24 | 25 | --- 26 | apiVersion: networking.k8s.io/v1 27 | kind: Ingress 28 | metadata: 29 | name: ingress-faucet-request 30 | annotations: 31 | kubernetes.io/ingress.class: nginx 32 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 33 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 34 | 35 | spec: 36 | tls: 37 | - hosts: 38 | - "faucet.{{ .Values.domain }}" 39 | rules: 40 | - host: "faucet.{{ .Values.domain }}" 41 | http: 42 | paths: 43 | - path: /request 44 | pathType: Exact 45 | backend: 46 | service: 47 | name: haproxy 48 | port: 49 | number: 80 50 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/ingress.rpc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-rpc 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | #nginx.ingress.kubernetes.io/rewrite-target: /eth 10 | nginx.ingress.kubernetes.io/enable-cors: "true" 11 | nginx.ingress.kubernetes.io/cors-allow-origin: "*" 12 | nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS" 13 | nginx.ingress.kubernetes.io/limit-rpm: "500" 14 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 15 | nginx.ingress.kubernetes.io/configuration-snippet: | 16 | sub_filter_once off; 17 | sub_filter_types text/html; 18 | sub_filter 'https://gochain.io' ''; 19 | sub_filter 'GoChain' ''; 20 | sub_filter 'This is an RPC endpoint for' 'RPC proxy based on https://github.com/gochain/rpc-proxy'; 21 | spec: 22 | tls: 23 | - hosts: 24 | - "rpc.{{ .Values.domain }}" 25 | rules: 26 | - host: "rpc.{{ .Values.domain }}" 27 | http: 28 | paths: 29 | - path: / 30 | pathType: Prefix 31 | backend: 32 | service: 33 | # TODO: change to dshackle once https://github.com/emeraldpay/dshackle/issues/132 is solved 34 | name: rpc-proxy 35 | port: 36 | number: 8545 37 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/ingress.rpc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-rpc 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | #nginx.ingress.kubernetes.io/rewrite-target: /eth 10 | nginx.ingress.kubernetes.io/enable-cors: "true" 11 | nginx.ingress.kubernetes.io/cors-allow-origin: "*" 12 | nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS" 13 | nginx.ingress.kubernetes.io/limit-rpm: "500" 14 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 15 | nginx.ingress.kubernetes.io/configuration-snippet: | 16 | sub_filter_once off; 17 | sub_filter_types text/html; 18 | sub_filter 'https://gochain.io' ''; 19 | sub_filter 'GoChain' ''; 20 | sub_filter 'This is an RPC endpoint for' 'RPC proxy based on https://github.com/gochain/rpc-proxy'; 21 | spec: 22 | tls: 23 | - hosts: 24 | - "rpc.{{ .Values.domain }}" 25 | rules: 26 | - host: "rpc.{{ .Values.domain }}" 27 | http: 28 | paths: 29 | - path: / 30 | pathType: Prefix 31 | backend: 32 | service: 33 | # TODO: change to dshackle once https://github.com/emeraldpay/dshackle/issues/132 is solved 34 | name: rpc-proxy 35 | port: 36 | number: 8545 37 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/ingress.rpc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-rpc 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | #nginx.ingress.kubernetes.io/rewrite-target: /eth 10 | nginx.ingress.kubernetes.io/enable-cors: "true" 11 | nginx.ingress.kubernetes.io/cors-allow-origin: "*" 12 | nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS" 13 | nginx.ingress.kubernetes.io/limit-rpm: "500" 14 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 15 | nginx.ingress.kubernetes.io/configuration-snippet: | 16 | sub_filter_once off; 17 | sub_filter_types text/html; 18 | sub_filter 'https://gochain.io' ''; 19 | sub_filter 'GoChain' ''; 20 | sub_filter 'This is an RPC endpoint for' 'RPC proxy based on https://github.com/gochain/rpc-proxy'; 21 | spec: 22 | tls: 23 | - hosts: 24 | - "rpc.{{ .Values.domain }}" 25 | rules: 26 | - host: "rpc.{{ .Values.domain }}" 27 | http: 28 | paths: 29 | - path: / 30 | pathType: Prefix 31 | backend: 32 | service: 33 | # TODO: change to dshackle once https://github.com/emeraldpay/dshackle/issues/132 is solved 34 | name: rpc-proxy 35 | port: 36 | number: 8545 37 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/templates/ingress.rpc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-rpc 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | #nginx.ingress.kubernetes.io/rewrite-target: /eth 10 | nginx.ingress.kubernetes.io/enable-cors: "true" 11 | nginx.ingress.kubernetes.io/cors-allow-origin: "*" 12 | nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS" 13 | nginx.ingress.kubernetes.io/limit-rpm: "500" 14 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 15 | nginx.ingress.kubernetes.io/configuration-snippet: | 16 | sub_filter_once off; 17 | sub_filter_types text/html; 18 | sub_filter 'https://gochain.io' ''; 19 | sub_filter 'GoChain' ''; 20 | sub_filter 'This is an RPC endpoint for' 'RPC proxy based on https://github.com/gochain/rpc-proxy'; 21 | spec: 22 | tls: 23 | - hosts: 24 | - "rpc.{{ .Values.domain }}" 25 | rules: 26 | - host: "rpc.{{ .Values.domain }}" 27 | http: 28 | paths: 29 | - path: / 30 | pathType: Prefix 31 | backend: 32 | service: 33 | # TODO: change to dshackle once https://github.com/emeraldpay/dshackle/issues/132 is solved 34 | name: rpc-proxy 35 | port: 36 | number: 8545 37 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/shared-services/haproxy.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | requests: 3 | cpu: "100m" 4 | memory: "100Mi" 5 | 6 | service: 7 | type: ClusterIP 8 | 9 | extraVolumes: 10 | - name: data 11 | emptyDir: {} 12 | 13 | extraVolumeMounts: 14 | - name: data 15 | mountPath: /data 16 | readOnly: false 17 | 18 | initContainers: 19 | - name: download-bans 20 | image: curlimages/curl 21 | args: 22 | - -v 23 | - -o 24 | - /data/bans.txt 25 | - https://raw.githubusercontent.com/X4BNet/lists_vpn/main/ipv4.txt 26 | volumeMounts: 27 | - name: data 28 | mountPath: /data 29 | 30 | configuration: | 31 | global 32 | log stdout format raw local0 33 | maxconn 1024 34 | defaults 35 | log global 36 | timeout client 60s 37 | timeout connect 60s 38 | timeout server 60s 39 | 40 | option forwardfor 41 | 42 | mode http 43 | 44 | frontend entry 45 | bind 0.0.0.0:8080 name http 46 | log global 47 | 48 | http-request set-src hdr(X-Real-IP) 49 | 50 | acl is_banned src -f /data/bans.txt 51 | http-request deny deny_status 403 if is_banned 52 | 53 | stick-table type ip size 5000k expire 168h store http_req_rate(168h) 54 | http-request track-sc0 req.hdr(X-Real-IP) 55 | http-request deny deny_status 429 if { sc_http_req_rate(0) gt 2 } 56 | 57 | 58 | default_backend faucet 59 | 60 | backend faucet 61 | log global 62 | server upstream_server fauceth.ethereum.svc.cluster.local:8080 maxconn 512 63 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/ingress.rpc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-rpc 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | #nginx.ingress.kubernetes.io/rewrite-target: /eth 10 | nginx.ingress.kubernetes.io/enable-cors: "true" 11 | nginx.ingress.kubernetes.io/cors-allow-origin: "*" 12 | nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS" 13 | nginx.ingress.kubernetes.io/limit-rpm: "500" 14 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 15 | nginx.ingress.kubernetes.io/configuration-snippet: | 16 | sub_filter_once off; 17 | sub_filter_types text/html; 18 | sub_filter 'https://gochain.io' ''; 19 | sub_filter 'GoChain' ''; 20 | sub_filter 'This is an RPC endpoint for' 'RPC proxy based on https://github.com/gochain/rpc-proxy'; 21 | spec: 22 | tls: 23 | - hosts: 24 | - "rpc.{{ .Values.domain }}" 25 | rules: 26 | - host: "rpc.{{ .Values.domain }}" 27 | http: 28 | paths: 29 | - path: / 30 | pathType: Prefix 31 | backend: 32 | service: 33 | # TODO: change to dshackle once https://github.com/emeraldpay/dshackle/issues/132 is solved 34 | name: rpc-proxy 35 | port: 36 | number: 8545 37 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/testnet-homepage.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/ethereum-testnet-homepage 3 | tag: latest@sha256:7f1ec50462717ee46e60b150a51b9fa4e43e5118f4c097368067932ddb13a201 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | params: 8 | additionalLinks: 9 | - name: "Launchpad" 10 | url: "https://kiln.launchpad.ethereum.org" 11 | - name: "Run a node" 12 | url: "https://notes.ethereum.org/@launchpad/kiln" 13 | 14 | customMarkdown: |- 15 | ## General information 16 | 17 | **⚠️ Deprecation notice:** The [Kiln testnet will be shut down](https://blog.ethereum.org/2022/06/21/testnet-deprecation/) shortly after the Ethereum mainnet’s transition to proof-of-stake, expected in the second half of 2022. 18 | 19 | TTD: `20000000000000` 20 | 21 | ## Genesis configuration 22 | 23 | ### Execution layer clients 24 | 25 | ```sh 26 | https://config.kiln.themerge.dev/el/bootnodes 27 | https://config.kiln.themerge.dev/el/genesis/geth.json 28 | https://config.kiln.themerge.dev/el/genesis/chainspec.json 29 | ``` 30 | 31 | ### Consensus layer clients 32 | 33 | ``` 34 | https://config.kiln.themerge.dev/cl/bootnodes 35 | https://config.kiln.themerge.dev/cl/genesis/config.yaml 36 | https://config.kiln.themerge.dev/cl/genesis/genesis.ssz 37 | https://config.kiln.themerge.dev/cl/genesis/deploy_block.txt 38 | https://config.kiln.themerge.dev/cl/genesis/deposit_contract.txt 39 | https://config.kiln.themerge.dev/cl/genesis/deposit_contract_block.txt 40 | ``` 41 | -------------------------------------------------------------------------------- /public-merge-devnet3/terraform/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/digitalocean/digitalocean" { 5 | version = "2.11.1" 6 | constraints = "~> 2.11.1" 7 | hashes = [ 8 | "h1:6PNfB68DDo5RkXhepEUSt95bZgT4i8J2eJNcaQTxlCs=", 9 | "zh:0b379be98de2927eb751db4e88e69b14c979b97f33ff5b3f7840e27bbb3b10c4", 10 | "zh:28cdc581a684681eee6c871da76f0a6e9a99c4ae7dfabb0ffbc62c2566299a3b", 11 | "zh:41c332b015af4b0b08c7f34c57bd1f6e687ab78134d8fa891aba2357e2b0ced5", 12 | "zh:537da9f53842fe9c3ee3d8ae7ff8ee5a847a879ec881a9cf087e677d36e642c0", 13 | "zh:621782735bb0fa0e9b12750a6e91c2ef0d144185201435f0f70a95b66aa08dd1", 14 | "zh:7f59913181a0fb6d78ccfdac19f17d4b693f67776baf8ffb6a9cd07088804be8", 15 | "zh:9b164e204085691876535233eb57cd6fdf223a0eff529ceb072b61f4fea2f950", 16 | "zh:9d3c87e40b11f19bb0e59b369663d05b03e37d3095200a7b40e7bc7e04e3a303", 17 | "zh:9fe3ec149fcbe25f987b02e59d810a8fd836a9f4b4b7a9ed7273800c8020cc87", 18 | "zh:a426e765a4df74b21196d2faf4786bec2a7fdc2c21bf1137a7fb9a1c7e1cf1fc", 19 | "zh:aae6361881b90802d5fad20ca2cd7330e118be09cf583b79b9276e033b09beb4", 20 | "zh:c760535090ec85194e8248c823439a1692be72e4f337916f63c742ee8cb1f7cd", 21 | "zh:eca7a79f7c3611b79a1013b3390ac917043ac19cd648bda8c87e4b7714b27b00", 22 | "zh:f221a20df002cffac09dba1734a1f77217dd546705fd1b123951d03c0fff6592", 23 | "zh:f62b7120420cc0d3ff9d291aa1aae20b5868dd47d453cb3a33b915615f5cdb29", 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /public-merge-devnet4/terraform/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/digitalocean/digitalocean" { 5 | version = "2.11.1" 6 | constraints = "~> 2.11.1" 7 | hashes = [ 8 | "h1:6PNfB68DDo5RkXhepEUSt95bZgT4i8J2eJNcaQTxlCs=", 9 | "zh:0b379be98de2927eb751db4e88e69b14c979b97f33ff5b3f7840e27bbb3b10c4", 10 | "zh:28cdc581a684681eee6c871da76f0a6e9a99c4ae7dfabb0ffbc62c2566299a3b", 11 | "zh:41c332b015af4b0b08c7f34c57bd1f6e687ab78134d8fa891aba2357e2b0ced5", 12 | "zh:537da9f53842fe9c3ee3d8ae7ff8ee5a847a879ec881a9cf087e677d36e642c0", 13 | "zh:621782735bb0fa0e9b12750a6e91c2ef0d144185201435f0f70a95b66aa08dd1", 14 | "zh:7f59913181a0fb6d78ccfdac19f17d4b693f67776baf8ffb6a9cd07088804be8", 15 | "zh:9b164e204085691876535233eb57cd6fdf223a0eff529ceb072b61f4fea2f950", 16 | "zh:9d3c87e40b11f19bb0e59b369663d05b03e37d3095200a7b40e7bc7e04e3a303", 17 | "zh:9fe3ec149fcbe25f987b02e59d810a8fd836a9f4b4b7a9ed7273800c8020cc87", 18 | "zh:a426e765a4df74b21196d2faf4786bec2a7fdc2c21bf1137a7fb9a1c7e1cf1fc", 19 | "zh:aae6361881b90802d5fad20ca2cd7330e118be09cf583b79b9276e033b09beb4", 20 | "zh:c760535090ec85194e8248c823439a1692be72e4f337916f63c742ee8cb1f7cd", 21 | "zh:eca7a79f7c3611b79a1013b3390ac917043ac19cd648bda8c87e4b7714b27b00", 22 | "zh:f221a20df002cffac09dba1734a1f77217dd546705fd1b123951d03c0fff6592", 23 | "zh:f62b7120420cc0d3ff9d291aa1aae20b5868dd47d453cb3a33b915615f5cdb29", 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /public-merge-devnet5/terraform/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/digitalocean/digitalocean" { 5 | version = "2.11.1" 6 | constraints = "~> 2.11.1" 7 | hashes = [ 8 | "h1:6PNfB68DDo5RkXhepEUSt95bZgT4i8J2eJNcaQTxlCs=", 9 | "zh:0b379be98de2927eb751db4e88e69b14c979b97f33ff5b3f7840e27bbb3b10c4", 10 | "zh:28cdc581a684681eee6c871da76f0a6e9a99c4ae7dfabb0ffbc62c2566299a3b", 11 | "zh:41c332b015af4b0b08c7f34c57bd1f6e687ab78134d8fa891aba2357e2b0ced5", 12 | "zh:537da9f53842fe9c3ee3d8ae7ff8ee5a847a879ec881a9cf087e677d36e642c0", 13 | "zh:621782735bb0fa0e9b12750a6e91c2ef0d144185201435f0f70a95b66aa08dd1", 14 | "zh:7f59913181a0fb6d78ccfdac19f17d4b693f67776baf8ffb6a9cd07088804be8", 15 | "zh:9b164e204085691876535233eb57cd6fdf223a0eff529ceb072b61f4fea2f950", 16 | "zh:9d3c87e40b11f19bb0e59b369663d05b03e37d3095200a7b40e7bc7e04e3a303", 17 | "zh:9fe3ec149fcbe25f987b02e59d810a8fd836a9f4b4b7a9ed7273800c8020cc87", 18 | "zh:a426e765a4df74b21196d2faf4786bec2a7fdc2c21bf1137a7fb9a1c7e1cf1fc", 19 | "zh:aae6361881b90802d5fad20ca2cd7330e118be09cf583b79b9276e033b09beb4", 20 | "zh:c760535090ec85194e8248c823439a1692be72e4f337916f63c742ee8cb1f7cd", 21 | "zh:eca7a79f7c3611b79a1013b3390ac917043ac19cd648bda8c87e4b7714b27b00", 22 | "zh:f221a20df002cffac09dba1734a1f77217dd546705fd1b123951d03c0fff6592", 23 | "zh:f62b7120420cc0d3ff9d291aa1aae20b5868dd47d453cb3a33b915615f5cdb29", 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /public-merge-kiln/terraform/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/digitalocean/digitalocean" { 5 | version = "2.11.1" 6 | constraints = "~> 2.11.1" 7 | hashes = [ 8 | "h1:6PNfB68DDo5RkXhepEUSt95bZgT4i8J2eJNcaQTxlCs=", 9 | "zh:0b379be98de2927eb751db4e88e69b14c979b97f33ff5b3f7840e27bbb3b10c4", 10 | "zh:28cdc581a684681eee6c871da76f0a6e9a99c4ae7dfabb0ffbc62c2566299a3b", 11 | "zh:41c332b015af4b0b08c7f34c57bd1f6e687ab78134d8fa891aba2357e2b0ced5", 12 | "zh:537da9f53842fe9c3ee3d8ae7ff8ee5a847a879ec881a9cf087e677d36e642c0", 13 | "zh:621782735bb0fa0e9b12750a6e91c2ef0d144185201435f0f70a95b66aa08dd1", 14 | "zh:7f59913181a0fb6d78ccfdac19f17d4b693f67776baf8ffb6a9cd07088804be8", 15 | "zh:9b164e204085691876535233eb57cd6fdf223a0eff529ceb072b61f4fea2f950", 16 | "zh:9d3c87e40b11f19bb0e59b369663d05b03e37d3095200a7b40e7bc7e04e3a303", 17 | "zh:9fe3ec149fcbe25f987b02e59d810a8fd836a9f4b4b7a9ed7273800c8020cc87", 18 | "zh:a426e765a4df74b21196d2faf4786bec2a7fdc2c21bf1137a7fb9a1c7e1cf1fc", 19 | "zh:aae6361881b90802d5fad20ca2cd7330e118be09cf583b79b9276e033b09beb4", 20 | "zh:c760535090ec85194e8248c823439a1692be72e4f337916f63c742ee8cb1f7cd", 21 | "zh:eca7a79f7c3611b79a1013b3390ac917043ac19cd648bda8c87e4b7714b27b00", 22 | "zh:f221a20df002cffac09dba1734a1f77217dd546705fd1b123951d03c0fff6592", 23 | "zh:f62b7120420cc0d3ff9d291aa1aae20b5868dd47d453cb3a33b915615f5cdb29", 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /public-merge-kintsugi/terraform/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/digitalocean/digitalocean" { 5 | version = "2.11.1" 6 | constraints = "~> 2.11.1" 7 | hashes = [ 8 | "h1:6PNfB68DDo5RkXhepEUSt95bZgT4i8J2eJNcaQTxlCs=", 9 | "zh:0b379be98de2927eb751db4e88e69b14c979b97f33ff5b3f7840e27bbb3b10c4", 10 | "zh:28cdc581a684681eee6c871da76f0a6e9a99c4ae7dfabb0ffbc62c2566299a3b", 11 | "zh:41c332b015af4b0b08c7f34c57bd1f6e687ab78134d8fa891aba2357e2b0ced5", 12 | "zh:537da9f53842fe9c3ee3d8ae7ff8ee5a847a879ec881a9cf087e677d36e642c0", 13 | "zh:621782735bb0fa0e9b12750a6e91c2ef0d144185201435f0f70a95b66aa08dd1", 14 | "zh:7f59913181a0fb6d78ccfdac19f17d4b693f67776baf8ffb6a9cd07088804be8", 15 | "zh:9b164e204085691876535233eb57cd6fdf223a0eff529ceb072b61f4fea2f950", 16 | "zh:9d3c87e40b11f19bb0e59b369663d05b03e37d3095200a7b40e7bc7e04e3a303", 17 | "zh:9fe3ec149fcbe25f987b02e59d810a8fd836a9f4b4b7a9ed7273800c8020cc87", 18 | "zh:a426e765a4df74b21196d2faf4786bec2a7fdc2c21bf1137a7fb9a1c7e1cf1fc", 19 | "zh:aae6361881b90802d5fad20ca2cd7330e118be09cf583b79b9276e033b09beb4", 20 | "zh:c760535090ec85194e8248c823439a1692be72e4f337916f63c742ee8cb1f7cd", 21 | "zh:eca7a79f7c3611b79a1013b3390ac917043ac19cd648bda8c87e4b7714b27b00", 22 | "zh:f221a20df002cffac09dba1734a1f77217dd546705fd1b123951d03c0fff6592", 23 | "zh:f62b7120420cc0d3ff9d291aa1aae20b5868dd47d453cb3a33b915615f5cdb29", 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/terraform/.terraform.lock.hcl: -------------------------------------------------------------------------------- 1 | # This file is maintained automatically by "terraform init". 2 | # Manual edits may be lost in future updates. 3 | 4 | provider "registry.terraform.io/digitalocean/digitalocean" { 5 | version = "2.11.1" 6 | constraints = "~> 2.11.1" 7 | hashes = [ 8 | "h1:6PNfB68DDo5RkXhepEUSt95bZgT4i8J2eJNcaQTxlCs=", 9 | "zh:0b379be98de2927eb751db4e88e69b14c979b97f33ff5b3f7840e27bbb3b10c4", 10 | "zh:28cdc581a684681eee6c871da76f0a6e9a99c4ae7dfabb0ffbc62c2566299a3b", 11 | "zh:41c332b015af4b0b08c7f34c57bd1f6e687ab78134d8fa891aba2357e2b0ced5", 12 | "zh:537da9f53842fe9c3ee3d8ae7ff8ee5a847a879ec881a9cf087e677d36e642c0", 13 | "zh:621782735bb0fa0e9b12750a6e91c2ef0d144185201435f0f70a95b66aa08dd1", 14 | "zh:7f59913181a0fb6d78ccfdac19f17d4b693f67776baf8ffb6a9cd07088804be8", 15 | "zh:9b164e204085691876535233eb57cd6fdf223a0eff529ceb072b61f4fea2f950", 16 | "zh:9d3c87e40b11f19bb0e59b369663d05b03e37d3095200a7b40e7bc7e04e3a303", 17 | "zh:9fe3ec149fcbe25f987b02e59d810a8fd836a9f4b4b7a9ed7273800c8020cc87", 18 | "zh:a426e765a4df74b21196d2faf4786bec2a7fdc2c21bf1137a7fb9a1c7e1cf1fc", 19 | "zh:aae6361881b90802d5fad20ca2cd7330e118be09cf583b79b9276e033b09beb4", 20 | "zh:c760535090ec85194e8248c823439a1692be72e4f337916f63c742ee8cb1f7cd", 21 | "zh:eca7a79f7c3611b79a1013b3390ac917043ac19cd648bda8c87e4b7714b27b00", 22 | "zh:f221a20df002cffac09dba1734a1f77217dd546705fd1b123951d03c0fff6592", 23 | "zh:f62b7120420cc0d3ff9d291aa1aae20b5868dd47d453cb3a33b915615f5cdb29", 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/fauceth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ghcr.io/komputing/fauceth 3 | tag: release@sha256:4ab8fa4143b48b5b9da8bbd01c4ef3fff2eefc637a5d003ca145e06129edf966 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | APP_AMOUNT: "32080000000000000000" # 32.08 ETH 8 | APP_IMAGEURL: "https://github.com/parithosh/testnet-faucet/raw/master/public/assets/images/ethereum-merge.png" 9 | APP_TITLE: "Kiln FaucETH" 10 | APP_CHAINS: "1337802" 11 | APP_LOGGING: "VERBOSE" 12 | 13 | initContainers: 14 | - name: init-config 15 | image: bash:latest 16 | imagePullPolicy: IfNotPresent 17 | securityContext: 18 | runAsNonRoot: false 19 | runAsUser: 0 20 | volumeMounts: 21 | - name: config 22 | mountPath: /config 23 | command: 24 | - bash 25 | - -ace 26 | - > 27 | echo ' 28 | [{ 29 | "name": "Kiln", 30 | "title": "Kiln testnet", 31 | "chain": "ETH", 32 | "rpc": ["http://geth-teku-0:8545"], 33 | "faucets": ["https://faucet.kiln.themerge.dev"], 34 | "nativeCurrency": { 35 | "name": "kiln Ethereum", 36 | "symbol": "kiETH", 37 | "decimals": 18 38 | }, 39 | "infoURL": "https://kiln.themerge.dev/", 40 | "shortName": "kiln", 41 | "chainId": 1337802, 42 | "networkId": 1337802, 43 | "explorers": [{ 44 | "name": "Kiln explorer", 45 | "url": "https://explorer.kiln.themerge.dev", 46 | "standard": "EIP3091" 47 | }] 48 | }] 49 | ' > /config/chains.json; 50 | cat /config/chains.json; 51 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/ingress.faucet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-faucet 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "faucet.{{ .Values.domain }}" 13 | rules: 14 | - host: "faucet.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: fauceth 22 | port: 23 | number: 8080 24 | 25 | --- 26 | apiVersion: networking.k8s.io/v1 27 | kind: Ingress 28 | metadata: 29 | name: ingress-faucet-request 30 | annotations: 31 | kubernetes.io/ingress.class: nginx 32 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 33 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 34 | nginx.ingress.kubernetes.io/limit-rpm: "1" 35 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 36 | nginx.ingress.kubernetes.io/configuration-snippet: | 37 | if ($http_user_agent ~* PCRT00|BBBike|wget) { 38 | return 403; 39 | } 40 | spec: 41 | tls: 42 | - hosts: 43 | - "faucet.{{ .Values.domain }}" 44 | rules: 45 | - host: "faucet.{{ .Values.domain }}" 46 | http: 47 | paths: 48 | - path: /request 49 | pathType: Exact 50 | backend: 51 | service: 52 | name: fauceth 53 | port: 54 | number: 8080 55 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/ingress.faucet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-faucet 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "faucet.{{ .Values.domain }}" 13 | rules: 14 | - host: "faucet.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: fauceth 22 | port: 23 | number: 8080 24 | 25 | --- 26 | apiVersion: networking.k8s.io/v1 27 | kind: Ingress 28 | metadata: 29 | name: ingress-faucet-request 30 | annotations: 31 | kubernetes.io/ingress.class: nginx 32 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 33 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 34 | nginx.ingress.kubernetes.io/limit-rpm: "1" 35 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 36 | nginx.ingress.kubernetes.io/configuration-snippet: | 37 | if ($http_user_agent ~* PCRT00|BBBike|wget) { 38 | return 403; 39 | } 40 | spec: 41 | tls: 42 | - hosts: 43 | - "faucet.{{ .Values.domain }}" 44 | rules: 45 | - host: "faucet.{{ .Values.domain }}" 46 | http: 47 | paths: 48 | - path: /request 49 | pathType: Exact 50 | backend: 51 | service: 52 | name: fauceth 53 | port: 54 | number: 8080 55 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/ingress.faucet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-faucet 5 | annotations: 6 | kubernetes.io/ingress.class: nginx 7 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 8 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 9 | spec: 10 | tls: 11 | - hosts: 12 | - "faucet.{{ .Values.domain }}" 13 | rules: 14 | - host: "faucet.{{ .Values.domain }}" 15 | http: 16 | paths: 17 | - path: / 18 | pathType: Prefix 19 | backend: 20 | service: 21 | name: fauceth 22 | port: 23 | number: 8080 24 | 25 | --- 26 | apiVersion: networking.k8s.io/v1 27 | kind: Ingress 28 | metadata: 29 | name: ingress-faucet-request 30 | annotations: 31 | kubernetes.io/ingress.class: nginx 32 | nginx.ingress.kubernetes.io/ssl-redirect: "true" 33 | nginx.ingress.kubernetes.io/preserve-trailing-slash: "true" 34 | nginx.ingress.kubernetes.io/limit-rpm: "1" 35 | nginx.ingress.kubernetes.io/limit-burst-multiplier: "2" 36 | nginx.ingress.kubernetes.io/configuration-snippet: | 37 | if ($http_user_agent ~* PCRT00|BBBike|wget) { 38 | return 403; 39 | } 40 | spec: 41 | tls: 42 | - hosts: 43 | - "faucet.{{ .Values.domain }}" 44 | rules: 45 | - host: "faucet.{{ .Values.domain }}" 46 | http: 47 | paths: 48 | - path: /request 49 | pathType: Exact 50 | backend: 51 | service: 52 | name: fauceth 53 | port: 54 | number: 8080 55 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/fauceth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ghcr.io/komputing/fauceth 3 | tag: release@sha256:4ab8fa4143b48b5b9da8bbd01c4ef3fff2eefc637a5d003ca145e06129edf966 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | APP_AMOUNT: "10710000000000000000" # 10.71 ETH 8 | APP_IMAGEURL: "https://github.com/parithosh/testnet-faucet/raw/master/public/assets/images/ethereum-merge.png" 9 | APP_TITLE: "Kintsugi FaucETH" 10 | APP_CHAINS: "1337702" 11 | APP_LOGGING: "VERBOSE" 12 | 13 | initContainers: 14 | - name: init-config 15 | image: bash:latest 16 | imagePullPolicy: IfNotPresent 17 | securityContext: 18 | runAsNonRoot: false 19 | runAsUser: 0 20 | volumeMounts: 21 | - name: config 22 | mountPath: /config 23 | command: 24 | - bash 25 | - -ace 26 | - > 27 | echo ' 28 | [{ 29 | "name": "Kintsugi", 30 | "title": "Kintsugi Merge Testnet", 31 | "chain": "ETH", 32 | "rpc": ["http://geth-lighthouse-0:8545"], 33 | "faucets": ["https://faucet.kintsugi.themerge.dev"], 34 | "nativeCurrency": { 35 | "name": "kintsugi Ethereum", 36 | "symbol": "kiETH", 37 | "decimals": 18 38 | }, 39 | "infoURL": "https://kintsugi.themerge.dev/", 40 | "shortName": "kintsugi", 41 | "chainId": 1337702, 42 | "networkId": 1337702, 43 | "explorers": [{ 44 | "name": "kintsugi explorer", 45 | "url": "https://explorer.kintsugi.themerge.dev", 46 | "standard": "EIP3091" 47 | }] 48 | }] 49 | ' > /config/chains.json; 50 | cat /config/chains.json; 51 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/fauceth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ghcr.io/komputing/fauceth 3 | tag: release@sha256:4ab8fa4143b48b5b9da8bbd01c4ef3fff2eefc637a5d003ca145e06129edf966 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | APP_AMOUNT: "10710000000000000000" # 10.71 ETH 8 | APP_IMAGEURL: "https://github.com/parithosh/testnet-faucet/raw/master/public/assets/images/ethereum-merge.png" 9 | APP_TITLE: "MergeDevnet4 FaucETH" 10 | APP_CHAINS: "1337752" 11 | APP_LOGGING: "VERBOSE" 12 | 13 | initContainers: 14 | - name: init-config 15 | image: bash:latest 16 | imagePullPolicy: IfNotPresent 17 | securityContext: 18 | runAsNonRoot: false 19 | runAsUser: 0 20 | volumeMounts: 21 | - name: config 22 | mountPath: /config 23 | command: 24 | - bash 25 | - -ace 26 | - > 27 | echo ' 28 | [{ 29 | "name": "MergeDevnet4", 30 | "title": "Merge Devnet4 testnet", 31 | "chain": "ETH", 32 | "rpc": ["http://geth-teku-0:8545"], 33 | "faucets": ["https://faucet.devnet4.themerge.dev"], 34 | "nativeCurrency": { 35 | "name": "devnet4 Ethereum", 36 | "symbol": "dev4ETH", 37 | "decimals": 18 38 | }, 39 | "infoURL": "https://devnet4.themerge.dev/", 40 | "shortName": "merge-devnet4", 41 | "chainId": 1337752, 42 | "networkId": 1337752, 43 | "explorers": [{ 44 | "name": "devnet4 explorer", 45 | "url": "https://explorer.devnet4.themerge.dev", 46 | "standard": "EIP3091" 47 | }] 48 | }] 49 | ' > /config/chains.json; 50 | cat /config/chains.json; 51 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/fauceth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ghcr.io/komputing/fauceth 3 | tag: release@sha256:4ab8fa4143b48b5b9da8bbd01c4ef3fff2eefc637a5d003ca145e06129edf966 4 | pullPolicy: IfNotPresent 5 | 6 | secretEnv: 7 | APP_AMOUNT: "10710000000000000000" # 10.71 ETH 8 | APP_IMAGEURL: "https://github.com/parithosh/testnet-faucet/raw/master/public/assets/images/ethereum-merge.png" 9 | APP_TITLE: "MergeDevnet5 FaucETH" 10 | APP_CHAINS: "1337762" 11 | APP_LOGGING: "VERBOSE" 12 | 13 | initContainers: 14 | - name: init-config 15 | image: bash:latest 16 | imagePullPolicy: IfNotPresent 17 | securityContext: 18 | runAsNonRoot: false 19 | runAsUser: 0 20 | volumeMounts: 21 | - name: config 22 | mountPath: /config 23 | command: 24 | - bash 25 | - -ace 26 | - > 27 | echo ' 28 | [{ 29 | "name": "MergeDevnet5", 30 | "title": "Merge Devnet5 testnet", 31 | "chain": "ETH", 32 | "rpc": ["http://geth-teku-0:8545"], 33 | "faucets": ["https://faucet.devnet5.themerge.dev"], 34 | "nativeCurrency": { 35 | "name": "devnet5 Ethereum", 36 | "symbol": "dev5ETH", 37 | "decimals": 18 38 | }, 39 | "infoURL": "https://devnet5.themerge.dev/", 40 | "shortName": "merge-devnet5", 41 | "chainId": 1337762, 42 | "networkId": 1337762, 43 | "explorers": [{ 44 | "name": "devnet5 explorer", 45 | "url": "https://explorer.devnet5.themerge.dev", 46 | "standard": "EIP3091" 47 | }] 48 | }] 49 | ' > /config/chains.json; 50 | cat /config/chains.json; 51 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/besu.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: hyperledger/besu 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | podManagementPolicy: Parallel 9 | 10 | extraArgs: 11 | - --genesis-file=/data/genesis.json 12 | - --bootnodes="$(cat /data/bootnodes.txt)" 13 | - --network-id=$(cat /data/chainid.txt) 14 | - --ethstats=$(hostname):PrivateNetwork@ethstats:3000 15 | #- --logging=TRACE 16 | 17 | initContainers: 18 | - name: init-genesis 19 | image: alpine:latest 20 | imagePullPolicy: IfNotPresent 21 | securityContext: 22 | runAsNonRoot: false 23 | runAsUser: 0 24 | command: 25 | - sh 26 | - -ace 27 | - > 28 | if ! [ -f /data/genesis_init_done ]; 29 | then 30 | echo "waiting for genesis provider"; 31 | while ! wget -T 5 -c http://genesis-generator:8000/el/; do sleep 10; done; 32 | wget -O /data/genesis.json http://genesis-generator:8000/el/geth.json; 33 | apk update && apk add jq; 34 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 35 | touch /data/genesis_init_done; 36 | echo "genesis init done"; 37 | else 38 | echo "genesis is already initialized"; 39 | fi; 40 | while ! wget -O /data/bootnodes.txt http://geth-bootnode-0.geth-bootnode-headless.ethereum-private.svc.cluster.local:8888/enode; 41 | do 42 | sleep 10; 43 | done; 44 | echo "bootnode init done: $(cat /data/bootnodes.txt)"; 45 | volumeMounts: 46 | - name: storage 47 | mountPath: "/data" 48 | 49 | extraEnv: 50 | - name: JAVA_OPTS 51 | value: "-Xmx1000m -Xms1000m" 52 | 53 | #persistence: 54 | # enabled: true 55 | # size: 2Gi 56 | 57 | resources: {} 58 | 59 | serviceMonitor: 60 | enabled: true 61 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/geth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ethereum/client-go 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 5 7 | 8 | podManagementPolicy: Parallel 9 | 10 | extraArgs: 11 | - --bootnodes="$(cat /data/bootnode.txt)" 12 | - --networkid=$(cat /data/chainid.txt) 13 | - --ethstats=$(hostname):PrivateNetwork@ethstats:3000 14 | - --verbosity=4 15 | 16 | initContainers: 17 | - name: init-genesis 18 | image: ethereum/client-go:latest 19 | imagePullPolicy: IfNotPresent 20 | securityContext: 21 | runAsNonRoot: false 22 | runAsUser: 0 23 | command: 24 | - sh 25 | - -ace 26 | - > 27 | if ! [ -f /data/genesis_init_done ]; 28 | then 29 | echo "waiting for genesis provider"; 30 | while ! wget -T 5 -c http://genesis-generator:8000/el/; do sleep 10; done; 31 | wget -O /data/genesis.json http://genesis-generator:8000/el/geth.json; 32 | apk update && apk add jq; 33 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 34 | geth init --datadir /data /data/genesis.json; 35 | touch /data/genesis_init_done; 36 | echo "genesis init done"; 37 | else 38 | echo "genesis is already initialized"; 39 | fi; 40 | echo "waiting for bootnode to be available"; 41 | while ! wget -O /data/bootnode.txt http://geth-bootnode-0.geth-bootnode-headless.ethereum-private.svc.cluster.local:8888/enode; 42 | do 43 | sleep 10; 44 | done; 45 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 46 | volumeMounts: 47 | - name: storage 48 | mountPath: "/data" 49 | 50 | #persistence: 51 | # enabled: true 52 | # size: 2Gi 53 | 54 | resources: {} 55 | 56 | serviceMonitor: 57 | enabled: true 58 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/nethermind.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: nethermind/nethermind 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | podManagementPolicy: Parallel 9 | 10 | extraArgs: 11 | - --Discovery.Bootnodes="$(cat /data/bootnodes.txt)" 12 | - --config=mainnet 13 | - --Init.ChainSpecPath=/data/chainspec.json 14 | - --Init.GenesisHash="" 15 | - --Init.IsMining=false 16 | - --Sync.FastSync=false 17 | - --EthStats.Enabled=true 18 | - --EthStats.Name=$(hostname) 19 | - --EthStats.Secret=PrivateNetwork 20 | - --EthStats.Server=ws://ethstats:3000/api/ 21 | #- --log=TRACE 22 | 23 | 24 | initContainers: 25 | - name: init-chainspec 26 | image: alpine:latest 27 | imagePullPolicy: IfNotPresent 28 | securityContext: 29 | runAsNonRoot: false 30 | runAsUser: 0 31 | command: 32 | - sh 33 | - -ace 34 | - > 35 | if ! [ -f /data/chainspec.json ]; 36 | then 37 | echo "waiting for genesis provider"; 38 | while ! wget -T 5 -c http://genesis-generator:8000/el/; do sleep 10; done; 39 | wget -O /data/chainspec.json http://genesis-generator:8000/el/chainspec.json; 40 | echo "chainspec init done"; 41 | else 42 | echo "chainspec is already there"; 43 | fi; 44 | echo "waiting for bootnode to be available"; 45 | while ! wget -O /data/bootnodes.txt http://geth-bootnode-0.geth-bootnode-headless.ethereum-private.svc.cluster.local:8888/enode; 46 | do 47 | sleep 10; 48 | done; 49 | echo "bootnode init done: $(cat /data/bootnodes.txt)"; 50 | volumeMounts: 51 | - name: storage 52 | mountPath: "/data" 53 | 54 | #persistence: 55 | # enabled: true 56 | # size: 2Gi 57 | 58 | resources: {} 59 | 60 | serviceMonitor: 61 | enabled: true 62 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/geth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: parithoshj/geth 3 | tag: merge-59a3672 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --bootnodes="$(cat /data/bootnode.txt)" 15 | - --networkid=$(cat /data/chainid.txt) 16 | - --ethstats=$(hostname):Devnet5Network@ethstats:3000 17 | - --ws.api="eth,net,engine" 18 | - --http.api="eth,net,engine" 19 | #- --verbosity=5 20 | 21 | initContainers: 22 | - name: init-genesis 23 | image: parithoshj/geth:merge-59a3672 24 | imagePullPolicy: IfNotPresent 25 | securityContext: 26 | runAsNonRoot: false 27 | runAsUser: 0 28 | command: 29 | - sh 30 | - -ace 31 | - > 32 | BOOTNODE=enode://6167e29219f7a0d35847a784111e5da1d3d52c074711692fdde7f8077c48943fd875fd2f5cc8b4813e6f35e56071ae3d85beaf6b06d8666fdad019d0be3e70f7@64.227.128.126:30303; 33 | GENESIS_URI=https://config.devnet5.themerge.dev/el/genesis/geth.json; 34 | if ! [ -f /data/genesis_init_done ]; 35 | then 36 | wget -O /data/genesis.json $GENESIS_URI; 37 | apk update && apk add jq; 38 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 39 | geth init --datadir /data /data/genesis.json; 40 | touch /data/genesis_init_done; 41 | echo "genesis init done"; 42 | else 43 | echo "genesis is already initialized"; 44 | fi; 45 | echo $BOOTNODE > /data/bootnode.txt; 46 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 47 | volumeMounts: 48 | - name: storage 49 | mountPath: "/data" 50 | 51 | persistence: 52 | enabled: true 53 | size: 50Gi 54 | 55 | resources: {} 56 | 57 | serviceMonitor: 58 | enabled: true 59 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/geth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: parithoshj/geth 3 | tag: merge-d99ac5a 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --catalyst 15 | - --bootnodes="$(cat /data/bootnode.txt)" 16 | - --networkid=$(cat /data/chainid.txt) 17 | - --ethstats=$(hostname):PrivateNetwork@ethstats:3000 18 | - --ws.api="eth,net,engine" 19 | - --http.api="eth,net,engine" 20 | #- --verbosity=5 21 | 22 | initContainers: 23 | - name: init-genesis 24 | image: parithoshj/geth:merge-d99ac5a 25 | imagePullPolicy: IfNotPresent 26 | securityContext: 27 | runAsNonRoot: false 28 | runAsUser: 0 29 | command: 30 | - sh 31 | - -ace 32 | - > 33 | BOOTNODE=enode://6b457d42e6301acfae11dc785b43346e195ad0974b394922b842adea5aeb4c55b02410607ba21e4a03ba53e7656091e2f990034ce3f8bad4d0cca1c6398bdbb8@137.184.55.117:30303; 34 | GENESIS_URI=https://config.devnet3.themerge.dev/el/genesis/geth.json; 35 | if ! [ -f /data/genesis_init_done ]; 36 | then 37 | wget -O /data/genesis.json $GENESIS_URI; 38 | apk update && apk add jq; 39 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 40 | geth init --datadir /data /data/genesis.json; 41 | touch /data/genesis_init_done; 42 | echo "genesis init done"; 43 | else 44 | echo "genesis is already initialized"; 45 | fi; 46 | echo $BOOTNODE > /data/bootnode.txt; 47 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 48 | volumeMounts: 49 | - name: storage 50 | mountPath: "/data" 51 | 52 | persistence: 53 | enabled: true 54 | size: 10Gi 55 | 56 | resources: {} 57 | 58 | serviceMonitor: 59 | enabled: true 60 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/cluster-issuer/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "cluster-issuer.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "cluster-issuer.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "cluster-issuer.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "cluster-issuer.labels" -}} 37 | helm.sh/chart: {{ include "cluster-issuer.chart" . }} 38 | {{ include "cluster-issuer.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "cluster-issuer.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "cluster-issuer.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/cluster-issuer/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "cluster-issuer.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "cluster-issuer.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "cluster-issuer.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "cluster-issuer.labels" -}} 37 | helm.sh/chart: {{ include "cluster-issuer.chart" . }} 38 | {{ include "cluster-issuer.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "cluster-issuer.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "cluster-issuer.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/cluster-issuer/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "cluster-issuer.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "cluster-issuer.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "cluster-issuer.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "cluster-issuer.labels" -}} 37 | helm.sh/chart: {{ include "cluster-issuer.chart" . }} 38 | {{ include "cluster-issuer.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "cluster-issuer.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "cluster-issuer.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/cluster-issuer/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "cluster-issuer.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "cluster-issuer.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "cluster-issuer.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "cluster-issuer.labels" -}} 37 | helm.sh/chart: {{ include "cluster-issuer.chart" . }} 38 | {{ include "cluster-issuer.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "cluster-issuer.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "cluster-issuer.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/cluster-issuer/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "cluster-issuer.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "cluster-issuer.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "cluster-issuer.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "cluster-issuer.labels" -}} 37 | helm.sh/chart: {{ include "cluster-issuer.chart" . }} 38 | {{ include "cluster-issuer.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "cluster-issuer.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "cluster-issuer.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/geth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: parithoshj/geth 3 | tag: merge-f72c361 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --catalyst 15 | - --bootnodes="$(cat /data/bootnode.txt)" 16 | - --networkid=$(cat /data/chainid.txt) 17 | - --ethstats=$(hostname):KintsugiNetwork@ethstats:3000 18 | - --ws.api="eth,net,engine" 19 | - --http.api="eth,net,engine" 20 | #- --verbosity=5 21 | 22 | initContainers: 23 | - name: init-genesis 24 | image: parithoshj/geth:merge-f72c361 25 | imagePullPolicy: IfNotPresent 26 | securityContext: 27 | runAsNonRoot: false 28 | runAsUser: 0 29 | command: 30 | - sh 31 | - -ace 32 | - > 33 | BOOTNODE=enode://6f377dd1ef5a3272d7e02fac9064c4f95d74f7edfd866e59ded774ee5b4649ff61c3f24c95f5c3d07d692b447f0569716b8921b6861810b96a705c92e1d27ff9@161.35.67.219:30303; 34 | GENESIS_URI=https://config.kintsugi.themerge.dev/el/genesis/geth.json; 35 | if ! [ -f /data/genesis_init_done ]; 36 | then 37 | wget -O /data/genesis.json $GENESIS_URI; 38 | apk update && apk add jq; 39 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 40 | geth init --datadir /data /data/genesis.json; 41 | touch /data/genesis_init_done; 42 | echo "genesis init done"; 43 | else 44 | echo "genesis is already initialized"; 45 | fi; 46 | echo $BOOTNODE > /data/bootnode.txt; 47 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 48 | volumeMounts: 49 | - name: storage 50 | mountPath: "/data" 51 | 52 | persistence: 53 | enabled: true 54 | size: 50Gi 55 | 56 | resources: {} 57 | 58 | serviceMonitor: 59 | enabled: true 60 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/cluster-issuer/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "cluster-issuer.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "cluster-issuer.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "cluster-issuer.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "cluster-issuer.labels" -}} 37 | helm.sh/chart: {{ include "cluster-issuer.chart" . }} 38 | {{ include "cluster-issuer.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "cluster-issuer.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "cluster-issuer.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/generic-pvc/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "ingress-definitions.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "ingress-definitions.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "ingress-definitions.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "ingress-definitions.labels" -}} 37 | helm.sh/chart: {{ include "ingress-definitions.chart" . }} 38 | {{ include "ingress-definitions.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "ingress-definitions.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "ingress-definitions.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/local-charts/ingress-definitions/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "ingress-definitions.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "ingress-definitions.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "ingress-definitions.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "ingress-definitions.labels" -}} 37 | helm.sh/chart: {{ include "ingress-definitions.chart" . }} 38 | {{ include "ingress-definitions.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "ingress-definitions.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "ingress-definitions.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/local-charts/ingress-definitions/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "ingress-definitions.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "ingress-definitions.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "ingress-definitions.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "ingress-definitions.labels" -}} 37 | helm.sh/chart: {{ include "ingress-definitions.chart" . }} 38 | {{ include "ingress-definitions.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "ingress-definitions.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "ingress-definitions.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/local-charts/ingress-definitions/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "ingress-definitions.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "ingress-definitions.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "ingress-definitions.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "ingress-definitions.labels" -}} 37 | helm.sh/chart: {{ include "ingress-definitions.chart" . }} 38 | {{ include "ingress-definitions.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "ingress-definitions.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "ingress-definitions.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/local-charts/ingress-definitions/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "ingress-definitions.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "ingress-definitions.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "ingress-definitions.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "ingress-definitions.labels" -}} 37 | helm.sh/chart: {{ include "ingress-definitions.chart" . }} 38 | {{ include "ingress-definitions.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "ingress-definitions.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "ingress-definitions.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/local-charts/ingress-definitions/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "ingress-definitions.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "ingress-definitions.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "ingress-definitions.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "ingress-definitions.labels" -}} 37 | helm.sh/chart: {{ include "ingress-definitions.chart" . }} 38 | {{ include "ingress-definitions.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "ingress-definitions.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "ingress-definitions.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/local-charts/ingress-definitions/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Expand the name of the chart. 3 | */}} 4 | {{- define "ingress-definitions.name" -}} 5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} 6 | {{- end }} 7 | 8 | {{/* 9 | Create a default fully qualified app name. 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 11 | If release name contains chart name it will be used as a full name. 12 | */}} 13 | {{- define "ingress-definitions.fullname" -}} 14 | {{- if .Values.fullnameOverride }} 15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} 16 | {{- else }} 17 | {{- $name := default .Chart.Name .Values.nameOverride }} 18 | {{- if contains $name .Release.Name }} 19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }} 20 | {{- else }} 21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} 22 | {{- end }} 23 | {{- end }} 24 | {{- end }} 25 | 26 | {{/* 27 | Create chart name and version as used by the chart label. 28 | */}} 29 | {{- define "ingress-definitions.chart" -}} 30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} 31 | {{- end }} 32 | 33 | {{/* 34 | Common labels 35 | */}} 36 | {{- define "ingress-definitions.labels" -}} 37 | helm.sh/chart: {{ include "ingress-definitions.chart" . }} 38 | {{ include "ingress-definitions.selectorLabels" . }} 39 | {{- if .Chart.AppVersion }} 40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 41 | {{- end }} 42 | app.kubernetes.io/managed-by: {{ .Release.Service }} 43 | {{- end }} 44 | 45 | {{/* 46 | Selector labels 47 | */}} 48 | {{- define "ingress-definitions.selectorLabels" -}} 49 | app.kubernetes.io/name: {{ include "ingress-definitions.name" . }} 50 | app.kubernetes.io/instance: {{ .Release.Name }} 51 | {{- end }} 52 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/geth-archive.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: parithoshj/geth 3 | tag: merge-9a9e416 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --catalyst 15 | - --bootnodes="$(cat /data/bootnode.txt)" 16 | - --networkid=$(cat /data/chainid.txt) 17 | - --ethstats=$(hostname):PrivateNetwork@ethstats:3000 18 | - --syncmode=full 19 | - --gcmode=archive 20 | - --ws.api="eth,net,web3,debug,txpool,engine" 21 | - --http.api="debug,net,eth,web3,txpool,engine" 22 | #- --verbosity=5 23 | 24 | initContainers: 25 | - name: init-genesis 26 | image: parithoshj/geth:merge-9a9e416 27 | imagePullPolicy: IfNotPresent 28 | securityContext: 29 | runAsNonRoot: false 30 | runAsUser: 0 31 | command: 32 | - sh 33 | - -ace 34 | - > 35 | BOOTNODE=enode://6b457d42e6301acfae11dc785b43346e195ad0974b394922b842adea5aeb4c55b02410607ba21e4a03ba53e7656091e2f990034ce3f8bad4d0cca1c6398bdbb8@137.184.55.117:30303; 36 | GENESIS_URI=https://config.devnet3.themerge.dev/el/genesis/geth.json; 37 | if ! [ -f /data/genesis_init_done ]; 38 | then 39 | wget -O /data/genesis.json $GENESIS_URI; 40 | apk update && apk add jq; 41 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 42 | geth init --datadir /data /data/genesis.json; 43 | touch /data/genesis_init_done; 44 | echo "genesis init done"; 45 | else 46 | echo "genesis is already initialized"; 47 | fi; 48 | echo $BOOTNODE > /data/bootnode.txt; 49 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 50 | volumeMounts: 51 | - name: storage 52 | mountPath: "/data" 53 | 54 | persistence: 55 | enabled: true 56 | size: 20Gi 57 | 58 | resources: {} 59 | 60 | serviceMonitor: 61 | enabled: true 62 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/geth-archive.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: parithoshj/geth 3 | tag: merge-f72c361 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --catalyst 15 | - --bootnodes="$(cat /data/bootnode.txt)" 16 | - --networkid=$(cat /data/chainid.txt) 17 | - --ethstats=$(hostname):KintsugiNetwork@ethstats:3000 18 | - --syncmode=full 19 | - --gcmode=archive 20 | - --ws.api="eth,net,web3,debug,txpool,engine" 21 | - --http.api="debug,net,eth,web3,txpool,engine" 22 | #- --verbosity=5 23 | 24 | initContainers: 25 | - name: init-genesis 26 | image: parithoshj/geth:merge-f72c361 27 | imagePullPolicy: IfNotPresent 28 | securityContext: 29 | runAsNonRoot: false 30 | runAsUser: 0 31 | command: 32 | - sh 33 | - -ace 34 | - > 35 | BOOTNODE=enode://6f377dd1ef5a3272d7e02fac9064c4f95d74f7edfd866e59ded774ee5b4649ff61c3f24c95f5c3d07d692b447f0569716b8921b6861810b96a705c92e1d27ff9@161.35.67.219:30303; 36 | GENESIS_URI=https://config.kintsugi.themerge.dev/el/genesis/geth.json; 37 | if ! [ -f /data/genesis_init_done ]; 38 | then 39 | wget -O /data/genesis.json $GENESIS_URI; 40 | apk update && apk add jq; 41 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 42 | geth init --datadir /data /data/genesis.json; 43 | touch /data/genesis_init_done; 44 | echo "genesis init done"; 45 | else 46 | echo "genesis is already initialized"; 47 | fi; 48 | echo $BOOTNODE > /data/bootnode.txt; 49 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 50 | volumeMounts: 51 | - name: storage 52 | mountPath: "/data" 53 | 54 | persistence: 55 | enabled: true 56 | size: 100Gi 57 | 58 | resources: {} 59 | 60 | serviceMonitor: 61 | enabled: true 62 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/nethermind.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: nethermindeth/nethermind 3 | tag: kintsugi_v3_0.1 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --Discovery.Bootnodes="$(cat /data/bootnode.txt)" 15 | - --config=kintsugi_devnet 16 | - --Init.ChainSpecPath=/data/chainspec.json 17 | - --Init.IsMining=false 18 | - --EthStats.Enabled=true 19 | - --EthStats.Name=$(hostname) 20 | - --EthStats.Secret=PrivateNetwork 21 | - --EthStats.Server=ws://ethstats:3000/api/ 22 | - --JsonRpc.EnabledModules="net,eth,consensus,engine,subscribe,web3" 23 | - --Mining.Enabled=false 24 | - --Merge.Enabled=true 25 | - --Merge.TerminalTotalDifficulty=5000000000 26 | - --Init.DiagnosticMode="None" 27 | #- --log=TRACE 28 | 29 | 30 | initContainers: 31 | - name: init-chainspec 32 | image: alpine:latest 33 | imagePullPolicy: IfNotPresent 34 | securityContext: 35 | runAsNonRoot: false 36 | runAsUser: 0 37 | command: 38 | - sh 39 | - -ace 40 | - > 41 | BOOTNODE=enode://6b457d42e6301acfae11dc785b43346e195ad0974b394922b842adea5aeb4c55b02410607ba21e4a03ba53e7656091e2f990034ce3f8bad4d0cca1c6398bdbb8@137.184.55.117:30303; 42 | GENESIS_CHAINSPEC_URI=https://config.devnet3.themerge.dev/el/genesis/chainspec.json; 43 | if ! [ -f /data/chainspec.json ]; 44 | then 45 | wget -O /data/chainspec.json $GENESIS_CHAINSPEC_URI; 46 | echo "chainspec init done"; 47 | else 48 | echo "chainspec is already there"; 49 | fi; 50 | echo $BOOTNODE > /data/bootnode.txt; 51 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 52 | volumeMounts: 53 | - name: storage 54 | mountPath: "/data" 55 | 56 | persistence: 57 | enabled: true 58 | size: 10Gi 59 | 60 | resources: {} 61 | 62 | serviceMonitor: 63 | enabled: true 64 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/geth-archive.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ethereum/client-go 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | podManagementPolicy: Parallel 9 | 10 | extraArgs: 11 | - --bootnodes="$(cat /data/bootnode.txt)" 12 | - --networkid=$(cat /data/chainid.txt) 13 | - --ethstats=$(hostname):PrivateNetwork@ethstats:3000 14 | - --syncmode=full 15 | - --gcmode=archive 16 | - --ws.api="eth,net,web3,network,debug,txpool" 17 | - --http.api="debug,net,eth,shh,web3,txpool" 18 | #- --verbosity=4 19 | 20 | initContainers: 21 | - name: init-genesis 22 | image: ethereum/client-go:latest 23 | imagePullPolicy: IfNotPresent 24 | securityContext: 25 | runAsNonRoot: false 26 | runAsUser: 0 27 | command: 28 | - sh 29 | - -ace 30 | - > 31 | if ! [ -f /data/genesis_init_done ]; 32 | then 33 | echo "waiting for genesis provider"; 34 | while ! wget -T 5 -c http://genesis-generator:8000/el/; do sleep 10; done; 35 | wget -O /data/genesis.json http://genesis-generator:8000/el/geth.json; 36 | apk update && apk add jq; 37 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 38 | geth init --datadir /data /data/genesis.json; 39 | touch /data/genesis_init_done; 40 | echo "genesis init done"; 41 | else 42 | echo "genesis is already initialized"; 43 | fi; 44 | echo "waiting for bootnode to be available"; 45 | while ! wget -O /data/bootnode.txt http://geth-bootnode-0.geth-bootnode-headless.ethereum-private.svc.cluster.local:8888/enode; 46 | do 47 | sleep 10; 48 | done; 49 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 50 | volumeMounts: 51 | - name: storage 52 | mountPath: "/data" 53 | 54 | persistence: 55 | enabled: true 56 | size: 10Gi 57 | 58 | resources: {} 59 | 60 | serviceMonitor: 61 | enabled: true 62 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/nethermind.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: nethermindeth/nethermind 3 | tag: kiln_0.1 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --config=kiln 15 | - --Init.ChainSpecPath=/data/chainspec.json 16 | - --Init.IsMining=true 17 | - --EthStats.Enabled=true 18 | - --EthStats.Name=$(hostname) 19 | - --EthStats.Secret=Devnet4Network 20 | - --EthStats.Server=ws://ethstats:3000/api/ 21 | - --JsonRpc.EnabledModules="net,eth,consensus,engine,subscribe,web3" 22 | - --Mining.Enabled=false 23 | - --Merge.Enabled=true 24 | - --Merge.FeeRecipient=0xf97e180c050e5Ab072211Ad2C213Eb5AEE4DF134 25 | - --Merge.TerminalTotalDifficulty=5000000000 26 | - --Init.DiagnosticMode="None" 27 | #- --log=TRACE 28 | 29 | 30 | initContainers: 31 | - name: init-chainspec 32 | image: alpine:latest 33 | imagePullPolicy: IfNotPresent 34 | securityContext: 35 | runAsNonRoot: false 36 | runAsUser: 0 37 | command: 38 | - sh 39 | - -ace 40 | - > 41 | GENESIS_CHAINSPEC_URI=https://config.devnet4.themerge.dev/el/genesis/chainspec.json; 42 | if ! [ -f /data/chainspec.json ]; 43 | then 44 | wget -O /data/chainspec.json $GENESIS_CHAINSPEC_URI; 45 | echo "chainspec init done"; 46 | else 47 | echo "chainspec is already there"; 48 | fi; 49 | volumeMounts: 50 | - name: storage 51 | mountPath: "/data" 52 | 53 | # -- Liveness probe 54 | # @default -- See `values.yaml` 55 | livenessProbe: 56 | tcpSocket: 57 | port: p2p-tcp 58 | initialDelaySeconds: 60 59 | periodSeconds: 120 60 | 61 | # -- Readiness probe 62 | # @default -- See `values.yaml` 63 | readinessProbe: 64 | tcpSocket: 65 | port: p2p-tcp 66 | initialDelaySeconds: 10 67 | periodSeconds: 10 68 | 69 | persistence: 70 | enabled: true 71 | size: 50Gi 72 | 73 | resources: {} 74 | 75 | serviceMonitor: 76 | enabled: true 77 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/nethermind.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: nethermindeth/nethermind 3 | tag: kiln_0.4 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --config=kiln 15 | - --Init.ChainSpecPath=/data/chainspec.json 16 | - --Init.IsMining=true 17 | - --EthStats.Enabled=true 18 | - --EthStats.Name=$(hostname) 19 | - --EthStats.Secret=Devnet5Network 20 | - --EthStats.Server=ws://ethstats:3000/api/ 21 | - --JsonRpc.EnabledModules="net,eth,consensus,engine,subscribe,web3" 22 | - --Mining.Enabled=false 23 | - --Merge.Enabled=true 24 | - --Merge.FeeRecipient=0xf97e180c050e5Ab072211Ad2C213Eb5AEE4DF134 25 | - --Merge.TerminalTotalDifficulty=500000000000 26 | - --Init.DiagnosticMode="None" 27 | #- --log=TRACE 28 | 29 | 30 | initContainers: 31 | - name: init-chainspec 32 | image: alpine:latest 33 | imagePullPolicy: IfNotPresent 34 | securityContext: 35 | runAsNonRoot: false 36 | runAsUser: 0 37 | command: 38 | - sh 39 | - -ace 40 | - > 41 | GENESIS_CHAINSPEC_URI=https://config.devnet5.themerge.dev/el/genesis/chainspec.json; 42 | if ! [ -f /data/chainspec.json ]; 43 | then 44 | wget -O /data/chainspec.json $GENESIS_CHAINSPEC_URI; 45 | echo "chainspec init done"; 46 | else 47 | echo "chainspec is already there"; 48 | fi; 49 | volumeMounts: 50 | - name: storage 51 | mountPath: "/data" 52 | 53 | # -- Liveness probe 54 | # @default -- See `values.yaml` 55 | livenessProbe: 56 | tcpSocket: 57 | port: p2p-tcp 58 | initialDelaySeconds: 60 59 | periodSeconds: 120 60 | 61 | # -- Readiness probe 62 | # @default -- See `values.yaml` 63 | readinessProbe: 64 | tcpSocket: 65 | port: p2p-tcp 66 | initialDelaySeconds: 10 67 | periodSeconds: 10 68 | 69 | persistence: 70 | enabled: true 71 | size: 50Gi 72 | 73 | resources: {} 74 | 75 | serviceMonitor: 76 | enabled: true 77 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/ethereum/blockscout.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/blockscout 3 | tag: v4.0.0-beta-lessbranding 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | MIX_ENV: prod 8 | COIN: ETH 9 | LOGO: /images/ethereum_logo.svg 10 | LOGO_FOOTER: /images/ethereum_logo.svg 11 | DISABLE_EXCHANGE_RATES: "true" 12 | DISABLE_KNOWN_TOKENS: "true" 13 | SHOW_PRICE_CHART: "false" 14 | ENABLE_1559_SUPPORT: "true" 15 | DISABLE_READ_API: "false" 16 | DISABLE_WRITE_API: "true" 17 | ENABLE_TXS_STATS: "true" 18 | SHOW_TXS_CHART: "true" 19 | DATABASE_URL: postgresql://postgres:postgres@blockscout-postgresql:5432/explorer?ssl=false 20 | SECRET_KEY_BASE: RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5 21 | ETHEREUM_JSONRPC_VARIANT: geth 22 | ETHEREUM_JSONRPC_HTTP_URL: http://geth-teku-archive-0:8545 23 | ETHEREUM_JSONRPC_WS_URL: ws://geth-teku-archive-0:8546 24 | NETWORK: Ethereum 25 | SUBNETWORK: Kiln 26 | BLOCK_TRANSFORMER: base 27 | POOL_SIZE: "15" 28 | CHAIN_SPEC_PATH: /config-update/genesis.json 29 | 30 | extraVolumes: 31 | - name: config-update 32 | emptyDir: {} 33 | 34 | extraVolumeMounts: 35 | - name: config-update 36 | mountPath: "/config-update" 37 | 38 | initContainers: 39 | - name: init-config 40 | image: alpine:latest 41 | imagePullPolicy: IfNotPresent 42 | securityContext: 43 | runAsNonRoot: false 44 | runAsUser: 0 45 | command: 46 | - sh 47 | - -ace 48 | - > 49 | GENESIS_URI=https://config.kiln.themerge.dev/el/genesis/geth.json; 50 | wget -O /config-update/genesis.json $GENESIS_URI; 51 | echo "got genesis"; 52 | volumeMounts: 53 | - name: config-update 54 | mountPath: /config-update 55 | 56 | serviceMonitor: 57 | enabled: true 58 | 59 | postgresql: 60 | metrics: 61 | enabled: true 62 | serviceMonitor: 63 | enabled: true 64 | persistence: 65 | enabled: true 66 | size: 400Gi 67 | storageClass: "local-path" 68 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/blockscout.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/blockscout 3 | tag: v4.0.0-beta-lessbranding 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | MIX_ENV: prod 8 | COIN: ETH 9 | LOGO: /images/ethereum_logo.svg 10 | LOGO_FOOTER: /images/ethereum_logo.svg 11 | DISABLE_EXCHANGE_RATES: "true" 12 | DISABLE_KNOWN_TOKENS: "true" 13 | SHOW_PRICE_CHART: "false" 14 | ENABLE_1559_SUPPORT: "true" 15 | DISABLE_READ_API: "true" 16 | DISABLE_WRITE_API: "true" 17 | ENABLE_TXS_STATS: "true" 18 | SHOW_TXS_CHART: "true" 19 | DATABASE_URL: postgresql://postgres:postgres@blockscout-postgresql:5432/explorer?ssl=false 20 | SECRET_KEY_BASE: RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5 21 | ETHEREUM_JSONRPC_VARIANT: geth 22 | ETHEREUM_JSONRPC_HTTP_URL: http://geth-teku-archive-0:8545 23 | ETHEREUM_JSONRPC_WS_URL: ws://geth-teku-archive-0:8546 24 | NETWORK: Ethereum 25 | SUBNETWORK: MergeDevnet4 26 | BLOCK_TRANSFORMER: base 27 | POOL_SIZE: "15" 28 | CHAIN_SPEC_PATH: /config-update/genesis.json 29 | 30 | extraVolumes: 31 | - name: config-update 32 | emptyDir: {} 33 | 34 | extraVolumeMounts: 35 | - name: config-update 36 | mountPath: "/config-update" 37 | 38 | initContainers: 39 | - name: init-config 40 | image: alpine:latest 41 | imagePullPolicy: IfNotPresent 42 | securityContext: 43 | runAsNonRoot: false 44 | runAsUser: 0 45 | command: 46 | - sh 47 | - -ace 48 | - > 49 | GENESIS_URI=https://config.devnet4.themerge.dev/el/genesis/geth.json; 50 | wget -O /config-update/genesis.json $GENESIS_URI; 51 | echo "got genesis"; 52 | volumeMounts: 53 | - name: config-update 54 | mountPath: /config-update 55 | 56 | serviceMonitor: 57 | enabled: true 58 | 59 | postgresql: 60 | metrics: 61 | enabled: true 62 | serviceMonitor: 63 | enabled: true 64 | persistence: 65 | enabled: true 66 | size: 400Gi 67 | storageClass: "local-path" 68 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/ethereum/blockscout.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/blockscout 3 | tag: v4.0.0-beta-lessbranding 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | MIX_ENV: prod 8 | COIN: ETH 9 | LOGO: /images/ethereum_logo.svg 10 | LOGO_FOOTER: /images/ethereum_logo.svg 11 | DISABLE_EXCHANGE_RATES: "true" 12 | DISABLE_KNOWN_TOKENS: "true" 13 | SHOW_PRICE_CHART: "false" 14 | ENABLE_1559_SUPPORT: "true" 15 | DISABLE_READ_API: "true" 16 | DISABLE_WRITE_API: "true" 17 | ENABLE_TXS_STATS: "true" 18 | SHOW_TXS_CHART: "true" 19 | DATABASE_URL: postgresql://postgres:postgres@blockscout-postgresql:5432/explorer?ssl=false 20 | SECRET_KEY_BASE: RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5 21 | ETHEREUM_JSONRPC_VARIANT: geth 22 | ETHEREUM_JSONRPC_HTTP_URL: http://geth-teku-archive-0:8545 23 | ETHEREUM_JSONRPC_WS_URL: ws://geth-teku-archive-0:8546 24 | NETWORK: Ethereum 25 | SUBNETWORK: MergeDevnet5 26 | BLOCK_TRANSFORMER: base 27 | POOL_SIZE: "15" 28 | CHAIN_SPEC_PATH: /config-update/genesis.json 29 | 30 | extraVolumes: 31 | - name: config-update 32 | emptyDir: {} 33 | 34 | extraVolumeMounts: 35 | - name: config-update 36 | mountPath: "/config-update" 37 | 38 | initContainers: 39 | - name: init-config 40 | image: alpine:latest 41 | imagePullPolicy: IfNotPresent 42 | securityContext: 43 | runAsNonRoot: false 44 | runAsUser: 0 45 | command: 46 | - sh 47 | - -ace 48 | - > 49 | GENESIS_URI=https://config.devnet5.themerge.dev/el/genesis/geth.json; 50 | wget -O /config-update/genesis.json $GENESIS_URI; 51 | echo "got genesis"; 52 | volumeMounts: 53 | - name: config-update 54 | mountPath: /config-update 55 | 56 | serviceMonitor: 57 | enabled: true 58 | 59 | postgresql: 60 | metrics: 61 | enabled: true 62 | serviceMonitor: 63 | enabled: true 64 | persistence: 65 | enabled: true 66 | size: 400Gi 67 | storageClass: "local-path" 68 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/ethereum/blockscout.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/blockscout 3 | tag: v4.0.0-beta-lessbranding 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | MIX_ENV: prod 8 | COIN: ETH 9 | LOGO: /images/ethereum_logo.svg 10 | LOGO_FOOTER: /images/ethereum_logo.svg 11 | DISABLE_EXCHANGE_RATES: "true" 12 | DISABLE_KNOWN_TOKENS: "true" 13 | SHOW_PRICE_CHART: "false" 14 | ENABLE_1559_SUPPORT: "true" 15 | DISABLE_READ_API: "true" 16 | DISABLE_WRITE_API: "true" 17 | ENABLE_TXS_STATS: "true" 18 | SHOW_TXS_CHART: "true" 19 | DATABASE_URL: postgresql://postgres:postgres@blockscout-postgresql:5432/explorer?ssl=false 20 | SECRET_KEY_BASE: RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5 21 | ETHEREUM_JSONRPC_VARIANT: geth 22 | ETHEREUM_JSONRPC_HTTP_URL: http://geth-lighthouse-archive-0:8545 23 | ETHEREUM_JSONRPC_WS_URL: ws://geth-lighthouse-archive-0:8546 24 | NETWORK: Ethereum 25 | SUBNETWORK: Devnet3 26 | BLOCK_TRANSFORMER: base 27 | POOL_SIZE: "15" 28 | CHAIN_SPEC_PATH: /config-update/genesis.json 29 | 30 | extraVolumes: 31 | - name: config-update 32 | emptyDir: {} 33 | 34 | extraVolumeMounts: 35 | - name: config-update 36 | mountPath: "/config-update" 37 | 38 | initContainers: 39 | - name: init-config 40 | image: alpine:latest 41 | imagePullPolicy: IfNotPresent 42 | securityContext: 43 | runAsNonRoot: false 44 | runAsUser: 0 45 | command: 46 | - sh 47 | - -ace 48 | - > 49 | GENESIS_URI=https://config.devnet3.themerge.dev/el/genesis/geth.json; 50 | wget -O /config-update/genesis.json $GENESIS_URI; 51 | echo "got genesis"; 52 | volumeMounts: 53 | - name: config-update 54 | mountPath: /config-update 55 | 56 | serviceMonitor: 57 | enabled: true 58 | 59 | postgresql: 60 | metrics: 61 | enabled: true 62 | serviceMonitor: 63 | enabled: true 64 | persistence: 65 | enabled: true 66 | size: 400Gi 67 | storageClass: "local-path" 68 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/blockscout.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/blockscout 3 | tag: v4.0.0-beta-lessbranding 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | MIX_ENV: prod 8 | COIN: ETH 9 | LOGO: /images/ethereum_logo.svg 10 | LOGO_FOOTER: /images/ethereum_logo.svg 11 | DISABLE_EXCHANGE_RATES: "true" 12 | DISABLE_KNOWN_TOKENS: "true" 13 | SHOW_PRICE_CHART: "false" 14 | ENABLE_1559_SUPPORT: "true" 15 | DISABLE_READ_API: "false" 16 | DISABLE_WRITE_API: "true" 17 | ENABLE_TXS_STATS: "true" 18 | SHOW_TXS_CHART: "true" 19 | DATABASE_URL: postgresql://postgres:postgres@blockscout-postgresql:5432/explorer?ssl=false 20 | SECRET_KEY_BASE: RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5 21 | ETHEREUM_JSONRPC_VARIANT: geth 22 | ETHEREUM_JSONRPC_HTTP_URL: http://geth-lighthouse-archive-0:8545 23 | ETHEREUM_JSONRPC_WS_URL: ws://geth-lighthouse-archive-0:8546 24 | NETWORK: Ethereum 25 | SUBNETWORK: Kintsugi 26 | BLOCK_TRANSFORMER: base 27 | POOL_SIZE: "15" 28 | CHAIN_SPEC_PATH: /config-update/genesis.json 29 | 30 | extraVolumes: 31 | - name: config-update 32 | emptyDir: {} 33 | 34 | extraVolumeMounts: 35 | - name: config-update 36 | mountPath: "/config-update" 37 | 38 | initContainers: 39 | - name: init-config 40 | image: alpine:latest 41 | imagePullPolicy: IfNotPresent 42 | securityContext: 43 | runAsNonRoot: false 44 | runAsUser: 0 45 | command: 46 | - sh 47 | - -ace 48 | - > 49 | GENESIS_URI=https://config.kintsugi.themerge.dev/el/genesis/geth.json; 50 | wget -O /config-update/genesis.json $GENESIS_URI; 51 | echo "got genesis"; 52 | volumeMounts: 53 | - name: config-update 54 | mountPath: /config-update 55 | 56 | serviceMonitor: 57 | enabled: true 58 | 59 | postgresql: 60 | metrics: 61 | enabled: true 62 | serviceMonitor: 63 | enabled: true 64 | persistence: 65 | enabled: true 66 | size: 400Gi 67 | storageClass: "local-path" 68 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/lighthouse-beacon.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: sigp/lighthouse 3 | tag: v1.5.2 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 6 7 | 8 | podManagementPolicy: Parallel 9 | 10 | mode: "beacon" 11 | 12 | extraArgs: 13 | - --testnet-dir=/data/testnet_spec 14 | - --boot-nodes="$(cat /data/testnet_spec/bootstrap_nodes.txt)" 15 | - --eth1 16 | - --eth1-endpoints=http://dshackle.ethereum-private.svc.cluster.local:8545/eth 17 | initContainers: 18 | - name: init-genesis 19 | image: alpine:latest 20 | imagePullPolicy: IfNotPresent 21 | securityContext: 22 | runAsNonRoot: false 23 | runAsUser: 0 24 | command: 25 | - sh 26 | - -ace 27 | - > 28 | mkdir -p /data/testnet_spec; 29 | if ! [ -f /data/testnet_spec/genesis.ssz ]; 30 | then 31 | echo "waiting for genesis provider"; 32 | while ! wget -T 5 -c http://genesis-generator:8001/cl/; do sleep 10; done; 33 | wget -O /data/testnet_spec/deposit_contract.txt http://genesis-generator:8001/cl/deposit_contract.txt; 34 | wget -O /data/testnet_spec/deploy_block.txt http://genesis-generator:8001/cl/deploy_block.txt; 35 | wget -O /data/testnet_spec/config.yaml http://genesis-generator:8001/cl/config.yaml; 36 | wget -O /data/testnet_spec/genesis.ssz http://genesis-generator:8001/cl/genesis.ssz; 37 | echo "genesis init done"; 38 | else 39 | echo "genesis exists. skipping..."; 40 | fi; 41 | echo "waiting for bootnode to be available"; 42 | while ! wget -O /data/testnet_spec/bootstrap_nodes.txt http://lighthouse-bootnode-0.lighthouse-bootnode-headless.ethereum-private.svc.cluster.local:8888/enr; 43 | do 44 | sleep 10; 45 | done; 46 | echo "bootnode init done: $(cat /data/testnet_spec/bootstrap_nodes.txt)"; 47 | volumeMounts: 48 | - name: storage 49 | mountPath: "/data" 50 | 51 | #persistence: 52 | # enabled: true 53 | # size: 2Gi 54 | 55 | resources: {} 56 | 57 | serviceMonitor: 58 | enabled: true 59 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/besu.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: suburbandad/besu 3 | tag: kintsugi-v3 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --genesis-file=/data/genesis.json 15 | - --bootnodes="$(cat /data/bootnode.txt)" 16 | - --network-id=$(cat /data/chainid.txt) 17 | - --ethstats=$(hostname):KintsugiNetwork@ethstats:3000 18 | - --Xmerge-support=true 19 | - --rpc-http-api=ADMIN,CLIQUE,MINER,ETH,NET,DEBUG,TXPOOL,EXECUTION 20 | - --rpc-ws-api=ADMIN,CLIQUE,MINER,ETH,NET,DEBUG,TXPOOL,EXECUTION 21 | - --miner-coinbase="0x240B397Cfc2431935FdBA6cdDa3df6d8CCDB27c1" 22 | #- --logging=TRACE 23 | 24 | initContainers: 25 | - name: init-genesis 26 | image: alpine:latest 27 | imagePullPolicy: IfNotPresent 28 | securityContext: 29 | runAsNonRoot: false 30 | runAsUser: 0 31 | command: 32 | - sh 33 | - -ace 34 | - > 35 | BOOTNODE=enode://6f377dd1ef5a3272d7e02fac9064c4f95d74f7edfd866e59ded774ee5b4649ff61c3f24c95f5c3d07d692b447f0569716b8921b6861810b96a705c92e1d27ff9@161.35.67.219:30303; 36 | GENESIS_URI=https://raw.githubusercontent.com/parithosh/consensus-deployment-ansible/master/kintsugi-testnet/custom_config_data/besu_genesis.json; 37 | if ! [ -f /data/genesis_init_done ]; 38 | then 39 | wget -O /data/genesis.json $GENESIS_URI; 40 | apk update && apk add jq; 41 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 42 | touch /data/genesis_init_done; 43 | echo "genesis init done"; 44 | else 45 | echo "genesis is already initialized"; 46 | fi; 47 | echo $BOOTNODE > /data/bootnode.txt; 48 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 49 | volumeMounts: 50 | - name: storage 51 | mountPath: "/data" 52 | 53 | extraEnv: 54 | - name: JAVA_OPTS 55 | value: "-Xmx2000m -Xms2000m" 56 | 57 | persistence: 58 | enabled: true 59 | size: 50Gi 60 | 61 | resources: {} 62 | 63 | serviceMonitor: 64 | enabled: true 65 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/geth.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: parithoshj/geth 3 | tag: merge-371a525 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --bootnodes="$(cat /data/bootnode.txt)" 15 | - --networkid=$(cat /data/chainid.txt) 16 | - --ethstats=$(hostname):Devnet4Network@ethstats:3000 17 | - --ws.api="eth,net,engine" 18 | - --http.api="eth,net,engine" 19 | #- --verbosity=5 20 | 21 | initContainers: 22 | - name: init-genesis 23 | image: parithoshj/geth:merge-371a525 24 | imagePullPolicy: IfNotPresent 25 | securityContext: 26 | runAsNonRoot: false 27 | runAsUser: 0 28 | command: 29 | - sh 30 | - -ace 31 | - > 32 | BOOTNODE=enode://c458c0bdd62934ac1558dad89d4020134a48f7a782c30d9a7b95a250f56fdf8abc440079417889fbd30e4a259694417b3c58adff83c48d267da7ed3527e989fb@164.92.193.6:30303,enode://6167e29219f7a0d35847a784111e5da1d3d52c074711692fdde7f8077c48943fd875fd2f5cc8b4813e6f35e56071ae3d85beaf6b06d8666fdad019d0be3e70f7@64.227.128.126:30303,enode://74744416c7fbdf28cb0a2631d8590c10d31f1d09e944e7f54d9dbf5741d088d4e0360e7c897e0527aee0bc9408cfac0edbea8571cc0ca445bd599be537aad262@164.92.206.58:30303; 33 | GENESIS_URI=https://config.devnet4.themerge.dev/el/genesis/geth.json; 34 | if ! [ -f /data/genesis_init_done ]; 35 | then 36 | wget -O /data/genesis.json $GENESIS_URI; 37 | apk update && apk add jq; 38 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 39 | geth init --datadir /data /data/genesis.json; 40 | touch /data/genesis_init_done; 41 | echo "genesis init done"; 42 | else 43 | echo "genesis is already initialized"; 44 | fi; 45 | echo $BOOTNODE > /data/bootnode.txt; 46 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 47 | volumeMounts: 48 | - name: storage 49 | mountPath: "/data" 50 | 51 | persistence: 52 | enabled: true 53 | size: 50Gi 54 | 55 | resources: {} 56 | 57 | serviceMonitor: 58 | enabled: true 59 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/blockscout.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: skylenet/blockscout 3 | tag: v4.0.0-beta 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | MIX_ENV: prod 8 | COIN: ETH 9 | LOGO: /images/ethereum_logo.svg 10 | LOGO_FOOTER: /images/ethereum_logo.svg 11 | DISABLE_EXCHANGE_RATES: "true" 12 | DISABLE_KNOWN_TOKENS: "true" 13 | SHOW_PRICE_CHART: "false" 14 | ENABLE_1559_SUPPORT: "true" 15 | DISABLE_READ_API: "true" 16 | DISABLE_WRITE_API: "true" 17 | ENABLE_TXS_STATS: "true" 18 | SHOW_TXS_CHART: "true" 19 | DATABASE_URL: postgresql://postgres:postgres@blockscout-postgresql:5432/explorer?ssl=false 20 | SECRET_KEY_BASE: RMgI4C1HSkxsEjdhtGMfwAHfyT6CKWXOgzCboJflfSm4jeAlic52io05KB6mqzc5 21 | ETHEREUM_JSONRPC_VARIANT: geth 22 | ETHEREUM_JSONRPC_HTTP_URL: http://geth-archive-0.geth-archive-headless.ethereum-private.svc.cluster.local:8545 23 | ETHEREUM_JSONRPC_WS_URL: ws://geth-archive-0.geth-archive-headless.ethereum-private.svc.cluster.local:8546 24 | NETWORK: Ethereum 25 | SUBNETWORK: Testnet 26 | BLOCK_TRANSFORMER: clique 27 | POOL_SIZE: "15" 28 | CHAIN_SPEC_PATH: /config-update/genesis.json 29 | 30 | extraVolumes: 31 | - name: config-update 32 | emptyDir: {} 33 | 34 | extraVolumeMounts: 35 | - name: config-update 36 | mountPath: "/config-update" 37 | 38 | initContainers: 39 | - name: init-config 40 | image: alpine:latest 41 | imagePullPolicy: IfNotPresent 42 | securityContext: 43 | runAsNonRoot: false 44 | runAsUser: 0 45 | command: 46 | - sh 47 | - -ace 48 | - > 49 | echo "waiting for genesis provider"; 50 | while ! wget -T 5 -c http://genesis-generator:8000/el/; do sleep 10; done; 51 | wget -O /config-update/genesis.json http://genesis-generator:8000/el/geth.json; 52 | echo "got genesis"; 53 | volumeMounts: 54 | - name: config-update 55 | mountPath: /config-update 56 | 57 | serviceMonitor: 58 | enabled: true 59 | 60 | postgresql: 61 | metrics: 62 | enabled: true 63 | serviceMonitor: 64 | enabled: true 65 | persistence: 66 | enabled: true 67 | size: 50Gi 68 | storageClass: "local-path" 69 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/ethereum/geth-archive.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: parithoshj/geth 3 | tag: merge-371a525 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --bootnodes="$(cat /data/bootnode.txt)" 15 | - --networkid=$(cat /data/chainid.txt) 16 | - --ethstats=$(hostname):Devnet4Network@ethstats:3000 17 | - --syncmode=full 18 | - --gcmode=archive 19 | - --ws.api="eth,net,web3,debug,txpool,engine" 20 | - --http.api="debug,net,eth,web3,txpool,engine" 21 | #- --verbosity=5 22 | 23 | initContainers: 24 | - name: init-genesis 25 | image: parithoshj/geth:merge-371a525 26 | imagePullPolicy: IfNotPresent 27 | securityContext: 28 | runAsNonRoot: false 29 | runAsUser: 0 30 | command: 31 | - sh 32 | - -ace 33 | - > 34 | BOOTNODE=enode://c458c0bdd62934ac1558dad89d4020134a48f7a782c30d9a7b95a250f56fdf8abc440079417889fbd30e4a259694417b3c58adff83c48d267da7ed3527e989fb@164.92.193.6:30303,enode://6167e29219f7a0d35847a784111e5da1d3d52c074711692fdde7f8077c48943fd875fd2f5cc8b4813e6f35e56071ae3d85beaf6b06d8666fdad019d0be3e70f7@64.227.128.126:30303,enode://74744416c7fbdf28cb0a2631d8590c10d31f1d09e944e7f54d9dbf5741d088d4e0360e7c897e0527aee0bc9408cfac0edbea8571cc0ca445bd599be537aad262@164.92.206.58:30303; 35 | GENESIS_URI=https://config.devnet4.themerge.dev/el/genesis/geth.json; 36 | if ! [ -f /data/genesis_init_done ]; 37 | then 38 | wget -O /data/genesis.json $GENESIS_URI; 39 | apk update && apk add jq; 40 | cat /data/genesis.json | jq -r '.config.chainId' > /data/chainid.txt; 41 | geth init --datadir /data /data/genesis.json; 42 | touch /data/genesis_init_done; 43 | echo "genesis init done"; 44 | else 45 | echo "genesis is already initialized"; 46 | fi; 47 | echo $BOOTNODE > /data/bootnode.txt; 48 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 49 | volumeMounts: 50 | - name: storage 51 | mountPath: "/data" 52 | 53 | persistence: 54 | enabled: true 55 | size: 100Gi 56 | 57 | resources: {} 58 | 59 | serviceMonitor: 60 | enabled: true 61 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/teku-beacon.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: consensys/teku 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | podManagementPolicy: Parallel 8 | 9 | mode: "beacon" 10 | 11 | extraArgs: 12 | - --initial-state=/data/testnet_spec/genesis.ssz 13 | - --network=/data/testnet_spec/config.yaml 14 | - --p2p-discovery-enabled 15 | - --p2p-discovery-bootnodes="$(cat /data/testnet_spec/bootstrap_nodes.txt)" 16 | - --eth1-endpoint=http://dshackle.ethereum-private.svc.cluster.local:8545/eth 17 | - --eth1-deposit-contract-address=$(cat /data/testnet_spec/deposit_contract.txt) 18 | - --logging=INFO 19 | initContainers: 20 | - name: init-genesis 21 | image: alpine:latest 22 | imagePullPolicy: IfNotPresent 23 | securityContext: 24 | runAsNonRoot: false 25 | runAsUser: 0 26 | command: 27 | - sh 28 | - -ace 29 | - > 30 | mkdir -p /data/testnet_spec; 31 | if ! [ -f /data/testnet_spec/genesis.ssz ]; 32 | then 33 | echo "waiting for genesis provider"; 34 | while ! wget -T 5 -c http://genesis-generator:8001/cl/; do sleep 10; done; 35 | wget -O /data/testnet_spec/deposit_contract.txt http://genesis-generator:8001/cl/deposit_contract.txt; 36 | wget -O /data/testnet_spec/deploy_block.txt http://genesis-generator:8001/cl/deploy_block.txt; 37 | wget -O /data/testnet_spec/config.yaml http://genesis-generator:8001/cl/config.yaml; 38 | wget -O /data/testnet_spec/genesis.ssz http://genesis-generator:8001/cl/genesis.ssz; 39 | echo "genesis init done"; 40 | else 41 | echo "genesis exists. skipping..."; 42 | fi; 43 | echo "waiting for bootnode to be available"; 44 | while ! wget -O /data/testnet_spec/bootstrap_nodes.txt http://lighthouse-bootnode-0.lighthouse-bootnode-headless.ethereum-private.svc.cluster.local:8888/enr; 45 | do 46 | sleep 10; 47 | done; 48 | echo "bootnode init done: $(cat /data/testnet_spec/bootstrap_nodes.txt)"; 49 | volumeMounts: 50 | - name: storage 51 | mountPath: "/data" 52 | 53 | #persistence: 54 | # enabled: true 55 | # size: 2Gi 56 | 57 | resources: {} 58 | 59 | serviceMonitor: 60 | enabled: true 61 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/kube-prometheus-stack.yaml: -------------------------------------------------------------------------------- 1 | 2 | alertmanager: 3 | enabled: true 4 | ingress: 5 | enabled: false 6 | alertmanagerSpec: 7 | retention: 120h 8 | resources: {} 9 | storage: 10 | volumeClaimTemplate: 11 | spec: 12 | storageClassName: do-block-storage 13 | accessModes: ["ReadWriteOnce"] 14 | resources: 15 | requests: 16 | storage: 50Gi 17 | 18 | grafana: 19 | enabled: true 20 | adminPassword: prom-operator 21 | ingress: 22 | enabled: false 23 | 24 | 25 | kubeEtcd: 26 | enabled: false 27 | 28 | kubeScheduler: 29 | enabled: false 30 | 31 | prometheusOperator: 32 | enabled: true 33 | resources: {} 34 | 35 | prometheus: 36 | enabled: true 37 | ingress: 38 | enabled: false 39 | prometheusSpec: 40 | podMonitorSelectorNilUsesHelmValues: false 41 | serviceMonitorSelectorNilUsesHelmValues: false 42 | retention: 5d 43 | retentionSize: "" 44 | resources: {} 45 | nodeSelector: 46 | dedicated: prometheus 47 | affinity: 48 | nodeAffinity: 49 | requiredDuringSchedulingIgnoredDuringExecution: 50 | nodeSelectorTerms: 51 | - matchExpressions: 52 | - key: dedicated 53 | operator: In 54 | values: 55 | - prometheus 56 | tolerations: 57 | - key: "dedicated" 58 | operator: "Equal" 59 | value: "prometheus" 60 | effect: "NoSchedule" 61 | initContainers: 62 | # Workaround for edge cases where prometheus goes into an OOM loop when booting 63 | # up and reading the WAL: https://github.com/prometheus/prometheus/issues/6934 64 | - name: delete-wal 65 | image: busybox 66 | command: ['sh', '-c', "rm -rf /prometheus/wal;"] 67 | volumeMounts: 68 | - mountPath: /prometheus 69 | name: prometheus-kube-prometheus-stack-prometheus-db 70 | subPath: prometheus-db 71 | storageSpec: 72 | volumeClaimTemplate: 73 | spec: 74 | storageClassName: local-path 75 | accessModes: ["ReadWriteOnce"] 76 | resources: 77 | requests: 78 | storage: 200Gi 79 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/ethereum/consensus-monitor.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ralexstokes/ethereum_consensus_monitor 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | # ENV vars will be replaced using the 'init-config' init container 7 | config: | 8 | [network] 9 | name = "kintsugi" 10 | etherscan_api_key = "some-etherscan-api-key" 11 | 12 | [consensus_chain] 13 | seconds_per_slot = 12 14 | slots_per_epoch = 32 15 | genesis_time = $GENESIS_TIME 16 | 17 | [weak_subjectivity] 18 | provider_endpoint = "http://eth2-ws-provider_eth2_ws_server_1:80" 19 | 20 | [monitor] 21 | output_dir = "public" 22 | port = 8080 23 | 24 | customArgs: 25 | - --config-path=/config-update/config.toml 26 | 27 | extraVolumes: 28 | - name: config-update 29 | emptyDir: {} 30 | 31 | extraVolumeMounts: 32 | - name: config-update 33 | mountPath: "/config-update" 34 | 35 | initContainers: 36 | - name: init-config 37 | image: bash:latest 38 | imagePullPolicy: IfNotPresent 39 | securityContext: 40 | runAsNonRoot: false 41 | runAsUser: 0 42 | command: 43 | - bash 44 | - -c 45 | - > 46 | apk add jq curl gettext; 47 | BEACON_API_ENDPOINT=http://lighthouse-beacon-geth:5052/eth/v1/beacon/genesis; 48 | echo "waiting to fetch beacon info from $BEACON_API_ENDPOINT"; 49 | while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' $BEACON_API_ENDPOINT)" != "200" ]]; do sleep 5; done; 50 | export GENESIS_TIME=$(curl -s $BEACON_API_ENDPOINT | jq -r '.data.genesis_time'); 51 | echo "got genesis time: $GENESIS_TIME"; 52 | envsubst < /config.toml > /config-update/config.toml; 53 | 54 | for i in {0..1}; do 55 | echo " 56 | [[monitor.endpoints]] 57 | consensus = 'http://lighthouse-beacon-geth-$i.lighthouse-beacon-geth-headless.ethereum.svc.cluster.local:5052' 58 | execution = 'Geth ($i)' 59 | " >> /config-update/config.toml; 60 | done; 61 | 62 | cat /config-update/config.toml; 63 | 64 | volumeMounts: 65 | - name: config-update 66 | mountPath: /config-update 67 | - name: config 68 | mountPath: "/config.toml" 69 | subPath: config.toml 70 | readOnly: true 71 | -------------------------------------------------------------------------------- /public-merge-devnet3/helmsman/values/shared-services/kube-prometheus-stack.yaml: -------------------------------------------------------------------------------- 1 | 2 | alertmanager: 3 | enabled: true 4 | ingress: 5 | enabled: false 6 | alertmanagerSpec: 7 | retention: 120h 8 | resources: {} 9 | storage: 10 | volumeClaimTemplate: 11 | spec: 12 | storageClassName: do-block-storage 13 | accessModes: ["ReadWriteOnce"] 14 | resources: 15 | requests: 16 | storage: 50Gi 17 | 18 | grafana: 19 | enabled: true 20 | adminPassword: prom-operator 21 | ingress: 22 | enabled: false 23 | 24 | 25 | kubeEtcd: 26 | enabled: false 27 | 28 | kubeScheduler: 29 | enabled: false 30 | 31 | prometheusOperator: 32 | enabled: true 33 | resources: {} 34 | 35 | prometheus: 36 | enabled: true 37 | ingress: 38 | enabled: false 39 | prometheusSpec: 40 | podMonitorSelectorNilUsesHelmValues: false 41 | serviceMonitorSelectorNilUsesHelmValues: false 42 | retention: 5d 43 | retentionSize: "" 44 | resources: {} 45 | nodeSelector: 46 | dedicated: prometheus 47 | affinity: 48 | nodeAffinity: 49 | requiredDuringSchedulingIgnoredDuringExecution: 50 | nodeSelectorTerms: 51 | - matchExpressions: 52 | - key: dedicated 53 | operator: In 54 | values: 55 | - prometheus 56 | tolerations: 57 | - key: "dedicated" 58 | operator: "Equal" 59 | value: "prometheus" 60 | effect: "NoSchedule" 61 | initContainers: 62 | # Workaround for edge cases where prometheus goes into an OOM loop when booting 63 | # up and reading the WAL: https://github.com/prometheus/prometheus/issues/6934 64 | - name: delete-wal 65 | image: busybox 66 | command: ['sh', '-c', "rm -rf /prometheus/wal;"] 67 | volumeMounts: 68 | - mountPath: /prometheus 69 | name: prometheus-kube-prometheus-stack-prometheus-db 70 | subPath: prometheus-db 71 | storageSpec: 72 | volumeClaimTemplate: 73 | spec: 74 | storageClassName: local-path 75 | accessModes: ["ReadWriteOnce"] 76 | resources: 77 | requests: 78 | storage: 200Gi 79 | -------------------------------------------------------------------------------- /public-merge-devnet4/helmsman/values/shared-services/kube-prometheus-stack.yaml: -------------------------------------------------------------------------------- 1 | 2 | alertmanager: 3 | enabled: true 4 | ingress: 5 | enabled: false 6 | alertmanagerSpec: 7 | retention: 120h 8 | resources: {} 9 | storage: 10 | volumeClaimTemplate: 11 | spec: 12 | storageClassName: do-block-storage 13 | accessModes: ["ReadWriteOnce"] 14 | resources: 15 | requests: 16 | storage: 50Gi 17 | 18 | grafana: 19 | enabled: true 20 | adminPassword: prom-operator 21 | ingress: 22 | enabled: false 23 | 24 | 25 | kubeEtcd: 26 | enabled: false 27 | 28 | kubeScheduler: 29 | enabled: false 30 | 31 | prometheusOperator: 32 | enabled: true 33 | resources: {} 34 | 35 | prometheus: 36 | enabled: true 37 | ingress: 38 | enabled: false 39 | prometheusSpec: 40 | podMonitorSelectorNilUsesHelmValues: false 41 | serviceMonitorSelectorNilUsesHelmValues: false 42 | retention: 5d 43 | retentionSize: "" 44 | resources: {} 45 | nodeSelector: 46 | dedicated: prometheus 47 | affinity: 48 | nodeAffinity: 49 | requiredDuringSchedulingIgnoredDuringExecution: 50 | nodeSelectorTerms: 51 | - matchExpressions: 52 | - key: dedicated 53 | operator: In 54 | values: 55 | - prometheus 56 | tolerations: 57 | - key: "dedicated" 58 | operator: "Equal" 59 | value: "prometheus" 60 | effect: "NoSchedule" 61 | initContainers: 62 | # Workaround for edge cases where prometheus goes into an OOM loop when booting 63 | # up and reading the WAL: https://github.com/prometheus/prometheus/issues/6934 64 | - name: delete-wal 65 | image: busybox 66 | command: ['sh', '-c', "rm -rf /prometheus/wal;"] 67 | volumeMounts: 68 | - mountPath: /prometheus 69 | name: prometheus-kube-prometheus-stack-prometheus-db 70 | subPath: prometheus-db 71 | storageSpec: 72 | volumeClaimTemplate: 73 | spec: 74 | storageClassName: local-path 75 | accessModes: ["ReadWriteOnce"] 76 | resources: 77 | requests: 78 | storage: 200Gi 79 | -------------------------------------------------------------------------------- /public-merge-devnet5/helmsman/values/shared-services/kube-prometheus-stack.yaml: -------------------------------------------------------------------------------- 1 | 2 | alertmanager: 3 | enabled: true 4 | ingress: 5 | enabled: false 6 | alertmanagerSpec: 7 | retention: 120h 8 | resources: {} 9 | storage: 10 | volumeClaimTemplate: 11 | spec: 12 | storageClassName: do-block-storage 13 | accessModes: ["ReadWriteOnce"] 14 | resources: 15 | requests: 16 | storage: 50Gi 17 | 18 | grafana: 19 | enabled: true 20 | adminPassword: prom-operator 21 | ingress: 22 | enabled: false 23 | 24 | 25 | kubeEtcd: 26 | enabled: false 27 | 28 | kubeScheduler: 29 | enabled: false 30 | 31 | prometheusOperator: 32 | enabled: true 33 | resources: {} 34 | 35 | prometheus: 36 | enabled: true 37 | ingress: 38 | enabled: false 39 | prometheusSpec: 40 | podMonitorSelectorNilUsesHelmValues: false 41 | serviceMonitorSelectorNilUsesHelmValues: false 42 | retention: 5d 43 | retentionSize: "" 44 | resources: {} 45 | nodeSelector: 46 | dedicated: prometheus 47 | affinity: 48 | nodeAffinity: 49 | requiredDuringSchedulingIgnoredDuringExecution: 50 | nodeSelectorTerms: 51 | - matchExpressions: 52 | - key: dedicated 53 | operator: In 54 | values: 55 | - prometheus 56 | tolerations: 57 | - key: "dedicated" 58 | operator: "Equal" 59 | value: "prometheus" 60 | effect: "NoSchedule" 61 | initContainers: 62 | # Workaround for edge cases where prometheus goes into an OOM loop when booting 63 | # up and reading the WAL: https://github.com/prometheus/prometheus/issues/6934 64 | - name: delete-wal 65 | image: busybox 66 | command: ['sh', '-c', "rm -rf /prometheus/wal;"] 67 | volumeMounts: 68 | - mountPath: /prometheus 69 | name: prometheus-kube-prometheus-stack-prometheus-db 70 | subPath: prometheus-db 71 | storageSpec: 72 | volumeClaimTemplate: 73 | spec: 74 | storageClassName: local-path 75 | accessModes: ["ReadWriteOnce"] 76 | resources: 77 | requests: 78 | storage: 200Gi 79 | -------------------------------------------------------------------------------- /public-merge-kiln/helmsman/values/shared-services/kube-prometheus-stack.yaml: -------------------------------------------------------------------------------- 1 | 2 | alertmanager: 3 | enabled: true 4 | ingress: 5 | enabled: false 6 | alertmanagerSpec: 7 | retention: 120h 8 | resources: {} 9 | storage: 10 | volumeClaimTemplate: 11 | spec: 12 | storageClassName: do-block-storage 13 | accessModes: ["ReadWriteOnce"] 14 | resources: 15 | requests: 16 | storage: 50Gi 17 | 18 | grafana: 19 | enabled: true 20 | adminPassword: prom-operator 21 | ingress: 22 | enabled: false 23 | 24 | 25 | kubeEtcd: 26 | enabled: false 27 | 28 | kubeScheduler: 29 | enabled: false 30 | 31 | prometheusOperator: 32 | enabled: true 33 | resources: {} 34 | 35 | prometheus: 36 | enabled: true 37 | ingress: 38 | enabled: false 39 | prometheusSpec: 40 | podMonitorSelectorNilUsesHelmValues: false 41 | serviceMonitorSelectorNilUsesHelmValues: false 42 | retention: 5d 43 | retentionSize: "" 44 | resources: {} 45 | nodeSelector: 46 | dedicated: prometheus 47 | affinity: 48 | nodeAffinity: 49 | requiredDuringSchedulingIgnoredDuringExecution: 50 | nodeSelectorTerms: 51 | - matchExpressions: 52 | - key: dedicated 53 | operator: In 54 | values: 55 | - prometheus 56 | tolerations: 57 | - key: "dedicated" 58 | operator: "Equal" 59 | value: "prometheus" 60 | effect: "NoSchedule" 61 | initContainers: 62 | # Workaround for edge cases where prometheus goes into an OOM loop when booting 63 | # up and reading the WAL: https://github.com/prometheus/prometheus/issues/6934 64 | - name: delete-wal 65 | image: busybox 66 | command: ['sh', '-c', "rm -rf /prometheus/wal;"] 67 | volumeMounts: 68 | - mountPath: /prometheus 69 | name: prometheus-kube-prometheus-stack-prometheus-db 70 | subPath: prometheus-db 71 | storageSpec: 72 | volumeClaimTemplate: 73 | spec: 74 | storageClassName: local-path 75 | accessModes: ["ReadWriteOnce"] 76 | resources: 77 | requests: 78 | storage: 200Gi 79 | -------------------------------------------------------------------------------- /public-goerli-shadowfork/helmsman/values/shared-services/kube-prometheus-stack.yaml: -------------------------------------------------------------------------------- 1 | 2 | alertmanager: 3 | enabled: true 4 | ingress: 5 | enabled: false 6 | alertmanagerSpec: 7 | retention: 120h 8 | resources: {} 9 | storage: 10 | volumeClaimTemplate: 11 | spec: 12 | storageClassName: do-block-storage 13 | accessModes: ["ReadWriteOnce"] 14 | resources: 15 | requests: 16 | storage: 50Gi 17 | 18 | grafana: 19 | enabled: true 20 | adminPassword: prom-operator 21 | ingress: 22 | enabled: false 23 | 24 | 25 | kubeEtcd: 26 | enabled: false 27 | 28 | kubeScheduler: 29 | enabled: false 30 | 31 | prometheusOperator: 32 | enabled: true 33 | resources: {} 34 | 35 | prometheus: 36 | enabled: true 37 | ingress: 38 | enabled: false 39 | prometheusSpec: 40 | podMonitorSelectorNilUsesHelmValues: false 41 | serviceMonitorSelectorNilUsesHelmValues: false 42 | retention: 5d 43 | retentionSize: "" 44 | resources: {} 45 | nodeSelector: 46 | dedicated: prometheus 47 | affinity: 48 | nodeAffinity: 49 | requiredDuringSchedulingIgnoredDuringExecution: 50 | nodeSelectorTerms: 51 | - matchExpressions: 52 | - key: dedicated 53 | operator: In 54 | values: 55 | - prometheus 56 | tolerations: 57 | - key: "dedicated" 58 | operator: "Equal" 59 | value: "prometheus" 60 | effect: "NoSchedule" 61 | initContainers: 62 | # Workaround for edge cases where prometheus goes into an OOM loop when booting 63 | # up and reading the WAL: https://github.com/prometheus/prometheus/issues/6934 64 | - name: delete-wal 65 | image: busybox 66 | command: ['sh', '-c', "rm -rf /prometheus/wal;"] 67 | volumeMounts: 68 | - mountPath: /prometheus 69 | name: prometheus-kube-prometheus-stack-prometheus-db 70 | subPath: prometheus-db 71 | storageSpec: 72 | volumeClaimTemplate: 73 | spec: 74 | storageClassName: local-path 75 | accessModes: ["ReadWriteOnce"] 76 | resources: 77 | requests: 78 | storage: 200Gi 79 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/shared-services/kube-prometheus-stack.yaml: -------------------------------------------------------------------------------- 1 | 2 | alertmanager: 3 | enabled: true 4 | ingress: 5 | enabled: false 6 | alertmanagerSpec: 7 | retention: 120h 8 | resources: {} 9 | storage: 10 | volumeClaimTemplate: 11 | spec: 12 | storageClassName: do-block-storage 13 | accessModes: ["ReadWriteOnce"] 14 | resources: 15 | requests: 16 | storage: 50Gi 17 | 18 | grafana: 19 | enabled: true 20 | adminPassword: prom-operator 21 | ingress: 22 | enabled: false 23 | 24 | 25 | kubeEtcd: 26 | enabled: false 27 | 28 | kubeScheduler: 29 | enabled: false 30 | 31 | prometheusOperator: 32 | enabled: true 33 | resources: {} 34 | 35 | prometheus: 36 | enabled: true 37 | ingress: 38 | enabled: false 39 | prometheusSpec: 40 | podMonitorSelectorNilUsesHelmValues: false 41 | serviceMonitorSelectorNilUsesHelmValues: false 42 | retention: 5d 43 | retentionSize: "" 44 | resources: {} 45 | nodeSelector: 46 | dedicated: prometheus 47 | affinity: 48 | nodeAffinity: 49 | requiredDuringSchedulingIgnoredDuringExecution: 50 | nodeSelectorTerms: 51 | - matchExpressions: 52 | - key: dedicated 53 | operator: In 54 | values: 55 | - prometheus 56 | tolerations: 57 | - key: "dedicated" 58 | operator: "Equal" 59 | value: "prometheus" 60 | effect: "NoSchedule" 61 | initContainers: 62 | # Workaround for edge cases where prometheus goes into an OOM loop when booting 63 | # up and reading the WAL: https://github.com/prometheus/prometheus/issues/6934 64 | - name: delete-wal 65 | image: busybox 66 | command: ['sh', '-c', "rm -rf /prometheus/wal;"] 67 | volumeMounts: 68 | - mountPath: /prometheus 69 | name: prometheus-kube-prometheus-stack-prometheus-db 70 | subPath: prometheus-db 71 | storageSpec: 72 | volumeClaimTemplate: 73 | spec: 74 | storageClassName: local-path 75 | accessModes: ["ReadWriteOnce"] 76 | resources: 77 | requests: 78 | storage: 200Gi 79 | -------------------------------------------------------------------------------- /public-merge-kintsugi/helmsman/values/ethereum/nethermind.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: nethermindeth/nethermind 3 | tag: kintsugi_0.8 4 | pullPolicy: IfNotPresent 5 | 6 | replicas: 1 7 | 8 | p2pNodePort: 9 | enabled: true 10 | 11 | podManagementPolicy: Parallel 12 | 13 | extraArgs: 14 | - --Discovery.Bootnodes="$(cat /data/bootnode.txt)" 15 | - --config=kintsugi_devnet 16 | - --Init.ChainSpecPath=/data/chainspec.json 17 | - --Init.IsMining=true 18 | - --EthStats.Enabled=true 19 | - --EthStats.Name=$(hostname) 20 | - --EthStats.Secret=KintsugiNetwork 21 | - --EthStats.Server=ws://ethstats:3000/api/ 22 | - --JsonRpc.EnabledModules="net,eth,consensus,engine,subscribe,web3" 23 | - --Mining.Enabled=false 24 | - --Merge.Enabled=true 25 | - --Merge.TerminalTotalDifficulty=5000000000 26 | - --Init.DiagnosticMode="None" 27 | #- --log=TRACE 28 | 29 | 30 | initContainers: 31 | - name: init-chainspec 32 | image: alpine:latest 33 | imagePullPolicy: IfNotPresent 34 | securityContext: 35 | runAsNonRoot: false 36 | runAsUser: 0 37 | command: 38 | - sh 39 | - -ace 40 | - > 41 | BOOTNODE=enode://6f377dd1ef5a3272d7e02fac9064c4f95d74f7edfd866e59ded774ee5b4649ff61c3f24c95f5c3d07d692b447f0569716b8921b6861810b96a705c92e1d27ff9@161.35.67.219:30303; 42 | GENESIS_CHAINSPEC_URI=https://config.kintsugi.themerge.dev/el/genesis/chainspec.json; 43 | if ! [ -f /data/chainspec.json ]; 44 | then 45 | wget -O /data/chainspec.json $GENESIS_CHAINSPEC_URI; 46 | echo "chainspec init done"; 47 | else 48 | echo "chainspec is already there"; 49 | fi; 50 | echo $BOOTNODE > /data/bootnode.txt; 51 | echo "bootnode init done: $(cat /data/bootnode.txt)"; 52 | volumeMounts: 53 | - name: storage 54 | mountPath: "/data" 55 | 56 | # -- Liveness probe 57 | # @default -- See `values.yaml` 58 | livenessProbe: 59 | tcpSocket: 60 | port: p2p-tcp 61 | initialDelaySeconds: 60 62 | periodSeconds: 120 63 | 64 | # -- Readiness probe 65 | # @default -- See `values.yaml` 66 | readinessProbe: 67 | tcpSocket: 68 | port: p2p-tcp 69 | initialDelaySeconds: 10 70 | periodSeconds: 10 71 | 72 | persistence: 73 | enabled: true 74 | size: 50Gi 75 | 76 | resources: {} 77 | 78 | serviceMonitor: 79 | enabled: true 80 | -------------------------------------------------------------------------------- /private-poa-el-cl/helmsman/values/ethereum-private/eth2-fork-mon.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: ralexstokes/eth2-fork-mon 3 | tag: latest 4 | pullPolicy: IfNotPresent 5 | 6 | config: 7 | # ENV vars will be replaced using the 'init-config' init container 8 | endpoints: 9 | - addr: http://lighthouse-beacon-0.lighthouse-beacon-headless.ethereum-private.svc.cluster.local:5052 10 | eth1: "" 11 | - addr: http://prysm-beacon-0.prysm-beacon-headless.ethereum-private.svc.cluster.local:3500 12 | eth1: "" 13 | - addr: http://teku-beacon-0.teku-beacon-headless.ethereum-private.svc.cluster.local:5051 14 | eth1: "" 15 | - addr: http://lodestar-beacon-0.lodestar-beacon-headless.ethereum-private.svc.cluster.local:9596 16 | eth1: "" 17 | - addr: http://nimbus-0.nimbus-headless.ethereum-private.svc.cluster.local:5052 18 | eth1: "" 19 | http_timeout_milliseconds: 0 20 | eth2: 21 | network: testnet 22 | seconds_per_slot: 12 23 | genesis_time: $GENESIS_TIME 24 | slots_per_epoch: 32 25 | 26 | customArgs: 27 | - -config-file=/config-update/config.yaml 28 | 29 | extraVolumes: 30 | - name: config-update 31 | emptyDir: {} 32 | 33 | extraVolumeMounts: 34 | - name: config-update 35 | mountPath: "/config-update" 36 | 37 | initContainers: 38 | - name: init-config 39 | image: bash:latest 40 | imagePullPolicy: IfNotPresent 41 | securityContext: 42 | runAsNonRoot: false 43 | runAsUser: 0 44 | command: 45 | - bash 46 | - -c 47 | - > 48 | apk add jq curl gettext; 49 | BEACON_API_ENDPOINT=http://lighthouse-beacon-0.lighthouse-beacon-headless.ethereum-private.svc.cluster.local:5052/eth/v1/beacon/genesis; 50 | echo "waiting to fetch beacon info from $BEACON_API_ENDPOINT"; 51 | while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' $BEACON_API_ENDPOINT)" != "200" ]]; do sleep 5; done; 52 | export GENESIS_TIME=$(curl -s $BEACON_API_ENDPOINT | jq -r '.data.genesis_time'); 53 | echo "got genesis time: $GENESIS_TIME"; 54 | envsubst < /config.yaml > /config-update/config.yaml; 55 | volumeMounts: 56 | - name: config-update 57 | mountPath: /config-update 58 | - name: config 59 | mountPath: "/config.yaml" 60 | subPath: config.yaml 61 | readOnly: true 62 | --------------------------------------------------------------------------------