Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oxheadalpha/tezos-pulumi
Deploy Tezos Infrastructure via Pulumi IaC
https://github.com/oxheadalpha/tezos-pulumi
aws blockchain k8s kubernetes pulumi tezos tezos-baking tezos-node
Last synced: 2 months ago
JSON representation
Deploy Tezos Infrastructure via Pulumi IaC
- Host: GitHub
- URL: https://github.com/oxheadalpha/tezos-pulumi
- Owner: oxheadalpha
- Created: 2021-10-20T04:53:19.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-30T01:15:41.000Z (12 months ago)
- Last Synced: 2024-01-30T02:28:33.250Z (12 months ago)
- Topics: aws, blockchain, k8s, kubernetes, pulumi, tezos, tezos-baking, tezos-node
- Language: TypeScript
- Homepage:
- Size: 179 KB
- Stars: 3
- Watchers: 5
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tezos Pulumi
`tezos-pulumi` is a [Pulumi Typescript](https://www.pulumi.com/docs/intro/languages/javascript/) node module for deploying Tezos infrastructure on AWS using Kubernetes. The library provides various components and helpers to simplify the process of deploying Tezos nodes, baking infrastructure, and related services. It is designed to work in conjunction with Oxhead Alpha's [tezos-k8s](https://github.com/oxheadalpha/tezos-k8s) project for managing Tezos infrastructure on Kubernetes. You can find the `tezos-k8s` documentation [here](https://tezos-k8s.xyz/).
For a step-by-step guide on how to use this library to deploy scalable Tezos nodes in AWS, please refer to our [tutorial](https://medium.com/the-aleph/deploy-scalable-tezos-nodes-in-the-cloud-bbe4f4f4ddcc) on Medium.
Also see our [baking tutorial](https://medium.com/the-aleph/deploy-tezos-baker-in-the-cloud-using-ledger-wallet-remote-signer-and-consensus-key-9ab3ce4d14cc) for deploying a baker on Mainnet using a Ledger Wallet, remote signer, and consensus key.
## Components
This library provides a set of components to help you deploy and manage Tezos infrastructure. For detailed documentation on each component, please refer to the respective TypeScript source files. You can find an example of using this library in the `examples/tutorial` directory within this repository. Below is a short description of each component:
### General Components
- `TezosK8sHelmChart`:
Simplifies the deployment of [tezos-k8s Helm charts](https://github.com/oxheadalpha/tezos-k8s/tree/master/charts) into your Kubernetes cluster. The Helm charts can deploy various Tezos components such as RPC nodes, bakers, indexers, remote signers, and faucets.### AWS Components
- `AlbIngressController`:
Deploys the [AWS Load Balancer Controller](https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html) in your Kubernetes cluster. This controller manages the creation of AWS Application Load Balancers (ALB) for your Tezos nodes, allowing you to expose the RPC and P2P endpoints with ease.- `ExternalDns`:
Deploys the [external-dns](https://github.com/kubernetes-sigs/external-dns) controller in your Kubernetes cluster. This controller synchronizes exposed Kubernetes Services and Ingresses with DNS providers like Route 53, automating the management of DNS records for your Tezos infrastructure.- `RpcIngress`:
Creates a Kubernetes ingress resource for your Tezos nodes' RPC endpoint. With the `AlbIngressController` in place, this ingress resource results in an ALB being provisioned, exposing the RPC endpoint to the internet.- `P2PService`:
Creates a Kubernetes service for your Tezos nodes' P2P endpoint. The ALB controller will create a Network Load Balancer allowing other Tezos nodes to communicate with your nodes.- `TzktIngress`:
Creates an ingress resource for the [TzKT](https://github.com/baking-bad/tzkt) API of a deployed indexer. Similar to the `RpcIngress`, this component works with the `AlbIngressController` to expose the TzKT API via an ALB.