Coder Social home page Coder Social logo

danmanners / argo-cluster-demo Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 169 KB

My community opinionated template for deploying Kubernetes clusters on-prem and in AWS using Pulumi, SOPS, Sealed Secrets, GitHub Actions, Renovate, Cilium and more - in practice!

License: MIT License

Dockerfile 3.68% TypeScript 56.37% Shell 39.95%

argo-cluster-demo's Introduction

Deploy Kubernetes in AWS using Talos Linux backed by ArgoCD

This repository is an opinionated way to deploy Kubernetes in AWS using Talos Linux and ArgoCD.

The estimated cost (in USD) for this project can be found here and equates to about $0.1678 per hour or $122.51 per month, or $1,470.12 per year.

Critical Notes

Warning

This project is still in the very early stages of development and is not ready for production use. Please use at your own risk!

๐Ÿ‘‹ Introduction

This project aims to serve as an opinioned but practical starting point for deploying cloud resources using Infrastructure-as-Code (IaC), Kubernetes in AWS using Talos Linux (not AWS EKS), and GitOps using ArgoCD. I want to enable those interested to learn how to go from zero to operational, so I will attempt to explain everything in detail as you navigate through this repository! I hope this serves as a useful learning tool for you, dear reader, as well as a practical starting point for deploying your own Kubernetes cluster in the cloud.

As best I can, links to other resources that I have found useful in my personal learning journey and references to any technology utilized by this project will be provided.

โœจ Features

  • Automated and Immutable Deployment of Kubernetes in AWS
  • ArgoCD for GitOps and declarative service management
  • Encrypted Secrets in your Git Repo using Bitnami-Labs/Sealed-Secrets

...and more!

๐Ÿ“ Pre-Flight Checks

Caution

Before we get started, everything below must be taken into consideration. You must make sure:

  • Have an AWS account
  • Install all of the necessary tooling on your local workstation:

๐Ÿš€ Getting Started

Important

For all stages below, the commands must be ran from your personal workstation within the specified directories.

๐ŸŽ‰ Stage 1: Create your Git repository

  1. Create a new public repository by clicking the big green "Use this template" button at the top of this page.

  2. Clone your new repo to you local workstation and cd into it.

๐ŸŒฑ Stage 2: Setup your local workstation environment

tbd

๐Ÿ”ง Stage 3: Prep all critical files

tbd

๐Ÿ“ฃ Post installation

tbd

๐Ÿ‘‰ Help and Support

tbd

Thank You's and Project Influences

This project was heavily influenced by the following projects and communities:

GitHub Projects

Communities

Discord Banner 2

Without the inspiration and assistance of these individuals and communities, this project would not be possible.

Make sure to check out their projects and communities as well!

argo-cluster-demo's People

Contributors

danmanners avatar renovate[bot] avatar

Stargazers

James DeLorenzo avatar

Watchers

 avatar

argo-cluster-demo's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update actions/checkout action to v4.1.4
  • Update docker/dockerfile Docker tag to v1.7.1
  • Update docker.io/bitnami/redis Docker tag to v7
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
containers/Dockerfile
  • docker/dockerfile 1.6.0
  • docker.io/library/alpine 3.19
  • docker.io/library/alpine 3.19
github-actions
.github/workflows/build-container.yaml
  • actions/checkout v4.1.1
  • docker/setup-buildx-action v3.0.0
  • docker/login-action v3
  • docker/build-push-action v5
.github/workflows/infrastructure.yaml
  • aws-actions/configure-aws-credentials v4
  • actions/checkout v4.1.1
  • actions/setup-node v4
  • pulumi/actions v5
helm-values
kubernetes/proxmox/core/kube-system/qemu-guest-agent/values.yaml
kubernetes/proxmox/core/secrets/akeyless-api-gateway/values.yaml
  • busybox 1.30.1
  • docker.io/bitnami/redis 6.2
npm
infrastructure/pulumi/package.json
  • @pulumi/aws ^5.0.0
  • @pulumi/awsx ^1.0.0
  • @pulumi/pulumi ^3.0.0
  • eta ^1.12.3
  • @types/node ^14
regex
kubernetes/proxmox/core/secrets/external-secrets/kustomization.yaml
kubernetes/proxmox/core/secrets/sealed-secrets/kustomization.yaml
kubernetes/cloud/apps/ebs-csi-driver/env.sh
  • cert-manager 1.13.3
kubernetes/proxmox/core/argocd/env.sh
  • argo-cd 6.2.3
kubernetes/proxmox/core/cert-manager/env.sh
  • cert-manager 1.13.3
kubernetes/proxmox/core/external-dns/env.sh
  • external-dns 1.14.3
kubernetes/services/efs-csi-driver/env.sh
  • cert-manager 1.13.3

  • Check this box to trigger a request for Renovate to run again on this repository

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: .github/renovate.json5
Error type: The renovate configuration file contains some invalid settings
Message: Regex Managers must contain datasourceTemplate configuration or regex group named datasource

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.