Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/poseidon/terraform-render-bootstrap
Low-level bootstrap a Kubernetes control plane with Terraform (part of Typhoon)
https://github.com/poseidon/terraform-render-bootstrap
kubernetes terraform terraform-modules
Last synced: 27 days ago
JSON representation
Low-level bootstrap a Kubernetes control plane with Terraform (part of Typhoon)
- Host: GitHub
- URL: https://github.com/poseidon/terraform-render-bootstrap
- Owner: poseidon
- License: mit
- Created: 2017-05-01T18:18:21.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-09-22T00:08:58.000Z (about 2 months ago)
- Last Synced: 2024-09-27T19:20:44.695Z (about 1 month ago)
- Topics: kubernetes, terraform, terraform-modules
- Language: HCL
- Homepage: https://typhoon.psdn.io/
- Size: 478 KB
- Stars: 102
- Watchers: 9
- Forks: 103
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# terraform-render-bootstrap
[![Workflow](https://github.com/poseidon/terraform-render-bootstrap/actions/workflows/test.yaml/badge.svg)](https://github.com/poseidon/terraform-render-bootstrap/actions/workflows/test.yaml?query=branch%3Amain)
[![Sponsors](https://img.shields.io/github/sponsors/poseidon?logo=github)](https://github.com/sponsors/poseidon)
[![Mastodon](https://img.shields.io/badge/follow-news-6364ff?logo=mastodon)](https://fosstodon.org/@typhoon)`terraform-render-bootstrap` is a Terraform module that renders TLS certificates, static pods, and manifests for bootstrapping a Kubernetes cluster.
## Audience
`terraform-render-bootstrap` is a low-level component of the [Typhoon](https://github.com/poseidon/typhoon) Kubernetes distribution. Use Typhoon modules to create and manage Kubernetes clusters across supported platforms. Use the bootstrap module if you'd like to customize a Kubernetes control plane or build your own distribution.
## Usage
Use the module to declare bootstrap assets. Check [variables.tf](variables.tf) for options and [terraform.tfvars.example](terraform.tfvars.example) for examples.
```hcl
module "bootstrap" {
source = "git::https://github.com/poseidon/terraform-render-bootstrap.git?ref=SHA"cluster_name = "example"
api_servers = ["node1.example.com"]
etcd_servers = ["node1.example.com"]
}
```Generate assets in Terraform state.
```sh
terraform init
terraform plan
terraform apply
```To inspect and write assets locally (e.g. debugging) use the `assets_dist` Terraform output.
```
resource local_file "assets" {
for_each = module.bootstrap.assets_dist
filename = "some-assets/${each.key}"
content = each.value
}
```