Skip to content

Support all update.conf configuration in the config transpiler #453

Description

@amasover

Current situation

Currently not all fields in update.conf are supported in the config transpiler. For example, download_user and download_password are not supported.

Impact

If users need to use unsupported fields, they must use update.conf to configure all fields, otherwise fields from Container Linux config will overwrite the entire update.conf file. For example, this:

storage:
  files:
    - path: /etc/flatcar/update.conf
      filesystem: root
      mode: 0644
      contents:
        inline: |
          GROUP=lts-2021
          DOWNLOAD_USER=myuser
          DOWNLOAD_PASSWORD=mypassword

Will be overwritten by this:

locksmith:
  reboot_strategy: reboot
  window_start: 09:00
  window_length: 1h

losing the download_user and download_password. If you need those fields, you must remove the locksmith section from the configuration.

Ideal future situation

  • The config transpiler should support in locksmith fields all of the fields currently supported in update.conf.

Additional information

Supported update.conf fields:
https://kinvolk.io/docs/flatcar-container-linux/latest/setup/releases/update-conf/#fields

Supported Container Linux config fields:
https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/config-transpiler/configuration/

Example non-working config:

locksmith:
  reboot_strategy: reboot
  window_start: 09:00
  window_length: 1h
  download_user: myuser
  download_password: mypassword
  machine_alias: mymachine

Ideally the locksmith section would be the primary way to configure updates, and the above config would work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueGet started with Flatcar contribution with this issue.kind/enhancementEnhancement of an existing component.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions