Skip to content

Support Cluster API supplementary and primary groups #4

Description

@navaneeth-dev

Goal

Preserve Cluster API worker-user group semantics in generated Butane configs.

Required behavior

Supplementary groups

  • Convert the comma-separated cloud-config string into Butane's list representation.
  • Split on commas and trim surrounding whitespace.
  • Preserve source order.
  • Reject empty or duplicate group names rather than silently cleaning the input.

primary_group

  • Ensure the named primary group exists by emitting the corresponding passwd.groups entry.
  • Reference that group from the generated Butane user.
  • Deduplicate group declarations shared by multiple users.

Context

Cloud-init creates missing supplementary and primary groups. Butane's user fields only reference groups, so direct field mapping is not semantically complete. This work is deferred from the first users-stanza PR and must preserve all-or-nothing transpilation: unsupported or invalid group input fails conversion instead of being dropped.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions