- added woodpecker CI - removed kubernetes infra terraform files. - added demo woodpecker pipeline
40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# Terraform Configuration
|
|
|
|
> This project uses OpenTofu instead of Terraform. OpenTofu is a fork of
|
|
> Terraform that is compatible with Terraform configurations and provides
|
|
> similar functionality.
|
|
|
|
This directory contains Terraform configurations for managing
|
|
infrastructure resources. It includes configurations for Proxmox.
|
|
|
|
Currently, only the Proxmox virtual machines are managed using Terraform.
|
|
Kubernetes clusters are still created with Ansible, and Kubernetes resources are
|
|
managed using Helm charts and kubectl. Previously, Proxmox was also managed with
|
|
Ansible, but it has been moved to Terraform for improved consistency and state
|
|
management. The goal is to eventually manage all infrastructure including
|
|
creating Kubernetes clusters with Terraform, but this is a work in progress.
|
|
|
|
The terraform state files are stored in a remote backend, which allows for
|
|
collaboration and state management across different environments. The backend
|
|
configuration is defined in the `backend.tf` file. The backend is set up to use
|
|
minio as the storage backend.
|
|
|
|
## Proxmox
|
|
|
|
Ref: https://registry.terraform.io/providers/bpg/proxmox/latest/docs/data-sources/virtual_environment_hosts
|
|
|
|
The Proxmox configuration is located in the `proxmox` directory.
|
|
It uses the Proxmox provider to manage virtual machines and other resources.
|
|
|
|
The workflow for managing Proxmox resources is as follows:
|
|
|
|
```bash
|
|
cd proxmox
|
|
source .env
|
|
tofu init
|
|
tofu plan
|
|
tofu apply
|
|
```
|
|
|
|
## Kubernetes and Helm
|