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

Flatcar Linux access to CNCF runners #279

Open
gabriel-samfira opened this issue Nov 15, 2024 · 1 comment
Open

Flatcar Linux access to CNCF runners #279

gabriel-samfira opened this issue Nov 15, 2024 · 1 comment

Comments

@gabriel-samfira
Copy link

Hi!

We would like to use the CNCF runners in the Flatcar project to build and/or test on each PR. There are a number of requirements for the Flatcar SDK and the integration tests to be able to run (detailed bellow). If these requirements can be satisfied, we would love to create workflows that make use of the CNCF runners.

First and Last Name

Gabriel Adrian Samfira

Email

[email protected]

Company/Organization

Cloudbase Solutions SRL

Job Title

Senior Cloud Architect

Project Title (i.e., a summary of what do you want to do, not what is the name of the open source project you're working with)

Flatcar Linux

Briefly describe the project (i.e., what are the details of what you're planning to do with these servers?)

Flatcar Container Linux is a fully open source, minimal-footprint, secure by default and always up-to-date Linux distribution for running containers at scale.

As part of the development process of Flatcar, we need to run run builds of the entire distribution (packages, final image, etc) and have the result validated via a set of comprehensive integration tests. Both the build process and the integration tests should run using GitHub Actions to ensure visibility and transparency during contributions from maintainers of the project as well as community contributors.

Is the code that you're going to run 100% open source? If so, what is the URL or URLs where it is located? What is your association with that project?

Yes. Flatcar Linux is fully open source. The org URL on GitHub is: https://github.com/flatcar/

The SDK which integrates the build process for Flatcar is: https://github.com/flatcar/scripts/

I am one of the maintainers of the project.

What kind of machines and how many do you expect to use (see: https://deploy.equinix.com/product/bare-metal/servers/)?

There are 2 major stages Flatcar needs:

  • Build. In this stage we need 2 amd64 machines, one of which cross compiles for ARM64. For this stage we generally use 16 vCPU cores with at least 100 GB of disk space and 32 GB of memory.
  • integration tests. In this stage we need 2 machines with similar specs for both AMD64 and ARM64 with the following specs:
    • virtualization enabled (nested is ok)
    • 16 CPU cores
    • 32 GB of memory
    • 80-100 GB of disk space

What operating system and networking are you planning to use?

Ubuntu (22.04+)/Debian (12+)

Any other relevant details we should know about?

  • The Flatcar SDK uses Docker/Podman for the build process.
  • For the final image creation it also requires access to loopback devices.
  • The integration tests expect to be able to use KVM virtualization and device mapper.
  • We cross compile for ARM64 on AMD64. We need binfmt support to be enabled in the runners.

We would like to use the CNCF runners at least one of the 2 stages (preferably both). To begin with, the build stage might be the easiest to accommodate.

@gabriel-samfira
Copy link
Author

CC @t-lo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants