zoo mainnet and testnet have public RPC
Neither had one. api.zoo.ngo reached the ingress with nothing routing /v1/chain; api.zoo-test.network was an A record at a DigitalOcean address that no longer answers (now a proxied CNAME to the estate tunnel). Both route to archive nodes on evo holding the full imported chains — 799 and 84 blocks, with historical state at every height. Admin and debug are off on both. Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Public C-chain RPC for this chain, served by its archive node.
|
||||
#
|
||||
# The node runs on evo's host network under /data/luxd (v1.36.148, pruning off —
|
||||
# v1.36.181 keeps no historical state), so the Service has no selector and its
|
||||
# one endpoint is the host port. Admin and debug are disabled on that node: the
|
||||
# import is complete, and a public route to either lets anyone take the VM lock or
|
||||
# run unbounded traces.
|
||||
---
|
||||
# The archive node for this chain runs on evo's host network (/data/luxd), so the
|
||||
# Service has no selector: its one endpoint is the host port. Admin and debug are
|
||||
# off on that node; only eth, evm, net, rpc and web3 are served.
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata: {name: luxd-archive, namespace: zoo-mainnet}
|
||||
spec:
|
||||
ports: [{name: rpc, port: 9630, targetPort: 9660, protocol: TCP}]
|
||||
---
|
||||
apiVersion: discovery.k8s.io/v1
|
||||
kind: EndpointSlice
|
||||
metadata:
|
||||
name: luxd-archive-host
|
||||
namespace: zoo-mainnet
|
||||
labels: {kubernetes.io/service-name: luxd-archive}
|
||||
addressType: IPv4
|
||||
ports: [{name: rpc, port: 9660, protocol: TCP}]
|
||||
endpoints: [{addresses: ["10.0.0.21"]}]
|
||||
---
|
||||
# v1.36.148 serves /v1/bc; the public contract is /v1/chain/c/rpc.
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata: {name: bc-path, namespace: zoo-mainnet}
|
||||
spec: {replacePathRegex: {regex: '^/v1/chain/[cC](/.*)?$', replacement: '/v1/bc/C$1'}}
|
||||
---
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata: {name: c-chain, namespace: zoo-mainnet}
|
||||
spec: {replacePath: {path: /v1/bc/C/rpc}}
|
||||
---
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata: {name: chain-api, namespace: zoo-mainnet}
|
||||
spec:
|
||||
entryPoints: [websecure]
|
||||
routes:
|
||||
- {kind: Rule, match: "Host(`api.zoo.ngo`) && PathPrefix(`/v1/chain`)", priority: 300, middlewares: [{name: bc-path}], services: [{name: luxd-archive, port: 9630}]}
|
||||
- {kind: Rule, match: "Host(`api.zoo.ngo`) && Path(`/`)", priority: 310, middlewares: [{name: c-chain}], services: [{name: luxd-archive, port: 9630}]}
|
||||
tls: {}
|
||||
@@ -0,0 +1,47 @@
|
||||
# Public C-chain RPC for this chain, served by its archive node.
|
||||
#
|
||||
# The node runs on evo's host network under /data/luxd (v1.36.148, pruning off —
|
||||
# v1.36.181 keeps no historical state), so the Service has no selector and its
|
||||
# one endpoint is the host port. Admin and debug are disabled on that node: the
|
||||
# import is complete, and a public route to either lets anyone take the VM lock or
|
||||
# run unbounded traces.
|
||||
---
|
||||
# The archive node for this chain runs on evo's host network (/data/luxd), so the
|
||||
# Service has no selector: its one endpoint is the host port. Admin and debug are
|
||||
# off on that node; only eth, evm, net, rpc and web3 are served.
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata: {name: luxd-archive, namespace: zoo-testnet}
|
||||
spec:
|
||||
ports: [{name: rpc, port: 9630, targetPort: 9670, protocol: TCP}]
|
||||
---
|
||||
apiVersion: discovery.k8s.io/v1
|
||||
kind: EndpointSlice
|
||||
metadata:
|
||||
name: luxd-archive-host
|
||||
namespace: zoo-testnet
|
||||
labels: {kubernetes.io/service-name: luxd-archive}
|
||||
addressType: IPv4
|
||||
ports: [{name: rpc, port: 9670, protocol: TCP}]
|
||||
endpoints: [{addresses: ["10.0.0.21"]}]
|
||||
---
|
||||
# v1.36.148 serves /v1/bc; the public contract is /v1/chain/c/rpc.
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata: {name: bc-path, namespace: zoo-testnet}
|
||||
spec: {replacePathRegex: {regex: '^/v1/chain/[cC](/.*)?$', replacement: '/v1/bc/C$1'}}
|
||||
---
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata: {name: c-chain, namespace: zoo-testnet}
|
||||
spec: {replacePath: {path: /v1/bc/C/rpc}}
|
||||
---
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata: {name: chain-api, namespace: zoo-testnet}
|
||||
spec:
|
||||
entryPoints: [websecure]
|
||||
routes:
|
||||
- {kind: Rule, match: "Host(`api.zoo-test.network`) && PathPrefix(`/v1/chain`)", priority: 300, middlewares: [{name: bc-path}], services: [{name: luxd-archive, port: 9630}]}
|
||||
- {kind: Rule, match: "Host(`api.zoo-test.network`) && Path(`/`)", priority: 310, middlewares: [{name: c-chain}], services: [{name: luxd-archive, port: 9630}]}
|
||||
tls: {}
|
||||
Reference in New Issue
Block a user