- Added the ability to automatically copy files into the built images filesystem
- Kubernetes manifests are now applied in a systemd service
- Artifact sources origin and metadata are now extracted from a configuration file (
config/artifacts.yaml
) - Dropped
-chart
suffix from installed Helm chart names - Added ability to build aarch64 images on an aarch64 host machine
- Added caching for container images
- Added built image name output to build command
- Leftover combustion artifacts are now removed on first boot
- The
apiVersion
field now supports both1.0
and1.1
values
- An optional directory named
os-files
may be included to copy files into the resulting image's filesystem at runtime
- #498 - Fix kernelArgs issue with Leap Micro 6.0
- #481 - Certain Helm charts fail when templated without specified API Versions
- Added the ability to consume both 512/4096 byte sector size disk input base-images
- Added the ability to leverage Elemental node reset for unmanaged operating systems
- Added version command and version marker on CRB images
- #429 - Automatically set execute bit on scripts
- #447 - Support >512 byte sector size base images
- #442 - Only get images from specific Kubernetes objects
- #405 - OCI registries are assumed to include the chart name
- Added a progress bar showing the progress of pulling images into the embedded artifact registry
- Added annotations to Helm CRs
- #352 - Resizing raw images results in dracut-pre-mount failure
- #355 - Helm fails getting charts stored in unauthenticated OCI registries
- #359 - Helm validation does not check if a chart uses an undefined repository
- #362 - Helm templating failure
- #365 - Unable to locate downloaded Helm charts
- #374 - Enable SELinux support for Kubernetes agents if servers enforce it
- #381 - Empty gpg-keys directory passes GPG enablement only to fail during the dependency resolution
- #383 - Criteria for validating the OS definition does not include RPM
- #372 - Empty certificates directory does not raise a build error but fails to boot the node
- #371 - EIB allows an SSH key to be set for a user when createHome is set to false
- #384 - Improve RPM validation
- #392 - Users script does not unmount /home
- #364 - Kubernetes component output is jumbled when downloading the installer
- #361 - Raw image build can fail silently due to lack of space
- Removed the
operatingSystem/isoConfiguration/unattended
option
- #319 - Combustion fails when combustion directory content is larger than half of the RAM of the system
- #233 - Use different Helm chart sources for development and production builds
- #337 - Re-running raw builds should remove the previous built image
- #95 - Compressed images are not supported
- #343 - Embedded Artifact Registry is memory bound
- #341 - Make Elemental registry configurable for production builds
- #258 - Kubernetes installation doesn't work with DHCP given hostname
- Added output at combustion phase to observe the script being executed
- Kubernetes install scripts are now downloaded at runtime instead of during the container image build process
- Bumped Go Version to 1.22
- Added support for using Helm charts from authenticated repositories/registries
- Added support for skipping Helm chart TLS verification and for using Helm charts from plain HTTP repositories/registries
- Added support for providing CA files to Helm resolver for TLS verification
- Added minor formatting improvements to the CLI output
- The
--config-file
argument to the EIB CLI has been renamed to--definition-file
. - The
--build-dir
argument to the EIB CLI is now optional and defaults to<config-dir>/_build
, creating it if it does not exist. - The
--config-dir
argument to the EIB CLI is now optional and defaults to/eib
which is the most common mounted container volume. - New
validate
subcommand is introduced - The
--validate
argument to thebuild
subcommand is now removed
- Added the ability to configure Helm charts under
kubernetes/helm
- Helm chart values files can be specified under
kubernetes/helm/values
- #239 - Incorrect warning when checking for both .yml and .yaml files
- #259 - SCC registration is not cleaned up if RPM resolution fails
- #260 - Empty network directory produces a network configuration script
- #267 - Embedded registry renders Kubernetes resources even when Kubernetes is not configured
- #242 - Empty rpms directory triggers resolution
- #283 - Definition file argument to EIB is incorrect
- #245 - Pass additional arguments to Helm resolver
- #307 - Helm chart parsing logic breaks if "---" is present in the chart's resources
- #272 - Custom files should keep their permissions
- #209 - Embedded artifact registry starting even when manifests don't have any images
- #315 - If Elemental fails to register during Combustion we drop to emergency shell
- #321 - Certain Helm charts fail when templated in the
default
namespace - #289 - The services for RPM dependency resolution failed to start
- Added support for deploying user-provided Helm charts
- Added support for custom network configuration scripts
- Removed the
embeddedArtifactRegistry/images/supplyChainKey
attribute - Changed
operatingSystem/users/sshKey
intooperatingSystem/users/sshKeys
and it is now a list instead of a single string - Added the ability to configure operating system groups under
operatingSystem/groups
- Added optional
primaryGroup
field for operating system users - Added optional
secondaryGroups
field for operating system users - Added optional
createHomeDir
field for operating system users - Added optional
uid
field for operating system users