42 lines
1.4 KiB
Plaintext
Raw Normal View History

# Golden Image Building and Caching
#
# Hybrid pattern: defaults + makers + instances
let contracts_lib = import "./contracts.ncl" in
let defaults_lib = import "./defaults.ncl" in
{
defaults = defaults_lib,
# Maker functions (not exported)
make_image_config | not_exported = fun overrides =>
defaults_lib.GoldenImageConfig & overrides,
make_build_job | not_exported = fun overrides =>
defaults_lib.GoldenImageBuildJob & overrides,
make_image_version | not_exported = fun overrides =>
defaults_lib.GoldenImageVersion & overrides,
make_image_cache | not_exported = fun overrides =>
defaults_lib.GoldenImageCache & overrides,
make_build_steps | not_exported = fun overrides =>
defaults_lib.ImageBuildSteps & overrides,
make_build_policy | not_exported = fun overrides =>
defaults_lib.ImageBuildPolicy & overrides,
make_registry | not_exported = fun overrides =>
defaults_lib.GoldenImageRegistry & overrides,
# Default instances
DefaultGoldenImageConfig = defaults_lib.GoldenImageConfig,
DefaultGoldenImageBuildJob = defaults_lib.GoldenImageBuildJob,
DefaultGoldenImageVersion = defaults_lib.GoldenImageVersion,
DefaultGoldenImageCache = defaults_lib.GoldenImageCache,
DefaultImageBuildSteps = defaults_lib.ImageBuildSteps,
DefaultImageBuildPolicy = defaults_lib.ImageBuildPolicy,
DefaultGoldenImageRegistry = defaults_lib.GoldenImageRegistry,
}