kotsclient

package
v0.36.2 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2021 License: MIT Imports: 17 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppOptions

type AppOptions struct {
	Name string
}

type ChannelOptions

type ChannelOptions struct {
	Name        string
	Description string
}

type CreateCustomerRequest added in v0.29.0

type CreateCustomerRequest struct {
	Name      string `json:"name"`
	ChannelID string `json:"channel_id"`
	AppID     string `json:"app_id"`
	Type      string `json:"type"`
	ExpiresAt string `json:"expires_at"`
}

type CreateCustomerResponse added in v0.29.0

type CreateCustomerResponse struct {
	Customer *types.Customer `json:"customer"`
}

type CreateInstallerDataWrapper added in v0.21.0

type CreateInstallerDataWrapper struct {
	Installer *types.InstallerSpec `json:"createKotsAppInstaller"`
}

type CreateKOTSAppRequest added in v0.31.0

type CreateKOTSAppRequest struct {
	Name string `json:"name"`
}

type CreateKOTSAppResponse added in v0.31.0

type CreateKOTSAppResponse struct {
	App *KotsApp `json:"app"`
}

type CustomerListResponse added in v0.29.0

type CustomerListResponse struct {
	Customers      []types.Customer `json:"customers"`
	TotalCustomers int              `json:"totalCustomers"`
}

type ErrCustomerNotFound added in v0.29.0

type ErrCustomerNotFound struct {
	Name string
}

func (ErrCustomerNotFound) Error added in v0.29.0

func (e ErrCustomerNotFound) Error() string

type GraphQLClient

type GraphQLClient struct {
	GraphQLClient    *graphql.Client
	KurlDotSHAddress string
}

Client communicates with the Replicated Vendor GraphQL API.

func NewGraphQLClient

func NewGraphQLClient(origin string, apiKey string, kurlDotSHAddress string) *GraphQLClient

func (*GraphQLClient) ArchiveChannel added in v0.33.5

func (c *GraphQLClient) ArchiveChannel(channelId string) error

func (*GraphQLClient) CreateChannel

func (c *GraphQLClient) CreateChannel(appID string, name string, description string) (*types.Channel, error)

func (*GraphQLClient) CreateInstaller added in v0.21.0

func (c *GraphQLClient) CreateInstaller(appId string, yaml string) (*types.InstallerSpec, error)

func (*GraphQLClient) CreateVendorInstaller added in v0.21.0

func (c *GraphQLClient) CreateVendorInstaller(appID string, yaml string) (*types.InstallerSpec, error)

func (*GraphQLClient) DeleteKOTSApp added in v0.31.0

func (c *GraphQLClient) DeleteKOTSApp(id string) error

func (*GraphQLClient) ExecuteRequest

func (c *GraphQLClient) ExecuteRequest(requestObj graphql.Request, deserializeTarget interface{}) error

func (*GraphQLClient) GetApp

func (c *GraphQLClient) GetApp(appID string) (*types.App, error)

func (*GraphQLClient) GetRelease added in v0.33.0

func (c *GraphQLClient) GetRelease(appID string, sequence int64) (*releases.AppRelease, error)

func (*GraphQLClient) LintRelease added in v0.19.0

func (c *GraphQLClient) LintRelease(data []byte) ([]types.LintMessage, error)

this is part of the gql client with plans to rename gql client to kotsclient and have endpoints for multiple release services included

func (*GraphQLClient) ListApps

func (c *GraphQLClient) ListApps() ([]types.AppAndChannels, error)

func (*GraphQLClient) ListInstallers added in v0.21.0

func (c *GraphQLClient) ListInstallers(appID string) ([]types.InstallerSpec, error)

func (*GraphQLClient) PromoteInstaller added in v0.21.0

func (c *GraphQLClient) PromoteInstaller(appID string, sequence int64, channelID string, versionLabel string) error

func (*GraphQLClient) PromoteRelease

func (c *GraphQLClient) PromoteRelease(appID string, sequence int64, label string, notes string, channelIDs ...string) error

type GraphQLResponseCreateChannel added in v0.17.0

type GraphQLResponseCreateChannel struct {
	Data   *KotsCreateChannelData `json:"data,omitempty"`
	Errors []graphql.GQLError     `json:"errors,omitempty"`
}

type GraphQLResponseCreateInstaller added in v0.21.0

type GraphQLResponseCreateInstaller struct {
	Data   *CreateInstallerDataWrapper `json:"data,omitempty"`
	Errors []graphql.GQLError          `json:"errors,omitempty"`
}

type GraphQLResponseKotsGetRelease added in v0.33.0

type GraphQLResponseKotsGetRelease struct {
	Data   KOTSReleaseResponseData `json:"data,omitempty"`
	Errors []graphql.GQLError      `json:"errors,omitempty"`
}

type GraphQLResponseListApps

type GraphQLResponseListApps struct {
	Data   *KotsData          `json:"data,omitempty"`
	Errors []graphql.GQLError `json:"errors,omitempty"`
}

type GraphQLResponseListInstallers added in v0.21.0

type GraphQLResponseListInstallers struct {
	Data   *InstallersDataWrapper `json:"data,omitempty"`
	Errors []graphql.GQLError     `json:"errors,omitempty"`
}

type GraphQLResponseListReleases

type GraphQLResponseListReleases struct {
	Data   *KotsReleasesData  `json:"data,omitempty"`
	Errors []graphql.GQLError `json:"errors,omitempty"`
}

type InstallersDataWrapper added in v0.21.0

type InstallersDataWrapper struct {
	Installers []types.InstallerSpec `json:"allKotsAppInstallers"`
}

type KOTSReleaseResponseData added in v0.33.0

type KOTSReleaseResponseData struct {
	KotsReleaseData *KOTSReleaseWithSpec `json:"kotsReleaseForSequence"`
}

type KOTSReleaseWithSpec added in v0.33.0

type KOTSReleaseWithSpec struct {
	Sequence     int64  `json:"sequence"`
	ReleaseNotes string `json:"releaseNotes"`
	Spec         string `json:"spec"`
}

type KotsApp

type KotsApp struct {
	ID       string                `json:"id"`
	Name     string                `json:"name"`
	Slug     string                `json:"slug"`
	Channels []*KotsAppChannelData `json:"channels"`
}

type KotsAppChannelData

type KotsAppChannelData struct {
	ID              string `json:"id"`
	Name            string `json:"name"`
	Description     string `json:"description"`
	CurrentSequence int64  `json:"currentSequence"`
	CurrentVersion  string `json:"currentVersion"`
}

type KotsAppsData

type KotsAppsData struct {
	KotsApps []*KotsApp `json:"apps"`
}

type KotsChannel

type KotsChannel struct {
	ID              string `json:"id"`
	Name            string `json:"name"`
	Description     string `json:"description"`
	ChannelSequence int64  `json:"channelSequence"`
	ReleaseSequence int64  `json:"releaseSequence"`
	CurrentVersion  string `json:"currentVersion"`
	ChannelSlug     string `json:"channelSlug"`
}

func (*KotsChannel) EmbeddedAirgapInstallCommand added in v0.31.0

func (c *KotsChannel) EmbeddedAirgapInstallCommand(appSlug string) string

func (*KotsChannel) EmbeddedInstallCommand added in v0.31.0

func (c *KotsChannel) EmbeddedInstallCommand(appSlug string) string

this is not client logic, but sure, let's go with it

func (*KotsChannel) ExistingInstallCommand added in v0.31.0

func (c *KotsChannel) ExistingInstallCommand(appSlug string) string

this is not client logic, but sure, let's go with it

type KotsCreateChannelData added in v0.17.0

type KotsCreateChannelData struct {
	KotsChannel *KotsChannel `json:"createKotsChannel"`
}

type KotsData

type KotsData struct {
	Kots *KotsAppsData `json:"kots"`
}

type KotsGetChannelData added in v0.16.0

type KotsGetChannelData struct {
	KotsChannel *KotsChannel `json:"channel"`
}

type KotsRelease

type KotsRelease struct {
	ID           string         `json:"id"`
	Sequence     int64          `json:"sequence"`
	CreatedAt    string         `json:"created"`
	ReleaseNotes string         `json:"releaseNotes"`
	Channels     []*KotsChannel `json:"channels"`
}

type KotsReleasesData

type KotsReleasesData struct {
	KotsReleases []*KotsRelease `json:"allKotsReleases"`
}

type ListChannelsResponse added in v0.31.0

type ListChannelsResponse struct {
	Channels []*KotsChannel `json:"channels"`
}

type VendorV3Client added in v0.31.0

type VendorV3Client struct {
	platformclient.HTTPClient
}

Putting a wrapper in the kotsclient package for kots-specific methods but don't want to re-invent or duplicate all that logic for initialization, instantiation, and the DoJSON method

we should think more about how we want to organize these going forward, but I'm inclined to wait until after everything has been moved off of GQL before deciding

func (*VendorV3Client) CreateCustomer added in v0.31.0

func (c *VendorV3Client) CreateCustomer(name string, appID string, channelID string, expiresIn time.Duration) (*types.Customer, error)

func (*VendorV3Client) CreateKOTSApp added in v0.31.0

func (c *VendorV3Client) CreateKOTSApp(name string) (*KotsApp, error)

func (*VendorV3Client) CreateRelease added in v0.36.1

func (c *VendorV3Client) CreateRelease(appID string, multiyaml string) (*types.ReleaseInfo, error)

func (*VendorV3Client) DownloadLicense added in v0.31.0

func (c *VendorV3Client) DownloadLicense(appID string, customerID string) ([]byte, error)

func (*VendorV3Client) GetChannel added in v0.34.0

func (c *VendorV3Client) GetChannel(appID string, channelID string) (*channels.AppChannel, []channels.ChannelRelease, error)

func (*VendorV3Client) GetCustomerByName added in v0.31.0

func (c *VendorV3Client) GetCustomerByName(appID string, name string) (*types.Customer, error)

func (*VendorV3Client) ListChannels added in v0.31.0

func (c *VendorV3Client) ListChannels(appID string, appSlug string, channelName string) ([]types.Channel, error)

func (*VendorV3Client) ListCustomers added in v0.31.0

func (c *VendorV3Client) ListCustomers(appID string) ([]types.Customer, error)

func (*VendorV3Client) ListReleases added in v0.33.2

func (c *VendorV3Client) ListReleases(appID string) ([]types.ReleaseInfo, error)

func (*VendorV3Client) UpdateRelease added in v0.36.1

func (c *VendorV3Client) UpdateRelease(appID string, sequence int64, multiyaml string) error

Jump to

Keyboard shortcuts

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