Automatically detect Podman if Docker is not available.
This allows me to run make and complete it succesfully without Docker
and without the need to set the DOCKERCMD env. variable.
Closes: https://github.com/rook/rook/issues/5335
Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
This commit corrects choosing DOCKERCMD in image.mk file to choose
the environment variable if present, else default to "docker".
Signed-off-by: ShyamsundarR <srangana@redhat.com>
This uses grep, sort and awk to auto generate the `make help` menu based
on comments after each target.
Removed `clean.all` and `prune.all` targets as they are not available
anymore.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
In the image makefiles use the "DOCKERCMD" variable in place of
calls to docker command line tool. This allows custom paths
to docker or other docker-compatible tools to be used for builds.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Raise the scope of the `IMAGES` config variable in the
`build/release/Makefile` to the `build/makelib/common.mk` file, and use
the `IMAGES` variable in the `images/Makefile` to allow users to build
only select images.
Examples of new use:
make IMAGES='ceph ceph-toolbox' build
make -C build/release IMAGES='ceph ceph-toolbox' publish
The 'images/image.mk' clean.build target was changed to use
`CLEAN_IMAGES` instead of `IMAGES`, as it was conflicting with use of
the parameter in image builds.
Added IMAGES option to top-level make's help text. The text for this
option exceeded 80 lines in the `Makefile` itself, so the help text was
refactored to eliminate ` @echo '<text>'`. The `Makefile` text should
now match exactly what is output to the user including line length.
Added IMAGES option to `INSTALL.md` file's "Build" section and also
moved some text around and added a few extra points of clarification
there to hopefully improve readability, especially for first-time
readers.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Instead of adding Ceph packages to Rook's base image, use
ceph-container's base image, which has Ceph packages preinstalled. Rook
now benefits from the testing the ceph-container project does, and the
scope of the Rook project no longer has to maintain builds of base
images containing Ceph packages.
The only ARM builds of ceph-container are CentOS, and as switching to
CentOS was already a thought, that is easily done at the same time as
this change.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
There is a deprecation warning in the `armhf` org on DockerHub.
> The armhf organization is deprecated in favor of the more-specific
arm32v7 and arm32v6 organizations, as per
https://github.com/docker-library/official-images#architectures-other-than-amd64.
Please adjust your usages accordingly.
Required changes to Rook:
`armhf` -> `arm32v7`
`aarch64` -> `arm64v8`
Install documentation has been updated as well.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
add new images that build rook and ceph and remove the need for us to statically compile in ceph.
added a new small ubuntu base image used as the root of all container images.
Refactored the cross-build container into smaller containers that can be reused more effectively and not get into ubuntu package conflicts.
extensive support for caching through docker at both the build and host level to reduce build time.