KraftKit v0.7.0 (2023-11-08T02:09:50Z)
This is a stable release of kraftkit.
Changelog
⚠️ Breaking Changes
- 3b0fa06: feat!: Introduce OCI multi-image index manifests (#873) (@craciunoiuc)
- 28188d1: feat!: Upgrade
Kraftfile
specification to v0.6 (#757) (@craciunoiuc) - bb138e4: feat(build)!: Invert
--no-pull
to--force-pull
(#889) (@craciunoiuc) - edb2ffd: feat(oci)!: Expose index and manifest digests of OCI package columns (#960) (@craciunoiuc)
- 7473688: refactor!: Rename package
elfloader
toruntime
(#974) (@craciunoiuc) - 6e4bca6: refactor(kraft)!: Deprecate
properclean
subcommand in favour of flag (#944) (@craciunoiuc) - 55dd31c: refactor(pkg)!: Expose
Workdir
,Project
andStrategy
options (#958) (@craciunoiuc)
🚀 New Features
- 40848fc: feat(buildenvs): Add initrd creation tools to base container (#807) (@jake-ciolek)
- 22b7b5b: feat(buildenvs): Include
cmake
in GitHub Action (#919) (@craciunoiuc) - aa32a20: feat(cmdfactory): Add entry for command aliases in help menu (#886) (@craciunoiuc)
- 723a7a4: feat(dockerfile-llb-frontend): Set the Entrypoint on LLB images (#780) (@craciunoiuc)
- 0cebf59: feat(e2e): Add 'pkg source/unsource' tests (#817) (@antoineco)
- 89d8977: feat(e2e): Add common method for outputting command error (#879) (@craciunoiuc)
- 263f80b: feat(e2e): Add tests for the 'net' set of commands (#826) (@antoineco)
- 9053c1e: feat(github-action): Upgrade GitHub Actions (#891) (@craciunoiuc)
- 5115b02: feat(goreleaser): Suggest compiler packages for different arch cases (#827) (@antoineco)
- 05d666f: feat(kraft): Add kraft version as first (debug) log entry (#888) (@craciunoiuc)
- 7299009: feat(list): Reduce output and provide
--all
flag to extend it (#945) (@craciunoiuc) - 72463b0: feat(list): Wrap the
Catalog
lookup with a processtree (#937) (@craciunoiuc) - 20e4e1b: feat(oci): Add option to set Directory handler and its path (#845) (@antoineco)
- 99cb86e: feat(paraprogress): Add
WithTimeout
option and add ellipsis (#962) (@craciunoiuc) - 3a23f90: feat(paraprogress): Introduce
WithTimeout
option (#961) (@craciunoiuc) - 0d09e39: feat(pkg): Introduce
--push
flag (#946) (@craciunoiuc) - 190f42b: feat(processtree): Introduce
WithHideOnSuccess
option (#934) (@craciunoiuc) - 1c6d587: feat(unsource): Warn if no change done (#814) (@jake-ciolek)
- da029f9: feat(workflows): Add multi-os stable tests (#839) (@antoineco)
- c0688d5: feat(workflows): Enable tests on self-hosted mac (#918) (@nderjung)
- 89c0b5c: feat(workflows): Fail instantly on errors (#869) (@antoineco)
- 0d34b05: feat: Add FreeBSD as a build target for releases (#603) (@antoineco)
- db8feab: feat: Add authentication input parameter to GitHub Action (#899) (@craciunoiuc)
- b195eae: feat: Add complete feature set for devcontainers (#698) (@antoineco)
- c74c39a: feat: Add package signing for stable releases (#763) (@nderjung)
- 0565d63: feat: Add symbol to specify custom qemu binaries (#870) (@jake-ciolek)
- 947ac80: feat: Enable initial Windows support (#846) (@antoineco)
- 19a6f5e: feat: Expose merge strategy in GitHub Action (#900) (@craciunoiuc)
- 8588b69: feat: Handle initrd in fstab entries (#965) (@craciunoiuc)
- 162d1f8: feat: Introduce
kraft cloud deploy
(#968) (@razvand) - 34342b9: feat: Introduce
kraft cloud
subcommand (#852) (@nderjung) - ad4206d: feat: Introduce
kraft pkg prune
(#663) (@craciunoiuc) - 5bea74c: feat: runu, OCI runtime for Unikraft unikernels (#791) (@nderjung)
🐛 Bug Fixes
- 6e39e7d: fix(actions): Pass all environmental variables (#895) (@craciunoiuc)
- d2cff05: fix(app): Use template's directory as application directory (#914) (@craciunoiuc)
- 11406a5: fix(archive): Revert list split on separator (#853) (@jake-ciolek)
- 8c59653: fix(buildenvs): Add
runner
user to GitHub Action image (#917) (@craciunoiuc) - ed8a287: fix(buildenvs): Include
g++-12
for C++ builds (#893) (@craciunoiuc) - cf18f16: fix(buildenvs): Include g++-12 for C++ builds to GitHub Action (#922) (@craciunoiuc)
- 190dc4e: fix(buildenvs): Install cosign for releases (#986) (@nderjung)
- b89b4f4: fix(ci): linter disable-all does not disable all (#872) (@jake-ciolek)
- a73e160: fix(cli): Do not initialise config file if path changed (#829) (@antoineco)
- e92446a: fix(cli): Hide fetch command until rework (#975) (@nderjung)
- dc2dc41: fix(cmdfactory): Do not set
defValue
for integer attributes (#847) (@craciunoiuc) - d6c1ff5: fix(cmdfactory): Fix help output (#885) (@craciunoiuc)
- 5b9c370: fix(github-action): Inherit KraftKit SDK from parent module (#901) (@craciunoiuc)
- 047bc86: fix(github-action): Retrieve the template's components before pull (#915) (@craciunoiuc)
- 77f2680: fix(github-action): Use the correct cmdfactory prototype for
Run
(#985) (@craciunoiuc) - 0b6a33b: fix(goreleaser): Enable multi-binary releases (#830) (@craciunoiuc)
- 70fcd69: fix(goreleaser): Remove silent pushing to detect errors (#806) (@nderjung)
- 472cad2: fix(initrd): Add initializers for buildkitd connectors (#931) (@craciunoiuc)
- c907516: fix(initrd): Correctly handle CPIO file modes and permissions (#932) (@craciunoiuc)
- f05b84f: fix(initrd): Several small fixes (#957) (@antoineco)
- 2828af2: fix(internal): Attribute CLI flags after reading config (#856) (@nderjung)
- db286a7: fix(kconfig): Ensure kconfig options have a value (#862) (@craciunoiuc)
- 78b23a3: fix(kconfig): Wrap strings with double quotes (#916) (@craciunoiuc)
- 081cb06: fix(kraft): Remove ellipsis from processtree invocations (#967) (@craciunoiuc)
- bb21a3a: fix(logs): Use cobra's
ExactArgs
to handle command argumentation (#943) (@craciunoiuc) - 5aeaca3: fix(machine): Check bridges have ip address (#833) (@jake-ciolek)
- f92f5b2: fix(manifest): Close file before renaming (#948) (@nderjung)
- 8a968df: fix(manifest): Fallback to archive pull if git fails (#972) (@craciunoiuc)
- dc80d9c: fix(manifest): Fully clone the Git repository (#890) (@antoineco)
- 577c578: fix(menu): Check template pointer before dereference (#906) (@nderjung)
- c87b21b: fix(oci): Add filtering capability to package manager (#803) (@craciunoiuc)
- 6c3512a: fix(oci): Correctly work with digests in the new format (#887) (@nderjung)
- 4dd7432: fix(oci): Do not use default auths if already provided (#897) (@nderjung)
- d59cd89: fix(oci): Ensure auth data is not overwritten (#855) (@jake-ciolek)
- f3033de: fix(oci): Export the correct OCI metadata (#898) (@nderjung)
- ce7a2bb: fix(oci): Improve performance of
Catalog
method (#935) (@craciunoiuc) - faff6eb: fix(oci): Initialize the index's descriptor (#959) (@craciunoiuc)
- 41e4e59: fix(oci): Set the OCI index as part of
ociPackage
(#902) (@craciunoiuc) - ba4d382: fix(oci): Use auth when provided (#892) (@nderjung)
- fc9cafb: fix(paraprogress): Fix outputs less than
LOGLEN
(#969) (@craciunoiuc) - 0307fe9: fix(pkg): Add
--force
flag to sourcing and prevent check on unsourcing (#878) (@craciunoiuc) - 7ef5f5c: fix(pkg): Correct the order of the platform/architecture string (#964) (@craciunoiuc)
- 0bd8e38: fix(pkg): Correctly set package arguments (#983) (@craciunoiuc)
- dddb0c9: fix(pkg): Handle offline-first re-packaging (#925) (@craciunoiuc)
- b74ce5e: fix(pkg): Handle single-target runtimes repackaging (#894) (@craciunoiuc)
- c0f0a9c: fix(qemu): Hide preamble only for x86_64 (#966) (@nderjung)
- 4941002: fix(run): Add architecture and platform to OCI registry query (#956) (@nderjung)
- 6086736: fix(run): Better handling of retrieving and detecting runtime package (#939) (@craciunoiuc)
- 8b03fd5: fix(run): Send finish signal after removing from store (#796) (@jake-ciolek)
- dd11800: fix(run): When no user args are specified use the package's (#941) (@craciunoiuc)
- 8cf3075: fix(runu): filter default route for v4 family only (#871) (@jake-ciolek)
- 4ebc296: fix(schema): Remove any "v" prefix from the provided spec version (#973) (@craciunoiuc)
- 1b061f7: fix(unikraft): Add additional checks for targets (#976) (@nderjung)
- 0b9df40: fix(webinstall): Correct use of
makepkg
for Arch Linux (#838) (@craciunoiuc) - 5d5b4e9: fix(workflows): Do not match citations on commit messages (#880) (@antoineco)
- 42635a8: fix(workflows): Merge automated tags through PRs (#844) (@antoineco)
- 8d189de: fix(workflows): Re-run workflow for GitHub Actions on
action.yml
change (#896) (@craciunoiuc) - a9f98eb: fix(workflows): Remove
-n
after echo which adds a newline (#987) (@craciunoiuc) - b4c61f1: fix(workflows): Set
COSIGN_KEY
from secret (#988) (@razvand) - 0f0b2ab: fix(workflows): Upgrade
golangci-lint
to 1.55.1 and add timeout (#940) (@craciunoiuc) - 5edc8c5: fix(wowrkflows): Upgrade
golangci-lint
to v1.54.2 (#938) (@craciunoiuc) - 4066d0e: fix: Fix restoring TUI processtree IOStreams (#933) (@craciunoiuc)
- 76ccb69: fix: Prevent needless CLI parsing (#884) (@craciunoiuc)
📖 Docs
- b2c4903: docs: Update README.md (#971) (@craciunoiuc)
🤖 Bumps
- d5247a2: build(deps): Bump actions/checkout from 3 to 4 (#789) (@craciunoiuc)
- 4008b7e: build(deps): Bump actions/download-artifact from 2 to 3 (#867) (@craciunoiuc)
- 6227792: build(deps): Bump actions/upload-artifact from 2 to 3 (#865) (@craciunoiuc)
- 2dbb3b0: build(deps): Bump docker/build-push-action from 4 to 5 (#821) (@craciunoiuc)
- c1d3401: build(deps): Bump docker/build-push-action from 4 to 5 (#864) (@craciunoiuc)
- d687af4: build(deps): Bump docker/login-action from 2 to 3 (#824) (@craciunoiuc)
- 09396f0: build(deps): Bump docker/login-action from 2 to 3 (#863) (@craciunoiuc)
- 942e08c: build(deps): Bump docker/setup-buildx-action from 2 to 3 (#823) (@craciunoiuc)
- 1890600: build(deps): Bump docker/setup-buildx-action from 2 to 3 (#866) (@craciunoiuc)
- 9ecac6b: build(deps): Bump docker/setup-qemu-action from 2 to 3 (#822) (@craciunoiuc)
- a2fc44f: build(deps): Bump docker/setup-qemu-action from 2 to 3 (#882) (@craciunoiuc)
- aa02899: build(deps): Bump github.com/docker/docker from 24.0.4+incompatible to 24.0.7+incompatible in /tools/dockerfile-llb-frontend (#951) (@craciunoiuc)
- 2e05ff2: build(deps): Bump golang.org/x/net from 0.12.0 to 0.17.0 in /tools/dockerfile-llb-frontend (#876) (@nderjung)
- 5976fe9: build(deps): Bump google.golang.org/grpc from 1.53.0 to 1.56.3 in /tools/dockerfile-llb-frontend (#928) (@craciunoiuc)
- 76850eb: build(deps): Bump taskmedia/action-conventional-commits from 1.1.3 to 1.1.4 (#908) (@nderjung)
- f3b42b3: gomod(deps): Bump kraftkit.sh from 0.6.6 to 0.6.7 in /tools/go-generate-qemu-devices (#825) (@craciunoiuc)
🐒 Miscellaneous
- e7b033f: build(webinstall): Switch to distroless base image (#831) (@craciunoiuc)
- 8c1b125: gomod: Bump Go to v1.21.2 (#874) (@craciunoiuc)
- 909e41a: refactor(cli): Expose CLI actions as reusable methods (#926) (@craciunoiuc)
- e462f98: refactor(cli): Suffix all command options with
Options
(#923) (@craciunoiuc) - 8b365e0: refactor(pkg): Migrate the procedures in
Run
toPkg
(#963) (@craciunoiuc) - 386f257: refactor(update): Run parallel updates and hide on success (#936) (@craciunoiuc)
- cc4875b: refactor(utils): Reduce output of instance output (#970) (@craciunoiuc)
- 9c09902: refactor: Migrate all commands into
internal/cli
(#920) (@craciunoiuc) - 02a83e3: refactor: Replace unused 'args' with '_' in several commands (#834) (@craciunoiuc)
- 712c846: test(initrd): assert contents of CPIO archive (#953) (@craciunoiuc)