feat: support init sidecar containers
What type of PR is this?
Uncomment only one
/kind <>line, press enter to put that in a new line, and remove leading whitespace from that line:/kind breaking /kind bug /kind cleanup /kind documentation /kind feature /kind hotfix /kind release
What this PR does / Why we need it: This allows port allocations on Init Container Sidecars. It also adds validation for init containers, which seems to be missing.
Init container sidecars offer better life cycle management, and is now fully supported in Kubernetes. In general Agones does not block the creation of init sidecars, but currently ports do not work on them.
Which issue(s) this PR fixes:
Closes #4358
Special notes for your reviewer:
/gcbrun
Build Succeeded :partying_face:
Build Id: ae44d556-bf41-49d9-92cd-69f71ab3b42b
The following development artifacts have been built, and will exist for the next 30 days:
- image: us-docker.pkg.dev/agones-images/ci/agones-controller:1.54.0-dev-ce27ce0
- image: us-docker.pkg.dev/agones-images/ci/agones-extensions:1.54.0-dev-ce27ce0
- image: us-docker.pkg.dev/agones-images/ci/agones-sdk:1.54.0-dev-ce27ce0-linux
- image: us-docker.pkg.dev/agones-images/ci/agones-ping:1.54.0-dev-ce27ce0
- image: us-docker.pkg.dev/agones-images/ci/agones-allocator:1.54.0-dev-ce27ce0
- image: us-docker.pkg.dev/agones-images/ci/agones-processor:1.54.0-dev-ce27ce0
- Linux C++ SDK (build): agonessdk-1.54.0-dev-ce27ce0-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.54.0-dev-ce27ce0.zip
A preview of the website (the last 30 builds are retained):
- https://ce27ce0-dot-preview-dot-agones-images.appspot.com/
To install this version:
git fetch https://github.com/googleforgames/agones.git pull/4375/head:pr_4375 && git checkout pr_4375
helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.54.0-dev-ce27ce0
Apologies - realised this slipped through with all the goings on. I need to sit down and re-read how init sidecar containers work to make sure I understand all the bits and piece of this before reviewing one more time.