-
Notifications
You must be signed in to change notification settings - Fork 30
[WIP][1.1.0][BREAKING] Security Patches and General Improvements #18
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
Conversation
- Bumped Chart version to 1.0.13 (since we both forgot it :P) - Moved account data from ConfigMap to Secret, supporting an existing secret to provide `username`, `password` and `token` - Moved server password from ConfigMap to Secret, supporting an existing secret to provide `game_password` - Moved rcon password from ConfigMap to Secret, supporting an existing secret to provide `rcon.password` - Moved account data from `server_settings.` to `account.` in values.yaml - Moved server password from `server_settings.` to `serverPassword.` in values.yaml - Added `account.accountSecret` field to values.yaml - Added `rcon.passwordSecret` field to values.yaml - Added `serverPassword.passwordSecret` field to values.yaml - Set `spec.template.spec.hostNetwork` to false if the Service is different from a NodePort due to security best practices - Added a check for annotations inside values.yaml to avoid creating an empty `metadata.annotations` inside the Factorio Service - Removed `rconpw` from the ConfigMap and moved it to a dedicated Secret - Removed account data and game password from server-settings.json, adding them to said JSON via the InitContainer - Updated mod-downloader-configmap.yaml to fetch account data from Secrets
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. Appreciate the changes :D
There are a few issues that came up during the linting and test. |
Yeah I know, fixing one thing at a time, unfortunately CT won't tell you evrything that's wrong at the same time, but it stops at the first error it notices. |
@SQLJames I can happily announce I finally fixed the testing error, it was due to a non-functional test pod. I changed it to test RCON functionality, which proves that the server itself is working too. Push incoming with various fixes |
- Changed helm test from wget (not useful with UDP ports) to RCON - Changed deployment.yaml, service.yaml and rcon-service.yaml so that Factorio listens on its default port, but the 'external' port is customizable via the services - Added CI values to be used when using CT install - Fixed GH Workflow when merging into main branch
I must also add that this release is breaking for existing installations, should we ignore that and just release it as a major release or should we continue to support old installation by including the values I removed as 'deprecated' and to be definitively removed? Keep in mind that I had to move the |
Extended timeout time for testing pod
@SQLJames it is fully working now, let me know what you think about this and I will adjust the code accordingly. My suggestion is to release it as a new major release (e.g. version 1.1.0) since usually who uses FluxCD, ArgoCD or other CD solutions for helm (like me) doesn't use "latest" as chart version and will update manually once this release goes public. |
This is a valid point, I do think having the version being bumped from a patch to a new minor release would make sense with the breaking changes. I didn't think about that. |
Error on my side, deleted the wrong branch so the PR closed, I apoligize.
Working on it now. Since this has become a fully-fledged minor release, I'm going to add a couple more things that I think would improve this repository readability. |
Added documentation about the parameters
I thinks it is ready for merging now, before merging I want to write a proper changelog of what changed and then I will request approval again. |
ChangelogBreaking Changes
Non-Breaking Changes
Technical Changes
|
Sorry for the delay in getting back to this, Busy week at work with some deployments. I appreciate the work you contributed back to the project. This goes a long way in securing the chart and making it more robust :) |
username
,password
andtoken
game_password
rcon.password
server_settings.
toaccount.
in values.yamlserver_settings.
toserverPassword.
in values.yamlaccount.accountSecret
field to values.yamlrcon.passwordSecret
field to values.yamlserverPassword.passwordSecret
field to values.yamlspec.template.spec.hostNetwork
to false if the Service is different from a NodePort due to security best practicesmetadata.annotations
inside the Factorio Servicerconpw
from the ConfigMap and moved it to a dedicated Secret