OpenTofu Modules that can be used to deploy a functioning self hosted cloud solution perfect for side projects. For a guide on how to use these modules, please navigate to the infrastructure directory.
The following is required to start using this repository:
- OpenTofu - Since modules are written in OpenTofu, we deploy all components using OpenTofu
- Kubernetes Cluster - Any kubernetes cluster can do, tested out with my self hosted kubernetes cluster
- Cloudflare Token and DNS Zones - Currently all modules use Cloudflare for provisioning public SSL certificates using DNS01 challenge validation.
- An SMTP Server - For sending mails using Keycloak Authentication
The following modules have been implemented and their usage instructions written in README:
- [MAIN MODULE] Helm
- [OPTIONAL MODULE] Cluster Issuer for internal certificates
- [OPTIONAL MODULE] Observability
- [MAIN MODULE] OpenBao Secrets Management
- [OPTIONAL MODULE] Garage Storage
- [OPTIONAL MODULE] Cloudnative PG PostgreSQL Database
- [OPTIONAL MODULE] FerretDB (MongoDB) Database
- [OPTIONAL MODULE] Valkey In Memory Database
- [OPTIONAL MODULE] Keycloak Identity Management