-
-
Notifications
You must be signed in to change notification settings - Fork 199
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
Gojsonnet inside the kapicorp/kapitan:v0.30.0-rc.0 docker image ? #778
Comments
Hey @jperville at the moment this is still optional support in the sense that gojsonnet will be used if the module is present in the system. So that is why you won't see it installed in the docker image, but if using pip you can install gojsonnet additionally. Maybe going forward it makes sense to have a flag in |
Another option would be to support |
@pvanderlinden @simu @janeklb what do you think? |
Could we publish a separate docker image with gojsonnet? Or always include the gojsonnet package but have a cli flag to enable it? Happy to submit a PR for the latter |
I don’t think it makes sense to differentiate the configuration type based on the jsonnet implementation |
I think the main issue with gojsonnet is that it might be to complicated for some to install? With a docker image the user would not have that issue, so maybe it would be good to just have gojsonnet as a default in the docker image? Unless @janeklb thinks it needs more testing in the wild before making it the default. |
Thank you everyone for the feedback, looking forward to having a jsonnet-enabled docker image to test. |
Imo we have the following options:
While i've personally been using the Re users installing it locally (ie. |
I tried to install gojsonnet inside the kapitan 0.30.0.rc.0 docker image, not that easy: docker run --rm -ti -u 0 -w /opt/venv --entrypoint /bin/bash kapicorp/kapitan:v0.30.0-rc.0 -ce '
apt-get update && apt-get install -qy golang-go && export GOPATH=/opt
source bin/activate
pip3 install gojsonnet==0.17.0 Even if I manually install the Since go adds a lot of dependencies I vote for option 1 (additional gojsonnet-enabled docker image). |
I agree that it doesn't make sense to differentiate the compile type based on the Jsonnet implementation. Otherwise we (https://github.com/projectsyn) are not affected by the discussion/decision here, as we're building our own Docker images. |
I've opened up a poc PR (#779) to show how it could work, but we'll need to update the github actions as well as the |
@jperville reason the above doesn't work is cause debian stretch only has golang 1.7.x available :( |
@janeklb @simu @jperville I still believe there's value in keeping both jsonnet and gojsonnet. I feel that perhaps the way to go is to either introduce a compile flag (e.g. wdty? |
For the dockerised version that would make sense; however, imo it would result in a worse user experience for those using the python module directly. Why? In order for that flag to work, That said, if you're looking to primarily distribute Another option could be to not list In terms of what kapitan's "default" jsonnet implementation should be.. maybe start by offering
Please elaborate... I'm now curious why it might be problematic :) |
To keep it simple for now I would suggest the following as a release:
|
@janeklb very valid points! Let's go with that 👍🏼 |
This issue is stale because it has been open for 1 year with no activity. |
Describe the bug/feature
The release notes for v0.30.0-rc.0 say that gojsonnet support has been merged, yet the kapicorp/kapitan:v0.30.0-rc.0 docker image does not embed the gojsonnet python package.
To Reproduce
Expected behavior
We can see that the current kapitan source in
/opt/venv
has the support for gojsonnet as documented in the release notes.However the gojsonnet python module is not present in the image (the
find
command above should return it somewhere in the python3.7 site-packages) resulting in gojsonnet support not being available in the docker image.** If it's a bug (please complete the following information):**
python --version
:Python 3.7.11
pip3 --version
:pip 21.2.4 from /opt/venv/lib/python3.7/site-packages/pip (python 3.7)
Are you using pyenv or virtualenv?
:using virtualenv inside the official docker image
Additional context
I tested this rc.0 image to play with the gojsonnet support.
I have high hopes that gojsonnet can help reduce significantly the compilation time of my project.
The text was updated successfully, but these errors were encountered: