my-homelab-configs/bootstrap/apps/main.tf

75 lines
1.7 KiB
HCL

terraform {
required_version = ">= 1.0"
required_providers {
kubernetes = {
source = "hashicorp/kubernetes"
version = "~> 2.26"
}
}
}
provider "kubernetes" {
config_path = "/home/jv/.kube/config"
}
resource "kubernetes_manifest" "container_registry" {
manifest = {
apiVersion = "argoproj.io/v1alpha1"
kind = "Application"
metadata = {
name = "container-registry"
namespace = "argocd"
}
spec = {
project = "default"
source = {
repoURL = "https://github.com/juvdiaz/my-homelab-configs.git"
targetRevision = "HEAD"
path = "apps/container-registry"
}
destination = {
server = "https://kubernetes.default.svc"
namespace = "container-registry"
}
syncPolicy = {
automated = {
prune = true
selfHeal = true
}
syncOptions = ["CreateNamespace=true"]
}
}
}
}
resource "kubernetes_manifest" "production_website" {
depends_on = [kubernetes_manifest.container_registry]
manifest = {
apiVersion = "argoproj.io/v1alpha1"
kind = "Application"
metadata = {
name = "production-website"
namespace = "argocd"
}
spec = {
project = "default"
source = {
repoURL = "https://github.com/juvdiaz/my-homelab-configs.git"
targetRevision = "HEAD"
path = "apps/website"
}
destination = {
server = "https://kubernetes.default.svc"
namespace = "website-production"
}
syncPolicy = {
automated = {
prune = true
selfHeal = true
}
syncOptions = ["CreateNamespace=true"]
}
}
}
}