Commit Graph

586 Commits

Author SHA1 Message Date
renovate[bot]
832e7cfcf4 fix(deps): update module github.com/urfave/cli/v2 to v2.27.1 (#90)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 03:22:03 +00:00
renovate[bot]
df75cc49c7 chore(deps): update dependabot/fetch-metadata action to v1.7.0 (#89)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 00:13:41 +00:00
renovate[bot]
b0637bfd84 fix(deps): update module github.com/mudler/yip to v1.6.0 (#47)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
v0.1.0
2024-04-15 10:47:24 +00:00
renovate[bot]
0347145725 fix(deps): update module github.com/google/go-containerregistry to v0.19.1 (#43)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 10:46:27 +00:00
renovate[bot]
99dddde820 fix(deps): update module github.com/onsi/ginkgo/v2 to v2.17.1 (#48)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 10:43:58 +00:00
dependabot[bot]
5c2e41f419 Bump github.com/docker/docker (#79)
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 23.0.5+incompatible to 24.0.9+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v23.0.5...v24.0.9)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-15 10:43:28 +00:00
renovate[bot]
7c50ca995e fix(deps): update module github.com/jaypipes/ghw to v0.12.0 (#29)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:40:26 +02:00
renovate[bot]
e5c1190ede Update module github.com/onsi/gomega to v1.32.0 (#26)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:40:06 +02:00
Ettore Di Giacinto
79ef8786e7 Create renovate_auto.yml 2024-04-15 12:39:46 +02:00
renovate[bot]
7084fd2c28 fix(deps): update module github.com/twpayne/go-vfs/v4 to v4.3.0 (#49)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:38:27 +02:00
dependabot[bot]
aa98dd7167 Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 (#80)
Bumps google.golang.org/protobuf from 1.30.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-15 12:36:02 +02:00
Ettore Di Giacinto
f43417cf78 Create dependabot_auto.yml 2024-04-15 12:35:13 +02:00
dependabot[bot]
878ce52870 Bump github.com/docker/distribution (#77)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-15 12:31:32 +02:00
Dimitris Karakasilis
66ee3cb60f Make sure we filter only Images() (#85)
otherwise the methods might fails to parse strange irrelevant tags

Should fix: https://github.com/kairos-io/kairos/issues/2440

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
v0.0.30
2024-04-12 09:37:53 +03:00
Itxaka
ce8a9394a7 Return empty query instead of null (#84) 2024-04-11 12:42:03 +02:00
Itxaka
cbd699b174 fix check for state reset (#83) v0.0.29 2024-04-08 12:50:40 +02:00
renovate[bot]
9125488d8f Update module github.com/containerd/containerd to v1.7.11 [SECURITY] 2024-03-28 08:58:51 +00:00
Itxaka
9be65995ff Restore the family value in os-release (#75) v0.0.28 2024-03-27 09:58:03 +01:00
Itxaka
9005687239 Detect autoreset in UKI mode (#74) v0.0.27 2024-03-22 13:11:18 +01:00
Itxaka
e50888d054 Fix parsing cmdline when keys have a dash (#73)
* Fix parsing cmdline when keys have a dash

If a key has a dash we need to add quotes to it before parsing it with
gojq, otherwise it will fail AND the full cmdline will not be parsed!

Signed-off-by: Itxaka <itxaka@kairos.io>

* Actualizar bootcmdline_test.go

---------

Signed-off-by: Itxaka <itxaka@kairos.io>
2024-03-18 17:28:31 +01:00
Itxaka
1c55cf24d3 This makes it so it implements other logger interfaces fully (#72) 2024-03-01 11:53:08 +01:00
Itxaka
b3dfedfacb Add milliseconds to log files
Signed-off-by: Itxaka <itxaka@kairos.io>
2024-03-01 09:35:17 +01:00
Mauro Morales
ab666f1b15 Check role of efi conf with prefix (#71)
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
v0.0.26
2024-02-29 19:56:53 +01:00
Itxaka
e0ea9975a4 New logger (#70) 2024-02-28 09:29:02 +01:00
Dimitris Karakasilis
f666b18370 2226 detect boot state (#69)
* Detect boot state using suffix in UKI mode

This assumes that the files are named correctly on installation/upgrades
etc (pending implementation)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* WIP

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Refactor NewRuntime and add logging

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
v0.0.25
2024-02-19 12:10:31 +02:00
Itxaka
89782e9933 Support identifying recovery via recovery-mode stanza (#68) v0.0.24 2024-02-01 15:22:24 +01:00
Itxaka
c21aa7f149 Expand shim locations (#67) 2024-01-12 10:20:53 +01:00
Mauro Morales
f665d930e2 Allow k3s to be downgraded when kairos version is higher
because we may cut an rc in which we try some newer k3s version but we
decide to not release a stable version with that, so we revert to an
older k3s version when we release stable.

Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
v0.0.23
2024-01-08 16:57:03 +02:00
Dimitris Karakasilis
e671e8d9d4 Don't require "Variant" to be set when generating base container names (#65)
Part of: https://github.com/kairos-io/kairos/issues/2104

(Needs to be bumped in kairos-agent to complete the story)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
v0.0.22
2024-01-05 10:18:54 +02:00
Itxaka
eaa9d3ce04 Add 2 utils to get efi/shim paths
Signed-off-by: Itxaka <itxaka@kairos.io>
2023-12-30 12:46:01 +01:00
Itxaka
a99f8bb487 Expand config schema (#64) v0.0.21 2023-12-18 15:39:09 +01:00
Dimitris Karakasilis
78aa874172 Put the os-release variable values in quotes (#63)
otherwise the files can't be "source"d

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-12-18 14:44:47 +02:00
Dimitris Karakasilis
74a57eb673 Make "standard" flavor os-release variables optional (#62)
* Make "standard" flavor os-release variables optional

and change ARCH to TARGETARCH to simplify how it's passed down from
Earthly in the kairos repo

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Add SOFTWARE_VERSION_PREFIX in os-release

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Accept SOFTWARE_VERSION_PREFIX in cli

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Fix test

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
v0.0.20
2023-12-14 16:57:03 +02:00
Dimitris Karakasilis
a8707c113a 1999 list releases (#61)
* Add registry and org to the os-release file

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Extract the software version prefix to a field

and make sure everything still works.
Also implement NoPrereleases method to filter out Kairos pre-releases

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Store RegistryAndOrg on the TagList

to be used in the new PrintImages method that prints full image URLs

This method will be used in the "kairos-agent upgrade list-releases" command

Also fix some relic softarePrefix arguments (Artifact now has that info)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement sorting in a semver manner

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement FullImages method that returns the tags as full images

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
v0.0.19
2023-12-08 14:01:57 +02:00
Mauro Morales
5a078882be Remove variant from base tag (#60) 2023-12-07 12:03:02 +01:00
Dimitris Karakasilis
29fc4851f4 1999 introduce versioneer (#59)
* Introduce versioneer package

to replace the naming.sh script in kairos-io/kairos

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement BootableName for bootable artifacts

also introduce Version and SoftwareVersion fields

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Refactor to introduce commondName

to be used with ContainerName

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement ContainerName and add missing tests

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Introduce NewArtifactFromJSON

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Introduce NewFromOSRelease

to be used within a Kairos image

See also discussion: https://github.com/kairos-io/kairos/discussions/2035

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Introduce 3 methods to find releases (TODO: implement them)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Use existing OSRelease method and remove the new one

the existing method had to be adapted to accept and optional path to
the os-release file to allow the tests to pass a tmp file.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Introduce TagList and some basic filtering of tags

also introduce RegistryInspector which finds tags from a container
registry for a specific repository.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement OtherVersions method of TagList

to return different Kairos versions of the exact same artifact.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* [WIP] Add TODOs for 2 more methods

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement Sorted() method on TagList

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement RSorted

and change OtherVersions test to ensure it also returns older versions too.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement NewerVersions method

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Make json file pretty

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement OtherSoftwareVersions and NewerSoftwareVersions

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement NewerAnyVersions and OtherAnyVersions

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Make TagList a struct so that it has an "Artifact" field

Now the Artifact has a TagList method that returns a TagList which is
associated to the specific Artifact.

All methods of TagList are now available to the Artifact.

E.g.
tagList, _ := artifact.TagList("quay.io/kairos")
tagList.NewerAnyVersion(...)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Use the field Artifact in TagList methods instead of needing an argument

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Fix linting errors

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Restructure files and introduce main.go for versioneer

to provide a user interface that will replace naming.sh script of the
kairos repository

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Fix imports

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement bootable-artifact-name cli command

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement BaseContainerName method

Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>

* Create a wrapper command base-container-artifact-name

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Extract the cli command to the packag to be re-used in kairos-agent

Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>

* Go back to original package structure

and just nest the cli

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Move the versioneer "main" package outside the tree

to allow it to be imported in kairos-agent

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Allow setting the cli flags using environment variables

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement os-release-variables command

to replace the logic in Earthly and Dockerfiles

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Fix test

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Fix TODO in Readme

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Dry the creation of the Artifact

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
Co-authored-by: Mauro Morales <mauro.morales@spectrocloud.com>
Co-authored-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
v0.0.18
2023-12-05 15:46:08 +02:00
Mauro Morales
9bbc110598 Re-introduce local runner (#57)
* Re-introduce local runner

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Refactor code, remove LocalRunner

and allow both "container:" and "run:" types to use local archives

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Treat "docker:" bundler prefix the same as "container:"

as per the docs:
https://kairos.io/docs/advanced/bundles/#bundle-types

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Add TODO tests

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Remove the not-needed LocalRunner

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Implement tests

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Remove TODO

Won't do now to avoid introducing bugs

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
v0.0.17
2023-12-05 12:09:10 +02:00
Dimitris Karakasilis
f73090dca2 Don't parse userdata and userdata.yaml (#58)
yip writes both files with the same content when userdata passes
validation (schema.Load):

48147fae9d/pkg/plugins/datasource.go (L246-L252)

This means we shouldn't match `userdata` since the `userdata.yaml` will
be used due to the extension.

Fixes https://github.com/kairos-io/kairos/issues/2019

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
v0.0.16
2023-11-23 16:37:37 +02:00
renovate[bot]
f37fc75b5d fix(deps): update module github.com/swaggest/jsonschema-go to v0.3.62 2023-10-30 16:26:42 +00:00
Tyler Gillson
196f133f26 feat: add ProviderOptions to Cluster (#53)
Signed-off-by: Tyler Gillson <tyler.gillson@gmail.com>
2023-10-30 17:22:46 +01:00
Itxaka
2ecbdbbd3f Add init system information to state output (#56)
Signed-off-by: Itxaka <itxaka@kairos.io>
v0.0.15
2023-10-18 17:16:12 +02:00
renovate[bot]
7d4292eaa6 fix(deps): update module github.com/containerd/containerd to v1.7.7 2023-10-17 22:35:38 +00:00
renovate[bot]
0bb4e40b4f fix(deps): update module github.com/santhosh-tekuri/jsonschema/v5 to v5.3.1 2023-10-04 18:50:31 +00:00
Mauro Morales
56431eb91a Configure automerge for patch updates 2023-10-04 17:37:10 +02:00
Itxaka
8f54324703 Allow passing readers to collector (#52) 2023-09-26 09:32:53 +02:00
Itxaka
699aa6203c Read the first ten lines of a config to check for headers (#51)
There could be comments before the cloud-config header or jinja
expressions as we found already[0] so our current header check its a bit
strict.

This patch makes it so er read the first ten lines of the config source,
check for # at the start and then check for the headers as we did
before, so we are a bit more letinent in case the cloud-config header is
not the first thing in the file

Signed-off-by: Itxaka <itxaka@kairos.io>
2023-09-15 20:59:31 +02:00
renovate[bot]
5919d1a466 fix(deps): update module github.com/swaggest/jsonschema-go to v0.3.59 (#36)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-04 16:47:54 +02:00
renovate[bot]
52e0cbd60e fix(deps): update module github.com/itchyny/gojq to v0.12.13 (#24)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-04 16:47:41 +02:00
renovate[bot]
42c18546e0 fix(deps): update module github.com/containerd/containerd to v1.7.5 (#25)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-04 16:47:22 +02:00
Itxaka
9e420d9015 Add KairosFS type and detectBoot with FS (#46) v0.0.14 2023-09-01 15:31:04 +03:00