Skip to content

Manage designated Funktionsuser (machine accounts) as an explicit exception to the people boundary #185

Description

@2000game

Context

ct-cli never manages people or memberships. That boundary stays. But the connector depends on a handful of machine accounts, the members of the Funktionsuser Merkmal (funktionsuser: prod 1993, dev 1789, declared in eqrm/ct-structure's ct.config.ts). Each authenticates with a login token.

These accounts are infrastructure, not people. Today they are created by hand per instance, their permissions drift between prod and dev, and their tokens live wherever someone pasted them. Standing staging up against eqrm-dev (eqrm/churchtools-connector#1469) hit exactly this: every machine user has to be recreated on dev by hand.

Ask

A narrow, opt-in way to declare named machine users, and nothing else:

  • the account itself (a synthetic person with a reserved name, .invalid e-mail, no real person data)
  • its membership and group role in funktionsuser
  • its permissions, via that role's grants (already in ct-structure's scope)
  • optionally, login-token issue/rotation with the token written to AWS Secrets Manager, never to stdout or state

It must stay impossible to declare a real person. For example: only members of funktionsuser, only with a reserved name prefix, and a hard refusal otherwise. scripts/seed-dev-permission-cohort.ts in ct-structure already shows the dev-only, no-delete, idempotent pattern for synthetic people outside declared state.

Out of scope

Real people, arbitrary memberships, deletes.

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

    triageUnsorted intake — decide in the weekly sweep

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions