Documentation
¶
Overview ¶
local.go has methods for resolving a local ship.yaml file, and patching in api.Release info that would usually be returned by pg.replicated.com
Index ¶
- Constants
- type GQLGetLicenseResponse
- type GQLGetReleaseResponse
- type GQLGetSlugReleaseResponse
- type GQLRegisterInstallResponse
- type GraphQLClient
- func (c *GraphQLClient) GetLicense(selector *Selector) (*license, error)
- func (c *GraphQLClient) GetRelease(selector *Selector) (*state.ShipRelease, error)
- func (c *GraphQLClient) GetSlugRelease(selector *Selector) (*state.ShipRelease, error)
- func (c *GraphQLClient) RegisterInstall(customerID, installationID, channelID, releaseID string) error
- type GraphQLError
- type GraphQLRequest
- type LicenseWrapper
- type Resolver
- type Selector
- type ShipReleaseWrapper
- type ShipSlugReleaseWrapper
Constants ¶
const GetAppspecQuery = ` query($semver: String) { shipRelease (semver: $semver) { ` + ShipRelease + ` } }`
const GetLicenseQuery = `` /* 127-byte string literal not displayed */
const GetSlugAppSpecQuery = ` query($appSlug: String!, $licenseID: String, $releaseID: String, $semver: String) { shipSlugRelease (appSlug: $appSlug, licenseID: $licenseID, releaseID: $releaseID, semver: $semver) { ` + ShipRelease + ` } }`
const RegisterInstallQuery = `` /* 134-byte string literal not displayed */
const ShipRelease = `` /* 719-byte string literal not displayed */
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GQLGetLicenseResponse ¶ added in v0.47.0
type GQLGetLicenseResponse struct {
Data LicenseWrapper `json:"data,omitempty"`
Errors []GraphQLError `json:"errors,omitempty"`
}
GQLLicenseResponse is the top-level response object from the graphql server
type GQLGetReleaseResponse ¶
type GQLGetReleaseResponse struct {
Data ShipReleaseWrapper `json:"data,omitempty"`
Errors []GraphQLError `json:"errors,omitempty"`
}
GQLGetReleaseResponse is the top-level response object from the graphql server
type GQLGetSlugReleaseResponse ¶ added in v0.35.0
type GQLGetSlugReleaseResponse struct {
Data ShipSlugReleaseWrapper `json:"data,omitempty"`
Errors []GraphQLError `json:"errors,omitempty"`
}
GQLGetSlugReleaseResponse is the top-level response object from the graphql server
type GQLRegisterInstallResponse ¶
type GQLRegisterInstallResponse struct {
Data struct {
ShipRegisterInstall bool `json:"shipRegisterInstall"`
} `json:"data,omitempty"`
Errors []GraphQLError `json:"errors,omitempty"`
}
GQLRegisterInstallResponse is the top-level response object from the graphql server
type GraphQLClient ¶
GraphQLClient is a client for the graphql Payload API
func NewGraphqlClient ¶
NewGraphqlClient builds a new client using a viper instance
func (*GraphQLClient) GetLicense ¶ added in v0.47.0
func (c *GraphQLClient) GetLicense(selector *Selector) (*license, error)
func (*GraphQLClient) GetRelease ¶
func (c *GraphQLClient) GetRelease(selector *Selector) (*state.ShipRelease, error)
GetRelease gets a payload from the graphql server
func (*GraphQLClient) GetSlugRelease ¶ added in v0.35.0
func (c *GraphQLClient) GetSlugRelease(selector *Selector) (*state.ShipRelease, error)
GetSlugRelease gets a release from the graphql server by app slug
func (*GraphQLClient) RegisterInstall ¶
func (c *GraphQLClient) RegisterInstall(customerID, installationID, channelID, releaseID string) error
type GraphQLError ¶
type GraphQLError struct {
Locations []map[string]interface{} `json:"locations"`
Message string `json:"message"`
Code string `json:"code"`
}
GraphQLError represents an error returned by the graphql server
type GraphQLRequest ¶
type GraphQLRequest struct {
Query string `json:"query"`
Variables map[string]string `json:"variables"`
OperationName string `json:"operationName"`
}
GraphQLRequest is a json-serializable request to the graphql server
type LicenseWrapper ¶ added in v0.47.0
type LicenseWrapper struct {
License license `json:"license"`
}
ShipReleaseWrapper wraps the release response form GQL
type Resolver ¶
type Resolver interface {
ResolveAppRelease(
ctx context.Context,
selector *Selector,
app apptype.LocalAppCopy,
) (*api.Release, error)
FetchRelease(
ctx context.Context,
selector *Selector,
) (*state.ShipRelease, error)
RegisterInstall(
ctx context.Context,
selector Selector,
release *api.Release,
) error
SetRunbook(
runbook string,
)
ResolveEditRelease(
ctx context.Context,
) (*api.Release, error)
}
type Selector ¶
type Selector struct {
// required
CustomerID string `url:"customer_id,omitempty"`
InstallationID string `url:"installation_id,omitempty"`
// OR
AppSlug string `url:"AppSlug,omitempty"`
// optional
Upstream string `url:"upstream,omitempty"`
ReleaseID string `url:"release_id,omitempty"` // NOTE: this is unused
ReleaseSemver string `url:"release_semver,omitempty"`
LicenseID string `url:"license_id,omitempty"`
}
Selector selects a replicated.app spec from the Vendor's releases and channels. See pkg/cli/root.go for some more info on which are required and why.
note that `url` struct tags are only for serialize, they don't work for deserialize
func (*Selector) GetBasicAuthUsername ¶ added in v0.37.0
type ShipReleaseWrapper ¶
type ShipReleaseWrapper struct {
ShipRelease state.ShipRelease `json:"shipRelease"`
}
ShipReleaseWrapper wraps the release response form GQL
type ShipSlugReleaseWrapper ¶ added in v0.35.0
type ShipSlugReleaseWrapper struct {
ShipSlugRelease state.ShipRelease `json:"shipSlugRelease"`
}
ShipSlugReleaseWrapper wraps the release response form GQL