piomin / sample-terraform-kubernetes-argocd Goto Github PK
View Code? Open in Web Editor NEWRepository with configuration for Terraform and Argo CD to create and manage Kubernetes cluster locally with Kind
Home Page: https://piotrminkowski.com/
Repository with configuration for Terraform and Argo CD to create and manage Kubernetes cluster locally with Kind
Home Page: https://piotrminkowski.com/
Thanks for your awesome posting on this topic. Today I got it running on Azure Kubernetes and local Minikube.
From argocd helm chart version 5.0.0 onwards the 'values' block does not support 'additionalApplications' any more. There exists now an argocd-apps chart for that. On the other hand I had to fill in some dependencies, because I got errors during olm_apply.
Here are my changes in the tf-file:
data "kubectl_file_documents" "crds" {
content = file("olm/crds.yaml")
}
resource "kubectl_manifest" "crds_apply" {
for_each = data.kubectl_file_documents.crds.manifests
yaml_body = each.value
wait = true
server_side_apply = true
}
data "kubectl_file_documents" "olm" {
content = file("olm/olm.yaml")
}
resource "kubectl_manifest" "olm_apply" {
depends_on = [kubectl_manifest.crds_apply]
for_each = data.kubectl_file_documents.olm.manifests
yaml_body = each.value
wait = true
}
resource "helm_release" "argocd" {
name = "argocd"
repository = "https://argoproj.github.io/argo-helm"
chart = "argo-cd"
namespace = "argocd"
version = "5.5.8"
create_namespace = true
depends_on = [kubectl_manifest.olm_apply]
}
resource "helm_release" "argocd_apps" {
name = "argocd-apps"
repository = "https://argoproj.github.io/argo-helm"
chart = "argocd-apps"
namespace = "argocd"
values = [
file("argocd/application.yaml")
]
depends_on = [helm_release.argocd]
}
Also the structure of the application.yaml-content used by the argocd-apps chart has to be slightly changed:
applications:
- name: cluster-config
namespace: argocd
project: default
source:
repoURL: https://github.com/piomin/sample-terraform-kubernetes-argocd.git
targetRevision: HEAD
path: manifests/cluster
directory:
recurse: true
destination:
server: https://kubernetes.default.svc
syncPolicy:
automated:
prune: false
selfHeal: false
One more hint: when deploying on Azure Kubernetes only four storage disks are allowed using a cheaper one B2s, B2ms (B-series sizing in AKS). So I reduced Kafka to two replicas, Zookeeper to one.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.circleci/config.yml
terraform 3.2.1
main.tf
argo-cd 7.3.2
argocd-apps 1.6.2
kind 0.5.1
kubectl 1.14.0
sealedsecrets/main.tf
sealedsecrets/providers.tf
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.