This change adds the ability to manage garm-agent tools downloads. Users can: * Set an upstream releases page (github releases api) * Enable sync from upstream. In this case, GARM will automatically download garm-agent tools from the releases page and save them in the internal object store * Manually upload tools. Manually uploaded tools for an OS/arch combination will never be overwritten by auto-sync. Usrs will need to delete manually uploaded tools to enable sync for that os/arch release. Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
4406 lines
153 KiB
YAML
4406 lines
153 KiB
YAML
basePath: /api/v1
|
|
consumes:
|
|
- application/json
|
|
definitions:
|
|
APIErrorResponse:
|
|
properties:
|
|
details:
|
|
type: string
|
|
x-go-name: Details
|
|
error:
|
|
type: string
|
|
x-go-name: Error
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/apiserver/params
|
|
Address:
|
|
properties:
|
|
address:
|
|
type: string
|
|
x-go-name: Address
|
|
type:
|
|
$ref: '#/definitions/AddressType'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm-provider-common/params
|
|
AddressType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm-provider-common/params
|
|
AgentCapabilities:
|
|
properties:
|
|
has_shell:
|
|
type: boolean
|
|
x-go-name: Shell
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ControllerInfo:
|
|
properties:
|
|
agent_url:
|
|
description: |-
|
|
AgentURL is the URL where the GARM agent will connect. If set behind a reverse proxy, this
|
|
URL must be configured to allow websocket connections.
|
|
type: string
|
|
x-go-name: AgentURL
|
|
cached_garm_agent_release_fetched_at:
|
|
description: CachedGARMAgentReleaseFetchedAt is the timestamp when the release data was last fetched from GARMAgentReleasesURL
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CachedGARMAgentReleaseFetchedAt
|
|
callback_url:
|
|
description: |-
|
|
CallbackURL is the URL where instances can send updates back to the controller.
|
|
This URL is used by instances to send status updates back to the controller. The
|
|
URL itself may be made available to instances via a reverse proxy or a load balancer.
|
|
That means that the user is responsible for telling GARM what the public URL is, by
|
|
setting this field.
|
|
type: string
|
|
x-go-name: CallbackURL
|
|
controller_id:
|
|
description: |-
|
|
ControllerID is the unique ID of this controller. This ID gets generated
|
|
automatically on controller init.
|
|
format: uuid
|
|
type: string
|
|
x-go-name: ControllerID
|
|
controller_webhook_url:
|
|
description: |-
|
|
ControllerWebhookURL is the controller specific URL where webhooks will be received.
|
|
This field holds the WebhookURL defined above to which we append the ControllerID.
|
|
Functionally it is the same as WebhookURL, but it allows us to safely manage webhooks
|
|
from GARM without accidentally removing webhooks from other services or GARM controllers.
|
|
type: string
|
|
x-go-name: ControllerWebhookURL
|
|
enable_agent_tools_sync:
|
|
description: SyncGARMAgentTools enables or disables automatic sync of garm-agent tools.
|
|
type: boolean
|
|
x-go-name: SyncGARMAgentTools
|
|
garm_agent_releases_url:
|
|
description: |-
|
|
GARMAgentReleasesURL is the URL from where GARM can fetch garm-agent binaries. This URL must
|
|
have an API response compatible with the github releases API.
|
|
The default value for this field is: https://api.github.com/repos/cloudbase/garm-agent/releases
|
|
type: string
|
|
x-go-name: GARMAgentReleasesURL
|
|
hostname:
|
|
description: |-
|
|
Hostname is the hostname of the machine that runs this controller. In the
|
|
future, this field will be migrated to a separate table that will keep track
|
|
of each the controller nodes that are part of a cluster. This will happen when
|
|
we implement controller scale-out capability.
|
|
type: string
|
|
x-go-name: Hostname
|
|
metadata_url:
|
|
description: |-
|
|
MetadataURL is the public metadata URL of the GARM instance. This URL is used
|
|
by instances to fetch information they need to set themselves up. The URL itself
|
|
may be made available to runners via a reverse proxy or a load balancer. That
|
|
means that the user is responsible for telling GARM what the public URL is, by
|
|
setting this field.
|
|
type: string
|
|
x-go-name: MetadataURL
|
|
minimum_job_age_backoff:
|
|
description: |-
|
|
MinimumJobAgeBackoff is the minimum time in seconds that a job must be in queued state
|
|
before GARM will attempt to allocate a runner for it. When set to a non zero value,
|
|
GARM will ignore the job until the job's age is greater than this value. When using
|
|
the min_idle_runners feature of a pool, this gives enough time for potential idle
|
|
runners to pick up the job before GARM attempts to allocate a new runner, thus avoiding
|
|
the need to potentially scale down runners later.
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinimumJobAgeBackoff
|
|
version:
|
|
description: Version is the version of the GARM controller.
|
|
type: string
|
|
x-go-name: Version
|
|
webhook_url:
|
|
description: |-
|
|
WebhookURL is the base URL where the controller will receive webhooks from github.
|
|
When webhook management is used, this URL is used as a base to which the controller
|
|
UUID is appended and which will receive the webhooks.
|
|
The URL itself may be made available to instances via a reverse proxy or a load balancer.
|
|
That means that the user is responsible for telling GARM what the public URL is, by
|
|
setting this field.
|
|
type: string
|
|
x-go-name: WebhookURL
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateEnterpriseParams:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
credentials_name:
|
|
type: string
|
|
x-go-name: CredentialsName
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pool_balancer_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
webhook_secret:
|
|
type: string
|
|
x-go-name: WebhookSecret
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateFileObjectParams:
|
|
properties:
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
size:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Size
|
|
tags:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Tags
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateGARMToolParams:
|
|
properties:
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
origin:
|
|
type: string
|
|
x-go-name: Origin
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
size:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Size
|
|
version:
|
|
type: string
|
|
x-go-name: Version
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateGiteaCredentialsParams:
|
|
properties:
|
|
app:
|
|
$ref: '#/definitions/GithubApp'
|
|
auth_type:
|
|
$ref: '#/definitions/ForgeAuthType'
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
endpoint:
|
|
type: string
|
|
x-go-name: Endpoint
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pat:
|
|
$ref: '#/definitions/GithubPAT'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateGiteaEndpointParams:
|
|
properties:
|
|
api_base_url:
|
|
type: string
|
|
x-go-name: APIBaseURL
|
|
base_url:
|
|
type: string
|
|
x-go-name: BaseURL
|
|
ca_cert_bundle:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: CACertBundle
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
tools_metadata_url:
|
|
type: string
|
|
x-go-name: ToolsMetadataURL
|
|
use_internal_tools_metadata:
|
|
type: boolean
|
|
x-go-name: UseInternalToolsMetadata
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateGithubCredentialsParams:
|
|
properties:
|
|
app:
|
|
$ref: '#/definitions/GithubApp'
|
|
auth_type:
|
|
$ref: '#/definitions/ForgeAuthType'
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
endpoint:
|
|
type: string
|
|
x-go-name: Endpoint
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pat:
|
|
$ref: '#/definitions/GithubPAT'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateGithubEndpointParams:
|
|
properties:
|
|
api_base_url:
|
|
type: string
|
|
x-go-name: APIBaseURL
|
|
base_url:
|
|
type: string
|
|
x-go-name: BaseURL
|
|
ca_cert_bundle:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: CACertBundle
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
upload_base_url:
|
|
type: string
|
|
x-go-name: UploadBaseURL
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateOrgParams:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
credentials_name:
|
|
type: string
|
|
x-go-name: CredentialsName
|
|
forge_type:
|
|
$ref: '#/definitions/EndpointType'
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pool_balancer_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
webhook_secret:
|
|
type: string
|
|
x-go-name: WebhookSecret
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreatePoolParams:
|
|
properties:
|
|
enable_shell:
|
|
type: boolean
|
|
x-go-name: EnableShell
|
|
enabled:
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
extra_specs:
|
|
type: object
|
|
x-go-name: ExtraSpecs
|
|
flavor:
|
|
type: string
|
|
x-go-name: Flavor
|
|
github-runner-group:
|
|
description: |-
|
|
GithubRunnerGroup is the github runner group in which the runners of this
|
|
pool will be added to.
|
|
The runner group must be created by someone with access to the enterprise.
|
|
type: string
|
|
x-go-name: GitHubRunnerGroup
|
|
image:
|
|
type: string
|
|
x-go-name: Image
|
|
max_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MaxRunners
|
|
min_idle_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinIdleRunners
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
priority:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: Priority
|
|
provider_name:
|
|
type: string
|
|
x-go-name: ProviderName
|
|
runner_bootstrap_timeout:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: RunnerBootstrapTimeout
|
|
runner_prefix:
|
|
type: string
|
|
x-go-name: Prefix
|
|
tags:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Tags
|
|
template_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TemplateID
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateRepoParams:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
credentials_name:
|
|
type: string
|
|
x-go-name: CredentialsName
|
|
forge_type:
|
|
$ref: '#/definitions/EndpointType'
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
owner:
|
|
type: string
|
|
x-go-name: Owner
|
|
pool_balancer_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
webhook_secret:
|
|
type: string
|
|
x-go-name: WebhookSecret
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateScaleSetParams:
|
|
properties:
|
|
disable_update:
|
|
type: boolean
|
|
x-go-name: DisableUpdate
|
|
enable_shell:
|
|
type: boolean
|
|
x-go-name: EnableShell
|
|
enabled:
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
extra_specs:
|
|
type: object
|
|
x-go-name: ExtraSpecs
|
|
flavor:
|
|
type: string
|
|
x-go-name: Flavor
|
|
github-runner-group:
|
|
description: |-
|
|
GithubRunnerGroup is the github runner group in which the runners of this
|
|
pool will be added to.
|
|
The runner group must be created by someone with access to the enterprise.
|
|
type: string
|
|
x-go-name: GitHubRunnerGroup
|
|
image:
|
|
type: string
|
|
x-go-name: Image
|
|
max_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MaxRunners
|
|
min_idle_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinIdleRunners
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
provider_name:
|
|
type: string
|
|
x-go-name: ProviderName
|
|
runner_bootstrap_timeout:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: RunnerBootstrapTimeout
|
|
runner_prefix:
|
|
type: string
|
|
x-go-name: Prefix
|
|
scale_set_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ScaleSetID
|
|
tags:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Tags
|
|
template_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TemplateID
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateTemplateParams:
|
|
properties:
|
|
data:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: Data
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
forge_type:
|
|
$ref: '#/definitions/EndpointType'
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Credentials:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
EndpointType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Enterprise:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
credentials:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
credentials_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: CredentialsID
|
|
credentials_name:
|
|
description: |-
|
|
CredentialName is the name of the credentials associated with the enterprise.
|
|
This field is now deprecated. Use CredentialsID instead. This field will be
|
|
removed in v0.2.0.
|
|
type: string
|
|
x-go-name: CredentialsName
|
|
endpoint:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
events:
|
|
items:
|
|
$ref: '#/definitions/EntityEvent'
|
|
type: array
|
|
x-go-name: Events
|
|
id:
|
|
type: string
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pool:
|
|
items:
|
|
$ref: '#/definitions/Pool'
|
|
type: array
|
|
x-go-name: Pools
|
|
pool_balancing_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
pool_manager_status:
|
|
$ref: '#/definitions/PoolManagerStatus'
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Enterprises:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/Enterprise'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
EntityEvent:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
event_level:
|
|
$ref: '#/definitions/EventLevel'
|
|
event_type:
|
|
$ref: '#/definitions/EventType'
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
message:
|
|
type: string
|
|
x-go-name: Message
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
EventLevel:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
EventType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
FileObject:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
file_type:
|
|
type: string
|
|
x-go-name: FileType
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
sha256:
|
|
type: string
|
|
x-go-name: SHA256
|
|
size:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Size
|
|
tags:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Tags
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
FileObjectPaginatedResponse:
|
|
properties:
|
|
current_page:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: CurrentPage
|
|
next_page:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: NextPage
|
|
pages:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: Pages
|
|
previous_page:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: PreviousPage
|
|
results:
|
|
items:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
file_type:
|
|
type: string
|
|
x-go-name: FileType
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
sha256:
|
|
type: string
|
|
x-go-name: SHA256
|
|
size:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Size
|
|
tags:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Tags
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
type: array
|
|
x-go-name: Results
|
|
total_count:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TotalCount
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ForgeAuthType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ForgeCredentials:
|
|
properties:
|
|
api_base_url:
|
|
type: string
|
|
x-go-name: APIBaseURL
|
|
auth-type:
|
|
$ref: '#/definitions/ForgeAuthType'
|
|
base_url:
|
|
type: string
|
|
x-go-name: BaseURL
|
|
ca_bundle:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: CABundle
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
endpoint:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
enterprises:
|
|
items:
|
|
$ref: '#/definitions/Enterprise'
|
|
type: array
|
|
x-go-name: Enterprises
|
|
forge_type:
|
|
$ref: '#/definitions/EndpointType'
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
organizations:
|
|
items:
|
|
$ref: '#/definitions/Organization'
|
|
type: array
|
|
x-go-name: Organizations
|
|
rate_limit:
|
|
$ref: '#/definitions/GithubRateLimit'
|
|
repositories:
|
|
items:
|
|
$ref: '#/definitions/Repository'
|
|
type: array
|
|
x-go-name: Repositories
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
upload_base_url:
|
|
type: string
|
|
x-go-name: UploadBaseURL
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ForgeEndpoint:
|
|
properties:
|
|
api_base_url:
|
|
type: string
|
|
x-go-name: APIBaseURL
|
|
base_url:
|
|
type: string
|
|
x-go-name: BaseURL
|
|
ca_cert_bundle:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: CACertBundle
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
endpoint_type:
|
|
$ref: '#/definitions/EndpointType'
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
tools_metadata_url:
|
|
type: string
|
|
x-go-name: ToolsMetadataURL
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
upload_base_url:
|
|
type: string
|
|
x-go-name: UploadBaseURL
|
|
use_internal_tools_metadata:
|
|
type: boolean
|
|
x-go-name: UseInternalToolsMetadata
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ForgeEndpoints:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ForgeEntity:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
credentials:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
entity_type:
|
|
$ref: '#/definitions/ForgeEntityType'
|
|
id:
|
|
type: string
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
owner:
|
|
type: string
|
|
x-go-name: Owner
|
|
pool_balancing_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ForgeEntityType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
GARMAgentTool:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
download_url:
|
|
type: string
|
|
x-go-name: DownloadURL
|
|
file_type:
|
|
type: string
|
|
x-go-name: FileType
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
origin:
|
|
description: |-
|
|
Origin defines where the GARM agent tool originated from.
|
|
When manually uploaded, this field is set to "manual". When synced
|
|
from a release URL, this will hold the release URL where the tools
|
|
originated from.
|
|
type: string
|
|
x-go-name: Origin
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
sha256sum:
|
|
type: string
|
|
x-go-name: SHA256SUM
|
|
size:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Size
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
version:
|
|
type: string
|
|
x-go-name: Version
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
GARMAgentToolsPaginatedResponse:
|
|
properties:
|
|
current_page:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: CurrentPage
|
|
next_page:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: NextPage
|
|
pages:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: Pages
|
|
previous_page:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: PreviousPage
|
|
results:
|
|
items:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
download_url:
|
|
type: string
|
|
x-go-name: DownloadURL
|
|
file_type:
|
|
type: string
|
|
x-go-name: FileType
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
origin:
|
|
description: |-
|
|
Origin defines where the GARM agent tool originated from.
|
|
When manually uploaded, this field is set to "manual". When synced
|
|
from a release URL, this will hold the release URL where the tools
|
|
originated from.
|
|
type: string
|
|
x-go-name: Origin
|
|
os_arch:
|
|
type: string
|
|
x-go-name: OSArch
|
|
os_type:
|
|
type: string
|
|
x-go-name: OSType
|
|
sha256sum:
|
|
type: string
|
|
x-go-name: SHA256SUM
|
|
size:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Size
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
version:
|
|
type: string
|
|
x-go-name: Version
|
|
type: object
|
|
type: array
|
|
x-go-name: Results
|
|
total_count:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TotalCount
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
GithubApp:
|
|
properties:
|
|
app_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: AppID
|
|
installation_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: InstallationID
|
|
private_key_bytes:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: PrivateKeyBytes
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
GithubPAT:
|
|
properties:
|
|
oauth2_token:
|
|
type: string
|
|
x-go-name: OAuth2Token
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
GithubRateLimit:
|
|
properties:
|
|
limit:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Limit
|
|
remaining:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Remaining
|
|
reset:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Reset
|
|
used:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: Used
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
HookInfo:
|
|
properties:
|
|
active:
|
|
type: boolean
|
|
x-go-name: Active
|
|
events:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Events
|
|
id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ID
|
|
insecure_ssl:
|
|
type: boolean
|
|
x-go-name: InsecureSSL
|
|
url:
|
|
type: string
|
|
x-go-name: URL
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
InstallWebhookParams:
|
|
properties:
|
|
insecure_ssl:
|
|
type: boolean
|
|
x-go-name: InsecureSSL
|
|
webhook_endpoint_type:
|
|
$ref: '#/definitions/WebhookEndpointType'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Instance:
|
|
properties:
|
|
addresses:
|
|
description: |-
|
|
Addresses is a list of IP addresses the provider reports
|
|
for this instance.
|
|
items:
|
|
$ref: '#/definitions/Address'
|
|
type: array
|
|
x-go-name: Addresses
|
|
agent_id:
|
|
description: AgentID is the github runner agent ID.
|
|
format: int64
|
|
type: integer
|
|
x-go-name: AgentID
|
|
capabilities:
|
|
$ref: '#/definitions/AgentCapabilities'
|
|
created_at:
|
|
description: CreatedAt is the timestamp of the creation of this runner.
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
github-runner-group:
|
|
description: |-
|
|
GithubRunnerGroup is the github runner group to which the runner belongs.
|
|
The runner group must be created by someone with access to the enterprise.
|
|
type: string
|
|
x-go-name: GitHubRunnerGroup
|
|
heartbeat:
|
|
description: Heartbeat is the last recorded heartbeat from the runner
|
|
format: date-time
|
|
type: string
|
|
x-go-name: Heartbeat
|
|
id:
|
|
description: ID is the database ID of this instance.
|
|
type: string
|
|
x-go-name: ID
|
|
job:
|
|
$ref: '#/definitions/Job'
|
|
name:
|
|
description: |-
|
|
Name is the name associated with an instance. Depending on
|
|
the provider, this may or may not be useful in the context of
|
|
the provider, but we can use it internally to identify the
|
|
instance.
|
|
type: string
|
|
x-go-name: Name
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_name:
|
|
description: 'OSName is the name of the OS. Eg: ubuntu, centos, etc.'
|
|
type: string
|
|
x-go-name: OSName
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
os_version:
|
|
description: OSVersion is the version of the operating system.
|
|
type: string
|
|
x-go-name: OSVersion
|
|
pool_id:
|
|
description: PoolID is the ID of the garm pool to which a runner belongs.
|
|
type: string
|
|
x-go-name: PoolID
|
|
provider_fault:
|
|
description: |-
|
|
ProviderFault holds any error messages captured from the IaaS provider that is
|
|
responsible for managing the lifecycle of the runner.
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: ProviderFault
|
|
provider_id:
|
|
description: |-
|
|
PeoviderID is the unique ID the provider associated
|
|
with the compute instance. We use this to identify the
|
|
instance in the provider.
|
|
type: string
|
|
x-go-name: ProviderID
|
|
provider_name:
|
|
description: |-
|
|
ProviderName is the name of the IaaS where the instance was
|
|
created.
|
|
type: string
|
|
x-go-name: ProviderName
|
|
runner_status:
|
|
$ref: '#/definitions/RunnerStatus'
|
|
scale_set_id:
|
|
description: ScaleSetID is the ID of the scale set to which a runner belongs.
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ScaleSetID
|
|
status:
|
|
$ref: '#/definitions/InstanceStatus'
|
|
status_messages:
|
|
description: |-
|
|
StatusMessages is a list of status messages sent back by the runner as it sets itself
|
|
up.
|
|
items:
|
|
$ref: '#/definitions/StatusMessage'
|
|
type: array
|
|
x-go-name: StatusMessages
|
|
updated_at:
|
|
description: UpdatedAt is the timestamp of the last update to this runner.
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
InstanceMetadata:
|
|
properties:
|
|
agent_mode:
|
|
description: Agent mode indicates whether or not we need to install the GARM agent on the runner.
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
agent_shell_enabled:
|
|
type: boolean
|
|
x-go-name: AgentShellEnabled
|
|
agent_token:
|
|
type: string
|
|
x-go-name: AgentToken
|
|
agent_tools:
|
|
$ref: '#/definitions/GARMAgentTool'
|
|
ca_bundles:
|
|
additionalProperties:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
type: object
|
|
x-go-name: CABundle
|
|
extra_specs:
|
|
additionalProperties: {}
|
|
description: |-
|
|
ExtraSpecs represents the extra specs set on the pool or scale set. No secrets should
|
|
be set in extra specs.
|
|
Also, the instance metadata should never be saved to disk, and the metadata URL is only
|
|
accessible during setup of the runner. The API returns unauthorized once the runner
|
|
transitions to failed/idle.
|
|
type: object
|
|
x-go-name: ExtraSpecs
|
|
forge_type:
|
|
$ref: '#/definitions/EndpointType'
|
|
jit_enabled:
|
|
type: boolean
|
|
x-go-name: JITEnabled
|
|
metadata_access:
|
|
$ref: '#/definitions/MetadataServiceAccessDetails'
|
|
runner_labels:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: RunnerLabels
|
|
runner_name:
|
|
type: string
|
|
x-go-name: RunnerName
|
|
runner_registration_url:
|
|
description: |-
|
|
RunnerRegistrationURL is the URL the runner needs to configure itself
|
|
against. This can be a repository, organization, enterprise (github)
|
|
or system (gitea)
|
|
type: string
|
|
x-go-name: RunnerRegistrationURL
|
|
runner_tools:
|
|
$ref: '#/definitions/RunnerApplicationDownload'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
InstanceStatus:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm-provider-common/params
|
|
Instances:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/Instance'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
JWTResponse:
|
|
description: |-
|
|
JWTResponse holds the JWT token returned as a result of a
|
|
successful auth
|
|
properties:
|
|
token:
|
|
type: string
|
|
x-go-name: Token
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Job:
|
|
properties:
|
|
action:
|
|
description: Action is the specific activity that triggered the event.
|
|
type: string
|
|
x-go-name: Action
|
|
completed_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CompletedAt
|
|
conclusion:
|
|
description: |-
|
|
Conclusion is the outcome of the job.
|
|
Possible values: "success", "failure", "neutral", "cancelled", "skipped",
|
|
"timed_out", "action_required"
|
|
type: string
|
|
x-go-name: Conclusion
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
enterprise_id:
|
|
format: uuid
|
|
type: string
|
|
x-go-name: EnterpriseID
|
|
id:
|
|
description: ID is the ID of the job.
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ID
|
|
labels:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Labels
|
|
locked_by:
|
|
format: uuid
|
|
type: string
|
|
x-go-name: LockedBy
|
|
name:
|
|
description: Name is the name if the job that was triggered.
|
|
type: string
|
|
x-go-name: Name
|
|
org_id:
|
|
format: uuid
|
|
type: string
|
|
x-go-name: OrgID
|
|
repo_id:
|
|
description: |-
|
|
The entity that received the hook.
|
|
|
|
Webhooks may be configured on the repo, the org and/or the enterprise.
|
|
If we only configure a repo to use garm, we'll only ever receive a
|
|
webhook from the repo. But if we configure the parent org of the repo and
|
|
the parent enterprise of the org to use garm, a webhook will be sent for each
|
|
entity type, in response to one workflow event. Thus, we will get 3 webhooks
|
|
with the same run_id and job id. Record all involved entities in the same job
|
|
if we have them configured in garm.
|
|
format: uuid
|
|
type: string
|
|
x-go-name: RepoID
|
|
repository_name:
|
|
description: repository in which the job was triggered.
|
|
type: string
|
|
x-go-name: RepositoryName
|
|
repository_owner:
|
|
type: string
|
|
x-go-name: RepositoryOwner
|
|
run_id:
|
|
description: RunID is the ID of the workflow run. A run may have multiple jobs.
|
|
format: int64
|
|
type: integer
|
|
x-go-name: RunID
|
|
runner_group_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: RunnerGroupID
|
|
runner_group_name:
|
|
type: string
|
|
x-go-name: RunnerGroupName
|
|
runner_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: GithubRunnerID
|
|
runner_name:
|
|
type: string
|
|
x-go-name: RunnerName
|
|
scaleset_job_id:
|
|
description: ScaleSetJobID is the job ID when generated for a scale set.
|
|
type: string
|
|
x-go-name: ScaleSetJobID
|
|
started_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: StartedAt
|
|
status:
|
|
description: |-
|
|
Status is the phase of the lifecycle that the job is currently in.
|
|
"queued", "in_progress" and "completed".
|
|
type: string
|
|
x-go-name: Status
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
workflow_job_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: WorkflowJobID
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Jobs:
|
|
items:
|
|
$ref: '#/definitions/Job'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
MetadataServiceAccessDetails:
|
|
properties:
|
|
agent_url:
|
|
type: string
|
|
x-go-name: AgentURL
|
|
callback_url:
|
|
type: string
|
|
x-go-name: CallbackURL
|
|
metadata_url:
|
|
type: string
|
|
x-go-name: MetadataURL
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
NewUserParams:
|
|
description: |-
|
|
NewUserParams holds the needed information to create
|
|
a new user
|
|
properties:
|
|
email:
|
|
type: string
|
|
x-go-name: Email
|
|
full_name:
|
|
type: string
|
|
x-go-name: FullName
|
|
password:
|
|
type: string
|
|
x-go-name: Password
|
|
username:
|
|
type: string
|
|
x-go-name: Username
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
OSArch:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm-provider-common/params
|
|
OSType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm-provider-common/params
|
|
Organization:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
credentials:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
credentials_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: CredentialsID
|
|
credentials_name:
|
|
description: |-
|
|
CredentialName is the name of the credentials associated with the enterprise.
|
|
This field is now deprecated. Use CredentialsID instead. This field will be
|
|
removed in v0.2.0.
|
|
type: string
|
|
x-go-name: CredentialsName
|
|
endpoint:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
events:
|
|
items:
|
|
$ref: '#/definitions/EntityEvent'
|
|
type: array
|
|
x-go-name: Events
|
|
id:
|
|
type: string
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pool:
|
|
items:
|
|
$ref: '#/definitions/Pool'
|
|
type: array
|
|
x-go-name: Pools
|
|
pool_balancing_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
pool_manager_status:
|
|
$ref: '#/definitions/PoolManagerStatus'
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Organizations:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/Organization'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
PasswordLoginParams:
|
|
properties:
|
|
password:
|
|
type: string
|
|
x-go-name: Password
|
|
username:
|
|
type: string
|
|
x-go-name: Username
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Pool:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
enable_shell:
|
|
type: boolean
|
|
x-go-name: EnableShell
|
|
enabled:
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
endpoint:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
enterprise_id:
|
|
type: string
|
|
x-go-name: EnterpriseID
|
|
enterprise_name:
|
|
type: string
|
|
x-go-name: EnterpriseName
|
|
extra_specs:
|
|
description: |-
|
|
ExtraSpecs is an opaque raw json that gets sent to the provider
|
|
as part of the bootstrap params for instances. It can contain
|
|
any kind of data needed by providers. The contents of this field means
|
|
nothing to garm itself. We don't act on the information in this field at
|
|
all. We only validate that it's a proper json.
|
|
type: object
|
|
x-go-name: ExtraSpecs
|
|
flavor:
|
|
type: string
|
|
x-go-name: Flavor
|
|
github-runner-group:
|
|
description: |-
|
|
GithubRunnerGroup is the github runner group in which the runners will be added.
|
|
The runner group must be created by someone with access to the enterprise.
|
|
type: string
|
|
x-go-name: GitHubRunnerGroup
|
|
id:
|
|
type: string
|
|
x-go-name: ID
|
|
image:
|
|
type: string
|
|
x-go-name: Image
|
|
instances:
|
|
items:
|
|
$ref: '#/definitions/Instance'
|
|
type: array
|
|
x-go-name: Instances
|
|
max_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MaxRunners
|
|
min_idle_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinIdleRunners
|
|
org_id:
|
|
type: string
|
|
x-go-name: OrgID
|
|
org_name:
|
|
type: string
|
|
x-go-name: OrgName
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
priority:
|
|
description: |-
|
|
Priority is the priority of the pool. The higher the number, the higher the priority.
|
|
When fetching matching pools for a set of tags, the result will be sorted in descending
|
|
order of priority.
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: Priority
|
|
provider_name:
|
|
type: string
|
|
x-go-name: ProviderName
|
|
repo_id:
|
|
type: string
|
|
x-go-name: RepoID
|
|
repo_name:
|
|
type: string
|
|
x-go-name: RepoName
|
|
runner_bootstrap_timeout:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: RunnerBootstrapTimeout
|
|
runner_prefix:
|
|
type: string
|
|
x-go-name: Prefix
|
|
tags:
|
|
items:
|
|
$ref: '#/definitions/Tag'
|
|
type: array
|
|
x-go-name: Tags
|
|
template_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TemplateID
|
|
template_name:
|
|
type: string
|
|
x-go-name: TemplateName
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
PoolBalancerType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
PoolManagerStatus:
|
|
properties:
|
|
failure_reason:
|
|
type: string
|
|
x-go-name: FailureReason
|
|
running:
|
|
type: boolean
|
|
x-go-name: IsRunning
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Pools:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/Pool'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Provider:
|
|
properties:
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
type:
|
|
$ref: '#/definitions/ProviderType'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ProviderType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Providers:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/Provider'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Repositories:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/Repository'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Repository:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
credentials:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
credentials_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: CredentialsID
|
|
credentials_name:
|
|
description: |-
|
|
CredentialName is the name of the credentials associated with the enterprise.
|
|
This field is now deprecated. Use CredentialsID instead. This field will be
|
|
removed in v0.2.0.
|
|
type: string
|
|
x-go-name: CredentialsName
|
|
endpoint:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
events:
|
|
items:
|
|
$ref: '#/definitions/EntityEvent'
|
|
type: array
|
|
x-go-name: Events
|
|
id:
|
|
type: string
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
owner:
|
|
type: string
|
|
x-go-name: Owner
|
|
pool:
|
|
items:
|
|
$ref: '#/definitions/Pool'
|
|
type: array
|
|
x-go-name: Pools
|
|
pool_balancing_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
pool_manager_status:
|
|
$ref: '#/definitions/PoolManagerStatus'
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
RestoreTemplateRequest:
|
|
properties:
|
|
forge:
|
|
$ref: '#/definitions/EndpointType'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
restore_all:
|
|
description: |-
|
|
RestoreAll indicates whether or not to restore all known
|
|
system owned templates. If set, the Forge and OSType params
|
|
are ignored.
|
|
type: boolean
|
|
x-go-name: RestoreAll
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
RunnerApplicationDownload:
|
|
description: |-
|
|
This is copied from the go-github package. It does not make sense to create a dependency on go-github just
|
|
for this struct.
|
|
properties:
|
|
architecture:
|
|
type: string
|
|
x-go-name: Architecture
|
|
download_url:
|
|
type: string
|
|
x-go-name: DownloadURL
|
|
filename:
|
|
type: string
|
|
x-go-name: Filename
|
|
os:
|
|
type: string
|
|
x-go-name: OS
|
|
sha256_checksum:
|
|
type: string
|
|
x-go-name: SHA256Checksum
|
|
temp_download_token:
|
|
type: string
|
|
x-go-name: TempDownloadToken
|
|
title: RunnerApplicationDownload represents a binary for the self-hosted runner application that can be downloaded.
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm-provider-common/params
|
|
RunnerPrefix:
|
|
properties:
|
|
runner_prefix:
|
|
type: string
|
|
x-go-name: Prefix
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
RunnerStatus:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ScaleSet:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
desired_runner_count:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: DesiredRunnerCount
|
|
disable_update:
|
|
type: boolean
|
|
x-go-name: DisableUpdate
|
|
enable_shell:
|
|
type: boolean
|
|
x-go-name: EnableShell
|
|
enabled:
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
endpoint:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
enterprise_id:
|
|
type: string
|
|
x-go-name: EnterpriseID
|
|
enterprise_name:
|
|
type: string
|
|
x-go-name: EnterpriseName
|
|
extended_state:
|
|
type: string
|
|
x-go-name: ExtendedState
|
|
extra_specs:
|
|
description: |-
|
|
ExtraSpecs is an opaque raw json that gets sent to the provider
|
|
as part of the bootstrap params for instances. It can contain
|
|
any kind of data needed by providers. The contents of this field means
|
|
nothing to garm itself. We don't act on the information in this field at
|
|
all. We only validate that it's a proper json.
|
|
type: object
|
|
x-go-name: ExtraSpecs
|
|
flavor:
|
|
type: string
|
|
x-go-name: Flavor
|
|
github-runner-group:
|
|
description: |-
|
|
GithubRunnerGroup is the github runner group in which the runners will be added.
|
|
The runner group must be created by someone with access to the enterprise.
|
|
type: string
|
|
x-go-name: GitHubRunnerGroup
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
image:
|
|
type: string
|
|
x-go-name: Image
|
|
instances:
|
|
items:
|
|
$ref: '#/definitions/Instance'
|
|
type: array
|
|
x-go-name: Instances
|
|
max_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MaxRunners
|
|
min_idle_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinIdleRunners
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
org_id:
|
|
type: string
|
|
x-go-name: OrgID
|
|
org_name:
|
|
type: string
|
|
x-go-name: OrgName
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
provider_name:
|
|
type: string
|
|
x-go-name: ProviderName
|
|
repo_id:
|
|
type: string
|
|
x-go-name: RepoID
|
|
repo_name:
|
|
type: string
|
|
x-go-name: RepoName
|
|
runner_bootstrap_timeout:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: RunnerBootstrapTimeout
|
|
runner_prefix:
|
|
type: string
|
|
x-go-name: Prefix
|
|
scale_set_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: ScaleSetID
|
|
state:
|
|
$ref: '#/definitions/ScaleSetState'
|
|
status_messages:
|
|
items:
|
|
$ref: '#/definitions/StatusMessage'
|
|
type: array
|
|
x-go-name: StatusMessages
|
|
template_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TemplateID
|
|
template_name:
|
|
type: string
|
|
x-go-name: TemplateName
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ScaleSetState:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
ScaleSets:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/ScaleSet'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
StatusMessage:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
event_level:
|
|
$ref: '#/definitions/EventLevel'
|
|
event_type:
|
|
$ref: '#/definitions/EventType'
|
|
message:
|
|
type: string
|
|
x-go-name: Message
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Tag:
|
|
properties:
|
|
id:
|
|
type: string
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Template:
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
data:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: Data
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
forge_type:
|
|
$ref: '#/definitions/EndpointType'
|
|
id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: ID
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
owner_id:
|
|
type: string
|
|
x-go-name: Owner
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
Templates:
|
|
description: used by swagger client generated code
|
|
items:
|
|
$ref: '#/definitions/Template'
|
|
type: array
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateControllerParams:
|
|
properties:
|
|
agent_url:
|
|
type: string
|
|
x-go-name: AgentURL
|
|
callback_url:
|
|
type: string
|
|
x-go-name: CallbackURL
|
|
enable_agent_tools_sync:
|
|
type: boolean
|
|
x-go-name: SyncGARMAgentTools
|
|
garm_agent_releases_url:
|
|
type: string
|
|
x-go-name: GARMAgentReleasesURL
|
|
metadata_url:
|
|
type: string
|
|
x-go-name: MetadataURL
|
|
minimum_job_age_backoff:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinimumJobAgeBackoff
|
|
webhook_url:
|
|
type: string
|
|
x-go-name: WebhookURL
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateEntityParams:
|
|
properties:
|
|
agent_mode:
|
|
type: boolean
|
|
x-go-name: AgentMode
|
|
credentials_name:
|
|
type: string
|
|
x-go-name: CredentialsName
|
|
pool_balancer_type:
|
|
$ref: '#/definitions/PoolBalancerType'
|
|
webhook_secret:
|
|
type: string
|
|
x-go-name: WebhookSecret
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateFileObjectParams:
|
|
properties:
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
tags:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Tags
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateGiteaCredentialsParams:
|
|
properties:
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pat:
|
|
$ref: '#/definitions/GithubPAT'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateGiteaEndpointParams:
|
|
properties:
|
|
api_base_url:
|
|
type: string
|
|
x-go-name: APIBaseURL
|
|
base_url:
|
|
type: string
|
|
x-go-name: BaseURL
|
|
ca_cert_bundle:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: CACertBundle
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
tools_metadata_url:
|
|
type: string
|
|
x-go-name: ToolsMetadataURL
|
|
use_internal_tools_metadata:
|
|
type: boolean
|
|
x-go-name: UseInternalToolsMetadata
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateGithubCredentialsParams:
|
|
properties:
|
|
app:
|
|
$ref: '#/definitions/GithubApp'
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
pat:
|
|
$ref: '#/definitions/GithubPAT'
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateGithubEndpointParams:
|
|
properties:
|
|
api_base_url:
|
|
type: string
|
|
x-go-name: APIBaseURL
|
|
base_url:
|
|
type: string
|
|
x-go-name: BaseURL
|
|
ca_cert_bundle:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: CACertBundle
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
upload_base_url:
|
|
type: string
|
|
x-go-name: UploadBaseURL
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdatePoolParams:
|
|
properties:
|
|
enable_shell:
|
|
type: boolean
|
|
x-go-name: EnableShell
|
|
enabled:
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
extra_specs:
|
|
type: object
|
|
x-go-name: ExtraSpecs
|
|
flavor:
|
|
type: string
|
|
x-go-name: Flavor
|
|
github-runner-group:
|
|
description: |-
|
|
GithubRunnerGroup is the github runner group in which the runners of this
|
|
pool will be added to.
|
|
The runner group must be created by someone with access to the enterprise.
|
|
type: string
|
|
x-go-name: GitHubRunnerGroup
|
|
image:
|
|
type: string
|
|
x-go-name: Image
|
|
max_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MaxRunners
|
|
min_idle_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinIdleRunners
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
priority:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: Priority
|
|
runner_bootstrap_timeout:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: RunnerBootstrapTimeout
|
|
runner_prefix:
|
|
type: string
|
|
x-go-name: Prefix
|
|
tags:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-go-name: Tags
|
|
template_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TemplateID
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateScaleSetParams:
|
|
properties:
|
|
enable_shell:
|
|
type: boolean
|
|
x-go-name: EnableShell
|
|
enabled:
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
extended_state:
|
|
type: string
|
|
x-go-name: ExtendedState
|
|
extra_specs:
|
|
type: object
|
|
x-go-name: ExtraSpecs
|
|
flavor:
|
|
type: string
|
|
x-go-name: Flavor
|
|
image:
|
|
type: string
|
|
x-go-name: Image
|
|
max_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MaxRunners
|
|
min_idle_runners:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: MinIdleRunners
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
os_arch:
|
|
$ref: '#/definitions/OSArch'
|
|
os_type:
|
|
$ref: '#/definitions/OSType'
|
|
runner_bootstrap_timeout:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: RunnerBootstrapTimeout
|
|
runner_group:
|
|
description: |-
|
|
GithubRunnerGroup is the github runner group in which the runners of this
|
|
pool will be added to.
|
|
The runner group must be created by someone with access to the enterprise.
|
|
type: string
|
|
x-go-name: GitHubRunnerGroup
|
|
runner_prefix:
|
|
type: string
|
|
x-go-name: Prefix
|
|
state:
|
|
$ref: '#/definitions/ScaleSetState'
|
|
template_id:
|
|
format: uint64
|
|
type: integer
|
|
x-go-name: TemplateID
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateTemplateParams:
|
|
properties:
|
|
data:
|
|
items:
|
|
format: uint8
|
|
type: integer
|
|
type: array
|
|
x-go-name: Data
|
|
description:
|
|
type: string
|
|
x-go-name: Description
|
|
name:
|
|
type: string
|
|
x-go-name: Name
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
User:
|
|
description: Users holds information about a particular user
|
|
properties:
|
|
created_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: CreatedAt
|
|
email:
|
|
type: string
|
|
x-go-name: Email
|
|
enabled:
|
|
type: boolean
|
|
x-go-name: Enabled
|
|
full_name:
|
|
type: string
|
|
x-go-name: FullName
|
|
id:
|
|
type: string
|
|
x-go-name: ID
|
|
is_admin:
|
|
type: boolean
|
|
x-go-name: IsAdmin
|
|
updated_at:
|
|
format: date-time
|
|
type: string
|
|
x-go-name: UpdatedAt
|
|
username:
|
|
type: string
|
|
x-go-name: Username
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
WebhookEndpointType:
|
|
type: string
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
info:
|
|
description: The Garm API generated using go-swagger.
|
|
license:
|
|
name: Apache 2.0
|
|
url: https://www.apache.org/licenses/LICENSE-2.0
|
|
title: Garm API.
|
|
version: 1.0.0
|
|
paths:
|
|
/auth/login:
|
|
post:
|
|
operationId: Login
|
|
parameters:
|
|
- description: Login information.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/PasswordLoginParams'
|
|
description: Login information.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: JWTResponse
|
|
schema:
|
|
$ref: '#/definitions/JWTResponse'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Logs in a user and returns a JWT token.
|
|
tags:
|
|
- login
|
|
/controller:
|
|
put:
|
|
operationId: UpdateController
|
|
parameters:
|
|
- description: Parameters used when updating the controller.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateControllerParams'
|
|
description: Parameters used when updating the controller.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ControllerInfo
|
|
schema:
|
|
$ref: '#/definitions/ControllerInfo'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update controller.
|
|
tags:
|
|
- controller
|
|
/controller-info:
|
|
get:
|
|
operationId: ControllerInfo
|
|
responses:
|
|
"200":
|
|
description: ControllerInfo
|
|
schema:
|
|
$ref: '#/definitions/ControllerInfo'
|
|
"409":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get controller info.
|
|
tags:
|
|
- controllerInfo
|
|
/controller/tools/sync:
|
|
post:
|
|
description: |-
|
|
Forces an immediate sync of GARM agent tools by resetting the cached timestamp.
|
|
This will trigger the background worker to fetch the latest tools from the configured
|
|
release URL and sync them to the object store.
|
|
|
|
Note: This endpoint requires that GARM agent tools sync is enabled. If sync is disabled,
|
|
the request will return an error.
|
|
operationId: ForceToolsSync
|
|
responses:
|
|
"200":
|
|
description: ControllerInfo
|
|
schema:
|
|
$ref: '#/definitions/ControllerInfo'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
"401":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Force immediate sync of GARM agent tools.
|
|
tags:
|
|
- controller
|
|
/enterprises:
|
|
get:
|
|
operationId: ListEnterprises
|
|
parameters:
|
|
- description: Exact enterprise name to filter by
|
|
in: query
|
|
name: name
|
|
type: string
|
|
- description: Exact endpoint name to filter by
|
|
in: query
|
|
name: endpoint
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Enterprises
|
|
schema:
|
|
$ref: '#/definitions/Enterprises'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all enterprises.
|
|
tags:
|
|
- enterprises
|
|
post:
|
|
operationId: CreateEnterprise
|
|
parameters:
|
|
- description: Parameters used to create the enterprise.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateEnterpriseParams'
|
|
description: Parameters used to create the enterprise.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Enterprise
|
|
schema:
|
|
$ref: '#/definitions/Enterprise'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create enterprise with the given parameters.
|
|
tags:
|
|
- enterprises
|
|
/enterprises/{enterpriseID}:
|
|
delete:
|
|
operationId: DeleteEnterprise
|
|
parameters:
|
|
- description: ID of the enterprise to delete.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete enterprise by ID.
|
|
tags:
|
|
- enterprises
|
|
get:
|
|
operationId: GetEnterprise
|
|
parameters:
|
|
- description: The ID of the enterprise to fetch.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Enterprise
|
|
schema:
|
|
$ref: '#/definitions/Enterprise'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get enterprise by ID.
|
|
tags:
|
|
- enterprises
|
|
put:
|
|
operationId: UpdateEnterprise
|
|
parameters:
|
|
- description: The ID of the enterprise to update.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating the enterprise.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateEntityParams'
|
|
description: Parameters used when updating the enterprise.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Enterprise
|
|
schema:
|
|
$ref: '#/definitions/Enterprise'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update enterprise with the given parameters.
|
|
tags:
|
|
- enterprises
|
|
/enterprises/{enterpriseID}/instances:
|
|
get:
|
|
operationId: ListEnterpriseInstances
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Instances
|
|
schema:
|
|
$ref: '#/definitions/Instances'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List enterprise instances.
|
|
tags:
|
|
- enterprises
|
|
- instances
|
|
/enterprises/{enterpriseID}/pools:
|
|
get:
|
|
operationId: ListEnterprisePools
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Pools
|
|
schema:
|
|
$ref: '#/definitions/Pools'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List enterprise pools.
|
|
tags:
|
|
- enterprises
|
|
- pools
|
|
post:
|
|
operationId: CreateEnterprisePool
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the enterprise pool.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreatePoolParams'
|
|
description: Parameters used when creating the enterprise pool.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create enterprise pool with the parameters given.
|
|
tags:
|
|
- enterprises
|
|
- pools
|
|
/enterprises/{enterpriseID}/pools/{poolID}:
|
|
delete:
|
|
operationId: DeleteEnterprisePool
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
- description: ID of the enterprise pool to delete.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete enterprise pool by ID.
|
|
tags:
|
|
- enterprises
|
|
- pools
|
|
get:
|
|
operationId: GetEnterprisePool
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
- description: Pool ID.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get enterprise pool by ID.
|
|
tags:
|
|
- enterprises
|
|
- pools
|
|
put:
|
|
operationId: UpdateEnterprisePool
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
- description: ID of the enterprise pool to update.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating the enterprise pool.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdatePoolParams'
|
|
description: Parameters used when updating the enterprise pool.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update enterprise pool with the parameters given.
|
|
tags:
|
|
- enterprises
|
|
- pools
|
|
/enterprises/{enterpriseID}/scalesets:
|
|
get:
|
|
operationId: ListEnterpriseScaleSets
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ScaleSets
|
|
schema:
|
|
$ref: '#/definitions/ScaleSets'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List enterprise scale sets.
|
|
tags:
|
|
- enterprises
|
|
- scalesets
|
|
post:
|
|
operationId: CreateEnterpriseScaleSet
|
|
parameters:
|
|
- description: Enterprise ID.
|
|
in: path
|
|
name: enterpriseID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the enterprise scale set.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateScaleSetParams'
|
|
description: Parameters used when creating the enterprise scale set.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ScaleSet
|
|
schema:
|
|
$ref: '#/definitions/ScaleSet'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create enterprise pool with the parameters given.
|
|
tags:
|
|
- enterprises
|
|
- scalesets
|
|
/first-run:
|
|
post:
|
|
operationId: FirstRun
|
|
parameters:
|
|
- description: Create a new user.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/NewUserParams'
|
|
description: Create a new user.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: User
|
|
schema:
|
|
$ref: '#/definitions/User'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Initialize the first run of the controller.
|
|
tags:
|
|
- first-run
|
|
/gitea/credentials:
|
|
get:
|
|
operationId: ListGiteaCredentials
|
|
responses:
|
|
"200":
|
|
description: Credentials
|
|
schema:
|
|
$ref: '#/definitions/Credentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all credentials.
|
|
tags:
|
|
- credentials
|
|
post:
|
|
operationId: CreateGiteaCredentials
|
|
parameters:
|
|
- description: Parameters used when creating a Gitea credential.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateGiteaCredentialsParams'
|
|
description: Parameters used when creating a Gitea credential.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeCredentials
|
|
schema:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create a Gitea credential.
|
|
tags:
|
|
- credentials
|
|
/gitea/credentials/{id}:
|
|
delete:
|
|
operationId: DeleteGiteaCredentials
|
|
parameters:
|
|
- description: ID of the Gitea credential.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete a Gitea credential.
|
|
tags:
|
|
- credentials
|
|
get:
|
|
operationId: GetGiteaCredentials
|
|
parameters:
|
|
- description: ID of the Gitea credential.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: ForgeCredentials
|
|
schema:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get a Gitea credential.
|
|
tags:
|
|
- credentials
|
|
put:
|
|
operationId: UpdateGiteaCredentials
|
|
parameters:
|
|
- description: ID of the Gitea credential.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Parameters used when updating a Gitea credential.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateGiteaCredentialsParams'
|
|
description: Parameters used when updating a Gitea credential.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeCredentials
|
|
schema:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update a Gitea credential.
|
|
tags:
|
|
- credentials
|
|
/gitea/endpoints:
|
|
get:
|
|
operationId: ListGiteaEndpoints
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoints
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoints'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all Gitea Endpoints.
|
|
tags:
|
|
- endpoints
|
|
post:
|
|
operationId: CreateGiteaEndpoint
|
|
parameters:
|
|
- description: Parameters used when creating a Gitea endpoint.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateGiteaEndpointParams'
|
|
description: Parameters used when creating a Gitea endpoint.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoint
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create a Gitea Endpoint.
|
|
tags:
|
|
- endpoints
|
|
/gitea/endpoints/{name}:
|
|
delete:
|
|
operationId: DeleteGiteaEndpoint
|
|
parameters:
|
|
- description: The name of the Gitea endpoint.
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete a Gitea Endpoint.
|
|
tags:
|
|
- endpoints
|
|
get:
|
|
operationId: GetGiteaEndpoint
|
|
parameters:
|
|
- description: The name of the Gitea endpoint.
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoint
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get a Gitea Endpoint.
|
|
tags:
|
|
- endpoints
|
|
put:
|
|
operationId: UpdateGiteaEndpoint
|
|
parameters:
|
|
- description: The name of the Gitea endpoint.
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating a Gitea endpoint.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateGiteaEndpointParams'
|
|
description: Parameters used when updating a Gitea endpoint.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoint
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update a Gitea Endpoint.
|
|
tags:
|
|
- endpoints
|
|
/github/credentials:
|
|
get:
|
|
operationId: ListCredentials
|
|
responses:
|
|
"200":
|
|
description: Credentials
|
|
schema:
|
|
$ref: '#/definitions/Credentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all credentials.
|
|
tags:
|
|
- credentials
|
|
post:
|
|
operationId: CreateCredentials
|
|
parameters:
|
|
- description: Parameters used when creating a GitHub credential.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateGithubCredentialsParams'
|
|
description: Parameters used when creating a GitHub credential.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeCredentials
|
|
schema:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create a GitHub credential.
|
|
tags:
|
|
- credentials
|
|
/github/credentials/{id}:
|
|
delete:
|
|
operationId: DeleteCredentials
|
|
parameters:
|
|
- description: ID of the GitHub credential.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete a GitHub credential.
|
|
tags:
|
|
- credentials
|
|
get:
|
|
operationId: GetCredentials
|
|
parameters:
|
|
- description: ID of the GitHub credential.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: ForgeCredentials
|
|
schema:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get a GitHub credential.
|
|
tags:
|
|
- credentials
|
|
put:
|
|
operationId: UpdateCredentials
|
|
parameters:
|
|
- description: ID of the GitHub credential.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Parameters used when updating a GitHub credential.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateGithubCredentialsParams'
|
|
description: Parameters used when updating a GitHub credential.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeCredentials
|
|
schema:
|
|
$ref: '#/definitions/ForgeCredentials'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update a GitHub credential.
|
|
tags:
|
|
- credentials
|
|
/github/endpoints:
|
|
get:
|
|
operationId: ListGithubEndpoints
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoints
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoints'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all GitHub Endpoints.
|
|
tags:
|
|
- endpoints
|
|
post:
|
|
operationId: CreateGithubEndpoint
|
|
parameters:
|
|
- description: Parameters used when creating a GitHub endpoint.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateGithubEndpointParams'
|
|
description: Parameters used when creating a GitHub endpoint.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoint
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create a GitHub Endpoint.
|
|
tags:
|
|
- endpoints
|
|
/github/endpoints/{name}:
|
|
delete:
|
|
operationId: DeleteGithubEndpoint
|
|
parameters:
|
|
- description: The name of the GitHub endpoint.
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete a GitHub Endpoint.
|
|
tags:
|
|
- endpoints
|
|
get:
|
|
operationId: GetGithubEndpoint
|
|
parameters:
|
|
- description: The name of the GitHub endpoint.
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoint
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get a GitHub Endpoint.
|
|
tags:
|
|
- endpoints
|
|
put:
|
|
operationId: UpdateGithubEndpoint
|
|
parameters:
|
|
- description: The name of the GitHub endpoint.
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating a GitHub endpoint.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateGithubEndpointParams'
|
|
description: Parameters used when updating a GitHub endpoint.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ForgeEndpoint
|
|
schema:
|
|
$ref: '#/definitions/ForgeEndpoint'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update a GitHub Endpoint.
|
|
tags:
|
|
- endpoints
|
|
/instances:
|
|
get:
|
|
operationId: ListInstances
|
|
responses:
|
|
"200":
|
|
description: Instances
|
|
schema:
|
|
$ref: '#/definitions/Instances'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get all runners' instances.
|
|
tags:
|
|
- instances
|
|
/instances/{instanceName}:
|
|
delete:
|
|
operationId: DeleteInstance
|
|
parameters:
|
|
- description: Runner instance name.
|
|
in: path
|
|
name: instanceName
|
|
required: true
|
|
type: string
|
|
- description: If true GARM will ignore any provider error when removing the runner and will continue to remove the runner from github and the GARM database.
|
|
in: query
|
|
name: forceRemove
|
|
type: boolean
|
|
- description: If true GARM will ignore unauthorized errors returned by GitHub when removing a runner. This is useful if you want to clean up runners and your credentials have expired.
|
|
in: query
|
|
name: bypassGHUnauthorized
|
|
type: boolean
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete runner instance by name.
|
|
tags:
|
|
- instances
|
|
get:
|
|
operationId: GetInstance
|
|
parameters:
|
|
- description: Runner instance name.
|
|
in: path
|
|
name: instanceName
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Instance
|
|
schema:
|
|
$ref: '#/definitions/Instance'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get runner instance by name.
|
|
tags:
|
|
- instances
|
|
/jobs:
|
|
get:
|
|
operationId: ListJobs
|
|
responses:
|
|
"200":
|
|
description: Jobs
|
|
schema:
|
|
$ref: '#/definitions/Jobs'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all jobs.
|
|
tags:
|
|
- jobs
|
|
/metrics-token:
|
|
get:
|
|
operationId: GetMetricsToken
|
|
responses:
|
|
"200":
|
|
description: JWTResponse
|
|
schema:
|
|
$ref: '#/definitions/JWTResponse'
|
|
"401":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Returns a JWT token that can be used to access the metrics endpoint.
|
|
tags:
|
|
- metrics-token
|
|
/objects:
|
|
get:
|
|
operationId: ListFileObjects
|
|
parameters:
|
|
- description: List of tags to filter by.
|
|
in: query
|
|
name: tags
|
|
type: string
|
|
- description: The page at which to list.
|
|
in: query
|
|
name: page
|
|
type: integer
|
|
- description: Number of items per page.
|
|
in: query
|
|
name: pageSize
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: FileObjectPaginatedResponse
|
|
schema:
|
|
$ref: '#/definitions/FileObjectPaginatedResponse'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List file objects.
|
|
tags:
|
|
- objects
|
|
/objects/{objectID}:
|
|
delete:
|
|
operationId: DeleteFileObject
|
|
parameters:
|
|
- description: The ID of the file object.
|
|
in: path
|
|
name: objectID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete a file object.
|
|
tags:
|
|
- objects
|
|
get:
|
|
operationId: GetFileObject
|
|
parameters:
|
|
- description: The ID of the file object.
|
|
in: path
|
|
name: objectID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: FileObject
|
|
schema:
|
|
$ref: '#/definitions/FileObject'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get a file object.
|
|
tags:
|
|
- objects
|
|
put:
|
|
operationId: UpdateFileObject
|
|
parameters:
|
|
- description: The ID of the file object.
|
|
in: path
|
|
name: objectID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating a file object.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateFileObjectParams'
|
|
description: Parameters used when updating a file object.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: FileObject
|
|
schema:
|
|
$ref: '#/definitions/FileObject'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update a file object.
|
|
tags:
|
|
- objects
|
|
/organizations:
|
|
get:
|
|
operationId: ListOrgs
|
|
parameters:
|
|
- description: Exact organization name to filter by
|
|
in: query
|
|
name: name
|
|
type: string
|
|
- description: Exact endpoint name to filter by
|
|
in: query
|
|
name: endpoint
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Organizations
|
|
schema:
|
|
$ref: '#/definitions/Organizations'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List organizations.
|
|
tags:
|
|
- organizations
|
|
post:
|
|
operationId: CreateOrg
|
|
parameters:
|
|
- description: Parameters used when creating the organization.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateOrgParams'
|
|
description: Parameters used when creating the organization.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Organization
|
|
schema:
|
|
$ref: '#/definitions/Organization'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create organization with the parameters given.
|
|
tags:
|
|
- organizations
|
|
/organizations/{orgID}:
|
|
delete:
|
|
operationId: DeleteOrg
|
|
parameters:
|
|
- description: ID of the organization to delete.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: If true and a webhook is installed for this organization, it will not be removed.
|
|
in: query
|
|
name: keepWebhook
|
|
type: boolean
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete organization by ID.
|
|
tags:
|
|
- organizations
|
|
get:
|
|
operationId: GetOrg
|
|
parameters:
|
|
- description: ID of the organization to fetch.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Organization
|
|
schema:
|
|
$ref: '#/definitions/Organization'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get organization by ID.
|
|
tags:
|
|
- organizations
|
|
put:
|
|
operationId: UpdateOrg
|
|
parameters:
|
|
- description: ID of the organization to update.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating the organization.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateEntityParams'
|
|
description: Parameters used when updating the organization.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Organization
|
|
schema:
|
|
$ref: '#/definitions/Organization'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update organization with the parameters given.
|
|
tags:
|
|
- organizations
|
|
/organizations/{orgID}/instances:
|
|
get:
|
|
operationId: ListOrgInstances
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Instances
|
|
schema:
|
|
$ref: '#/definitions/Instances'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List organization instances.
|
|
tags:
|
|
- organizations
|
|
- instances
|
|
/organizations/{orgID}/pools:
|
|
get:
|
|
operationId: ListOrgPools
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Pools
|
|
schema:
|
|
$ref: '#/definitions/Pools'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List organization pools.
|
|
tags:
|
|
- organizations
|
|
- pools
|
|
post:
|
|
operationId: CreateOrgPool
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the organization pool.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreatePoolParams'
|
|
description: Parameters used when creating the organization pool.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create organization pool with the parameters given.
|
|
tags:
|
|
- organizations
|
|
- pools
|
|
/organizations/{orgID}/pools/{poolID}:
|
|
delete:
|
|
operationId: DeleteOrgPool
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: ID of the organization pool to delete.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete organization pool by ID.
|
|
tags:
|
|
- organizations
|
|
- pools
|
|
get:
|
|
operationId: GetOrgPool
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: Pool ID.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get organization pool by ID.
|
|
tags:
|
|
- organizations
|
|
- pools
|
|
put:
|
|
operationId: UpdateOrgPool
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: ID of the organization pool to update.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating the organization pool.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdatePoolParams'
|
|
description: Parameters used when updating the organization pool.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update organization pool with the parameters given.
|
|
tags:
|
|
- organizations
|
|
- pools
|
|
/organizations/{orgID}/scalesets:
|
|
get:
|
|
operationId: ListOrgScaleSets
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ScaleSets
|
|
schema:
|
|
$ref: '#/definitions/ScaleSets'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List organization scale sets.
|
|
tags:
|
|
- organizations
|
|
- scalesets
|
|
post:
|
|
operationId: CreateOrgScaleSet
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the organization scale set.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateScaleSetParams'
|
|
description: Parameters used when creating the organization scale set.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ScaleSet
|
|
schema:
|
|
$ref: '#/definitions/ScaleSet'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create organization scale set with the parameters given.
|
|
tags:
|
|
- organizations
|
|
- scalesets
|
|
/organizations/{orgID}/webhook:
|
|
delete:
|
|
operationId: UninstallOrgWebhook
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Uninstall organization webhook.
|
|
tags:
|
|
- organizations
|
|
- hooks
|
|
get:
|
|
operationId: GetOrgWebhookInfo
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: HookInfo
|
|
schema:
|
|
$ref: '#/definitions/HookInfo'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get information about the GARM installed webhook on an organization.
|
|
tags:
|
|
- organizations
|
|
- hooks
|
|
post:
|
|
description: |-
|
|
Install the GARM webhook for an organization. The secret configured on the organization will
|
|
be used to validate the requests.
|
|
operationId: InstallOrgWebhook
|
|
parameters:
|
|
- description: Organization ID.
|
|
in: path
|
|
name: orgID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the organization webhook.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/InstallWebhookParams'
|
|
description: Parameters used when creating the organization webhook.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: HookInfo
|
|
schema:
|
|
$ref: '#/definitions/HookInfo'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
tags:
|
|
- organizations
|
|
- hooks
|
|
/pools:
|
|
get:
|
|
operationId: ListPools
|
|
responses:
|
|
"200":
|
|
description: Pools
|
|
schema:
|
|
$ref: '#/definitions/Pools'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all pools.
|
|
tags:
|
|
- pools
|
|
/pools/{poolID}:
|
|
delete:
|
|
operationId: DeletePool
|
|
parameters:
|
|
- description: ID of the pool to delete.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete pool by ID.
|
|
tags:
|
|
- pools
|
|
get:
|
|
operationId: GetPool
|
|
parameters:
|
|
- description: ID of the pool to fetch.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get pool by ID.
|
|
tags:
|
|
- pools
|
|
put:
|
|
operationId: UpdatePool
|
|
parameters:
|
|
- description: ID of the pool to update.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
- description: Parameters to update the pool with.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdatePoolParams'
|
|
description: Parameters to update the pool with.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update pool by ID.
|
|
tags:
|
|
- pools
|
|
/pools/{poolID}/instances:
|
|
get:
|
|
operationId: ListPoolInstances
|
|
parameters:
|
|
- description: Runner pool ID.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Instances
|
|
schema:
|
|
$ref: '#/definitions/Instances'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List runner instances in a pool.
|
|
tags:
|
|
- instances
|
|
/providers:
|
|
get:
|
|
operationId: ListProviders
|
|
responses:
|
|
"200":
|
|
description: Providers
|
|
schema:
|
|
$ref: '#/definitions/Providers'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all providers.
|
|
tags:
|
|
- providers
|
|
/repositories:
|
|
get:
|
|
operationId: ListRepos
|
|
parameters:
|
|
- description: Exact owner name to filter by
|
|
in: query
|
|
name: owner
|
|
type: string
|
|
- description: Exact repository name to filter by
|
|
in: query
|
|
name: name
|
|
type: string
|
|
- description: Exact endpoint name to filter by
|
|
in: query
|
|
name: endpoint
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Repositories
|
|
schema:
|
|
$ref: '#/definitions/Repositories'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List repositories.
|
|
tags:
|
|
- repositories
|
|
post:
|
|
operationId: CreateRepo
|
|
parameters:
|
|
- description: Parameters used when creating the repository.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateRepoParams'
|
|
description: Parameters used when creating the repository.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Repository
|
|
schema:
|
|
$ref: '#/definitions/Repository'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create repository with the parameters given.
|
|
tags:
|
|
- repositories
|
|
/repositories/{repoID}:
|
|
delete:
|
|
operationId: DeleteRepo
|
|
parameters:
|
|
- description: ID of the repository to delete.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: If true and a webhook is installed for this repo, it will not be removed.
|
|
in: query
|
|
name: keepWebhook
|
|
type: boolean
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete repository by ID.
|
|
tags:
|
|
- repositories
|
|
get:
|
|
operationId: GetRepo
|
|
parameters:
|
|
- description: ID of the repository to fetch.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Repository
|
|
schema:
|
|
$ref: '#/definitions/Repository'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get repository by ID.
|
|
tags:
|
|
- repositories
|
|
put:
|
|
operationId: UpdateRepo
|
|
parameters:
|
|
- description: ID of the repository to update.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating the repository.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateEntityParams'
|
|
description: Parameters used when updating the repository.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Repository
|
|
schema:
|
|
$ref: '#/definitions/Repository'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update repository with the parameters given.
|
|
tags:
|
|
- repositories
|
|
/repositories/{repoID}/instances:
|
|
get:
|
|
operationId: ListRepoInstances
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Instances
|
|
schema:
|
|
$ref: '#/definitions/Instances'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List repository instances.
|
|
tags:
|
|
- repositories
|
|
- instances
|
|
/repositories/{repoID}/pools:
|
|
get:
|
|
operationId: ListRepoPools
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Pools
|
|
schema:
|
|
$ref: '#/definitions/Pools'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List repository pools.
|
|
tags:
|
|
- repositories
|
|
- pools
|
|
post:
|
|
operationId: CreateRepoPool
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the repository pool.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreatePoolParams'
|
|
description: Parameters used when creating the repository pool.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create repository pool with the parameters given.
|
|
tags:
|
|
- repositories
|
|
- pools
|
|
/repositories/{repoID}/pools/{poolID}:
|
|
delete:
|
|
operationId: DeleteRepoPool
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: ID of the repository pool to delete.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete repository pool by ID.
|
|
tags:
|
|
- repositories
|
|
- pools
|
|
get:
|
|
operationId: GetRepoPool
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: Pool ID.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get repository pool by ID.
|
|
tags:
|
|
- repositories
|
|
- pools
|
|
put:
|
|
operationId: UpdateRepoPool
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: ID of the repository pool to update.
|
|
in: path
|
|
name: poolID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating the repository pool.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdatePoolParams'
|
|
description: Parameters used when updating the repository pool.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Pool
|
|
schema:
|
|
$ref: '#/definitions/Pool'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update repository pool with the parameters given.
|
|
tags:
|
|
- repositories
|
|
- pools
|
|
/repositories/{repoID}/scalesets:
|
|
get:
|
|
operationId: ListRepoScaleSets
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ScaleSets
|
|
schema:
|
|
$ref: '#/definitions/ScaleSets'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List repository scale sets.
|
|
tags:
|
|
- repositories
|
|
- scalesets
|
|
post:
|
|
operationId: CreateRepoScaleSet
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the repository scale set.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateScaleSetParams'
|
|
description: Parameters used when creating the repository scale set.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ScaleSet
|
|
schema:
|
|
$ref: '#/definitions/ScaleSet'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create repository scale set with the parameters given.
|
|
tags:
|
|
- repositories
|
|
- scalesets
|
|
/repositories/{repoID}/webhook:
|
|
delete:
|
|
operationId: UninstallRepoWebhook
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Uninstall organization webhook.
|
|
tags:
|
|
- repositories
|
|
- hooks
|
|
get:
|
|
operationId: GetRepoWebhookInfo
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: HookInfo
|
|
schema:
|
|
$ref: '#/definitions/HookInfo'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get information about the GARM installed webhook on a repository.
|
|
tags:
|
|
- repositories
|
|
- hooks
|
|
post:
|
|
description: |-
|
|
Install the GARM webhook for an organization. The secret configured on the organization will
|
|
be used to validate the requests.
|
|
operationId: InstallRepoWebhook
|
|
parameters:
|
|
- description: Repository ID.
|
|
in: path
|
|
name: repoID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when creating the repository webhook.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/InstallWebhookParams'
|
|
description: Parameters used when creating the repository webhook.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: HookInfo
|
|
schema:
|
|
$ref: '#/definitions/HookInfo'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
tags:
|
|
- repositories
|
|
- hooks
|
|
/scalesets:
|
|
get:
|
|
operationId: ListScalesets
|
|
responses:
|
|
"200":
|
|
description: ScaleSets
|
|
schema:
|
|
$ref: '#/definitions/ScaleSets'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List all scalesets.
|
|
tags:
|
|
- scalesets
|
|
/scalesets/{scalesetID}:
|
|
delete:
|
|
operationId: DeleteScaleSet
|
|
parameters:
|
|
- description: ID of the scale set to delete.
|
|
in: path
|
|
name: scalesetID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Delete scale set by ID.
|
|
tags:
|
|
- scalesets
|
|
get:
|
|
operationId: GetScaleSet
|
|
parameters:
|
|
- description: ID of the scale set to fetch.
|
|
in: path
|
|
name: scalesetID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ScaleSet
|
|
schema:
|
|
$ref: '#/definitions/ScaleSet'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get scale set by ID.
|
|
tags:
|
|
- scalesets
|
|
put:
|
|
operationId: UpdateScaleSet
|
|
parameters:
|
|
- description: ID of the scale set to update.
|
|
in: path
|
|
name: scalesetID
|
|
required: true
|
|
type: string
|
|
- description: Parameters to update the scale set with.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateScaleSetParams'
|
|
description: Parameters to update the scale set with.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: ScaleSet
|
|
schema:
|
|
$ref: '#/definitions/ScaleSet'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update scale set by ID.
|
|
tags:
|
|
- scalesets
|
|
/scalesets/{scalesetID}/instances:
|
|
get:
|
|
operationId: ListScaleSetInstances
|
|
parameters:
|
|
- description: Runner scale set ID.
|
|
in: path
|
|
name: scalesetID
|
|
required: true
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Instances
|
|
schema:
|
|
$ref: '#/definitions/Instances'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List runner instances in a scale set.
|
|
tags:
|
|
- instances
|
|
/templates:
|
|
get:
|
|
operationId: ListTemplates
|
|
parameters:
|
|
- description: OS type of the templates.
|
|
in: query
|
|
name: osType
|
|
type: string
|
|
- description: Partial or full name of the template.
|
|
in: query
|
|
name: partialName
|
|
type: string
|
|
- description: Forge type of the templates.
|
|
in: query
|
|
name: forgeType
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Templates
|
|
schema:
|
|
$ref: '#/definitions/Templates'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List templates.
|
|
tags:
|
|
- templates
|
|
post:
|
|
operationId: CreateTemplate
|
|
parameters:
|
|
- description: Parameters used when creating the template.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/CreateTemplateParams'
|
|
description: Parameters used when creating the template.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Template
|
|
schema:
|
|
$ref: '#/definitions/Template'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create template with the parameters given.
|
|
tags:
|
|
- templates
|
|
/templates/{templateID}:
|
|
delete:
|
|
operationId: DeleteTemplate
|
|
parameters:
|
|
- description: ID of the template to delete.
|
|
in: path
|
|
name: templateID
|
|
required: true
|
|
type: number
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get template by ID.
|
|
tags:
|
|
- templates
|
|
get:
|
|
operationId: GetTemplate
|
|
parameters:
|
|
- description: ID of the template to fetch.
|
|
in: path
|
|
name: templateID
|
|
required: true
|
|
type: number
|
|
responses:
|
|
"200":
|
|
description: Template
|
|
schema:
|
|
$ref: '#/definitions/Template'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Get template by ID.
|
|
tags:
|
|
- templates
|
|
put:
|
|
operationId: UpdateTemplate
|
|
parameters:
|
|
- description: ID of the template to update.
|
|
in: path
|
|
name: templateID
|
|
required: true
|
|
type: string
|
|
- description: Parameters used when updating the template.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/UpdateTemplateParams'
|
|
description: Parameters used when updating the template.
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: Template
|
|
schema:
|
|
$ref: '#/definitions/Template'
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Update template with the parameters given.
|
|
tags:
|
|
- templates
|
|
/templates/restore:
|
|
post:
|
|
operationId: RestoreTemplates
|
|
parameters:
|
|
- description: Parameters used when restoring the templates.
|
|
in: body
|
|
name: Body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/RestoreTemplateRequest'
|
|
description: Parameters used when restoring the templates.
|
|
type: object
|
|
responses:
|
|
default:
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Create template with the parameters given.
|
|
tags:
|
|
- templates
|
|
/tools/garm-agent:
|
|
get:
|
|
operationId: GarmAgentList
|
|
parameters:
|
|
- description: The page at which to list.
|
|
in: query
|
|
name: page
|
|
type: integer
|
|
- description: Number of items per page.
|
|
in: query
|
|
name: pageSize
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: GARMAgentToolsPaginatedResponse
|
|
schema:
|
|
$ref: '#/definitions/GARMAgentToolsPaginatedResponse'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: List GARM agent tools.
|
|
tags:
|
|
- tools
|
|
post:
|
|
description: |-
|
|
Uploads a GARM agent tool for a specific OS and architecture.
|
|
This will automatically replace any existing tool for the same OS/architecture combination.
|
|
|
|
Uses custom headers for metadata:
|
|
|
|
X-Tool-Name: Name of the tool
|
|
|
|
X-Tool-Description: Description
|
|
|
|
X-Tool-OS-Type: OS type (linux or windows)
|
|
|
|
X-Tool-OS-Arch: Architecture (amd64 or arm64)
|
|
|
|
X-Tool-Version: Version string
|
|
operationId: UploadGARMAgentTool
|
|
responses:
|
|
"200":
|
|
description: FileObject
|
|
schema:
|
|
$ref: '#/definitions/FileObject'
|
|
"400":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
"401":
|
|
description: APIErrorResponse
|
|
schema:
|
|
$ref: '#/definitions/APIErrorResponse'
|
|
summary: Upload a GARM agent tool binary.
|
|
tags:
|
|
- tools
|
|
produces:
|
|
- application/json
|
|
security:
|
|
- Bearer: []
|
|
securityDefinitions:
|
|
Bearer:
|
|
description: 'The token with the `Bearer: ` prefix, e.g. "Bearer abcde12345".'
|
|
in: header
|
|
name: Authorization
|
|
type: apiKey
|
|
swagger: "2.0"
|