Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⚠️ Build provider-kairos in this repository #1609

Closed
2 of 6 tasks
Tracked by #1313
mudler opened this issue Jul 17, 2023 · 3 comments · Fixed by #1689
Closed
2 of 6 tasks
Tracked by #1313

⚠️ Build provider-kairos in this repository #1609

mudler opened this issue Jul 17, 2023 · 3 comments · Fixed by #1689
Assignees
Labels
enhancement New feature or request

Comments

@mudler
Copy link
Member

mudler commented Jul 17, 2023

Continuation of : #1557

We have moved the provider-kairos tests to kairos, this card is about moving the release process into kairos

Action items

Open points to check:

  • Adapt provider-kairos binary to pick up release list from the new location
  • Check if changes to Auroraboot are needed
@mudler mudler added the enhancement New feature or request label Jul 17, 2023
@mudler mudler self-assigned this Jul 17, 2023
@mudler mudler mentioned this issue Jul 17, 2023
29 tasks
@mudler mudler changed the title Build provider-kairos in this repository ⚠️ Build provider-kairos in this repository Jul 17, 2023
@mudler mudler removed their assignment Jul 17, 2023
@Itxaka
Copy link
Member

Itxaka commented Jul 18, 2023

Currently the process to build provider enabled images on kairos is done via earthfile by running the command: PROVIDER_INSTALL https://github.com/kairos-io/provider-kairos/blob/main/Earthfile#L151

Which:

  • Installs k3s version via K3S_VERSION (latest if not set)
  • Installs the nohang package (Could we just move it to the base images??)
  • Installs several packages from our luet repos (utils/edgevpn utils/k9s utils/nerdctl container/kubectl utils/kube-vip)
  • Removes the k3s default env files (/etc/rancher/k3s/k3s.env and /etc/rancher/k3s/k3s-agent.env)
  • Builds agent-provider-kairos and copies it into /system/providers/agent-provider-kairos and links it also from /usr/bin/kairos

This is set by running the earthly command with the flag --PROVIDER_KAIROS=true
This will also rerun the OSRELEASE command as its needed to override several values, otherwise the upgrades will fail, see comment at https://github.com/kairos-io/kairos/blob/master/Earthfile#L355

ISO naming is currently not changed, so that needs to be fixed. It will generate the same iso name as one without the provider on it, but as its used for testing only it did not matter that much.

Also as we are on earthly 0.6 the ARG values cannot be override inside a target. So we cannot just override the VARIANT for example with Kairos and have the iso use that and spit a decent named image, thats also the reason we need to re-run the OSBUILDER with the manual values, otherwise we could also override the OS_REPO and OSBUILDER would pick that up.
That is fixed on earthly 0.7 but it also comes with a LOT of changes to args, globalb args, etc... so its a bit more complicated than just bumping it.

jimmykarily added a commit to kairos-io/packages that referenced this issue Jul 18, 2023
as part of this: kairos-io/kairos#1609

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
jimmykarily added a commit to kairos-io/packages that referenced this issue Jul 18, 2023
as part of this: kairos-io/kairos#1609

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
jimmykarily added a commit to kairos-io/provider-kairos that referenced this issue Jul 18, 2023
so that we can call it to verify we built a fips version by greping for
"boringcrypto" in the output.

Part of: kairos-io/kairos#1609

Will be used here: kairos-io/packages#334

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
@jimmykarily
Copy link
Contributor

Provider kairos has a luet package: https://github.com/kairos-io/packages/tree/main/packages/bundles/provider-kairos
and so does k3s: https://github.com/kairos-io/packages/tree/main/packages/k3s

but the k3s one doesn't do all the things described on Itxaka's comment above (e.g. it doesn't create the services files), it's in TODO)

We can try to finish the k3s package and use it but I wonder if it would be better to actually call the the k3s installer script from within the luet package instead. Are we breaking some convention if a luet package makes calls to the internet? Is it supposed to be self-contained? I'm thinking that if we don't do this, we would need to always follow the logic of the installer script and make sure we replicate the same result in the luet package.

@jimmykarily
Copy link
Contributor

jimmykarily added a commit to kairos-io/provider-kairos that referenced this issue Jul 19, 2023
so that we can call it to verify we built a fips version by greping for
"boringcrypto" in the output.

Part of: kairos-io/kairos#1609

Will be used here: kairos-io/packages#334

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
jimmykarily added a commit to kairos-io/provider-kairos that referenced this issue Aug 8, 2023
…os (#472)

TODO: Build standard images for all flavors in kairos on "master", so
that we can completely remove the image building code from this repo
(and the rest of the image building pipelines). This way, there won't be
any duplication anymore.

Part of [#1609](kairos-io/kairos#1609)
Goes together with: kairos-io/kairos#1689

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants