Commit Graph
100 Commits
Author SHA1 Message Date
adphiandAdphi 93ba19a1fa fix execution exit code on error
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi fb33b2a74e luks: do not support ubuntu < 20.04 and debian < 10
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi 8c36d42e06 luks: fix centos Dockerfile template
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi 709f24b5df actions: add end-to-end tests as release dependency
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi f7b4861b1d tests: fix permissions error
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi 0c3a736977 actions: move e2e test to a separated step
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi f75b0c7313 luks: fix ubuntu <22.04 support
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi bfa5f0df1d save docker image to disk before flatten
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi be88bc29f5 add keep-cache option to preserve intermediate docker images
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi 4780228c95 luks: implements support for centos
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi 2f34e19636 luks: implements support for debian like distibutions
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi 3ec9bdfb01 luks: implements support for Alpine
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-03-01 14:45:27 +01:00
adphiandAdphi fae73e71bc chore: upgrade go to 1.20
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-23 13:30:24 +01:00
adphiandAdphi 74aac3fdcb actions: add end-to-end tests
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-23 13:30:24 +01:00
adphiandAdphi f50f8d0f93 actions: build release snapshot only on main and tags
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-23 13:30:24 +01:00
adphiandAdphi 1970ac19e4 run/qemu: remove usb and device flags
refactor: move qemu to its own package
tests: implements end to end tests for the convert command with the following images: alpine:3.17, ubuntu:20.04, debian:11, centos:8

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-23 13:30:24 +01:00
adphiandAdphi 532ee3f1a3 add split boot partiton support
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-22 18:09:18 +01:00
adphi 490f235c6d docs: configure CNAME
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-17 00:39:14 +01:00
adphi 466d6d40d3 deps: go mod tidy
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-15 11:29:40 +01:00
adphi bf2687a211 docs: add container disk support
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-15 11:06:52 +01:00
adphi d652bf41f5 run: fix qemu-img convert path typo
build & convert: add kubevirt container disk support

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-15 10:43:23 +01:00
adphi 618b5bc861 use kpartx instead of partprobe (close #19)
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-15 10:36:05 +01:00
adphi 8659907d62 fix Alpine 3.17 support (close #16)
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2023-02-15 10:20:37 +01:00
adphi 6ac85912c1 docs: document dependencies and docker install method (close #10)
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-13 15:53:55 +02:00
adphi d18e68b138 run in docker if not root or sudo (fix #5 #9 #11)
set user permissions on image if run with sudo or in docker
run/vbox & run/hetzner: run qemu-img in docker if not available in path

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-13 15:02:38 +02:00
adphi 43f2dd5452 Makefile: install: fix missing go generate
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 12:34:34 +02:00
adphi 72413b0bac docs: add homebrew install instructions
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 12:05:27 +02:00
adphi fb5f21f1f3 actions: run tests only if go files or templates changed
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 11:47:11 +02:00
adphi 8f1ae3a8a4 chore: remove sparsecat binary from repo
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 11:43:16 +02:00
adphi a6163db5b8 actions: publish docs only on tag
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 11:23:50 +02:00
adphi 9d2ceb8cba docs: regenerate cli reference
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 11:21:45 +02:00
adphi 3940cd8975 BREAKING CHANGE: remove root default password, configure it only if provided (close #7)
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 11:19:51 +02:00
adphi 7ad6343e6f goreleaser: add brew support
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 10:50:50 +02:00
adphi 2cd50ff38c Makefile: fix completions command
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 10:13:41 +02:00
adphi f855fe9c7a Makefile: add completions generation
goreleaser: fix typo, add completions to release archive

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 10:10:28 +02:00
adphi f1557d104d fix zsh completion not working with source
README.md: add shell completion installation instructions

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 10:01:04 +02:00
adphi 7f3b3a859d Makefile: add install
README.md: improve install docs
goreleaser: add README.md to release tarball

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-12 09:23:33 +02:00
adphi 7718c533eb add pgp public key
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-11 20:02:04 +02:00
adphi 0208a2a134 chore: expose builder interface
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-11 20:01:37 +02:00
adphi 238d9a51af templates: do not set root password if empty
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-11 20:00:48 +02:00
adphi bf88399b58 run/hetzner: rollback sparsecat using outside linux
Makefile: compute tag: ignore dirty state

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-11 04:01:05 +02:00
adphi c97388fdae goreleaser: do not run go generate
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 20:31:16 +02:00
adphi e5dcf8defb Makefile: fix build and release
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 20:10:52 +02:00
adphi badaedc443 goreleaser: enable pre-releases
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:51:56 +02:00
adphi a41be6d27c fix: dockerfile relative path when running in docker
docs: update README.md to current command line api
fix: command line output white for default level

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:36 +02:00
adphi d97b58159c run/hetzner: upload using sparsecat and run e2fsck
docs: add demo scripts

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:36 +02:00
adphi 6c93c8be56 tests: fix builder tests: pull image before test
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:36 +02:00
adphi d7f2c453a9 docs: regenerate cli reference
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:36 +02:00
adphi d9f253d65c fix windows build
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:35 +02:00
adphi 13efc1a646 run/vbox: move console to go.linka.cloud/console
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:35 +02:00
adphi c923817c06 run/vbox: improve logging, cleanup on fails, convert to vdi if required
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:35 +02:00
adphi 35e6aae345 build: fix wrong default Dockerfile path when running in docker
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:35 +02:00
adphi 9893c8a95a improved commands output: add --time format option and color output
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:35 +02:00
adphi 77eac66d01 Makefile: docs-up-to-date: fix exclude paths
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:35 +02:00
adphi 4763760a1c docs: improved nav
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:34 +02:00
adphi 941052b33b docs: fix edit url
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:34 +02:00
adphi 7c12ca465a setup documentation site build and deploy 2022-09-10 19:41:34 +02:00
adphi 6d8a8d80f5 docs: regenerate docs and sparsecat binary
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:34 +02:00
adphi e767de2c83 docs: update cli reference
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:33 +02:00
adphi 480cae12cf feat: add --raw image creation support
refactor: use Option func pattern
fix: build respect the --force flag
fix: compute correct in-docker input and outpout mount paths

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:33 +02:00
adphi eb36d45c35 Makefile: fix docker-push
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:33 +02:00
adphi d0b775ab21 network-manager: fix ifupdown-ng not available, netplan use mac as dhcp identifier
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:33 +02:00
adphi 77690dbb57 tests: exclude d2vm_run_qemu.md from diff as defaults change on virtualization features availability
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:33 +02:00
adphi 02ca54f141 tests: docs-up-to-date: show diff when failed
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:32 +02:00
adphi 82f7d662c7 actions: move docs test to its own job
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:32 +02:00
adphi 4720b1cd17 d2vm/run: hetzner: convert image to raw if needed
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:32 +02:00
adphi 0192f32905 Makefile: docs up-to-date test: only check docs directory
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:32 +02:00
adphi ecd02424e1 docs: regenerate docs and sparsecat binary
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:32 +02:00
adphi 1853fec85a docs: add hidden docs command to generate markdown cli reference
tests: fail if the docs need to be regenerated

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:31 +02:00
adphi 7ee4e251e8 d2vm/run: hetzner: do not use sparsecat if not on linux
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:31 +02:00
adphi 96026b88ab add verbose flag, deprecate debug false
Dockerfile: add missing ca-certificates
run: hetzner: add token env var
fix examples

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:31 +02:00
adphi 1721146c7d network-manager: validate flag value
Dockerfile: fix ubuntu version to 20.04

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:31 +02:00
adphi 3417f50e11 docs: add minimum versions [skip ci]
templates: remove extra line continuation

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:31 +02:00
adphi bb4c641a02 chore: add missing copyright headers, remove done todos
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:30 +02:00
adphi 46494b54c9 tests: run build tests in parallel
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:30 +02:00
adphi b09f0e07ad convert / build: add networking support through network-manager flag
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:30 +02:00
adphi adbd4c7233 d2vm/run: hetzner: remove server if run is cancelled before beeing created
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:30 +02:00
adphi 0c24236da9 add "append-to-cmdline" option
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:30 +02:00
adphi 92cd70430b Makefile: build: add missing docker image
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:30 +02:00
adphi dd1b5006cb d2vm/run: hetzner: use tcp to wait for the server to be ready, do not store server key in UserKnownHostsFile
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:29 +02:00
adphi 9f702e5071 d2vm/run: hetzner expand root partition and file system
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:29 +02:00
adphi c7ea09b6a1 goreleaser: ignore commits starting with "tests:"
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:29 +02:00
adphi 8b098731d2 tests: split tests run
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:29 +02:00
adphi d2d378ec11 tests: increase timeout
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:29 +02:00
adphi 841bf6a7e4 d2vm/run: add hetzner support
tests: add sysconfig tests for the supported distributions

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:28 +02:00
adphi 18af3227cc actions: setup tests and releases
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:28 +02:00
adphi 598dec4e32 chore: d2vm/run: cleanup unused code, add source reference
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:28 +02:00
adphi 56104bbc0f examples/full: add cloud-init support and cloud-guest-utils
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:28 +02:00
adphi 6c23c42f80 output defaults to raw
move image using sparsecat
print command in debug mode

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:28 +02:00
adphi 5ac3ab9292 run: fix flags not applied
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:27 +02:00
adphi 62d8a1019d remove -O option, use output extension instead
add run command to execute vm in qemu or virtualbox

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-10 19:41:27 +02:00
adphi 29d953c14d fix: policy-rc.d path typo
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-08-12 13:42:55 +02:00
adphi 2af13ef626 sysconfig: fix paths for ubuntu versions before 20.04 (fix #3)
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-08-04 17:06:27 +02:00
adphi a40b7d3c07 d2vm: fix CentOS install
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-04-26 14:59:33 +02:00
adphi 8538bb0521 Dockefile: remove udevadm missing warning
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-04-24 16:58:15 +02:00
adphi 13d913db38 d2vm: remove kpartx dependency, use parted instead of fdisk
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-04-24 16:48:21 +02:00
adphi 085e57a07a refactoring: explicit docker commands
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-04-24 16:27:04 +02:00
adphi 20ba409039 d2vm: flatten docker image using github.com/google/go-containerregistry
This allows to preserve files like /etc/hostname or /etc/resolv.conf that will otherwise be overriden by running the container to extract rootfs

wip img entrypoint script

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-04-24 15:49:01 +02:00
adphi 0c9bfb6dd8 README.md: add badges
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-04-22 13:26:48 +02:00
adphi 8c1455b030 doc: add asciinema
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-04-22 12:35:26 +02:00