In this refactor I:
1. Created KanikoOptions to make it easier to pass around arguments
passed in through the command line
2. Reorganized executor.go by putting the logic for pushing the image in
a new file push.go
3. Made some error messages clearer
4. Fixed a mistake in the README for pushing to AWS
5. Marked the --bucket flag as hidden since we want people to use
--context instead, and marked an aws flag as hidden which is set in a
vendored directorya
The flag, `--no-push`, is added to allow building a container image
without pushing to a container registry. It can be common, especially
with multi-stage builds and `--target`, to build enough to run the tests,
and then perform a push in a separate CI step. This will facilitate these
workflows.
This commit adds docs aimed at folks interested in ramping up and
contributing to kaniko.
It starts with setting up a github account and forking to make sure the
barrier to entry is as low as possible.
The previous document did not mention that Docker runs as root, and so
some of the benefits of the tools being compared (such as img,
orca-build, and umoci) were not properly explained. This is quite
important because while Kubernetes users have Docker installed (on most
clusters), on local machines and non-Kubernetes workloads the story is
quite different.
Signed-off-by: Aleksa Sarai <asarai@suse.de>