Skip to content

akuity/sedemo-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

864 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Akuity Demo - Platform Setup

This repo respresents the typical objects under control of a central platform team for organizations using Argo CD and Kargo on the Akuity Platform.

Just want to run demos?

Use SSO sign-in, and if you dont have access, bug @eddiewebb

General Access and Change Mangement

This repo contains 3 layers of IaC

  • AWS Infrastructure via Terraform
  • K8s Platform Config via Terraform
  • Application Layer Config via Argo CD

Access to EKS Cluster

To make any AWS or EKS level changes you will need access to AWS Account and roles as described in Infra Demo - AWS Readme

Making Argo or Kargo demo app changes

Because this demo environment if fully defined as IaC, you can open pull requests on this repo or infra repo to add or change demos.

Directory Structure

This repo contains ArgoCD application manifests that control all apps, components, and Kargo workflows used in our demo clusters.

Use Cases Demonstrated

Progressive Delivery with Argo Rollouts

Several apps make use of Argo-Rollouts in their delivery, but the primary one is rollouts-app which also uses a control-flow and fan-out pattern in Kargo to deploy to several prod stages concurrently.

Rollouts analysis

To enable realistic demo of rollouts, the cluster includes a deployment of Prometheus which monitors traffic for non-200 response codes (which can be triggered from rollouts app UI). You can see analysis results in Argo's Rollouts tab.

App URLS

Templatized Projects w/ Helm

The idea of a "golden path" or "standard pipeline" was manifested as a single Kargo project definition templatized w/ Helm. The k8s rollout and ingress is all controlled by central team. Application teams just build a docker image and have a few parameters they can play with. Templated Projects

Vendor Helm Charts with custom values

Most external helm charts will need some level of internal customizations. For that we make use of multi-source applications from components which reference value files in value-overrides

Prometheus

For instance, our prometheus install pulls vendor provided helm chart, and customizes the use of custom url and scrap jobs via our own values file

Cert Manager

Not Currently Implemented

External Secrets Operator

Connects to AWS Secrets Manager to pull secrets used in Local SHard demo. See Also secrets

Missing / Needed Use Cases

Please note any use cases we should expand, add, or refine.

Contributing & Dev Notes

TODOS

Considerations

Kargo and ArgoCD Connection

This demo assumes that Kargo and Argo CD are connected with a bi-directional relationship.

Kargo has access to Argo CD

Must be connected when setting up Kargo Agent. If you already have an agent you may add a 2nd, mark it as default, and delete the original.

  1. Akuity UI -> Kargo -> -> Agents
  2. Register Agent
  3. Select Argo CD instance under Akuity Managed Argo CD Instance

Argo CD can manage Kargo Cluster

  1. Akuity UI -> Argo CD -> -> Clusters
  2. Add Integration
  3. Select your Kargo cluster to connect to, and name kargo (or upgate kargo app in this repo)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors