| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- package client
- import (
- "context"
- "fmt"
- "github.com/porter-dev/porter/api/types"
- )
- // CreateRegistry creates a new registry integration
- func (c *Client) CreateRegistry(
- ctx context.Context,
- projectID uint,
- req *types.CreateRegistryRequest,
- ) (*types.Registry, error) {
- resp := &types.Registry{}
- err := c.postRequest(
- fmt.Sprintf(
- "/projects/%d/registries",
- projectID,
- ),
- req,
- resp,
- )
- return resp, err
- }
- // CreateHelmRepo creates a new helm repo in the project
- func (c *Client) CreateHelmRepo(
- ctx context.Context,
- projectID uint,
- req *types.CreateUpdateHelmRepoRequest,
- ) (*types.HelmRepo, error) {
- resp := &types.HelmRepo{}
- err := c.postRequest(
- fmt.Sprintf(
- "/projects/%d/helmrepos",
- projectID,
- ),
- req,
- resp,
- )
- return resp, err
- }
- // ListHelmRepos list helm repos in the project
- func (c *Client) ListHelmRepos(
- ctx context.Context,
- projectID uint,
- ) ([]*types.HelmRepo, error) {
- var resp []*types.HelmRepo
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/helmrepos",
- projectID,
- ),
- nil,
- &resp,
- )
- return resp, err
- }
- // DeleteHelmRepo deletes a helm repo from the project
- func (c *Client) DeleteHelmRepo(
- ctx context.Context,
- projectID, helmRepoID uint,
- ) error {
- return c.deleteRequest(
- fmt.Sprintf(
- "/projects/%d/helmrepos/%d",
- projectID, helmRepoID,
- ),
- nil,
- nil,
- )
- }
- // ListRegistries returns a list of registries for a project
- func (c *Client) ListRegistries(
- ctx context.Context,
- projectID uint,
- ) (*types.RegistryListResponse, error) {
- resp := &types.RegistryListResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries",
- projectID,
- ),
- nil,
- resp,
- )
- return resp, err
- }
- // DeleteProjectRegistry deletes a registry given a project id and registry id
- func (c *Client) DeleteProjectRegistry(
- ctx context.Context,
- projectID uint,
- registryID uint,
- ) error {
- return c.deleteRequest(
- fmt.Sprintf(
- "/projects/%d/registries/%d",
- projectID,
- registryID,
- ),
- nil,
- nil,
- )
- }
- // GetECRAuthorizationToken gets an ECR authorization token
- func (c *Client) GetECRAuthorizationToken(
- ctx context.Context,
- projectID uint,
- req *types.GetRegistryECRTokenRequest,
- ) (*types.GetRegistryTokenResponse, error) {
- resp := &types.GetRegistryTokenResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/ecr/token",
- projectID,
- ),
- req,
- resp,
- )
- return resp, err
- }
- // GetGCRAuthorizationToken gets a GCR authorization token
- func (c *Client) GetGCRAuthorizationToken(
- ctx context.Context,
- projectID uint,
- req *types.GetRegistryGCRTokenRequest,
- ) (*types.GetRegistryTokenResponse, error) {
- resp := &types.GetRegistryTokenResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/gcr/token",
- projectID,
- ),
- req,
- resp,
- )
- return resp, err
- }
- // GetGARAuthorizationToken gets a GAR authorization token
- func (c *Client) GetGARAuthorizationToken(
- ctx context.Context,
- projectID uint,
- req *types.GetRegistryGARTokenRequest,
- ) (*types.GetRegistryTokenResponse, error) {
- resp := &types.GetRegistryTokenResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/gar/token",
- projectID,
- ),
- req,
- resp,
- )
- return resp, err
- }
- // GetACRAuthorizationToken gets a ACR authorization token
- func (c *Client) GetACRAuthorizationToken(
- ctx context.Context,
- projectID uint,
- ) (*types.GetRegistryTokenResponse, error) {
- resp := &types.GetRegistryTokenResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/acr/token",
- projectID,
- ),
- nil,
- resp,
- )
- return resp, err
- }
- // GetDockerhubAuthorizationToken gets a Docker Hub authorization token
- func (c *Client) GetDockerhubAuthorizationToken(
- ctx context.Context,
- projectID uint,
- ) (*types.GetRegistryTokenResponse, error) {
- resp := &types.GetRegistryTokenResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/dockerhub/token",
- projectID,
- ),
- nil,
- resp,
- )
- return resp, err
- }
- // GetDOCRAuthorizationToken gets a DOCR authorization token
- func (c *Client) GetDOCRAuthorizationToken(
- ctx context.Context,
- projectID uint,
- req *types.GetRegistryGCRTokenRequest,
- ) (*types.GetRegistryTokenResponse, error) {
- resp := &types.GetRegistryTokenResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/docr/token",
- projectID,
- ),
- req,
- resp,
- )
- return resp, err
- }
- // ListRegistryRepositories lists the repositories in a registry
- func (c *Client) ListRegistryRepositories(
- ctx context.Context,
- projectID uint,
- registryID uint,
- ) (*types.ListRegistryRepositoryResponse, error) {
- resp := &types.ListRegistryRepositoryResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/%d/repositories",
- projectID,
- registryID,
- ),
- nil,
- resp,
- )
- return resp, err
- }
- // ListImages lists the images (repository+tag) in a repository
- func (c *Client) ListImages(
- ctx context.Context,
- projectID uint,
- registryID uint,
- repoName string,
- ) (*types.ListImageResponse, error) {
- resp := &types.ListImageResponse{}
- err := c.getRequest(
- fmt.Sprintf(
- "/projects/%d/registries/%d/repositories/%s",
- projectID,
- registryID,
- repoName,
- ),
- nil,
- resp,
- )
- return resp, err
- }
- func (c *Client) CreateRepository(
- ctx context.Context,
- projectID, regID uint,
- req *types.CreateRegistryRepositoryRequest,
- ) error {
- return c.postRequest(
- fmt.Sprintf(
- "/projects/%d/registries/%d/repository",
- projectID,
- regID,
- ),
- req,
- nil,
- )
- }
|