Skip to content

Suggestion: a dedicated /nf-core seqera command #25

Open

Description

@adamrtalbot

🤖 This reply was written by a Claude Code session on @ewels's behalf, not by Phil directly.

Suggestion: a dedicated /nf-core seqera command

The auto-sync covers new joiners. A separate command would let admins manage Seqera access directly, for corrections, for people whose Slack email differs from their Seqera email, and for groups other than megatests:

/nf-core seqera add @user <group> [--email foo@bar.com]
/nf-core seqera remove @user <group>
/nf-core seqera list [@user]          # groups a user is in, or all groups
  • Groups defined in code. Keep a typed mapping of friendly names to Seqera targets in the repo, e.g. a SEQERA_GROUPS dict of dataclasses in checks/seqera.py. For example, "megatests": SeqeraGroup(workspace_id=..., role="nf-core-read-only") and "maintainers": SeqeraGroup(team_id=...). Changes then go through PR review and mypy, with no extra SSM params per group. Only the token needs to stay in SSM.
  • One shared module. Put the add/remove/list calls in checks/seqera.py. The joiner auto-sync becomes a call to add(user, "megatests"), and the removal job from my earlier comment reuses remove.
  • Permissions. Restrict it to @core-team, checked centrally in the router the way on-call does it.
  • Email override. --email fixes the Slack/Seqera email mismatch without anyone touching the Seqera UI.
  • Track it. Record each add in DynamoDB so list and the removal job know what the bot manages.
  • Follow the usual Slack rules: ack() straight away, ephemeral responses, and add the command to the help text.

Originally posted by @ewels in #24 (comment)

Activity

  1. changed the title [-]> 🤖 *This reply was written by a Claude Code session on @ewels's behalf, not by Phil directly.*[/-] [+]Suggestion: a dedicated /nf-core seqera command[/+] on Oct 17, 2026
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