Skip to content

flightctl/flightctl-demos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flightctl-demos

This repo contains a series of demos showcasing the edge management capabilities of the flightctl project.

Bootc Agent Images

The bootc-agent-images folder contains recipes to build two flavors of bootc images. Bootc provides transactional, in-place operating system images using OCI container images.

This repository provides a recipe for a Fedora ELN based image and a Centos 9 Stream based image, both, with the flightctl agent installed in the image.

The config.yaml is pointing at the public instance of the FlightCtl service. However, in order to be able to do the enrollment, some files are needed such as CA and enrollment keypair. Please, ask the team for these files in order to produce an operational device agent against the public service. If you have your own instance of FlightCtl, modify the config.yaml file and add your own files.

In addition to this, both Containerfiles contain a commented section so you can add your SSH public key. Add your ssh key, uncomment and modify that section to enable that build step.

We have created Makefile targets to facilitate the build process. Execute the following command to build and push the image of your choice:

make bootc-fedora QUAYUSER=$yourownquayuser

or

make bootc-centos QUAYUSER=$yourownquayuser

or

make bootc-rhel QUAYUSER=$yourownquayuser

In order to make the deployment of this image easy, you can convert it to QCOW2 format and use it as a raw disk in Libvirt. The following command will create a file called disk.qcow2 within the output folder:

make qcow2-bootc QUAYUSER=$yourownquayuser flavor={fedora,centos,rhel}

Before starting a new build, clean up the previous build artifacts in the output folder.

make clean

Also you can create a raw image to burn to the device disk with:

  • Create a config.json with the user, password and ssh key like:
{
    "blueprint": {
      "customizations": {
        "user": [
          {
            "name": "[USER]",
            "password": "[PASSWORD]",
            "key": "[SSH_KEY]",
            "groups": [
              "wheel"
            ]
          }
        ]
      }
    }
  }

The following command will create a file called disk.raw within the output folder:

make raw-bootc QUAYUSER=$yourownquayuser image=flightctl-agent-extra-rhel 

About

Fleet git management demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published