Skip to content

Conversation

@blakeromano
Copy link
Contributor

This is a very basic implementation of the GitOps Bridge in Pulumi Typescript. This implores using a Hub Spoke model where a GitOps Controller is deployed in a "Hub" cluster and there are "Spoke" clusters that the Hub cluster communicates with and deploys resources to.

In this implementation we use IRSA to give Argo an appropriate role as well as the ability to assume other roles in other accounts/regions and create a role in our Spoke clusters for Argo to be able to assume as well mapping that to a master role in the control plane.

We ideally want to support two types of GitOps configuration. One is where we can upload a K8s secret yaml into Github where a GitOps Controller could pick it up and deploy and manage the lifecycle of it. Another is where you generate the K8s secret yaml and Pulumi manages the lifecycle of it. In the current implementation only the first method is functional but should be fairly simple for someone to add support for the latter.

Note: Outside of Pulumi Preview and an adaptation of this that I have done previously this is untested so I'd recommend validating that this works as expected by actually deploying this.

Copy link
Member

@csantanapr csantanapr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hard ask is on the directory name adding eks folder

blakeromano and others added 11 commits February 22, 2024 13:14
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
* update crossplane

---------

Signed-off-by: Carlos Santana <csantana23@gmail.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
…bridge-dev#46)

Signed-off-by: Carlos Santana <csantana23@gmail.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
Signed-off-by: Carlos Santana <csantana23@gmail.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
* initial work argo-workflows

Signed-off-by: Carlos Santana <csantana23@gmail.com>

Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
Signed-off-by: Carlos Santana <csantana23@gmail.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
* update argo workflows

Signed-off-by: Carlos Santana <csantana23@gmail.com>

* add karpenter pattern

Signed-off-by: Carlos Santana <csantana23@gmail.com>

* make eks 1.29

Signed-off-by: Carlos Santana <csantana23@gmail.com>

---------

Signed-off-by: Carlos Santana <csantana23@gmail.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
…ap command.

Signed-off-by: Blake Romano <blake.romano@imaginelearning.com>
@blakeromano blakeromano force-pushed the pulumi-ts-implementation-start branch from 799ba00 to f790c55 Compare February 22, 2024 20:14
Copy link
Member

@csantanapr csantanapr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you need to rebase I see other none related changes

Copy link
Member

@csantanapr csantanapr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@csantanapr csantanapr merged commit a4d55d0 into gitops-bridge-dev:main Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants