Open caerulescens opened 5 months ago
@scott-the-programmer Would you assign this one to me? How do you think this information should manifest? Should it be docs only? Should it be a repository? I already have a cookiecutter
template that I'm about to tag and release in the coming weeks which will provide all necessary structure and design for using terraform-provider-minikube
with terragrunt
.
I think it would be best to document the minimum necessary design to use terragrunt
, terraform-provider-minikube
, terraform-provider-helm
, and terraform-provider-kubernetes
together while linking to the cookiecutter
template on GitHub. The cookiecutter
template I've created allows for initializing a "production-ready" structure and more advanced practices that would make the example too complex for terraform-provider-minikube
newcomers.
Maybe making two sections in the docs:
terraform
usageterragrunt
usageAnd both show kubernetes
and helm
usage.
Yep, sounds good to me!
I haven't forgotten about this; I'm going to get to this sometime this week.
terragrunt
is an open source tool created by GruntWorks.io, and it's used as a wrapper toterraform
where it provides features thatterraform
cannot provide. The goal of the documentation is to show another way to use theminikube
,kubernetes
, andhelm
providers together because it doesn't replaceterraform
usage; it extendsterraform
usage.This is something that I would like to document for the open source community as I'm not really sure if anyone knows this is possible because I figured it out on my own using
terraform-provider-minikube
.There are a lot of advantages:
terragrunt
has dedicated support foropentofu
, which fits with @scott-the-programmer and GruntWorks.io's goals to bridge the industry licensing issue that's causing the migration (see #120)terraform
project is downloaded usinggit
, which encourages caching and reproducibleinit
/plan
/apply
sequences through GitOpsterraform-provider-minikube
usage, which keeps yourHCL
100% dry while providing 100% control over common settings between different drivers (docker
,kvm2
,qemu2
, ...). This has a lot to do with how the project's structure is designed, which I would like to cover.providers
block, meaning thatkubernetes_version
fromterraform-provider-minikube
can be templated:generate "provider" { path = "provider.tf" if_exists = "overwrite" contents = <<EOF provider "minikube" { kubernetes_version = "${local.kubernetes_version}" } EOF }