25 Commits

Author SHA1 Message Date
Dimitris Karakasilis
d4ce271c3a Migrate legacy (already removed) scripts to auroraboot commands (#201)
* Migrate legacy (already removed) scripts to auroraboot commands

Since we switched to using auroraboot as the tool-image, these scripts
no longer exist. The functionality is provided by auroraboot itself.

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

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

* Add e2e tests for various cloud formats

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

* Fix "PVC already exists" error in tests

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

* Fix auroraboot commands

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

* Make build-iso an init container

so that the netboot container finds the ISO in place when it needs it

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

* Fix tests

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

* Increase timeout for namespace deletion

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

* Refactor commands

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

* Refactor auroraboot command strings to use strings.Builder (#203)

* Initial plan

* Refactor command string to use strings.Builder for better readability

Co-authored-by: jimmykarily <2794419+jimmykarily@users.noreply.github.com>

* Complete refactoring of command string

Co-authored-by: jimmykarily <2794419+jimmykarily@users.noreply.github.com>

* Refactor azureCmd and gceCmd to use strings.Builder

Co-authored-by: jimmykarily <2794419+jimmykarily@users.noreply.github.com>

* Revert unintended changes to generated files

Co-authored-by: jimmykarily <2794419+jimmykarily@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jimmykarily <2794419+jimmykarily@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Apply suggestion from @jimmidyson

Co-authored-by: Jimmi Dyson <jimmi.dyson@nutanix.com>
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Refactor auroraboot invocation for consistenty with the rest

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

* Use string builder everywhere (consistency)

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

* Make sure we don't match multiple files (PR suggestion)

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

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jimmykarily <2794419+jimmykarily@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jimmi Dyson <jimmi.dyson@nutanix.com>
2025-12-16 20:57:42 +02:00
Dimitris Karakasilis
19b3a57878 The flag --name has been renamed to --override-name in newer auroraboot (#200)
* The flag --name has been renamed to --override-name in newer auroraboot

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

* Set the default tool-image to a compatible one

We'd better set this to the compatible auroraboot version each time
because changing the flags of auroraboot in the future means it may not always
work with `latest`.

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

* Use newer image to fix tests

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

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2025-11-20 13:36:57 +02:00
Dimitris Karakasilis
4aa7211f96 Remove tools image references and opt for auroraboot (#192)
* Remove references to osbuilder-tools image

because it has been merged with auroraboot here:

https://github.com/kairos-io/AuroraBoot/pull/110

as part of https://github.com/kairos-io/kairos/issues/1633

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

* WIP

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

* Fix test command

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

* go mod tidy

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

* Bump linting action

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

* Don't look for artifacts in build/ subdir

because it has been fixed here:

https://github.com/kairos-io/AuroraBoot/pull/115

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

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2024-11-15 16:16:13 +02:00
Itxaka
745b2a18f1 Also update the controller
Signed-off-by: Itxaka <itxaka@kairos.io>
2024-10-01 11:44:15 +02:00
Dimitris Karakasilis
e55bd03800 1546 byoi (#88)
* Add fields to the CRDs

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

* WIP Create test

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

* Refactor code to split in testable functions

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

* WIP

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

* Do something actually useful in tests

- Create a random namespace
- Create an artifact
- Check that CreateConfigmap doesn't error

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

* WIP

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

* Refactor before each so that we can change the artifact object per test

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

* WIP

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

* WIP

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

* Run kaniko to build the Dockerfile

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

* Build the image from Dockerfile with kaniko

Currently can build an image. For example apply these:

```
kind: Secret
apiVersion: v1
metadata:
  name: mydockerfile
stringData:
  Dockerfile: |
    FROM ubuntu
    RUN touch myfile

---
kind: OSArtifact
apiVersion: build.kairos.io/v1alpha2
metadata:
  name: hello-kairos
spec:
  imageName: "quay.io/kairos/core-opensuse-leap:latest"
  baseImageDockerfile:
    name: "mydockerfile"
    key: "Dockerfile"
  iso: true
```

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

* Clarify that convert-to-kairos is not yet implemented

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

* Remove implemented TODO

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

* WIP

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

* Bump linting action

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

* Fix linting errors

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

* Bump it again

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

* Unexport function and run controller tests in CI

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

* Unexport the other one too

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

* Extract case to a function

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

* Split controller tests in a separate job

so that they run on a fresh cluster and they run in parallel

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

* Remove non-implemented functionality

Will happen as part of this: https://github.com/kairos-io/kairos/issues/1721

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

* go mod tidy

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

* Try to use a random (free) port in tests

because sometimes we collide

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

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-08-31 15:30:55 +03:00
Jacob Payne
a963471629 fixed exporters tag
Signed-off-by: Jacob Payne <jacob@spectrocloud.com>
2023-05-22 14:37:11 -07:00
Jacob Payne
8d67aafa9c allow for custom artifact export logic
Signed-off-by: Jacob Payne <jacob@spectrocloud.com>
2023-05-08 13:53:50 -07:00
Dimitris Karakasilis
04d46465a7 Fallback to the spec name when a push image name is not provided
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-01-09 13:25:04 +02:00
Dimitris Karakasilis
ed201a72ef Always produce an importable tar from the image
and name it after the artifact

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

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-12-20 10:26:10 +02:00
Dimitris Karakasilis
cfc4ebf308 Un-hardcode the copier image
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-12-15 12:29:49 +02:00
Dimitris Karakasilis
1346374650 Refactor kustomization, implement cleanup with finalizers and write tests
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-12-14 16:49:55 +02:00
Dimitris Karakasilis
224291994f [WIP] Create rbac resources to allow the Job to copy to the server Pod
Currently fails with:

```
Error from server (Forbidden): pods is forbidden: User "system:serviceaccount:default:hello-kairos" cannot list resource "pods" in API group "" at the cluster scope
```

because we try to list pods with `-A`. This means we are going to get a
similar error if we try to copy files to a Pod on another namespace
unless we grant permission at the cluster scope or just that
namespace. (Is that possible? Maybe if we create the Role in the same
namespace as the server.)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-12-12 18:11:38 +02:00
Dimitris Karakasilis
44a48d7890 Switch from a Deployment to a Job and create permanent nginx Deployment
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-12-07 17:46:19 +02:00
Ettore Di Giacinto
7ae1f7105a Add option to build netboot files and disk image size 2022-11-07 22:02:32 +00:00
Ettore Di Giacinto
ece128a0b5 Fixup artifact names 2022-11-05 16:26:15 +00:00
Ettore Di Giacinto
4f87e2329c Add logic to controller to build disks 2022-11-03 23:42:09 +00:00
Ettore Di Giacinto
0bfe296c53 fix typos 2022-10-24 08:42:14 +00:00
Ettore Di Giacinto
ca8065f94b Make GRUBConfig and CloudConfig optional fields 2022-10-24 08:21:12 +00:00
Ettore Di Giacinto
93769cf295 🎨 Rebrand to Kairos
See: https://github.com/kairos-io/kairos/issues/88
2022-09-19 10:06:14 +00:00
Ettore Di Giacinto
7e4846785d Use one image with tools 2022-09-13 21:55:53 +00:00
Ettore Di Giacinto
287ed276eb Use tools image in the controller 2022-09-13 20:49:18 +00:00
Ettore Di Giacinto
78a728910d Default to nodeport 2022-09-10 22:15:40 +00:00
Ettore Di Giacinto
680907ab43 Add osRelease field 2022-09-09 15:09:20 +00:00
mudler
b3e7dcbf59 Add support for bundles and custom grub config 2022-09-06 22:27:15 +02:00
mudler
d8a8bf604a Initial import 2022-09-03 14:48:48 +02:00