-
Notifications
You must be signed in to change notification settings - Fork 825
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
YAML packaging #101
Comments
So I wonder if this should be made a broader discussion - Each one has it's own pros and cons. Totally agree on the size of the install.yaml - it's starting to get unwieldy, and I keeping the two versions in sync is getting painful as well, and potentially prone to error. Top of mind concerns for me:
We should likely make a list of the features we are looking for in an install solution, and see what the best fitting tool is going to be. Thoughts? |
I have no preferences, as far as it cover all your concerns it's fine by me. |
Sounds fair enough. Probably another concern would be how it handles upgrades of installs in a sensible way. Sounds like time to start a spreadsheet and do some research! |
Regarding "roll your own" one option I was considering was a
And it could then have a variety of flags for configuring various options, which would work across I thought this was kind of interesting, as then the Go code could generate the self signed ssl certs within it, as well as do the installation steps. Not sure if this is reinventing the wheel, but thought I'd throw the idea out there, and see if it stuck. This is how helm does it: |
More research: Not pretty, but it is a solution. |
interesting plugin https://github.com/SUSE/helm-certgen |
Chat from today.
|
while reading the doc I found that you can run post installation test : https://docs.helm.sh/developing_charts/#chart-tests That's just awesome, I'm thinking to use flag switch in the controller container to run a simple gs/pod creation and release control. WDYT ? I'm planing to introduce this after a first version so probably create a new issue if we all think that's a boomer. |
We do have a need for #37 (End to end tests) - so maybe this helps with both tickets! |
Just be careful with this as you now need to install tiller in the cluster to make your tests. This is nice to use a sanity check for the user but I would probably not use this as end to end tests. |
But wouldn't we need to install tiller anyway, so we could install Agones, so we could do end to end tests? 😃 |
The other thought I had, if there is a way, is that there is a light test for end users, and then there's the full test for the actual e2e tests - if that is possible. |
we can do a full test for the user using this ! (create a gs, wait for it to have a pod assigned, communicate) I'm having hard time with end to end tests are really for us ? is it in an actual cluster ? |
So one thing I'm very much thinking - we do want automated testing of the Helm chart as well as e2e tests. So this is likely more a conversation for #37 - but part of that would be to install via helm, and then make sure things work. But we could defer the testing work until we have a valid Helm install. This actually makes me even more happy about using Helm for this work - it has lots of useful tools! |
Sorry midnight comment, but yes I was asking about the scope of e2e tests. |
To see the full scope of this feature take a look to this comment Work breakdown
|
I'm currently working on migrating the Soon, no more |
This removes the `sed` based templating and replaces it with a helm based workflow. All the `make` commands have stayed exactly the same. If you have an existing development cluster, it may be easiest to delete them and recreate them, as the tooling will install helm automatically now on cluster creation. I also snuck in some small Kubernetes 1.9.x upgrades as well. Parent ticket: googleforgames#101
This removes the `sed` based templating and replaces it with a helm based workflow. All the `make` commands have stayed exactly the same. This also moves the existing 0.1 release helm chat to the 0.2 development chart, and includes the features that were otherwise missing for 0.2 If you have an existing development cluster, it may be easiest to delete them and recreate them, as the tooling will install helm automatically now on cluster creation. I also snuck in some small Kubernetes 1.9.x upgrades as well. Parent ticket: googleforgames#101
This implements a `make gen-install` target that will generate the install.yaml via `helm template`. This also extends `make test` to have a test to ensure that the `install.yaml` is always kept up to sync with the Helm chart, otehrwise the build will fail. This does remove the explicit permissions for RBAC, but we don't have a specific need for them right now, so I feel it's worth the sacrifice to ensure these two configuration options stay in sync. Blocks on googleforgames#170, Parent ticket: googleforgames#101
This implements a `make gen-install` target that will generate the install.yaml via `helm template`. This also extends `make test` to have a test to ensure that the `install.yaml` is always kept up to sync with the Helm chart, otehrwise the build will fail. This does remove the explicit permissions for RBAC, but we don't have a specific need for them right now, so I feel it's worth the sacrifice to ensure these two configuration options stay in sync. Blocks on googleforgames#170, Parent ticket: googleforgames#101
This implements a `make gen-install` target that will generate the install.yaml via `helm template`. This also extends `make test` to have a test to ensure that the `install.yaml` is always kept up to sync with the Helm chart, otehrwise the build will fail. This does remove the explicit permissions for RBAC, but we don't have a specific need for them right now, so I feel it's worth the sacrifice to ensure these two configuration options stay in sync. Blocks on googleforgames#170, Parent ticket: googleforgames#101
This implements a `make gen-install` target that will generate the install.yaml via `helm template`. This also extends `make test` to have a test to ensure that the `install.yaml` is always kept up to sync with the Helm chart, otehrwise the build will fail. This does remove the explicit permissions for RBAC, but we don't have a specific need for them right now, so I feel it's worth the sacrifice to ensure these two configuration options stay in sync. Blocks on googleforgames#170, Parent ticket: googleforgames#101
This implements a `make gen-install` target that will generate the install.yaml via `helm template`. This also extends `make test` to have a test to ensure that the `install.yaml` is always kept up to sync with the Helm chart, otehrwise the build will fail. This does remove the explicit permissions for RBAC, but we don't have a specific need for them right now, so I feel it's worth the sacrifice to ensure these two configuration options stay in sync. Blocks on googleforgames#170, Parent ticket: googleforgames#101
Every remaining work has it's own issue, let's close it. |
Looking at the big install.yaml file and all the configurations possible, I think it would help people to provide a way of packaging YAML files.
Possible variables:
The default variable should reflect the current install.yaml.
We should also update the documentation to add installation step using helm on top of what we already have.
I don't think it's urgent for 0.1 but interesting to have.
/cc @rodcloutier
The text was updated successfully, but these errors were encountered: