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

Design decisions and discussion #18

Open
FlorianLudwig opened this issue Aug 4, 2020 · 2 comments
Open

Design decisions and discussion #18

FlorianLudwig opened this issue Aug 4, 2020 · 2 comments

Comments

@FlorianLudwig
Copy link

Hi there!

I saw your comment over on cdk8s-team/cdk8s#21 but didn't want to answer there as it goes off-topic quite fast. Just like you I am working on something similar to cdk8s. I started it after finding cdk8s and getting frustrated with it 😅 (or actually frustrated with myself as I tried patching cdk8s but was to lazy to understand all the typescript-binding magic) So I thought maybe we could have a discussion about some design decisions as we might have similar goals. At least the python and helm focus is there so far ;)

I looked through your repo but didn't find any examples of how avionix looks in action. In the issue you said you generate helm charts - just like me :) But my helm charts are just single yamls with all the definitions inside. I thought about implementing something to also support values but I decided against it as the generation of the yamls is already dynamic and wanted to keep it simple. What is your use case? ArgoCD as well? Why not have "values" for your python chart?

The use case of @cweidinger for different environments / regions within ArgoCD I have not yet looked into, will have to talk to a colleague who knows more about ArgoCD. But in our use cases so far where we use my pdk8s deployment is generation time of the chart. So I can just access env variables or even execute kubectl to get state ouf of my target.

@zbrookle
Copy link
Owner

zbrookle commented Aug 4, 2020

Hey @FlorianLudwig glad we're on the same page! If you'd like to take a look at an implementation I'm actually building something with this framework right now in avionix_airflow.

I actually didn't realize that cdk8s was around when I made this, but I actually think that helm is a very good and robust package, but the yaml is messy (doesn't allow for inheritance or much abstraction). The reason I don't have values built in is because I think that's actually one of the things that makes helm very messy, all of the values are stored in one place as opposed to in a class, although, I'd also be happy to implement support for values if others have a use case for it.

My package, (at least after I merge the latest pull request) can also automate installation of any dependencies, as well as just general helm installation, which I don't think cdk8s does.

In terms of my actual use case, I just wanted object oriented helm, but I think it would work for getting the generation time of the chart as well.

@zbrookle
Copy link
Owner

@FlorianLudwig I just made a couple new releases and added a full readthedocs. It should be a lot easier to understand and look through if you want to check it out

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

No branches or pull requests

2 participants