Table of Contents
Imageswap is a simple program written in Go that is used to perform image registry hostname transformations as a Kubernetes mutating webook.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
- Go 1.17.1
- Docker
- KinD
To compile only the imageswap
binary:
go build -o imageswap main.go
Or, to output to build/_output/bin/
make build
Alternatively, to build the binary and create a container image to host it:
make build-image
Please see Makefile
and internal/deploy/
for materials used to test the webhook locally using KinD. The manifests in internal/deploy/
can be used as a starting place for deploying
All dates are TBD, this project is passively developed
- Makefile test
- Unit Testing
- Makefile fmt
- Makefile lint
- golangcli-lint
- Validating webhook
- More complete examples
- CI pipeline
- Serve on 8080 (insecure)
- Helm Chart
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache 2.0 License. See LICENSE
for more information.
Tim Seagren - LinkedIn - [email protected]
Project Link: https://github.com/chaospuppy/imageswap
- douglasmakey's admissionscontroller was used for large portions of the
server
,pod
, andhook
packages - morvencaos's mutating webhook tutorial was leveraged for it's Kubernetes CSA and webhook CA patch scripts (
internal/deploy/webhook-create-signed-cert.sh
andinternal/deploy/webhook-patch-ca-bundle.sh
respectively) - KinD with registry