kotsclient

package
v0.35.0 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2021 License: MIT Imports: 14 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) CreateRelease

func (c *GraphQLClient) CreateRelease(appID string, multiyaml string) (*types.ReleaseInfo, 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

func (*GraphQLClient) UpdateRelease

func (c *GraphQLClient) UpdateRelease(appID string, sequence int64, multiyaml 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 GraphQLResponseKotsCreateRelease

type GraphQLResponseKotsCreateRelease struct {
	Data   KotsCreateReleaseData `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 GraphQLResponseKotsUpdateRelease

type GraphQLResponseKotsUpdateRelease struct {
	Data   KotsUpdateReleaseData `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 GraphQLResponseUpdateKotsRelease

type GraphQLResponseUpdateKotsRelease struct {
	Data *KotsReleaseUpdateData `json:"data,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 KotsCreateReleaseData

type KotsCreateReleaseData struct {
	KotsReleaseData KotsReleaseSequence `json:"createKotsRelease"`
}

type KotsData

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

type KotsGetChannelData added in v0.16.0

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

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 KotsReleaseSequence

type KotsReleaseSequence struct {
	Sequence int64 `json:"sequence"`
}

type KotsReleaseUpdateData

type KotsReleaseUpdateData struct {
	UpdateKotsRelease *UpdateKotsRelease `json:"updateKotsRelease"`
}

type KotsReleasesData

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

type KotsUpdateReleaseData

type KotsUpdateReleaseData struct {
	KotsReleaseData KotsReleaseSequence `json:"updateKotsRelease"`
}

type ListChannelsResponse added in v0.31.0

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

type UpdateKotsRelease

type UpdateKotsRelease struct {
	ID     string `json:"id"`
	Config string `json:"spec,omitempty"`
}

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) 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)

Jump to

Keyboard shortcuts

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