Skip to main content
Version: 2.0

GitHub Repositories

The kubefirst k3d create command will create a gitops and metaphor repository in your personal GitHub account as shown here.

GitHub repositories

Repositories

gitops

The gitops repository houses all of our IAC and all our GitOps configurations. All of the infrastructure and application configuration that are installed with kubefirst were produced by some combination of Terraform and Argo CD in the gitops repository. You will add to this repository to extend your infrastructure or add new applications.

metaphor

metaphor is a suite of demo microservice applications to demonstrate how an application can be integrated into the kubefirst platform following best practices. It is described in more details here.

Management

If you need additional GitHub repositories, add a new section of Terraform code to k3d-github/terraform/github/repos.tf in your new gitops repository:

module "your_repo_name" {
source = "./modules/repository"
visibility = "private"
repo_name = "your_repo_name"
archive_on_destroy = false
auto_init = false # set to false if importing an existing repository
}

GitHub's Terraform provider give you access to many more configuration options than just these settings.

Making Changes with Terraform

To make infrastructure and configuration changes with Terraform, simply open a pull request in the gitops repository. Your pull request will automatically provide plans, state locks, and applies, and even comment in the pull request itself. You'll have a simple, peer reviewable, auditable changelog of all infrastructure and configuration changes.

Atlantis Example on GitHub