diff --git a/README.md b/README.md index 9b72730..e6fba9c 100644 --- a/README.md +++ b/README.md @@ -152,38 +152,40 @@ matches the version of kubernetes deployed. version of kubernetes in parallel. You could have one step which builds the [node image], exports it as and OCI image, and pushes it to a registry and then some more parallel jobs that consume that image. With that approach you don't - need to compile the smae [node image] over and over. - See also [the ouput `exported-node-image`](#out-exported-node-image). + need to compile the smae [node image] over and over. + See also [the ouput `exported-node-image`](#out-exported-node-image). _Note_: If the task is configured to use upstream kind's default [node image], this feature is not available. A warning is printed and the output is kept empty. -- `INSTALL_METALLB` +- `INSTALL_METALLB` If this parameter is set, [metallb] is installed onto the cluster. This allows users to deploy services of type `LoadBalancer` and get an `EXTERNAL-IP` for those. This external IP can be used to connect to a exposed service from the task container, thus from code running in `KIND_TESTS`. -- `KIND_PRE_START` +- `KIND_PRE_START` ... if you want or need to run something just before the kind cluster is started -- `DOCKERD_OPTS` +- `DOCKERD_OPTS` ... if you need to add some configs when starting the docker daemon -- `DOCKERD_TIMEOUT` +- `DOCKERD_TIMEOUT` ... how long do you want to wait for docker to come up? -- `KINDONC_DEBUG` +- `KINDONC_DEBUG` ... if you want to see all the ugly things that are happening to bring up docker and to run kind -- `KIND_LOGLEVEL` - ... make kind more or less verbose when it is doing its business. - For kind `<= 0.5.1` this value is used for the `--loglevel` option and needs to be one of `panic`, `fatal`, `error`, `warning`, `info`, `debug`. - For kind `> 0.5.1` this value is used for the `--verbosity` option and needs to be and integer. -- `KIND_CLUSTER_NAME` +- `KIND_LOGLEVEL` + ... make kind more or less verbose when it is doing its business. + For kind `<= 0.5.1` this value is used for the `--loglevel` option and needs to be one of `panic`, `fatal`, `error`, `warning`, `info`, `debug`. + For kind `> 0.5.1` this value is used for the `--verbosity` option and needs to be and integer. +- `KIND_CLUSTER_NAME` ... in case you want to change kind's cluster name -- you actually should not need to do that ... +- `NODE_IMAGE` + ... in case you want to pull the kind node image from somewhere else ... # Well known task inputs & outputs ## Inputs -- `kind-on-c`, _mandatory_ +- `kind-on-c`, _mandatory_ The file tree of this repo. At least the [task file](./kind.yaml) and [the entrypoint](./entrypoint.sh) will (or should) be used from this input, in future potentially more. diff --git a/entrypoint.sh b/entrypoint.sh index 6605fba..ebb0182 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -513,6 +513,12 @@ kind::image::prepare() { return 0 fi + if [ -n "${NODE_IMAGE+x}" ] + then + echo "${NODE_IMAGE}" + return 0 + fi + # Fallback to not using a special node image, use the default from kind # upstream } diff --git a/kind.yaml b/kind.yaml index 9682742..c271695 100644 --- a/kind.yaml +++ b/kind.yaml @@ -23,14 +23,15 @@ outputs: run: path: kind-on-c/entrypoint.sh params: - KIND_TESTS: - KIND_CONFIG: - EXPORT_NODE_ROOTFS: - EXPORT_NODE_IMAGE: - INSTALL_METALLB: - KIND_PRE_START: - DOCKERD_OPTS: - DOCKERD_TIMEOUT: - KINDONC_DEBUG: - KIND_LOGLEVEL: - KIND_CLUSTER_NAME: + KIND_TESTS: + KIND_CONFIG: + EXPORT_NODE_ROOTFS: + EXPORT_NODE_IMAGE: + INSTALL_METALLB: + KIND_PRE_START: + DOCKERD_OPTS: + DOCKERD_TIMEOUT: + KINDONC_DEBUG: + KIND_LOGLEVEL: + KIND_CLUSTER_NAME: + NODE_IMAGE: