-
Notifications
You must be signed in to change notification settings - Fork 178
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
[container] Implement UPDATE_CHECK for container configuration replacment #1750
Comments
I've created a branch (two actually) to implement support for UPDATE_CHECK. I figured I would start a short discussion here before opening a PR for code review. Branch 1issue/1750-container-update-check-guild-mainnet This branch changes the container entrypoint to include UPDATE_CHECK support.
Fork image support:
I did not include G_BRANCH logic in this branch. Prior discussion with tool/repo maintainers was a preference to only publish containers that use the master branch. I feel this promotes a SPO fork to submit PR's with code that benefits all SPOs. This is my own opinion however, so other contributors may feel having G_BRANCH directly in the entrypoint is preferred, which could easily be added in a separate PR with its own testing. I see three options available for replacing / getting G_BRANCH logic:
Branch 2issue/1750-container-update-check Doesn't include commit e59873e. This is just in case it is preferred to handle this "simulated network" via the suggestion to mount a volume to @Fuma419 This may eliminate the need for G_BRANCH logic. Also should remove the need to persist the G_ACCOUNT build arguments into the container image instead of setting it for the generated container when needed. @rdlrt @Scitz0 @redoracle If there are no blockers with the proposed changes to behavior I will open a PR submit one of the two branches for PR review, whichever is preferred. |
I need time to check the branches, but if it has been tested and the dynamic config download is still possible then I have no objections. Remember the documentation needs to be updated accordingly in the branch before merging. |
It appears to be working.
So without G_ACCOUNT being passed in it should properly update the configs for any network from cardano-community as described above. |
@redoracle PR #1754 has been opened. When you get a moment please review the documentation, I placed it in the tips.md file. Let me know if there is anything you feel is missing. |
Implements the UPDATE_CHECK logic for containers. * Containers are now built with static versions of the configuration files, by default they should always start and work with the built in configs for any network. * To restore the original behavior and update configs and scripts from cardano-community master branch every time the container starts set the `UPDATE_CHECK=Y` environment variable for the container. closes #1750
…1755) Implements a variation on the current logic to always push container images. Production images still go to Docker Hub, while testing images go to GitHub Container Registry and are private except when the container package has permissions granted to github users. This PR builds on top of PR #1750, as it addressed issue #1748 where a non production cardano version could be the tag of the image while the image actually includes the older production node version from the master branch. closes #1753 --------- Co-authored-by: RdLrT <[email protected]>
Describe the bug/feature
Bug
Containers which start running a specific node version will update the configuration files automatically to an incompatible set of configuration files result in a crash of the container.
Feature
The feature is to implement UPDATE_CHECK logic similar to other scripts and tools provided. With the default value of N the container will always start with valid configuration files and only require the defined NETWORK for the entrypoint.sh script to determine which configs to use. The original logic to dynamically update the configuration files can be restored by enabling the
To Reproduce
Steps to reproduce the behavior:
$CNODE_HOME/priv/files
which match the node binary.docker logs
Expected behavior
A container image should be persistent in its behavior and should continue to work as it was originally designed. Unless the operator chooses to modify the container, update its configuration files, or change it in some way it should continue to work persistently and without fail.
Version:
The text was updated successfully, but these errors were encountered: