A basic example of using a container overlay
make testmake build
- Do code changes
- Write unit tests for code changes
- Run
make testto run the tests - Run
make fmtto format the code - Push code to and make an MR
- Do code changes
- Run
testandformatfrom above - If using private registry set registry address and image path using
REGISTRYandAGENT_IMAGEenvironment variables - Run
make docker-buildto build the container
There are a number of environment variables that can be used to control how the controller works
COPY_RESOLVif set to"false"it will NOT copy the container's/etc/resolv.confto the host.OVERLAY_ALWAYS_RUN_STEPif set to"true"it will ignore any step flags and always run every step. A warning will be printed to stdout if it sees a flag file.SKYHOOK_AGENT_BUFFER_LIMITdefaults to 8KB. This is how much of the log of each step it will read before syncing the data to stdout/stderr and the log file. It is recommended to keep this somewhat low to avoid excessive delay between a step emitting some information and seeing it in the docker logs or in the log file.
The following are enviroment variables expected to be set by either the build system or skyhook-operator. It is not recommended they be changed manually.
OVERLAY_FRAMEWORK_VERSIONthis the version of the current overlay. It is expected that this gets set by the docker build system. It is required to be able to manage the history file. It must be in the format of{package name}-{version}SKYHOOK_RESOURCE_IDthis is used to determine if an interrupt should be rerun. Interrupts are only run once perSKYHOOK_RESOURCE_ID. Skyhook operator should make this unique per conifguration of the package.