controllers

package
v0.2.0-alpha Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIController

type APIController struct {
	// contains filtered or unexported fields
}

func NewAPIController

func NewAPIController(r *runner.Runner, authenticator *auth.Authenticator, hub *wsWriter.Hub) (*APIController, error)

func (*APIController) ControllerInfoHandler added in v0.1.4

func (a *APIController) ControllerInfoHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /controller-info controllerInfo ControllerInfo

Get controller info.

Responses:
  200: ControllerInfo
  409: APIErrorResponse

func (*APIController) CreateEnterpriseHandler

func (a *APIController) CreateEnterpriseHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /enterprises enterprises CreateEnterprise

Create enterprise with the given parameters.

Parameters:
  + name: Body
    description: Parameters used to create the enterprise.
    type: CreateEnterpriseParams
    in: body
    required: true

Responses:
  200: Enterprise
  default: APIErrorResponse

func (*APIController) CreateEnterprisePoolHandler

func (a *APIController) CreateEnterprisePoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /enterprises/{enterpriseID}/pools enterprises pools CreateEnterprisePool

Create enterprise pool with the parameters given.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the enterprise pool.
    type: CreatePoolParams
    in: body
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) CreateEnterpriseScaleSetHandler

func (a *APIController) CreateEnterpriseScaleSetHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /enterprises/{enterpriseID}/scalesets enterprises scalesets CreateEnterpriseScaleSet

Create enterprise pool with the parameters given.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the enterprise scale set.
    type: CreateScaleSetParams
    in: body
    required: true

Responses:
  200: ScaleSet
  default: APIErrorResponse

func (*APIController) CreateGiteaCredential

func (a *APIController) CreateGiteaCredential(w http.ResponseWriter, r *http.Request)

swagger:route POST /gitea/credentials credentials CreateGiteaCredentials

Create a Gitea credential.

Parameters:
  + name: Body
    description: Parameters used when creating a Gitea credential.
    type: CreateGiteaCredentialsParams
    in: body
    required: true

Responses:
  200: ForgeCredentials
  400: APIErrorResponse

func (*APIController) CreateGiteaEndpoint

func (a *APIController) CreateGiteaEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route POST /gitea/endpoints endpoints CreateGiteaEndpoint

Create a Gitea Endpoint.

Parameters:
  + name: Body
    description: Parameters used when creating a Gitea endpoint.
    type: CreateGiteaEndpointParams
    in: body
    required: true

Responses:
  200: ForgeEndpoint
  default: APIErrorResponse

func (*APIController) CreateGithubCredential added in v0.1.5

func (a *APIController) CreateGithubCredential(w http.ResponseWriter, r *http.Request)

swagger:route POST /github/credentials credentials CreateCredentials

Create a GitHub credential.

Parameters:
  + name: Body
    description: Parameters used when creating a GitHub credential.
    type: CreateGithubCredentialsParams
    in: body
    required: true

Responses:
  200: ForgeCredentials
  400: APIErrorResponse

func (*APIController) CreateGithubEndpoint added in v0.1.5

func (a *APIController) CreateGithubEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route POST /github/endpoints endpoints CreateGithubEndpoint

Create a GitHub Endpoint.

Parameters:
  + name: Body
    description: Parameters used when creating a GitHub endpoint.
    type: CreateGithubEndpointParams
    in: body
    required: true

Responses:
  200: ForgeEndpoint
  default: APIErrorResponse

func (*APIController) CreateOrgHandler

func (a *APIController) CreateOrgHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /organizations organizations CreateOrg

Create organization with the parameters given.

Parameters:
  + name: Body
    description: Parameters used when creating the organization.
    type: CreateOrgParams
    in: body
    required: true

Responses:
  200: Organization
  default: APIErrorResponse

func (*APIController) CreateOrgPoolHandler

func (a *APIController) CreateOrgPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /organizations/{orgID}/pools organizations pools CreateOrgPool

Create organization pool with the parameters given.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the organization pool.
    type: CreatePoolParams
    in: body
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) CreateOrgScaleSetHandler

func (a *APIController) CreateOrgScaleSetHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /organizations/{orgID}/scalesets organizations scalesets CreateOrgScaleSet

Create organization scale set with the parameters given.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the organization scale set.
    type: CreateScaleSetParams
    in: body
    required: true

Responses:
  200: ScaleSet
  default: APIErrorResponse

func (*APIController) CreateRepoHandler

func (a *APIController) CreateRepoHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /repositories repositories CreateRepo

Create repository with the parameters given.

Parameters:
  + name: Body
    description: Parameters used when creating the repository.
    type: CreateRepoParams
    in: body
    required: true

Responses:
  200: Repository
  default: APIErrorResponse

func (*APIController) CreateRepoPoolHandler

func (a *APIController) CreateRepoPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /repositories/{repoID}/pools repositories pools CreateRepoPool

Create repository pool with the parameters given.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the repository pool.
    type: CreatePoolParams
    in: body
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) CreateRepoScaleSetHandler

func (a *APIController) CreateRepoScaleSetHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /repositories/{repoID}/scalesets repositories scalesets CreateRepoScaleSet

Create repository scale set with the parameters given.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the repository scale set.
    type: CreateScaleSetParams
    in: body
    required: true

Responses:
  200: ScaleSet
  default: APIErrorResponse

func (*APIController) DeleteEnterpriseHandler

func (a *APIController) DeleteEnterpriseHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /enterprises/{enterpriseID} enterprises DeleteEnterprise

Delete enterprise by ID.

Parameters:
  + name: enterpriseID
    description: ID of the enterprise to delete.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteEnterprisePoolHandler

func (a *APIController) DeleteEnterprisePoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /enterprises/{enterpriseID}/pools/{poolID} enterprises pools DeleteEnterprisePool

Delete enterprise pool by ID.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: ID of the enterprise pool to delete.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteGiteaCredential

func (a *APIController) DeleteGiteaCredential(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /gitea/credentials/{id} credentials DeleteGiteaCredentials

Delete a Gitea credential.

Parameters:
  + name: id
    description: ID of the Gitea credential.
    type: integer
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteGiteaEndpoint

func (a *APIController) DeleteGiteaEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /gitea/endpoints/{name} endpoints DeleteGiteaEndpoint

Delete a Gitea Endpoint.

Parameters:
  + name: name
    description: The name of the Gitea endpoint.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteGithubCredential added in v0.1.5

func (a *APIController) DeleteGithubCredential(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /github/credentials/{id} credentials DeleteCredentials

Delete a GitHub credential.

Parameters:
  + name: id
    description: ID of the GitHub credential.
    type: integer
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteGithubEndpoint added in v0.1.5

func (a *APIController) DeleteGithubEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /github/endpoints/{name} endpoints DeleteGithubEndpoint

Delete a GitHub Endpoint.

Parameters:
  + name: name
    description: The name of the GitHub endpoint.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteInstanceHandler

func (a *APIController) DeleteInstanceHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /instances/{instanceName} instances DeleteInstance

Delete runner instance by name.

Parameters:
  + name: instanceName
    description: Runner instance name.
    type: string
    in: path
    required: true

  + name: forceRemove
    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.
    type: boolean
    in: query
    required: false

  + name: bypassGHUnauthorized
    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.
    type: boolean
    in: query
    required: false

Responses:

default: APIErrorResponse

func (*APIController) DeleteOrgHandler

func (a *APIController) DeleteOrgHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /organizations/{orgID} organizations DeleteOrg

Delete organization by ID.

Parameters:
  + name: orgID
    description: ID of the organization to delete.
    type: string
    in: path
    required: true

  + name: keepWebhook
    description: If true and a webhook is installed for this organization, it will not be removed.
    type: boolean
    in: query
    required: false

Responses:
  default: APIErrorResponse

func (*APIController) DeleteOrgPoolHandler

func (a *APIController) DeleteOrgPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /organizations/{orgID}/pools/{poolID} organizations pools DeleteOrgPool

Delete organization pool by ID.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: ID of the organization pool to delete.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeletePoolByIDHandler

func (a *APIController) DeletePoolByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /pools/{poolID} pools DeletePool

Delete pool by ID.

Parameters:
  + name: poolID
    description: ID of the pool to delete.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteRepoHandler

func (a *APIController) DeleteRepoHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /repositories/{repoID} repositories DeleteRepo

Delete repository by ID.

Parameters:
  + name: repoID
    description: ID of the repository to delete.
    type: string
    in: path
    required: true

  + name: keepWebhook
    description: If true and a webhook is installed for this repo, it will not be removed.
    type: boolean
    in: query
    required: false

Responses:
  default: APIErrorResponse

func (*APIController) DeleteRepoPoolHandler

func (a *APIController) DeleteRepoPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /repositories/{repoID}/pools/{poolID} repositories pools DeleteRepoPool

Delete repository pool by ID.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: ID of the repository pool to delete.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) DeleteScaleSetByIDHandler

func (a *APIController) DeleteScaleSetByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /scalesets/{scalesetID} scalesets DeleteScaleSet

Delete scale set by ID.

Parameters:
  + name: scalesetID
    description: ID of the scale set to delete.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) EventsHandler added in v0.1.5

func (a *APIController) EventsHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) FirstRunHandler

func (a *APIController) FirstRunHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /first-run first-run FirstRun

Initialize the first run of the controller.

Parameters:
  + name: Body
    description: Create a new user.
    type: NewUserParams
    in: body
    required: true

Responses:
  200: User
  400: APIErrorResponse

func (*APIController) GetEnterpriseByIDHandler

func (a *APIController) GetEnterpriseByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /enterprises/{enterpriseID} enterprises GetEnterprise

Get enterprise by ID.

Parameters:
  + name: enterpriseID
    description: The ID of the enterprise to fetch.
    type: string
    in: path
    required: true

Responses:
  200: Enterprise
  default: APIErrorResponse

func (*APIController) GetEnterprisePoolHandler

func (a *APIController) GetEnterprisePoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /enterprises/{enterpriseID}/pools/{poolID} enterprises pools GetEnterprisePool

Get enterprise pool by ID.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: Pool ID.
    type: string
    in: path
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) GetGiteaCredential

func (a *APIController) GetGiteaCredential(w http.ResponseWriter, r *http.Request)

swagger:route GET /gitea/credentials/{id} credentials GetGiteaCredentials

Get a Gitea credential.

Parameters:
  + name: id
    description: ID of the Gitea credential.
    type: integer
    in: path
    required: true

Responses:
  200: ForgeCredentials
  400: APIErrorResponse

func (*APIController) GetGiteaEndpoint

func (a *APIController) GetGiteaEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route GET /gitea/endpoints/{name} endpoints GetGiteaEndpoint

Get a Gitea Endpoint.

Parameters:
  + name: name
    description: The name of the Gitea endpoint.
    type: string
    in: path
    required: true

Responses:
  200: ForgeEndpoint
  default: APIErrorResponse

func (*APIController) GetGithubCredential added in v0.1.5

func (a *APIController) GetGithubCredential(w http.ResponseWriter, r *http.Request)

swagger:route GET /github/credentials/{id} credentials GetCredentials

Get a GitHub credential.

Parameters:
  + name: id
    description: ID of the GitHub credential.
    type: integer
    in: path
    required: true

Responses:
  200: ForgeCredentials
  400: APIErrorResponse

func (*APIController) GetGithubEndpoint added in v0.1.5

func (a *APIController) GetGithubEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route GET /github/endpoints/{name} endpoints GetGithubEndpoint

Get a GitHub Endpoint.

Parameters:
  + name: name
    description: The name of the GitHub endpoint.
    type: string
    in: path
    required: true

Responses:
  200: ForgeEndpoint
  default: APIErrorResponse

func (*APIController) GetInstanceHandler

func (a *APIController) GetInstanceHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /instances/{instanceName} instances GetInstance

Get runner instance by name.

Parameters:
  + name: instanceName
    description: Runner instance name.
    type: string
    in: path
    required: true

Responses:
  200: Instance
  default: APIErrorResponse

func (*APIController) GetOrgByIDHandler

func (a *APIController) GetOrgByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /organizations/{orgID} organizations GetOrg

Get organization by ID.

Parameters:
  + name: orgID
    description: ID of the organization to fetch.
    type: string
    in: path
    required: true

Responses:
  200: Organization
  default: APIErrorResponse

func (*APIController) GetOrgPoolHandler

func (a *APIController) GetOrgPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /organizations/{orgID}/pools/{poolID} organizations pools GetOrgPool

Get organization pool by ID.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: Pool ID.
    type: string
    in: path
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) GetOrgWebhookInfoHandler added in v0.1.4

func (a *APIController) GetOrgWebhookInfoHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /organizations/{orgID}/webhook organizations hooks GetOrgWebhookInfo

Get information about the GARM installed webhook on an organization.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

Responses:
  200: HookInfo
  default: APIErrorResponse

func (*APIController) GetPoolByIDHandler

func (a *APIController) GetPoolByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /pools/{poolID} pools GetPool

Get pool by ID.

Parameters:
  + name: poolID
    description: ID of the pool to fetch.
    type: string
    in: path
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) GetRepoByIDHandler

func (a *APIController) GetRepoByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /repositories/{repoID} repositories GetRepo

Get repository by ID.

Parameters:
  + name: repoID
    description: ID of the repository to fetch.
    type: string
    in: path
    required: true

Responses:
  200: Repository
  default: APIErrorResponse

func (*APIController) GetRepoPoolHandler

func (a *APIController) GetRepoPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /repositories/{repoID}/pools/{poolID} repositories pools GetRepoPool

Get repository pool by ID.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: Pool ID.
    type: string
    in: path
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) GetRepoWebhookInfoHandler added in v0.1.4

func (a *APIController) GetRepoWebhookInfoHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /repositories/{repoID}/webhook repositories hooks GetRepoWebhookInfo

Get information about the GARM installed webhook on a repository.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

Responses:
  200: HookInfo
  default: APIErrorResponse

func (*APIController) GetScaleSetByIDHandler

func (a *APIController) GetScaleSetByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /scalesets/{scalesetID} scalesets GetScaleSet

Get scale set by ID.

Parameters:
  + name: scalesetID
    description: ID of the scale set to fetch.
    type: string
    in: path
    required: true

Responses:
  200: ScaleSet
  default: APIErrorResponse

func (*APIController) InstallOrgWebhookHandler added in v0.1.4

func (a *APIController) InstallOrgWebhookHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /organizations/{orgID}/webhook organizations hooks InstallOrgWebhook

Install the GARM webhook for an organization. The secret configured on the organization will be used to validate the requests.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the organization webhook.
    type: InstallWebhookParams
    in: body
    required: true

Responses:
  200: HookInfo
  default: APIErrorResponse

func (*APIController) InstallRepoWebhookHandler added in v0.1.4

func (a *APIController) InstallRepoWebhookHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /repositories/{repoID}/webhook repositories hooks InstallRepoWebhook

Install the GARM webhook for an organization. The secret configured on the organization will be used to validate the requests.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when creating the repository webhook.
    type: InstallWebhookParams
    in: body
    required: true

Responses:
  200: HookInfo
  default: APIErrorResponse

func (*APIController) InstanceGithubRegistrationTokenHandler

func (a *APIController) InstanceGithubRegistrationTokenHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) InstanceStatusMessageHandler

func (a *APIController) InstanceStatusMessageHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) InstanceSystemInfoHandler added in v0.1.4

func (a *APIController) InstanceSystemInfoHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) JITCredentialsFileHandler added in v0.1.4

func (a *APIController) JITCredentialsFileHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) ListAllInstancesHandler

func (a *APIController) ListAllInstancesHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /instances instances ListInstances

Get all runners' instances.

Responses:
  200: Instances
  default: APIErrorResponse

func (*APIController) ListAllJobs added in v0.1.2

func (a *APIController) ListAllJobs(w http.ResponseWriter, r *http.Request)

swagger:route GET /jobs jobs ListJobs

List all jobs.

Responses:
  200: Jobs
  400: APIErrorResponse

func (*APIController) ListAllPoolsHandler

func (a *APIController) ListAllPoolsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /pools pools ListPools

List all pools.

Responses:
  200: Pools
  default: APIErrorResponse

func (*APIController) ListAllScaleSetsHandler

func (a *APIController) ListAllScaleSetsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /scalesets scalesets ListScalesets

List all scalesets.

Responses:
  200: ScaleSets
  default: APIErrorResponse

func (*APIController) ListCredentials

func (a *APIController) ListCredentials(w http.ResponseWriter, r *http.Request)

swagger:route GET /credentials credentials ListCredentials swagger:route GET /github/credentials credentials ListCredentials

List all credentials.

Responses:
  200: Credentials
  400: APIErrorResponse

func (*APIController) ListEnterpriseInstancesHandler

func (a *APIController) ListEnterpriseInstancesHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /enterprises/{enterpriseID}/instances enterprises instances ListEnterpriseInstances

List enterprise instances.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

Responses:
  200: Instances
  default: APIErrorResponse

func (*APIController) ListEnterprisePoolsHandler

func (a *APIController) ListEnterprisePoolsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /enterprises/{enterpriseID}/pools enterprises pools ListEnterprisePools

List enterprise pools.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

Responses:
  200: Pools
  default: APIErrorResponse

func (*APIController) ListEnterpriseScaleSetsHandler

func (a *APIController) ListEnterpriseScaleSetsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /enterprises/{enterpriseID}/scalesets enterprises scalesets ListEnterpriseScaleSets

List enterprise scale sets.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

Responses:
  200: ScaleSets
  default: APIErrorResponse

func (*APIController) ListEnterprisesHandler

func (a *APIController) ListEnterprisesHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /enterprises enterprises ListEnterprises

List all enterprises.

Parameters:
  + name: name
    description: Exact enterprise name to filter by
    type: string
    in: query
    required: false

  + name: endpoint
    description: Exact endpoint name to filter by
    type: string
    in: query
    required: false

Responses:
  200: Enterprises
  default: APIErrorResponse

func (*APIController) ListGiteaCredentials

func (a *APIController) ListGiteaCredentials(w http.ResponseWriter, r *http.Request)

swagger:route GET /gitea/credentials credentials ListGiteaCredentials

List all credentials.

Responses:
  200: Credentials
  400: APIErrorResponse

func (*APIController) ListGiteaEndpoints

func (a *APIController) ListGiteaEndpoints(w http.ResponseWriter, r *http.Request)

swagger:route GET /gitea/endpoints endpoints ListGiteaEndpoints

List all Gitea Endpoints.

Responses:
  200: ForgeEndpoints
  default: APIErrorResponse

func (*APIController) ListGithubEndpoints added in v0.1.5

func (a *APIController) ListGithubEndpoints(w http.ResponseWriter, r *http.Request)

swagger:route GET /github/endpoints endpoints ListGithubEndpoints

List all GitHub Endpoints.

Responses:
  200: ForgeEndpoints
  default: APIErrorResponse

func (*APIController) ListOrgInstancesHandler

func (a *APIController) ListOrgInstancesHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /organizations/{orgID}/instances organizations instances ListOrgInstances

List organization instances.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

Responses:
  200: Instances
  default: APIErrorResponse

func (*APIController) ListOrgPoolsHandler

func (a *APIController) ListOrgPoolsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /organizations/{orgID}/pools organizations pools ListOrgPools

List organization pools.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

Responses:
  200: Pools
  default: APIErrorResponse

func (*APIController) ListOrgScaleSetsHandler

func (a *APIController) ListOrgScaleSetsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /organizations/{orgID}/scalesets organizations scalesets ListOrgScaleSets

List organization scale sets.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

Responses:
  200: ScaleSets
  default: APIErrorResponse

func (*APIController) ListOrgsHandler

func (a *APIController) ListOrgsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /organizations organizations ListOrgs

List organizations.

Parameters:
  + name: name
    description: Exact organization name to filter by
    type: string
    in: query
    required: false

  + name: endpoint
    description: Exact endpoint name to filter by
    type: string
    in: query
    required: false

Responses:
  200: Organizations
  default: APIErrorResponse

func (*APIController) ListPoolInstancesHandler

func (a *APIController) ListPoolInstancesHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /pools/{poolID}/instances instances ListPoolInstances

List runner instances in a pool.

Parameters:
  + name: poolID
    description: Runner pool ID.
    type: string
    in: path
    required: true

Responses:
  200: Instances
  default: APIErrorResponse

func (*APIController) ListProviders

func (a *APIController) ListProviders(w http.ResponseWriter, r *http.Request)

swagger:route GET /providers providers ListProviders

List all providers.

Responses:
  200: Providers
  400: APIErrorResponse

func (*APIController) ListRepoInstancesHandler

func (a *APIController) ListRepoInstancesHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /repositories/{repoID}/instances repositories instances ListRepoInstances

List repository instances.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

Responses:
  200: Instances
  default: APIErrorResponse

func (*APIController) ListRepoPoolsHandler

func (a *APIController) ListRepoPoolsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /repositories/{repoID}/pools repositories pools ListRepoPools

List repository pools.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

Responses:
  200: Pools
  default: APIErrorResponse

func (*APIController) ListRepoScaleSetsHandler

func (a *APIController) ListRepoScaleSetsHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /repositories/{repoID}/scalesets repositories scalesets ListRepoScaleSets

List repository scale sets.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

Responses:
  200: ScaleSets
  default: APIErrorResponse

func (*APIController) ListReposHandler

func (a *APIController) ListReposHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /repositories repositories ListRepos

List repositories.

Parameters:
  + name: owner
    description: Exact owner name to filter by
    type: string
    in: query
    required: false

  + name: name
    description: Exact repository name to filter by
    type: string
    in: query
    required: false

  + name: endpoint
    description: Exact endpoint name to filter by
    type: string
    in: query
    required: false

Responses:
  200: Repositories
  default: APIErrorResponse

func (*APIController) ListScaleSetInstancesHandler

func (a *APIController) ListScaleSetInstancesHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /scalesets/{scalesetID}/instances instances ListScaleSetInstances

List runner instances in a scale set.

Parameters:
  + name: scalesetID
    description: Runner scale set ID.
    type: string
    in: path
    required: true

Responses:
  200: Instances
  default: APIErrorResponse

func (*APIController) LoginHandler

func (a *APIController) LoginHandler(w http.ResponseWriter, r *http.Request)

swagger:route POST /auth/login login Login

Logs in a user and returns a JWT token.

Parameters:
  + name: Body
    description: Login information.
    type: PasswordLoginParams
    in: body
    required: true

Responses:
  200: JWTResponse
  400: APIErrorResponse

LoginHandler returns a jwt token

func (*APIController) MetricsTokenHandler

func (a *APIController) MetricsTokenHandler(w http.ResponseWriter, r *http.Request)

swagger:route GET /metrics-token metrics-token GetMetricsToken

Returns a JWT token that can be used to access the metrics endpoint.

Responses:
  200: JWTResponse
  401: APIErrorResponse

func (*APIController) NotFoundHandler

func (a *APIController) NotFoundHandler(w http.ResponseWriter, r *http.Request)

NotFoundHandler is returned when an invalid URL is acccessed

func (*APIController) RootCertificateBundleHandler added in v0.1.4

func (a *APIController) RootCertificateBundleHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) SystemdServiceNameHandler added in v0.1.4

func (a *APIController) SystemdServiceNameHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) SystemdUnitFileHandler added in v0.1.4

func (a *APIController) SystemdUnitFileHandler(w http.ResponseWriter, r *http.Request)

func (*APIController) UninstallOrgWebhookHandler added in v0.1.4

func (a *APIController) UninstallOrgWebhookHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /organizations/{orgID}/webhook organizations hooks UninstallOrgWebhook

Uninstall organization webhook.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) UninstallRepoWebhookHandler added in v0.1.4

func (a *APIController) UninstallRepoWebhookHandler(w http.ResponseWriter, r *http.Request)

swagger:route DELETE /repositories/{repoID}/webhook repositories hooks UninstallRepoWebhook

Uninstall organization webhook.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

Responses:
  default: APIErrorResponse

func (*APIController) UpdateControllerHandler added in v0.1.5

func (a *APIController) UpdateControllerHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /controller controller UpdateController

Update controller.

Parameters:
  + name: Body
    description: Parameters used when updating the controller.
    type: UpdateControllerParams
    in: body
    required: true

Responses:
  200: ControllerInfo
  400: APIErrorResponse

func (*APIController) UpdateEnterpriseHandler

func (a *APIController) UpdateEnterpriseHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /enterprises/{enterpriseID} enterprises UpdateEnterprise

Update enterprise with the given parameters.

Parameters:
  + name: enterpriseID
    description: The ID of the enterprise to update.
    type: string
    in: path
    required: true
  + name: Body
    description: Parameters used when updating the enterprise.
    type: UpdateEntityParams
    in: body
    required: true

Responses:
  200: Enterprise
  default: APIErrorResponse

func (*APIController) UpdateEnterprisePoolHandler

func (a *APIController) UpdateEnterprisePoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /enterprises/{enterpriseID}/pools/{poolID} enterprises pools UpdateEnterprisePool

Update enterprise pool with the parameters given.

Parameters:
  + name: enterpriseID
    description: Enterprise ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: ID of the enterprise pool to update.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when updating the enterprise pool.
    type: UpdatePoolParams
    in: body
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) UpdateGiteaCredential

func (a *APIController) UpdateGiteaCredential(w http.ResponseWriter, r *http.Request)

swagger:route PUT /gitea/credentials/{id} credentials UpdateGiteaCredentials

Update a Gitea credential.

Parameters:
  + name: id
    description: ID of the Gitea credential.
    type: integer
    in: path
    required: true
  + name: Body
    description: Parameters used when updating a Gitea credential.
    type: UpdateGiteaCredentialsParams
    in: body
    required: true

Responses:
  200: ForgeCredentials
  400: APIErrorResponse

func (*APIController) UpdateGiteaEndpoint

func (a *APIController) UpdateGiteaEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route PUT /gitea/endpoints/{name} endpoints UpdateGiteaEndpoint

Update a Gitea Endpoint.

Parameters:
  + name: name
    description: The name of the Gitea endpoint.
    type: string
    in: path
    required: true
  + name: Body
    description: Parameters used when updating a Gitea endpoint.
    type: UpdateGiteaEndpointParams
    in: body
    required: true

Responses:
  200: ForgeEndpoint
  default: APIErrorResponse

func (*APIController) UpdateGithubCredential added in v0.1.5

func (a *APIController) UpdateGithubCredential(w http.ResponseWriter, r *http.Request)

swagger:route PUT /github/credentials/{id} credentials UpdateCredentials

Update a GitHub credential.

Parameters:
  + name: id
    description: ID of the GitHub credential.
    type: integer
    in: path
    required: true
  + name: Body
    description: Parameters used when updating a GitHub credential.
    type: UpdateGithubCredentialsParams
    in: body
    required: true

Responses:
  200: ForgeCredentials
  400: APIErrorResponse

func (*APIController) UpdateGithubEndpoint added in v0.1.5

func (a *APIController) UpdateGithubEndpoint(w http.ResponseWriter, r *http.Request)

swagger:route PUT /github/endpoints/{name} endpoints UpdateGithubEndpoint

Update a GitHub Endpoint.

Parameters:
  + name: name
    description: The name of the GitHub endpoint.
    type: string
    in: path
    required: true
  + name: Body
    description: Parameters used when updating a GitHub endpoint.
    type: UpdateGithubEndpointParams
    in: body
    required: true

Responses:
  200: ForgeEndpoint
  default: APIErrorResponse

func (*APIController) UpdateOrgHandler

func (a *APIController) UpdateOrgHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /organizations/{orgID} organizations UpdateOrg

Update organization with the parameters given.

Parameters:
  + name: orgID
    description: ID of the organization to update.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when updating the organization.
    type: UpdateEntityParams
    in: body
    required: true

Responses:
  200: Organization
  default: APIErrorResponse

func (*APIController) UpdateOrgPoolHandler

func (a *APIController) UpdateOrgPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /organizations/{orgID}/pools/{poolID} organizations pools UpdateOrgPool

Update organization pool with the parameters given.

Parameters:
  + name: orgID
    description: Organization ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: ID of the organization pool to update.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when updating the organization pool.
    type: UpdatePoolParams
    in: body
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) UpdatePoolByIDHandler

func (a *APIController) UpdatePoolByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /pools/{poolID} pools UpdatePool

Update pool by ID.

Parameters:
  + name: poolID
    description: ID of the pool to update.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters to update the pool with.
    type: UpdatePoolParams
    in: body
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) UpdateRepoHandler

func (a *APIController) UpdateRepoHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /repositories/{repoID} repositories UpdateRepo

Update repository with the parameters given.

Parameters:
  + name: repoID
    description: ID of the repository to update.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when updating the repository.
    type: UpdateEntityParams
    in: body
    required: true

Responses:
  200: Repository
  default: APIErrorResponse

func (*APIController) UpdateRepoPoolHandler

func (a *APIController) UpdateRepoPoolHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /repositories/{repoID}/pools/{poolID} repositories pools UpdateRepoPool

Update repository pool with the parameters given.

Parameters:
  + name: repoID
    description: Repository ID.
    type: string
    in: path
    required: true

  + name: poolID
    description: ID of the repository pool to update.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters used when updating the repository pool.
    type: UpdatePoolParams
    in: body
    required: true

Responses:
  200: Pool
  default: APIErrorResponse

func (*APIController) UpdateScaleSetByIDHandler

func (a *APIController) UpdateScaleSetByIDHandler(w http.ResponseWriter, r *http.Request)

swagger:route PUT /scalesets/{scalesetID} scalesets UpdateScaleSet

Update scale set by ID.

Parameters:
  + name: scalesetID
    description: ID of the scale set to update.
    type: string
    in: path
    required: true

  + name: Body
    description: Parameters to update the scale set with.
    type: UpdateScaleSetParams
    in: body
    required: true

Responses:
  200: ScaleSet
  default: APIErrorResponse

func (*APIController) WSHandler

func (a *APIController) WSHandler(writer http.ResponseWriter, req *http.Request)

func (*APIController) WebhookHandler added in v0.1.4

func (a *APIController) WebhookHandler(w http.ResponseWriter, r *http.Request)

Jump to

Keyboard shortcuts

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