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

🌱 Sync the names of the artifacts #1109

Closed
Tracked by #1313
Itxaka opened this issue Mar 12, 2023 · 13 comments
Closed
Tracked by #1313

🌱 Sync the names of the artifacts #1109

Itxaka opened this issue Mar 12, 2023 · 13 comments
Assignees
Labels
chore enhancement New feature or request

Comments

@Itxaka
Copy link
Member

Itxaka commented Mar 12, 2023

Is your feature request related to a problem? Please describe.
Checking the release there seems to be a difference in the artifacts name that its a bit confusing

All this artifacts are for the same flavor:

core-alpine-ubuntu-v2.0.0-alpha1-grype.json
core-alpine-ubuntu-v2.0.0-alpha1-grype.sarif
core-alpine-ubuntu-v2.0.0-alpha1-sbom.spdx.json
core-alpine-ubuntu-v2.0.0-alpha1-sbom.syft.json
core-alpine-ubuntu-v2.0.0-alpha1-trivy.html
core-alpine-ubuntu-v2.0.0-alpha1-trivy.json
core-alpine-ubuntu-v2.0.0-alpha1-trivy.sarif
kairos-alpine-ubuntu-v2.0.0-alpha1-initrd
kairos-alpine-ubuntu-v2.0.0-alpha1-ipxe-usb.img.ipxe
kairos-alpine-ubuntu-v2.0.0-alpha1-ipxe.iso.ipxe
kairos-alpine-ubuntu-v2.0.0-alpha1-kernel
kairos-alpine-ubuntu-v2.0.0-alpha1.ipxe
kairos-alpine-ubuntu-v2.0.0-alpha1.iso
kairos-alpine-ubuntu-v2.0.0-alpha1.iso.sha256
kairos-alpine-ubuntu-v2.0.0-alpha1.iso.sha256.pem
kairos-alpine-ubuntu-v2.0.0-alpha1.iso.sha256.sig
kairos-alpine-ubuntu-v2.0.0-alpha1.squashfs

and its docker repo: https://quay.io/repository/kairos/core-alpine-ubuntu

Meanwhile we also have:
https://quay.io/repository/kairos/kairos-alpine-ubuntu?tab=info

For the provider-kairos.

Describe the solution you'd like

Everything to hav ethe same name. Kairos should either output core-X or kairos-X or even kairos-core-Xfor all its artifacts and sync that with the repo name to avoid confusion.

Describe alternatives you've considered

Keep it this way

Additional context

@Itxaka Itxaka added the enhancement New feature or request label Mar 12, 2023
@mudler mudler mentioned this issue Apr 13, 2023
29 tasks
@mudler mudler changed the title Sync the names of the artifacts 🌱 Sync the names of the artifacts Apr 13, 2023
@mudler mudler removed their assignment Apr 13, 2023
@mudler mudler moved this to Todo 🖊 in 🧙Issue tracking board Apr 13, 2023
@mudler mudler mentioned this issue Apr 21, 2023
29 tasks
@mudler mudler moved this from Todo 🖊 to Under review 🔍 in 🧙Issue tracking board Jul 10, 2023
@mudler mudler moved this from Under review 🔍 to Todo 🖊 in 🧙Issue tracking board Jul 10, 2023
@mudler mudler added the chore label Jul 17, 2023
@mauromorales mauromorales self-assigned this Jul 18, 2023
@mauromorales mauromorales moved this from Todo 🖊 to In Progress 🏃 in 🧙Issue tracking board Jul 18, 2023
@mauromorales
Copy link
Member

Before I make any changes here, I'd like to start a conversation about the following topics:

1 Naming convention we agree on

How about kairos-type-flavor-arch-device-version.extension where:

  • type can be core or standard
  • arch is amd64 or arm64
  • device is rpi4 or onix (this last one will depend on how we decide on support for the RPi but I think it will be worth in the future making the distinction in case there are major changes between a rpi4 and rpi5

2 Docker repository

Whatever change we choose, changing the docker repository might be problematic. Do you know if we can do a rename and forward traffic from the old repo to the new one? Or what do you suggest?

Thoughts @kairos-io/maintainers ?

@Itxaka
Copy link
Member Author

Itxaka commented Jul 18, 2023

I'm guessing core is pure Kairos and standard is the one with k3s? Good to me.

For normal non-device artifacts we drop the device or use a generic or something?

For the docker repo...there is a way of renaming things and moving things but it's a pita. But it can be done. Redirecting seems impossible no? The repo stuff is out of our control. But we can rename it or change the repo and do a clean transition by duplicating the pushes to both repos for x versions and then finally dropping after a while

@mauromorales
Copy link
Member

mauromorales commented Jul 18, 2023

I'm guessing core is pure Kairos and standard is the one with k3s? Good to me.

Yeah indeed, we already do the distinction on the docs

For normal non-device artifacts we drop the device or use a generic or something?

generic sounds good to me, universal could be another option

there is a way of renaming things and moving things but it's a pita

oki will look into it

@mauromorales
Copy link
Member

Oh BTW we also have org/repo and org/repo-img for arm

@jimmykarily
Copy link
Contributor

I agree on the naming, I don't know about redirections. Itxaka's suggestion on the name migration strategy sounds good.

@Itxaka
Copy link
Member Author

Itxaka commented Jul 19, 2023

there is a way of renaming things and moving things but it's a pita

oki will look into it

IIRC, I did it via skopeo. I first pulled the whole repo into local, write a script to rename the whole thing to the new repo naming and then pushed again to the new one.

Supposedly it could be done with skopeo sync to sync between two repos, but I was never able to do it properly, it always mangled the names :/

@mauromorales
Copy link
Member

@mudler does the proposed artifact name format work for you?

@mauromorales
Copy link
Member

ohh one more thing, we will also want to distinguish between community and supported ones. This is one of the action items on #1527

So maybe something like:

kairos-support-type-flavor-arch-device-version.extension

Where:

  • kairos: fixed
  • support: official or community
  • type: core or standard (IMO this should actually be the flavor, but won't start that or it might get messy 😅 )
  • flavor: distribution name (IMO should be called distro)
  • arch: amd64 or arm64
  • device: currently only rpi64 but we should change this to have rpi3 (if we decide to keep supporting) rpi4 and onix
  • extension: iso, img etc

@mauromorales
Copy link
Member

@kairos-io/maintainers ^^

@mudler
Copy link
Member

mudler commented Jul 19, 2023

sounds all good here. Just a note, there are non-obvious places where artifacts are hardcoded, see for e.g. ipxe, or AuroraBoot, or the agent (when finding new images)

@mauromorales
Copy link
Member

Something that could be beneficial IMO but maybe it's too big of a change now, is to add the underlying distro version. We currently do it only to distinguish Ubuntu "rolling" vs 20-lts and 22-lts, but I think users could benefit from knowing if the underlying distro changed between Kairos releases. For example having ubuntu-22.10-v2.2.0 vs ubuntu-23.04-v2.3.0 what do you think? @kairos-io/maintainers

mauromorales added a commit to kairos-io/provider-kairos that referenced this issue Jul 27, 2023
relates to kairos-io/kairos#1109

`earthly +all`

```
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s-initrd
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s.ipxe
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s-ipxe.iso
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s-ipxe-usb.img
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s.iso
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s.iso.sha256
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s-kernel
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s-sbom.spdx.json
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s-sbom.syft.json
kairos-standard-opensuse-leap-amd64-generic-v2.3.1-dirty-k3s.squashfs
```

`earthly +all-arm-generic --FLAVOR=opensuse-leap-arm-generic`

```
kairos-standard-opensuse-leap-arm64-generic-v2.3.1-1-g6a62b88-dirty.iso
kairos-standard-opensuse-leap-arm64-generic-v2.3.1-1-g6a62b88-dirty.iso.sha256
kairos-standard-opensuse-leap-arm64-generic-v2.3.1-1-g6a62b88-dirty-sbom.spdx.json
kairos-standard-opensuse-leap-arm64-generic-v2.3.1-1-g6a62b88-dirty-sbom.syft.json
```

`earthly -P +all-arm --FLAVOR=opensuse-leap-arm-rpi`

```
kairos-standard-opensuse-leap-arm64-rpi64-v2.3.1-3-g4b23855-dirty-k3s.img.xz
kairos-standard-opensuse-leap-arm64-rpi64-v2.3.1-3-g4b23855-dirty-k3s.img.sha256
kairos-standard-opensuse-leap-arm64-rpi64-v2.3.1-3-g4b23855-dirty-sbom.spdx.json
kairos-standard-opensuse-leap-arm64-rpi64-v2.3.1-3-g4b23855-dirty-sbom.syft.json
```

---------

Signed-off-by: Mauro Morales <[email protected]>
@mauromorales
Copy link
Member

Renaming of repositories will not be part of this ticket but will be address in #1694

@mauromorales mauromorales moved this from In Progress 🏃 to Under review 🔍 in 🧙Issue tracking board Aug 8, 2023
@jimmykarily
Copy link
Contributor

ok let's continue on #1694 . Closing this.

@github-project-automation github-project-automation bot moved this from Under review 🔍 to Done ✅ in 🧙Issue tracking board Aug 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore enhancement New feature or request
Projects
Archived in project
Development

No branches or pull requests

4 participants