This change adds a single page application front-end to GARM. It uses a generated REST client, built from the swagger definitions, the websocket interface for live updates of entities and eager loading of everything except runners, as users may have many runners and we don't want to load hundreds of runners in memory. Proper pagination should be implemented in the API, in future commits, to avoid loading lots of elements for no reason. Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
3469 lines
121 KiB
YAML
3469 lines
121 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
|
|
ControllerInfo:
|
|
properties:
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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:
|
|
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:
|
|
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
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
CreateRepoParams:
|
|
properties:
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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_id:
|
|
format: int64
|
|
type: integer
|
|
x-go-name: AgentID
|
|
os_name:
|
|
type: string
|
|
x-go-name: OSName
|
|
os_version:
|
|
type: string
|
|
x-go-name: OSVersion
|
|
type: object
|
|
x-go-name: UpdateSystemInfoParams
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
UpdateControllerParams:
|
|
properties:
|
|
callback_url:
|
|
type: string
|
|
x-go-name: CallbackURL
|
|
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:
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
type: object
|
|
x-go-package: github.com/cloudbase/garm/params
|
|
UpdateScaleSetParams:
|
|
properties:
|
|
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'
|
|
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
|
|
/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
|
|
/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
|
|
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"
|