Skip to content

Example of a full GitOps platform running locally. Based on: Kubernetes(Docker Desktop), Istio, Argo CD, Temporal etc

Notifications You must be signed in to change notification settings

Hronom/kubernetes-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro

This repo shows GitOps, IaC approach to managing runtime environment using Argo CD. Also, we use Istio for secure(strict mTLS) service to service communications.

To run, you must have the latest version of Docker Desktop with Kubernetes enabled.

Repo structure:

  1. platform-infra - contains base infrastructure managed by terraform to prepare and configure base for runtime environment
  2. platform-applications-prod - this is a GitOps repo used by Argo CD to sync state for prod platform applications
  3. applications-prod - this is a GitOps repo used by Argo CD to sync state for prod applications

platform-infra

This folder contains terraform scripts with basic setup for the platform based on Kubernetes and docker-desktop.

01 external-secrets

cd platform-infra/external-secrets
terraform init --backend-config="path=terraform-prod.tfstate" --reconfigure
cd platform-infra/external-secrets
terraform apply --var-file=inputs-prod.tfvars -auto-approve

02 istio

cd platform-infra/istio
terraform init --backend-config="path=terraform-prod.tfstate" --reconfigure
cd platform-infra/istio
terraform apply --var-file=inputs-prod.tfvars -auto-approve

03 argo-cd

cd platform-infra/argo-cd
terraform init --backend-config="path=terraform-prod.tfstate" --reconfigure
cd platform-infra/argo-cd
terraform apply --var-file=inputs-prod.tfvars -auto-approve

Username: admin Password: admin

On Linux add inside /etc/hosts record:

127.0.0.1 argo-cd.prod.in.localhost

platform-applications-prod

This is a GitOps repo used by Argo CD to sync state for prod platform applications.

Add custom helm chart.

If it has dependencies, run:

helm dependency build

Argo Rollouts

On Linux add inside /etc/hosts record:

127.0.0.1 argo-rollouts.prod.in.localhost

Temporal

On Linux add inside /etc/hosts record:

127.0.0.1 temporal.prod.in.localhost

On other systems check where it should be added=)

n8n

On Linux add inside /etc/hosts record:

127.0.0.1 n8n.prod.in.localhost

On other systems check where it should be added=)

applications-prod

This is a GitOps repo used by Argo CD to sync state for prod applications.

About

Example of a full GitOps platform running locally. Based on: Kubernetes(Docker Desktop), Istio, Argo CD, Temporal etc

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published