devops-stack
terraform-provider-argocd
Our great sponsors
devops-stack | terraform-provider-argocd | |
---|---|---|
4 | 2 | |
142 | 360 | |
1.4% | 1.7% | |
8.9 | 7.5 | |
2 days ago | 7 days ago | |
HCL | Go | |
Apache License 2.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
devops-stack
-
Cloud-Native Geospatial Outreach Event 2022
In addition, our DevOps experts work tirelessly to automate and ease the provisioning and management of cloud servers and services. In this context we released a very interesting infrastructure as code management system, making your geospatial data infrastructure cloud agnostic and called the DevOps Stack.
-
Towards a Modular DevOps Stack
module "cluster" { source = "git::https://github.com/camptocamp/devops-stack.git//modules/eks/aws?ref=v1.0.0" cluster_name = var.cluster_name base_domain = "demo.camptocamp.com" vpc_id = module.vpc.vpc_id cluster_endpoint_public_access_cidrs = flatten([ formatlist("%s/32", module.vpc.nat_public_ips), "0.0.0.0/0", ]) worker_groups = [ { instance_type = "m5a.large" asg_desired_capacity = 2 asg_max_size = 3 root_volume_type = "gp2" }, ] } provider "argocd" { server_addr = "127.0.0.1:8080" auth_token = module.cluster.argocd_auth_token insecure = true plain_text = true port_forward = true port_forward_with_namespace = module.cluster.argocd_namespace kubernetes { host = module.cluster.kubernetes_host cluster_ca_certificate = module.cluster.kubernetes_cluster_ca_certificate token = module.cluster.kubernetes_token } } module "ingress" { source = "git::https://github.com/camptocamp/devops-stack-module-traefik.git//modules/eks" cluster_name = var.cluster_name argocd_namespace = module.cluster.argocd_namespace base_domain = module.cluster.base_domain } module "oidc" { source = "git::https://github.com/camptocamp/devops-stack-module-oidc-aws-cognito.git//modules" cluster_name = var.cluster_name argocd_namespace = module.cluster.argocd_namespace base_domain = module.cluster.base_domain cognito_user_pool_id = aws_cognito_user_pool.pool.id cognito_user_pool_domain = aws_cognito_user_pool_domain.pool_domain.domain } module "monitoring" { source = "git::https://github.com/camptocamp/devops-stack-module-kube-prometheus-stack.git//modules" cluster_name = var.cluster_name oidc = module.oidc.oidc argocd_namespace = module.cluster.argocd_namespace base_domain = module.cluster.base_domain cluster_issuer = "letsencrypt-prod" metrics_archives = {} depends_on = [ module.oidc ] } module "loki-stack" { source = "git::https://github.com/camptocamp/devops-stack-module-loki-stack.git//modules/eks" cluster_name = var.cluster_name argocd_namespace = module.cluster.argocd_namespace base_domain = module.cluster.base_domain cluster_oidc_issuer_url = module.cluster.cluster_oidc_issuer_url depends_on = [ module.monitoring ] } module "cert-manager" { source = "git::https://github.com/camptocamp/devops-stack-module-cert-manager.git//modules/eks" cluster_name = var.cluster_name argocd_namespace = module.cluster.argocd_namespace base_domain = module.cluster.base_domain cluster_oidc_issuer_url = module.cluster.cluster_oidc_issuer_url depends_on = [ module.monitoring ] } module "argocd" { source = "git::https://github.com/camptocamp/devops-stack-module-argocd.git//modules" cluster_name = var.cluster_name oidc = module.oidc.oidc argocd = { namespace = module.cluster.argocd_namespace server_secrhttps://kubernetes.slack.com/archives/C01SQ1TMBSTetkey = module.cluster.argocd_server_secretkey accounts_pipeline_tokens = module.cluster.argocd_accounts_pipeline_tokens server_admin_password = module.cluster.argocd_server_admin_password domain = module.cluster.argocd_domain } base_domain = module.cluster.base_domain cluster_issuer = "letsencrypt-prod" depends_on = [ module.cert-manager, module.monitoring ] }
-
How to allow dynamic Terraform Provider Configuration
# Install Kubernetes & Argo CD using a local module # (from https://devops-stack.io) module "cluster" { source = "git::https://github.com/camptocamp/devops-stack.git//modules/k3s/docker?ref=master" cluster_name = "default" node_count = 1 } # /!\ Setup the Argo CD provider dynamically # based on the cluster module's output provider "argocd" { server_addr = module.cluster.argocd_server auth_token = module.cluster.argocd_auth_token insecure = true grpc_web = true } # Deploy an Argo CD resource using the provider resource "argocd_project" "demo_app" { metadata { name = "demo-app" namespace = "argocd" } spec { description = "Demo application project" source_repos = ["*"] destination { server = "https://kubernetes.default.svc" namespace = "default" } orphaned_resources { warn = true } } depends_on = [ module.cluster ] }
terraform-provider-argocd
-
Is using an argocd provider for terraform an anti-pattern? Why not just use helm provider?
I'm looking at projects like https://github.com/oboukili/terraform-provider-argocd and wondering if using this project would be an anti-pattern? For context I have a repo hosted with DigitalOcean that looks like atlantis provisioning terraform code folder -> atlantis code -> argocd -> pritunl. I'm thinking I want my initial terraform code to provision atlantis, then have atlantis provision an argocd server, then have argocd provision a custom pritunl helm chart. Just wondering if I should use Terraform to manage the argocd provisioning aspect of it or not and if it makes sense?
-
How to allow dynamic Terraform Provider Configuration
I'll use the example of the Argo CD provider. In a single Terraform run, we would like to:
What are some alternatives?
terraform-kubestack - Kubestack is a framework for Kubernetes platform engineering teams to define the entire cloud native stack in one Terraform code base and continuously evolve the platform safely through GitOps.
terraform-kubernetes-manifests - Terraform modules for managing Kubernetes manifests
gaia - Gaia is a Terraform 🌍 UI for your modules, and self-service infrastructure 👨💻
terraform-provider-aws - Terraform AWS provider [Moved to: https://github.com/hashicorp/terraform-provider-aws]
devops-stack-module-kube-prometheus-stack - A DevOps Stack module to deploy and configure the kube-prometheus-stack
terraform-provider-google - Terraform Provider for Google Cloud Platform
bedrock - Automation for Production Kubernetes Clusters with a GitOps Workflow
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
geonetwork-microservices
devops-stack-module-traefik - A DevOps Stack module to deploy and configure Traefik
fortinet-azure-solutions - A set of Azure Templates for getting you started in Azure with Fortinet solutions. This repository is a place for beta releases and work on the latest templates to be published on github.com/fortinet or custom templates.