-
Notifications
You must be signed in to change notification settings - Fork 13
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
Feedback? #43
Comments
Hi! I found your HULL project and played with it over the weekend. 🙂 It´s awesome! On Friday I have an idea to create some smart and useful Helm templates utilizing all advanced techniques possible. I spent a lot of time searching over GitHub, Gitlab, and whole the Internet, but didn't find anything - just theory and “do it yourself” guides... Because I'm very busy to star with some development, I give it a try and try google again - and found your HULL! 🙏 Looks remarkably good until now - still need some more tests... Also have some points for improvements - I try to open PR or Issue later... 😉 |
Hello, I've started playing with Hull, and I will probably add more comments later on, when I am experienced enough. So far, it's been the first Helm Common Library chart that I've seen adding so much new features to Helm. This is great as it allows to do so much more, but also requires some time to adapt. I am currently using Hull to reimplement a Chart I've done differently. I've noticed there was no route object (from Openshift) in Hull. If I want to use a Route, what should I do :
|
Hi @JuryA and @matthias4217, After having opened this issue a year ago I did not check it as often anymore and the notification about your comments unfortunately slipped by me (Covid taking some credit for that 👎). But be assured that I am incredibly happy that you like the project and care about making it better! @JuryA @matthias4217
Having said this, there is a fourth option which is in my opinion the fastest and maybe a sufficient solution for you: you can use the Using HULL enables usecases pretty much missing from Helm (and in my opinion not sufficiently replaced by other tools such as an kustomize post-script task). We use as the basis for the usual application-wrapping charts, but meanwhile also often as a "swiss-knife" like tool to create additional project-related K8S objects for our many customer project deployments. Since you can add everything at configuration time you can virtually have a blank canvas HULL chart and in your CD workflow deploy the objects. Definitive pro is you can embedd all your configuration into Helm chart config and don't need to work "out-of-band" by scripting additional Again, finding your comments made my day so thanks for this 👍 If you have any other thoughts, concerns or if I was babbling too much and still need help just let me know! |
Hi! I'm in rush now, but first, thank you for your reply! 😉 ... I want to quickly reply to your question:
My answer is:It depends... 🤔 Openshift is smart enough to simply take standard K8s Ingress resource and then (and ONLY then) if IngressClass is NOT defined, automatically generate Route resources from them. But ... there are a number of caveats that concern if you use for example URL Rewrites or any other fancy and not standardized features. If you need such things to use, then you will definitely need to use Route objects directly. The question is if such things as URL Rewrites are used so often. IMHO use of URL Rewrites should be just in very special corner cases when you don't have other options. Needs of URL Rewrites only be defended if: 1) It's used for some special purpose, 2) is it necessary due to be a part of some complex enterprise structure we cannot change or 3) because it's port of some ultra-optimization. Otherwise, your application has probably the wrong design (the most case). From my point of view if you want to implement Route object into HULL you should also consider adding also Traefik resources (Middleware, etc.) and de facto any other Ingress Controllers and their respective objects. All of them have the same behavior and are automatically handled - again - if you will use any non-standardized stuff, you must also create appropriate objects manually. So I don't see any difference between Openshift Routes and Ingresses with various IngressClasses. |
I definitely agree that everything can be rewritten to pure HULL format and level of complexity (means for humans) but I found some special cases which will be good to discuss. One such idea is to be able to take rendered K8s Manifest and instead send it directly into K8s, just apply for example merge with some other preprepared Manifest. I have some proof of concept to test if it's somehow useful or not. |
That would be my fear, adding one of the CRD bunch in HULL as an object type may lead to adding (maybe countless) others ... I realize the door is opened with the Unless there is a strong benefit for a particular CRD from:
I still think the For example, the
looks almost the same when expressed as a HULL
Using transformations on the
and get a name like To give you a different (non-complete) real life example, this is a HULL chart where we create a
If you really need that schema validation, some thoughts I have:
Either way you might even get input validation of your CR done in HULL but I haven't tested both possibilities and the effort may outweigh the benefits? Thanks for the explanation of the
Open for discussion anytime ;) |
@gre9ory No problem with the delays. ^^ I've currently made a Hull fork with the implementation of a rough Route object. It's far from being perfect, but enough to work on my proof-of-concept chart using Hull. I hadn't thought of using The tutorial has indeed been of help, and I've gotten used of using Hull. I quite enjoy how lightweight my charts are now, and how transformations are really helpful. |
Hi @matthias4217,
Great :)
If you publicly share it I can give it a look?
Think it can help you achieve what you want in a reasonable way. And if you need more of e.g. CRs of OpenShift CRDs you can just add them the same way as
Awesome. I know it can do with some more commenting (which is not handled nicely in Go Templating unfortunately so not actually fun). At least some key parts would be better understandable with comments for sure. Within my company our whole deployment strategy is by now centered around using HULL charts so it will for sure not disappear out of a sudden and over time more colleagues will be brought on board. And if there is more (external) interest in keeping the project going and expanding I will certainly try to invest in more code commenting and it isn't even a huge code base to document in my opinion.
Will print that out and put it in a frame in my home office ;) Seriously, that was all I wanted to achieve, truly appreciated! |
@matthias4217 @JuryA Just wanted to check in if you are still happy and if there is something you like to see added featurewise? I am planning on next adding custom groups for object type defaults. So instead of just having Btw I have realized a long-planned And in case you haven't noticed, there is also a (rather) new So hope you are ok, |
Hey @gre9ory, really like your project and I plan to use it as a base for our charts. I'm just wondering if it is possible to set the namespace for the objects inside of values.yaml? Ideally I would like to have a |
Hi @sczech
Cool, thank you, happy to hear that 👍
I opened an issue #220 where I am happy to discuss this. Thanks! |
Hi there!
Please feel free to leave some feedback here e.g. in the comments about this project such as:
Thanks, any feedback is highly appreciated and helps us in improving the project.
The text was updated successfully, but these errors were encountered: