Skip to content

A repository to maintain and publish Elemental image channels

License

Notifications You must be signed in to change notification settings

rancher/elemental-channels

Repository files navigation

Elemental Channels

Elemental Channels can be used to publish a list of container images to be used by the Elemental Operator.

This repository automates and facilitates the creation of the officially distributed Elemental channels.

Goals for this repository

  1. Be the single source of truth for all channel .json files that need to be published by the Elemental team
  2. Automatically refresh the channels watching container registries (Daily)
  3. (Optional) Publish images on GitHub, for development or testing

Repository Watches config

The config.yaml can be updated using the following structure:

watches: 
    # A flavor for the Base OS being watched. Can be "" for unflavored images.
    # This will be used as a prefix to distinguish same versions of different flavors.
  - flavor: "my-flavor"
    # The resulting .json filename on the ./channels directory
    fileName: "sle-micro-5-5-my-flavor"
    # The OS human readable name
    displayName: "SLE Micro 5.5 My Flavor"
    # The repository containing the "os" type images
    osRepo: registry.suse.com/suse/sle-micro/my-flavor-5.5
    # The repository containing the "iso" type images.
    # If this is not applicable, use "N/A"
    isoRepo: registry.suse.com/suse/sle-micro-iso/my-flavor-5.5
    # How many images to limit per (minor) version.
    limit: 3

Usage

It is possible, at any moment, to run the .refresh_channels.sh script and integrate the changes, if any.
A GitHub workflow does it automatically every night, and optionally it can be triggered at any time.

Manually crated .json files can be directly created and maintained in the ./channels directory, for example to maintain a channel containing arbitrary images, for development or testing.
When this is the case, be mindful of not creating collision with the automated config.yaml, otherwise files with the same name will be overwritten.

Unstable channel

The unstable or development channel is a special static one that is meant to include latest build of the development OBS projects. Hence this is an static JSON only including the ISO and OS container for the current build in projects under or branched from isv:Rancher:Elemental in OBS. This channel is not automated or generated by any kind of continuous integration.