Chapter 3. Using MicroShift configuration snippets


If you want to configure one or two settings, use the /etc/microshift/config.d/ configuration directory to drop in configuration snippet YAML files.

3.1. How configuration snippets work

If you want to configure one or two settings, such as adding subject alternative names (SANs), you can use the /etc/microshift/config.d/ configuration directory to drop in configuration snippet YAML files. You must restart MicroShift for new configurations to apply.

To return to previous values, you can delete a configuration snippet and restart MicroShift.

At runtime, the YAML files inside /etc/microshift/config.d are merged into the existing MicroShift configuration, whether that configuration is a result of default values or a user-created config.yaml file. You do not need to create a config.yaml file to use a configuration snippet.

Files in the snippet directory are sorted in lexicographical order and run sequentially. You can use numerical prefixes for snippets so that each is read in the order you want. The last-read file takes precedence when there is more than one YAML for the same parameter.

Important

Configuration snippets take precedence over both default values and a customized config.yaml configuration file.

Lists, or arrays, are not merged, they are overwritten. For example, you can replace a SAN or list of SANs by creating an additional snippet for the same field that is read after the first:

MicroShift configuration directory contents

  • /etc/microshift/config.yaml.default or /etc/microshift/config.yaml

Example MicroShift configuration snippet directory contents

  • /etc/microshift/config.d/10-san.yaml
  • /etc/microshift/config.d/20-san.yaml

    Example 10-san.yaml snippet

    apiServer:
      subjectAltNames:
        - host1
        - host2
    Copy to Clipboard Toggle word wrap

    Example 20-san.yaml snippet

    apiServer:
      subjectAltNames:
        - hostZ
    Copy to Clipboard Toggle word wrap

    Example configuration result

    apiServer:
      subjectAltNames:
        - hostZ
    Copy to Clipboard Toggle word wrap

If you want to add a value to an existing list, you can add it to an existing snippet. For example, to add hostZ to an existing list of SANs, edit the snippet you have instead of creating a new one:

Example 10-san.yaml snippet

apiServer:
  subjectAltNames:
    - host1
    - host2
    - hostZ
Copy to Clipboard Toggle word wrap

Example configuration result

apiServer:
  subjectAltNames:
    - host1
    - host2
    - hostZ
Copy to Clipboard Toggle word wrap

Objects are merged together when you use a configuration snippet.

Example 10-advertiseAddress.yaml snippet

apiServer:
  advertiseAddress: "microshift-example"
Copy to Clipboard Toggle word wrap

Example 20-audit-log.yaml snippet

apiServer:
  auditLog:
    maxFileAge: 12
Copy to Clipboard Toggle word wrap

Example configuration result

apiServer:
  advertiseAddress: "microshift-example"
  auditLog:
    maxFileAge: 12
Copy to Clipboard Toggle word wrap

3.4. Examples of mixed configuration snippets

In this example, the values of both advertiseAddress and auditLog.maxFileAge fields merge into the configuration, but only the c.com and d.com subjectAltNames values are retained. This happens because the numbering in the filename indicates that the c.com and d.com values are higher priority.

Example 10-advertiseAddress.yaml snippet

apiServer:
  advertiseAddress: "microshift-example"
Copy to Clipboard Toggle word wrap

Example 20-audit-log.yaml snippet

apiServer:
  auditLog:
    maxFileAge: 12
Copy to Clipboard Toggle word wrap

Example 30-SAN.yaml snippet

apiServer:
  subjectAltNames:
    - a.com
    - b.com
Copy to Clipboard Toggle word wrap

Example 40-SAN.yaml snippet

apiServer:
  subjectAltNames:
    - c.com
    - d.com
Copy to Clipboard Toggle word wrap

Example configuration result

apiServer:
  advertiseAddress: "microshift-example"
  auditLog:
    maxFileAge: 12
  subjectAltNames:
    - c.com
    - d.com
Copy to Clipboard Toggle word wrap

Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat