协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
glab-runner-controller【开发与工程】Manage GitLab runner controllers and authentication tokens. Create, update, delete controllers; generate, rotate, and revoke tokens. Admin-only experimental feature for managing runner controller lifecycle. Triggers on runner controller, controller token, experimental runner, admin runner.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Manage GitLab runner controllers and their authentication tokens.
Status: EXPERIMENTAL (Admin-only)
Runner controllers manage the orchestration of GitLab Runners in your infrastructure. This skill provides commands to:
# Create with default settings
glab runner-controller create
# Create with description
glab runner-controller create --description "Production runners"
# Create enabled controller
glab runner-controller create --description "Prod" --state enabled
States:
disabled - Controller exists but inactiveenabled - Controller is active (default)dry_run - Test mode (no actual runner execution)# List all controllers
glab runner-controller list
# List with pagination
glab runner-controller list --page 2 --per-page 50
# Output as JSON
glab runner-controller list --output json
# Update description
glab runner-controller update 42 --description "Updated name"
# Change state
glab runner-controller update 42 --state disabled
# Update both
glab runner-controller update 42 --description "Prod" --state enabled
# Delete with confirmation prompt
glab runner-controller delete 42
# Delete without confirmation
glab runner-controller delete 42 --force
Create → Rotate → Revoke is the typical token lifecycle for security best practices.
# Create token for controller 42
glab runner-controller token create 42
# Create with description
glab runner-controller token create 42 --description "production"
# Output as JSON (for automation)
glab runner-controller token create 42 --output json
Important: Save the token value immediately - it's only shown once at creation.
# List all tokens for controller 42
glab runner-controller token list 42
# List as JSON
glab runner-controller token list 42 --output json
# Paginate
glab runner-controller token list 42 --page 1 --per-page 20
Rotation generates a new token and invalidates the old one.
# Rotate token 1 (with confirmation)
glab runner-controller token rotate 42 1
# Rotate without confirmation
glab runner-controller token rotate 42 1 --force
# Rotate and output as JSON
glab runner-controller token rotate 42 1 --force --output json
Use cases:
# Revoke token 1 (with confirmation)
glab runner-controller token revoke 42 1
# Revoke without confirmation
glab runner-controller token revoke 42 1 --force
When to revoke:
--output json for automation (parse token value securely)Do you need the controller active?
├─ Yes → --state enabled
├─ Testing configuration? → --state dry_run
└─ No (maintenance/setup) → --state disabled
"Permission denied" or "403 Forbidden":
glab auth status to confirm current user"Runner controller not found":
glab runner-controller listToken creation fails:
Token rotation shows old token still works:
Cannot delete controller:
--force to override (⚠️ destructive)Experimental feature not available:
glab version (requires v1.83.0+)Pagination not working:
--per-page to adjust (max varies by instance)--page to navigate through resultsAs of v1.87.0, runner controllers support a runner scope for managing the runners associated with a controller.
# List all runners managed by controller 42
glab runner-controller runner list 42
# Output as JSON
glab runner-controller runner list 42 --output json
# Paginate
glab runner-controller runner list 42 --page 2 --per-page 50
# Add runner to controller 42's scope
glab runner-controller runner create 42 --runner-id <runner-id>
# Remove runner from controller 42's scope (with confirmation)
glab runner-controller runner delete 42 <runner-id>
# Remove without confirmation
glab runner-controller runner delete 42 <runner-id> --force
Use case: Runner scope management lets you explicitly define which runners are orchestrated by a given controller, giving you fine-grained control over runner assignment in multi-controller environments.
CI/CD & Runners:
glab-ci - View and manage CI/CD pipelines and jobsglab-job - Retry, cancel, view logs for individual jobsglab-runner - Manage individual runners (list, pause, delete) — added v1.87.0Repository Management:
glab-repo - Manage repositories (runner controllers are instance-level)Authentication:
glab-auth - Login and authentication managementFor complete command syntax and all available flags, see: