https://github.com/idvoretskyi/oci-arm-dev-env
Automated deployment of K3d HA Kubernetes cluster on OCI ARM Always Free tier. Infrastructure as Code with OpenTofu/Terraform and Helm.
https://github.com/idvoretskyi/oci-arm-dev-env
Last synced: 4 months ago
JSON representation
Automated deployment of K3d HA Kubernetes cluster on OCI ARM Always Free tier. Infrastructure as Code with OpenTofu/Terraform and Helm.
- Host: GitHub
- URL: https://github.com/idvoretskyi/oci-arm-dev-env
- Owner: idvoretskyi
- License: mit
- Created: 2025-07-18T08:01:09.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-12-22T16:38:42.000Z (6 months ago)
- Last Synced: 2025-12-24T04:37:07.912Z (6 months ago)
- Language: HCL
- Homepage:
- Size: 116 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# OCI ARM Dev Environment
K3d HA Kubernetes cluster on Oracle Cloud's Always Free tier (4 vCPUs, 24GB RAM, $0/month).
## Quick Start
```bash
# Install OpenTofu
brew install opentofu
# Setup
cp terraform.tfvars.example tofu/terraform.tfvars
# Edit tofu/terraform.tfvars with your OCI credentials
# Deploy
./deploy.sh
# Destroy
./deploy.sh destroy
```
## Prerequisites
- [OCI Always Free account](https://www.oracle.com/cloud/free/)
- OCI config at `~/.oci/config`
- SSH key at `~/.ssh/id_ed25519.pub` (or configure in tofu/terraform.tfvars)
## What You Get
- Single ARM VM: 4 vCPUs, 24GB RAM
- K3d cluster: 3 masters + 3 workers (HA)
- Tools: Docker, kubectl, Helm
- Cost: $0/month
## Configuration
Edit `tofu/terraform.tfvars`:
```hcl
tenancy_ocid = "ocid1.tenancy..."
user_ocid = "ocid1.user..."
fingerprint = "aa:bb:cc:..."
private_key_path = "~/.oci/oci_api_key.pem"
region = "uk-london-1"
compartment_id = "ocid1.tenancy..."
ssh_public_key_path = "~/.ssh/id_ed25519.pub"
vm_username = "ubuntu"
```
## Connect
```bash
ssh ubuntu@
# On the VM
kubectl get nodes
k3d cluster list
```
Wait 5-10 minutes after deployment for cluster setup to complete.
## License
MIT