Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add localstack as addon package #257

Merged

Conversation

rattboi
Copy link
Contributor

@rattboi rattboi commented May 16, 2024

This adds localstack as an addon to the ref implemention, which involves the following:

Install localstack as argo application
Add a new Crossplane ProviderConfig for localstack

I already attempted to add the same directly to the ref impl here, but there were lots of cross-cutting concerns there. This is more of a drop-in, although doesn't integrate quite as much.

I think this should be much more acceptable, despite the minor UX downsides.

Signed-off-by: Bradon Kanyid (rattboi) <[email protected]>
@rattboi rattboi force-pushed the rattboi/add-localstack-as-addon-package branch from 30db402 to b6f425a Compare May 16, 2024 01:26
@nimakaviani
Copy link
Contributor

Thanks for the changes @rattboi ... this looks good to me.

I also played around with the code in your previous PR and landed on something similar but with its full functionality working.

Take a look here: nimakaviani/idpbuilder/commit/07e92225124ff03a1af113fb94b0cb54b4ea1c1e

Assuming that we also enable-helm in argocd separately, this should work.

a few considerations:

  • the coredns overlay successfully rewrites the cm-cordns.yaml file and I think a similar pattern can be used to rewrite any k8s resource
  • the backstage-template bit is a bit disappointing as it rewrites the git history tree, and we end up losing the other templates. I think we should find a way to have idpBuilder only push to a path to the embedded git repo so we can keep the rest of the git tree untouched. once we have a fix for it, this should also be a minimal change to update the template itself.
  • one big caveat is that we are not augmenting but overriding resources, hence quite some duplication. I think for now it is fine, but as we see more addons coming in, we should think about how to fix it.

Anyhow, please take a look and tell me what you think, and we can pull in whatever you like into this PR and merge it.

thanks again for the very interesting line of work.

@rattboi
Copy link
Contributor Author

rattboi commented May 16, 2024

I took a look at your branch, and it is interesting.

I think personally I am not a fan of the fact that there is no composability with the overlay you have described, instead doing full swap-outs/replacements of the underlying manifests. I can see that it does work, but it also means that if the base is updated, you need to propagate those changes into whatever addon overlay you have as well. Also, if there were some other addon that needed coredns changes, now you're stuck again, either propagating the localstack changes into your other addon, or you're in an either/or situation...

I think I'm good merging this as-is, and waiting for a composable solution.

@nimakaviani nimakaviani self-requested a review May 16, 2024 18:58
Copy link
Contributor

@nimakaviani nimakaviani left a comment

Choose a reason for hiding this comment

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

sounds good.

Frankly, I am not too concerned about the fact that we will do a full override fore cm-coredns.yaml. We can automate that bit via some scripting to ensure what we get in the localstack folder extends what's in there for the ref implementation. The part that was more annoying was the bit on rewriting the git tree.

But yeah, lets leave that as an open issue and we will explore alternatives.

@nimakaviani nimakaviani merged commit 25caace into cnoe-io:main May 16, 2024
2 checks passed
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