runnercontrollers

package
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

markdown.go provides Markdown formatting functions for runner controller MCP tool output.

register.go wires runner controller MCP tools to the MCP server.

Package runnercontrollers implements MCP tool handlers for GitLab Runner Controllers. This is an admin-only API. Experimental: may change or be removed in future versions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Delete

func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error

Delete removes a runner controller (admin only).

func FormatDetailsMarkdown

func FormatDetailsMarkdown(out DetailsOutput) string

FormatDetailsMarkdown renders detailed runner controller info as Markdown.

func FormatGetMarkdown

func FormatGetMarkdown(out DetailsOutput) *mcp.CallToolResult

FormatGetMarkdown formats Get output as an MCP tool result.

func FormatListMarkdown

func FormatListMarkdown(out ListOutput) string

FormatListMarkdown renders a list of runner controllers as Markdown.

func FormatOutputMarkdown

func FormatOutputMarkdown(out Output) string

FormatOutputMarkdown renders a runner controller as Markdown.

func RegisterMeta

func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)

RegisterMeta registers the gitlab_runner_controller meta-tool, consolidating controller CRUD, scope management, and token management into a single tool.

func RegisterTools

func RegisterTools(server *mcp.Server, client *gitlabclient.Client)

RegisterTools registers all runner controller tools on the MCP server.

Types

type CreateInput

type CreateInput struct {
	Description string `json:"description,omitempty" jsonschema:"Description of the runner controller"`
	State       string `json:"state,omitempty" jsonschema:"State: enabled, disabled, or dry_run"`
}

CreateInput defines parameters for creating a runner controller.

type DeleteInput

type DeleteInput struct {
	ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
}

DeleteInput defines parameters for deleting a runner controller.

type DetailsOutput

type DetailsOutput struct {
	toolutil.HintableOutput
	Output
	Connected bool `json:"connected"`
}

DetailsOutput represents detailed runner controller information.

func Get

func Get(ctx context.Context, client *gitlabclient.Client, input GetInput) (DetailsOutput, error)

Get retrieves a single runner controller (admin only).

type GetInput

type GetInput struct {
	ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
}

GetInput defines parameters for getting a runner controller.

type ListInput

type ListInput struct {
	toolutil.PaginationInput
}

ListInput defines parameters for listing runner controllers.

type ListOutput

type ListOutput struct {
	toolutil.HintableOutput
	Controllers []Output                  `json:"controllers"`
	Pagination  toolutil.PaginationOutput `json:"pagination"`
}

ListOutput holds a paginated list of runner controllers.

func List

func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)

List retrieves all runner controllers (admin only).

type Output

type Output struct {
	toolutil.HintableOutput
	ID          int64  `json:"id"`
	Description string `json:"description"`
	State       string `json:"state"`
	CreatedAt   string `json:"created_at,omitempty"`
	UpdatedAt   string `json:"updated_at,omitempty"`
}

Output represents a runner controller in responses.

func Create

func Create(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)

Create registers a new runner controller (admin only).

func Update

func Update(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)

Update modifies an existing runner controller (admin only).

type UpdateInput

type UpdateInput struct {
	ControllerID int64  `json:"controller_id" jsonschema:"Runner controller ID,required"`
	Description  string `json:"description,omitempty" jsonschema:"New description"`
	State        string `json:"state,omitempty" jsonschema:"New state: enabled, disabled, or dry_run"`
}

UpdateInput defines parameters for updating a runner controller.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL