------------------------------------------------------------------- Wed Sep 06 09:29:17 UTC 2023 - dcassany@suse.com - Update to version 0.11.1: * Modify boot dir structure to cope with PXE SUMA/Uyuni defaults * Use dynamic CopyCloudConfig base dir (#1813) ------------------------------------------------------------------- Fri Aug 11 14:19:51 UTC 2023 - kkaempf@suse.com - Update to version 0.11.0: * Drop builder image in OBS * Update OBS workflow to the new project setup * Make SLE Micro version refrences dynamic (#1801) * Add suite and fix unit tests * Expand reset configuration unit tests * Update supported reset variables * Add missing cloud-init config flag for reset * Drop %systemd_pre * Go 1.18 is sufficient for building * adapt pre/post scripts for non-SUSE * fix build on Fedora and RHEL * Adapt .spec file to non-SUSE distributions * Fix elemental-toolkit spec * elemental-cli: fix build version * Update CONTRIBUTING.md * Add CONTRIBUTING.md * Remove duplicated line * Fix docs * Use toolkit files (#1788) * Add init command (#1767) * Add aarch64 workflow (#1779) * Clean up rsync progress display (#1789) * docs: fix some spelling errors (#1787) * Remove old features docs * Set docs BASE_URL * Fix docs * Use github actions for hugo * Run apt update before installing hugo * Update docsy to latest version (#1786) * Add sudo when installing docs deps * Install hugo before building docs (#1784) * Publish docs to gh-pages (#1783) * Update documentation (#1778) * Push green images on tag * YAML formatting * Use name param * Add trigger_services and update spec-file for cli (#1774) * Update docs * Remove workflows * Use 4GB of memory for test-machines * Update issue templates * Changes to SyncData channel * Remove const timeout from upgrade-test * Remove superfluous log * Copy oem-folder to build container * Change systemd service descriptions * Rework of image-extractor retry * Use simplified version of grsync * Use fork of grsync v1.7.0-rancher6 * Rename cOS -> Elemental test * Do not upload cached disk-image * Upload disk-image as artifact * Use fork of grsync v1.7.0-rancher1 * Use github.com/zloylos/grsync v1.7.0 * Add retry to pulling image * Use our fork for grsync * Add -smp flag to qemu-system * Update OBS workflows * Update grsync to v1.7.1 * Add go.sum as cache key * Move elemental-cli into elemental-toolkit module * Bump yip * Add newline after version string * Bump deps (#488) * Removing fallback test of a corrupted OS without upgrading * Use default layout values for recovery * Add nightly workflow * Rename cOS -> Elemental tests * Add simple grub README * Fix upgrade test * Fix Makefile.test * Refactor tests * Enforce EFI firmware on disk build * Upload serial console logs * Reduce disk size and free worker space * Upload disk-image * Upload serial.log after tests * Add reset and local upgrade tests * Add fallback test * add recovery test * Adapt hooks test * Adapt smoke test * More --platform * Try to fix tests * Reorder build/test commands actions * Reusable workflow * Run build-image on ubuntu-latest * Brew install docker * Setup docker actions * Reuse previous version of actions * Set no acceleration for tests * Set firmware for tests * Disable github fail-fast * Run tests based on which media is built * Build iso and disk-image before tests * Run tests * Use losetup trick to build images * Setup docker buildx * Rename tests to test target * Build arm64 in github actions * Set packer cpu_model * Remove sudo from build step * Disable packer accelerator * Try to get correct firmware on github-action * Update packer workflow * Install ovmf in workflow * More qemu packages in default workflow * Use yaml anchor for release-space workflow * Actions install qemu-system * Update specfile * Update .obs spec and elemental branding * Remove old values files * Remove image building scripts * Remove old github-actions and add new build workflow * Update tests * Delete scripts/get_luet.sh * Improve multi-arch support * Bump toolkit dockerfile to use go 1.20 * Bump tests go-version to 1.20 and bump deps * Delete unused files and add .gitignore lines * explicitly install dracut wrapper * Bump golang to 1.18 * Adding hooks test * Bump setup-go version * Fix cache action parameters * Check cache existance without restoring it * Remove unused workflows * Remove old Makefile * Prepare Makefile for further tests * Add installer test * Make use cache instead of uploading artifacts * Moving to OS on QEMU runs * Setting PR workflow * Include elemental-cli in toolkit and build it based on commit or tag * Moving to a pure qemu approach for testing, no vagrant, no libvirt * Add test execution to Makefile * Added make packer * Add ISO build and remove unused examples * Little grub.cfg changes * Add new Makefile * Adding cloud-init and hooks default folder for the ISO * Only apply SELinux labels on enforcing mode * Adapt and drop cos-config leftovers * Keep only source code and relevant config files inside toolkit folder * chore: Updated the content of the file "/tmp/updatecli/github/element... (#482) * [auto] Update cmd docs (#479) * Add multi-arch support for pulling images (#478) * grub: Delete loopback device on fallback (#1745) * Fix version command to proper show version and commit * Remove raw_disk tests (#1747) * Feat: add CODEOWNERS * Feat: add CODEOWNERS * fix typo in deprecation text * [auto] Update cmd docs (#472) * Deprecate disk related commands * Bump Go version to 1.20 (#469) * Bump github.com/docker/docker (#468) * Bump github.com/opencontainers/runc from 1.1.2 to 1.1.5 (#464) * Reduce default partition sizes (#466) * Update to go 1.19 (#465) * Bump ginkgo/gomega (#461) * Linting (#460) * Ensure OEM is mounted after initqueue is done * Bump dependent packages * Fail on errors while mounting for the immutable layout * Wait for all persistent volumes * Bump to yip v1.0.2 (#457) * Bump ginkgo package (#455) * Small changes after PR feedback * Docs: Add section for grub_oem_env file * Update GRUB2 docs * Refactor grub.cfg (#1741) * Updatecli remove && operator in golang-version * Bump ginkgo package (#450) * Update ginkgo updatecli workflow * Update docker/build-push-action to v4 (#449) * Fix updatecli workflow (#448) * Bump github.com/containerd/containerd (#445) * Bump cos version * Use stable go-version for updatecli workflow * Deprecate system/cos-config (#1735) * Refactor and add ginkgo-update * Add updatecli workflow * Make sure STATE is mounted after initqueue executed fsck * Delete new-cmd (#444) * Bump github.com/opencontainers/runc from 1.1.1 to 1.1.2 (#415) * Bump ginkgo/gomega (#442) * Prepare for auto-updating go-version (#435) * Bump github.com/moby/moby * Update ginkgo/gomega (#430) * bump elemental-cli * Improve backward compatibility * Remove recovery.squashfs consideration in grub configuration * Fix bootargs.cfg * Improve test coverage * unset image labels for squashfs images * Remove squashfs specific path * Upgrade ginkgo (#429) * fix network stage execution constraints * Remove branch filter on OBS workflow tag events * Remove branch filter on OBS workflow tag events * Bump cos package * Remove grub install-hooks (#1719) * Fix immutable rootfs setup * Set labels used by grub to find system disks (#414) * Refactor cloud-init paths setup (#421) * Small refactor to include CommandExists method in Runner interface (#420) * [auto] Update cmd docs * Deprecate tty flap and option in install and reset * Restructure grub logic into independent methods * Make ISO related constants consistent * Fix some details * Update gomega to v1.26.0 * Add a default cloud-init path within the ISO root * include cos.setup cmdline parameter into the cloud-init paths * Ignores any defined but not existing cloud-init paths * Remove nightly badges in README * Fix elemental-cli dependency * Include elemental-upgrade-hooks in specfile * Remove obsolete templated references * Use refactored elemental and slightly adapt tests * Fix grub.cfg and hooks again * Fix filesystem check, ensure it is executed at least once * SELinux in permissive mode for recovery * Many fixes here and there and new elemental-cli * Simplify boot and manage grub config changes * Bump github.com/aws/aws-sdk-go from 1.31.6 to 1.33.0 * [auto] Update cmd docs * Update packages * New elemental bot account * New elemental ci bot * Refactor elemental (#404) * Use year range in copyright headers instead of just bumping the year * do not use deprecated io/ioutil package * Bump year in copyright headers * Split sign into build and run (#1698) * Bump distro/base to 0.20221223 (#1686) * Extreme cleanup of workers (#1693) * Bump distro/tool to 0.20221128 (#1664) * Bump toolchain/elemental-cli to 0.20221223 (#1683) * Bump utils/helm to 3.10.3 (#1680) * Bump toolchain/yq to 4.30.6 (#1685) * Bump toolchain/hugo to 0.109.0 (#1684) * Drop bootmanager lib use from grub (#397) * [ci] Drop reviewers from cmd docs auto PR (#401) * [auto] Update cmd docs (#400) * [auto] Update cmd docs (#383) * Bump elemental-cli (#1682) * Add post-* hooks (#399) * Bump distro/base to 0.20221216 (#1681) * Map disable-boot-entry as an environment variable (#398) * Add OBS build files into the repository (#394) * Add OBS build specific files into the repository (#1679) * Bump build/golang to 1.19.4 (#1675) * Bump distro/base to 0.20221212 (#1678) * Bump utils/nerdctl to 1.1.0 (#1677) * More documentation (#1671) * Bump toolchain/elemental-cli to 0.20221124 (#1655) * Bump distro/base to 0.20221128 (#1665) * Bump toolchain/dasel to 2.0.0 (#1670) * Bump toolchain-fips/yip to 0.11.4 (#1673) * Bump toolchain/hugo to 0.108.0 (#1674) * Bump toolchain/yip to 0.11.4 (#1672) * [ci] run the autobump once per week (#1669) * [ci] compress raw image before upload (#1668) * Bump toolchain/yq to 4.30.5 (#1666) * Bump rancherd version (#1661) * This is a follow up from #1662 (#1663) * Add basename in initrd (#1662) * Bump distro/tool to 0.20220802 (#1580) * Bump distro/base to 0.20221126 (#1660) * Bump distro/base to 0.20220803 (#1584) * Bump toolchain/luet to 0.33.0 (#1630) * Bump toolchain-fips/luet to 0.33.0 (#1629) * Bump yip and separate it into its own package (#1657) * Several CI changes to remove uneeded stuff (#1658) * Bump utils/nerdctl to 0.23.0 (#1603) * Bump toolchain/hugo to 0.107.0 (#1656) * Bump build/golang to 1.19 (#1583) * Fixes cos-setup systemd unit paths (#1654) * Bump toolchain/yq to 4.27.3 (#1593) * Bump utils/gomplate to 3.11.3 (#1605) * Bump toolchain/hugo to 0.102.0 (#1592) * Bump selinux/k3s to 1.2.2 (#1590) * Bump toolchain/dasel to 1.27.0 (#1611) * Bump utils/helm to 3.10.0 (#1608) * Bump utils/k9s to 0.26.5 (#1609) * Catch up with latest elemental-cli (#1649) * Fixes the state yaml upgrade (#388) * Update documentation (#1653) * Set garbage collector temp dir for luet (#387) * Add LUET_NOLOCK for example Dockerfile (#1651) * Small change in logging * Ensure the manifest.yaml exist before attempting to read it (#384) * Fix configuration loading (#382) * Use state in upgrade (#379) * Make build-iso logging consistent (#378) * More exit codes (#376) * docs: Small changes (#1645) * ci: Change setup-buildx-action version to v2.2.1 (#377) * Also trigger Dev rebuild on tag push (#1646) * cli: Add exit-codes for reset command (#375) * cli: Add exit-codes to install command (#374) * cli: Add exit-codes to upgrade cmd (#371) * Introduce ElementalError and exit codes (#355) * Create codeql.yml (#359) * Create dependency-review.yml (#358) * template go version on CI tests (#1641) * Bump cosign-installer to latest (#1642) * Bump toolchain/cosign to 1.12.0 (#1606) * Centralize go installation in CI jobs (#1640) * Bump actions to avoid deprecations (#1639) * Fix CI issues (#1638) * Fix typo in yaml tag * Prioritize mounted device if multiple devices match label (#352) * Fix typos in docs * ci: Fix deprecations in github ci (#345) * Update deps (#346) * Add sgdisk to the inmutable-rootfs module setup (#1631) * signatures: protect against broken tree (#1628) * Fix REFERENCEID for cosign * Remove mistaken bios * Drop vbox and use qemu everywhere with EFI (#1624) * Also add the xzio.mod to grub (#342) * Align install, reset and upgrade hooks (#341) * Fix typo * Fill persistent mountpoint on upgrade (#339) * Switch to EFI only builds in CI (#1613) * Drop uneeded stuff (#1620) * Fix signing referenceId (#1617) * Drop ami publishing (#1619) * Also force update on tag push for Dev (#338) * Add shim to grub2-efi packages (#1604) * Add OBS worflow to update elemental-cli package on push (#337) * Add OBS worflow to update elemental-toolkit package (#1616) * Add binary signatures (#335) * Drop binary signature for now (#334) * d * Fix cosign location * Fix signatures for binaries and images (#333) * Stop testing on image push/release (#332) * Remove sanity check for SUSE based systems on efi installation (#331) * [auto] Update cmd docs (#328) * Rework SetDefaultGrubEntry (#330) * Add CreateBootEntry to EFI install/reset (#326) * Add secure boot for EFI ISO images (#327) * [auto] Update cmd docs (#318) * Keep working dir after a chroot call (#324) * Create ISO for EFI only or BIOS only, not both (#322) * Fix image tests to use an up to date system for testing the install (#323) * Fix disk partitioning (#321) * Rework efi grub install (#317) * Include bootloader arrangement in build-iso (#316) * Fix GO-2022-0244 (#315) * Fix GO-2022-0586 (#314) * Bump cosign installer * Fix cosign command (#312) * Fix image signing (#311) * Add extra partitions config on installation (#306) * Update docker-master.yaml * Drop luet init from BuildConfig (#310) * cosign the release artifacts (#308) * Fix logging coming from luet (#309) * Fix branch name for github workflow * Push to REPO-ci on master merge (#301) * Set the message of what we are setting as default properly (#300) * Allow overriding default grub entry or fallback to default (#299) * Log error on upgrade * [auto] Update cmd docs * Go mod vendor * Unify cmd-line usage * Docker fixes (#289) * [auto] Update cmd docs (#288) * Allow multiple cloud-init files in installation spec (#287) * elemental install: allow to get the EJECT_CD option from the env * Bump yip dependency (#282) * Remove a leftover file (#281) * Produce state.yaml files on install, upgrade and reset commands (#278) * [auto] Update cmd docs (#274) * More improvements to auto Pr (#273) * Improve auto docs PR (#271) * Set serial tests with ginkgo dsl (#269) * Add vendor dir with deps (#266) * Fallback to docker type if URI source is of an unknown type (#264) * tests: add unit test for CalcFileChecksum * build-iso: add computation of the sha256 checksum * Add flag to fully disable compression for squashfs (#257) * Ensure we properly propagate repository arch configuration in repos (#260) * Fix buld-iso (#259) * rawdisk: Consume repositories from top level YAML (#255) * Bump ghw and fix labels (#253) * Fix build-iso command when no arguments are provided (#256) * build-iso: Sanitize config file for build-iso (#251) * Fix default config for RawDisk (#249) * Long info for build-disk including the SOURCE info (#252) * Drop uneeded root test and add mroe tests for syscall (#250) * [auto] Update cmd docs (#247) * Improve SELinux labeling commands (#245) * increase reset test (#241) * utils: Drop NewSourceGuessingType() (#242) * build-iso: Improve validation for rootfs source image (#234) * [auto] Update cmd docs (#240) * Split OEM reset from Persistent reset (#239) * Relabel SELinux in a chroot env (#230) * Fix binary name (#237) * Rename package to rancher/elemental-cli (#236) * Fail disk build if luet errors (#233) * Use a channel to close rsync monitoring goroutine (#231) * Ensure recovery image file is set according to the filesystem (#229) * Add lvm2 to docker image (#227) * Bump luet and wire up logger from elemental (#226) * Move config fixtures to test/fixtures, add test case (#225) * Fix grub-entry-name parsing from config files (#224) * Report rsync status (#216) * [auto] Update cmd docs (#222) * Switch option for using mtree plugin (#208) * Deactivate unmounted lvm volumes before partitioning (#221) * Adding support for additional environment variables to support ros-installer (#217) * Use /etc/os-release on install and reset (#218) * Use equivalent logic in run and build commands to load configuration (#210) * Introduce ReferenceId for Repository (#215) * Use litter lib to dump full cfg (#213) * Fix passing repositories to luet channel unpack (#214) * Fix efi image size calculation (#211) * Add arch to config based on current arch (#209) * Make use of elemental API in build commands (#207) * [auto] Update cmd docs (#206) * Refactor runconfig (#189) * [auto] Update cmd docs (#204) * Include other configs on config load (#203) * Add --local option to install, build-iso, upgrade (#185) * Update the system in the dockerfile (#202) * [auto] Update cmd docs (#200) * Small fix for autogenerated docs * Add job to auto create PR for updated docs (#195) * Try to fix go cache on CI (#199) * Also set temp dir for luet pkgcache (#196) * Update go.mod to fix cache (#197) * Try to get a decent luet tempdir (#193) * Add docs for commands and generator (#192) * Protect against wrong squshfs options (#190) * Fix loading squash options (#188) * Squashfs compression (#187) * Set default config dir to /etc/elemental (#181) * Introduce generic arch flag for build commands (#182) * Fix typo in Config mapstructure mapping (#180) * Ensure ISO's defaults are applied (#179) * Improve build-iso flags (#177) * Use the arch for the repo (#176) * Add default values if config is empty (#174) * Add build-iso command defaults (#173) * Expand build disk (#171) * Create basic dir structure for isos with proper permissions (#170) * Fix --date default (#169) * Add build-disk command (#162) * Fix build-iso kernel discovery and root permissions (#168) * Exclude only root-located directories (#165) * Properly pass repos to build-iso (#163) * Extend LuetInterface to support custom repositories (#161) * build-iso command first round implementation (#160) * Move out generic configuration from RunConfig (#159) * Drop lsblk in favour of ghw library (#155) * Add a eject-cd flag for install (#156) * Relocate GPT headers for expanded disks (#158) * Bump yip to master (#157) * Use local context for docker building (#153) * Test the docker image install over loop device (#149) * Missing one step skipped woops (#152) * Dont run tests if only Dockerfile has changed (#151) * Move config options into the config package (#148) * Add grub2-efi image into the docker image (#150) * Remove blkid dependency and limit lsblk usage (#147) * Add logger to runner and log commands on debug (#142) * Fix docker building on tag (#146) * Sync locally build docker names with remote (#145) * Fix load and push not being able to be used at the same time (#144) * Dockerfile changes (#143) * Use auto for FS in upgrade (#141) * Keep partition device path after creating a new partition (#140) * Adapts action tests to new fs interface (#139) * Fix elemental package tests, no root required (#138) * Use default dir permissions constant (#137) * Fix directory permissions (#136) * add channel support to install action (#132) * Ensure we use configured labels in reset command, not defaults (#133) * Check partial yaml unmarshal errors and unify FS (#125) * Add dockerfile (#131) * Add checkRoot helper for cmd and add it to root commands (#129) * Fix variables initialization in tests (#128) * Small fixes (#127) * Use golangci for lint+license check (#123) * Use grab library as the http client (#121) * Support loop mount on isos (#119) * Allow to set GIT_TAG and GIT_COMMIT when calling make (#118) * Increase shared flags between install, upgrade and reset (#117) * Full installation from downloaded ISO (#116) * Define all needed images in runconfig (#114) * Fixups to upgrade process (#115) * CLI fixups (#113) * Ensure cloudinit tests can be executed in parallel (#112) * Implement yip's Layout plugin using partitioner package (#111) * codecov: split cmd from pkg coverage (#109) * upgrade: always try to remount state partition (#108) * Upgrade fixes for paths and mounts (#107) * cli: read target also from config (#106) * Upgrade: Fix upgradestateDir (#105) * Be more smart about upgrade dir (#104) * Refactor CopyActive method to turn tin CopyImage (#95) * Create new command (#96) * Also check the system label to see if we booting from recovery (#102) * Fix upgrade source from channel in recovery (#101) * Upgrade: only add mounts for chroot if they have a mountpoint (#100) * cloud-init: Process users before SSH (#99) * Fix luet not having a logger and changing context (#98) * Remove a Focus leftover from action tests (#97) * Rework flags to unify some of them (#94) * syscall test (#93) * Adding CleanStack utility (#92) * Upgrade improvements (#91) * Add reset command (#86) * upgrade from channel (#81) * Ensure make fmt returns error if some file is changed (#90) * Changes by running 'make fmt' (#89) * Unpack local flag v2 (#87) * Add a Chroot.RunCallback method (#84) * Make action setup methods public (#83) * Install config refactor (#72) * Add cache for go modules and build to CI (#76) * Rename 'PLabel' form v1.Partition to 'Name' (#74) * Move to ginkgo v2 (#73) * Add upgrade command (#59) * Adding incompatible flags tests in install command (#67) * Add --reboot and --poweroff flags (#66) * Do not use cosign luet plugin (#65) * Hide yip errors under debug (#64) * Update go.mod (#63) * Disable cosign by default (#62) * Fixes grub tests flakyness (#61) * Ensure RunConfig parameters are writable by Viper (#60) * Add retries logic to get devices by label (#57) * Add --logfile and --quiet options to root (#56) * Add plugin flags to pull-image (#55) * Use ext2 FS for images (#54) * Adds pull-image (#52) * Rename the package to elemental (#43) * Fix CopyRecovery (#51) * do not skip paths on run-stage (#50) * Fix partitioning layout (#49) * Restore CloudInitRunner modifier after runStage (#48) * Fix run-stage default init paths (#47) * Ignore errors from run-stage by default and use strict mode (#46) * Set default grub entry in installer (#45) * Add install action tests (#44) * Load "/etc/os-release", "/etc/cos/config" values to config (#42) * Ensure the downloaded ISO is unmounted (#41) * Add run-stage command (#36) * Use parametrized hook for chrooted hooks (#40) * Support installer flags * Move leftover tests into ginkgo (#39) * Add global flag for debug level (#38) * Refactor partitions list (#35) * Fix and add missing installer features (#32) * Installer code polishing (#31) * Extend Active image parameters (#30) * Adding copy passive image to installer (#29) * Add mounting routines for the installer action (#27) * Move elemental tests to ginkgo (#28) * Move more tests to ginkgo (#26) * Disable codecov annotations (#24) * Move tests to ginkgo (#23) * Recovery (#19) * Make a CloudInitRunner interface (#21) * Add partition and formatting methods to elemental package (#20) * Add license to missing files * add license to license-checker * add license to license-checker * Cloud init (#16) * Add license-checker and license headers to all missing files * Add godoc * More test for types * increase testing for common * Test failures on mount/unmount chroot * Add codecov to test workflow * Rename cos package to elemental * Add tests for findLabel and fix a small issue * Add constants package * More test for the cos struct * Add NewNullLogger * Fix type of NoFormat * lint and small fix * Rework disk.Exists based of latest main * Rework some utils into a cos package * Rename disk.Isvalid to disk.Exists * Rework config to store all the needed interfaces * Some pieces of the install * Store the fs in the config directly * Add more steps in the install * Add findLabel methods to utils * Add check for disk validity * Follow similar code practices as in utilities package * Use logger all around * Set defaults on Grub struct init * Add Grub struct and install method * Partitioner module * Add logger interface * Rework runconfig to use options on init * Move docopy out of the installer * sync FakeHttpclient with other fakes * Rename TestRunner to FakeRunner * Add better chroot testing * Add chroot util to run commands under chroot * move tests into theyr own package namespace * Add a runner type to run stuff from for easy testing * Make selinuxRelabel able to return an error * Reorg code * Move mocks into its own package * More testing * Add a few more utility functions, move mock into its own file * move config utils into cmd * remove unused error assignments * rework types structure, add httpclient type and fix geturl * Set a Config type to store config * Add install cmd simple tests and fix stdout not being restored properly * Add tests for version and some utils for cmd testing * Expand common tests * Make sure source/target are dirs in doCopy * Add tests for installer doCopy * Add tests for getUrl, allow overrinding the httpclient * move geturl to common utils * Add doCopy and getUrl methods * Add installer flags * rework config loaders * install skeleton * Add missing test workflow * Build config helpers for loading the configs in build and run mode * Add github workflows * First commit ------------------------------------------------------------------- Fri Sep 30 09:37:10 UTC 2022 - David Cassany - Initial commit