gqlclient

package module
v0.0.50 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2023 License: Apache-2.0 Imports: 10 Imported by: 3

README

console client

Plural Console GraphQL client

How to use

Execute the following command

$ make generate

Documentation

Index

Constants

View Source
const AddServiceErrorDocument = `` /* 898-byte string literal not displayed */
View Source
const CloneServiceDeploymentDocument = `` /* 952-byte string literal not displayed */
View Source
const CloneServiceDeploymentWithHandleDocument = `` /* 1003-byte string literal not displayed */
View Source
const CreateAccessTokenDocument = `` /* 140-byte string literal not displayed */
View Source
const CreateClusterDocument = `` /* 1735-byte string literal not displayed */
View Source
const CreateClusterProviderDocument = `` /* 1220-byte string literal not displayed */
View Source
const CreateGitRepositoryDocument = `` /* 230-byte string literal not displayed */
View Source
const CreateProviderCredentialDocument = `` /* 290-byte string literal not displayed */
View Source
const CreateServiceDeploymentDocument = `` /* 943-byte string literal not displayed */
View Source
const CreateServiceDeploymentWithHandleDocument = `` /* 951-byte string literal not displayed */
View Source
const DeleteAccessTokenDocument = `` /* 173-byte string literal not displayed */
View Source
const DeleteClusterDocument = `` /* 1682-byte string literal not displayed */
View Source
const DeleteClusterProviderDocument = `` /* 1173-byte string literal not displayed */
View Source
const DeleteGitRepositoryDocument = `` /* 195-byte string literal not displayed */
View Source
const DeleteProviderCredentialDocument = `` /* 211-byte string literal not displayed */
View Source
const DeleteServiceDeploymentDocument = `` /* 854-byte string literal not displayed */
View Source
const DetachClusterDocument = `` /* 1682-byte string literal not displayed */
View Source
const GetAccessTokenDocument = `` /* 148-byte string literal not displayed */
View Source
const GetClusterByHandleDocument = `` /* 1693-byte string literal not displayed */
View Source
const GetClusterDocument = `` /* 1669-byte string literal not displayed */
View Source
const GetClusterGatesDocument = `` /* 531-byte string literal not displayed */
View Source
const GetClusterProviderDocument = `` /* 1161-byte string literal not displayed */
View Source
const GetGitRepositoryDocument = `` /* 207-byte string literal not displayed */
View Source
const GetPipelineDocument = `` /* 1058-byte string literal not displayed */
View Source
const GetPipelinesDocument = `` /* 1187-byte string literal not displayed */
View Source
const GetServiceDeploymentByHandleDocument = `` /* 1914-byte string literal not displayed */
View Source
const GetServiceDeploymentDocument = `` /* 1858-byte string literal not displayed */
View Source
const ListAccessTokensDocument = `` /* 348-byte string literal not displayed */
View Source
const ListClusterServicesDocument = `` /* 576-byte string literal not displayed */
View Source
const ListClustersDocument = `` /* 1858-byte string literal not displayed */
View Source
const ListDeploymentSettingsDocument = `` /* 729-byte string literal not displayed */
View Source
const ListGitRepositoriesDocument = `` /* 399-byte string literal not displayed */
View Source
const ListProvidersDocument = `` /* 1386-byte string literal not displayed */
View Source
const ListServiceDeploymentByHandleDocument = `` /* 859-byte string literal not displayed */
View Source
const ListServiceDeploymentDocument = `` /* 853-byte string literal not displayed */
View Source
const ListServiceDeploymentsDocument = `` /* 961-byte string literal not displayed */
View Source
const MyClusterDocument = `query MyCluster {
	myCluster {
		... {
			id
			name
		}
	}
}
`
View Source
const PingClusterDocument = `mutation PingCluster ($attributes: ClusterPing!) {
	pingCluster(attributes: $attributes) {
		id
		name
	}
}
`
View Source
const RegisterRuntimeServicesDocument = `` /* 162-byte string literal not displayed */
View Source
const RollbackServiceDocument = `` /* 881-byte string literal not displayed */
View Source
const SavePipelineDocument = `` /* 1135-byte string literal not displayed */
View Source
const TokenExchangeDocument = `` /* 209-byte string literal not displayed */
View Source
const UpdateClusterDocument = `` /* 1746-byte string literal not displayed */
View Source
const UpdateClusterProviderDocument = `` /* 1245-byte string literal not displayed */
View Source
const UpdateDeploymentSettingsDocument = `` /* 810-byte string literal not displayed */
View Source
const UpdateGateDocument = `` /* 608-byte string literal not displayed */
View Source
const UpdateGitRepositoryDocument = `` /* 249-byte string literal not displayed */
View Source
const UpdateRbacDocument = `` /* 194-byte string literal not displayed */
View Source
const UpdateServiceComponentsDocument = `` /* 967-byte string literal not displayed */
View Source
const UpdateServiceDeploymentDocument = `` /* 918-byte string literal not displayed */
View Source
const UpdateServiceDeploymentWithHandleDocument = `` /* 976-byte string literal not displayed */

Variables

View Source
var AllTool = []Tool{
	ToolHelm,
	ToolTerraform,
}

Functions

func WithFiles

func WithFiles(files []Upload) func(req *http.Request)

Types

type APIDeprecation added in v0.0.2

type APIDeprecation struct {
	// the kubernetes version the deprecation was posted
	DeprecatedIn *string `json:"deprecatedIn"`
	// the kubernetes version the api version will be removed and unusable in
	RemovedIn *string `json:"removedIn"`
	// the api you can replace this resource with
	Replacement *string `json:"replacement"`
	// the kubernetes version the replacement api was created in
	AvailableIn *string `json:"availableIn"`
	// whether you cannot safely upgrade to the next kubernetes version if this deprecation exists
	Blocking *bool `json:"blocking"`
	// the component of this deprecation
	Component *ServiceComponent `json:"component"`
}

a representation of a kubernetes api deprecation

type AccessToken

type AccessToken struct {
	ID         *string                     `json:"id"`
	Token      *string                     `json:"token"`
	Audits     *AccessTokenAuditConnection `json:"audits"`
	InsertedAt *string                     `json:"insertedAt"`
	UpdatedAt  *string                     `json:"updatedAt"`
}

type AccessTokenAudit

type AccessTokenAudit struct {
	ID         *string `json:"id"`
	IP         *string `json:"ip"`
	Timestamp  *string `json:"timestamp"`
	Count      *int64  `json:"count"`
	City       *string `json:"city"`
	Country    *string `json:"country"`
	Latitude   *string `json:"latitude"`
	Longitude  *string `json:"longitude"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

type AccessTokenAuditConnection

type AccessTokenAuditConnection struct {
	PageInfo PageInfo                `json:"pageInfo"`
	Edges    []*AccessTokenAuditEdge `json:"edges"`
}

type AccessTokenAuditEdge

type AccessTokenAuditEdge struct {
	Node   *AccessTokenAudit `json:"node"`
	Cursor *string           `json:"cursor"`
}

type AccessTokenConnection

type AccessTokenConnection struct {
	PageInfo PageInfo           `json:"pageInfo"`
	Edges    []*AccessTokenEdge `json:"edges"`
}

type AccessTokenEdge

type AccessTokenEdge struct {
	Node   *AccessToken `json:"node"`
	Cursor *string      `json:"cursor"`
}

type AccessTokenEdgeFragment

type AccessTokenEdgeFragment struct {
	Node *AccessTokenFragment "json:\"node\" graphql:\"node\""
}

type AccessTokenFragment

type AccessTokenFragment struct {
	ID    *string "json:\"id\" graphql:\"id\""
	Token *string "json:\"token\" graphql:\"token\""
}

type Account

type Account struct {
	DelinquentAt       *string             `json:"delinquentAt"`
	GrandfatheredUntil *string             `json:"grandfatheredUntil"`
	AvailableFeatures  *AvailableFeatures  `json:"availableFeatures"`
	Subscription       *PluralSubscription `json:"subscription"`
}

type AddOnConfigCondition added in v0.0.34

type AddOnConfigCondition struct {
	// the operation for this condition, eg EQ, LT, GT
	Operation *string `json:"operation"`
	// the field this condition applies to
	Field *string `json:"field"`
	// the value to apply the condition with, for binary operators like LT/GT
	Value *string `json:"value"`
}

a condition that determines whether its configuration is viewable

type AddOnConfiguration added in v0.0.25

type AddOnConfiguration struct {
	// name for this configuration
	Name *string `json:"name"`
	// a docstring explaining this configuration
	Documentation *string `json:"documentation"`
	// a type for the configuration (should eventually be coerced back to string)
	Type *string `json:"type"`
	// the values for ENUM type conditions
	Values    []*string             `json:"values"`
	Condition *AddOnConfigCondition `json:"condition"`
}

Input configuration for an add-on you can install

type AddServiceError added in v0.0.49

type AddServiceError struct {
	UpdateServiceComponents *ServiceDeploymentFragment "json:\"updateServiceComponents\" graphql:\"updateServiceComponents\""
}

type AddonVersion added in v0.0.38

type AddonVersion struct {
	// add-on version, semver formatted
	Version *string `json:"version"`
	// kubernetes versions this add-on works with
	Kube []*string `json:"kube"`
	// any other add-ons this might require
	Requirements []*VersionReference `json:"requirements"`
	// any add-ons this might break
	Incompatibilities []*VersionReference `json:"incompatibilities"`
	// checks if this is blocking a specific kubernetes upgrade
	Blocking *bool `json:"blocking"`
}

the specification of a runtime service at a specific version

type Application

type Application struct {
	Name          string            `json:"name"`
	Spec          ApplicationSpec   `json:"spec"`
	Status        ApplicationStatus `json:"status"`
	Cost          *CostAnalysis     `json:"cost"`
	License       *License          `json:"license"`
	Configuration *Configuration    `json:"configuration"`
	Info          *string           `json:"info"`
}

type ApplicationDelta

type ApplicationDelta struct {
	Delta   *Delta       `json:"delta"`
	Payload *Application `json:"payload"`
}

type ApplicationDescriptor

type ApplicationDescriptor struct {
	Type        string             `json:"type"`
	Version     string             `json:"version"`
	Description *string            `json:"description"`
	Icons       []*string          `json:"icons"`
	Links       []*ApplicationLink `json:"links"`
}

type ApplicationInfoItem

type ApplicationInfoItem struct {
	Type  *string `json:"type"`
	Name  *string `json:"name"`
	Value *string `json:"value"`
}
type ApplicationLink struct {
	URL         *string `json:"url"`
	Description *string `json:"description"`
}

type ApplicationSpec

type ApplicationSpec struct {
	Descriptor ApplicationDescriptor  `json:"descriptor"`
	Components []*Component           `json:"components"`
	Info       []*ApplicationInfoItem `json:"info"`
}

type ApplicationStatus

type ApplicationStatus struct {
	Components      []*StatusComponent `json:"components"`
	Conditions      []*StatusCondition `json:"conditions"`
	ComponentsReady string             `json:"componentsReady"`
}

type Audit

type Audit struct {
	ID         string      `json:"id"`
	Action     AuditAction `json:"action"`
	Type       AuditType   `json:"type"`
	Repository *string     `json:"repository"`
	IP         *string     `json:"ip"`
	City       *string     `json:"city"`
	Country    *string     `json:"country"`
	Latitude   *string     `json:"latitude"`
	Longitude  *string     `json:"longitude"`
	Actor      *User       `json:"actor"`
	InsertedAt *string     `json:"insertedAt"`
	UpdatedAt  *string     `json:"updatedAt"`
}

type AuditAction

type AuditAction string
const (
	AuditActionCreate  AuditAction = "CREATE"
	AuditActionUpdate  AuditAction = "UPDATE"
	AuditActionDelete  AuditAction = "DELETE"
	AuditActionApprove AuditAction = "APPROVE"
	AuditActionCancel  AuditAction = "CANCEL"
)

func (AuditAction) IsValid

func (e AuditAction) IsValid() bool

func (AuditAction) MarshalGQL

func (e AuditAction) MarshalGQL(w io.Writer)

func (AuditAction) String

func (e AuditAction) String() string

func (*AuditAction) UnmarshalGQL

func (e *AuditAction) UnmarshalGQL(v interface{}) error

type AuditConnection

type AuditConnection struct {
	PageInfo PageInfo     `json:"pageInfo"`
	Edges    []*AuditEdge `json:"edges"`
}

type AuditEdge

type AuditEdge struct {
	Node   *Audit  `json:"node"`
	Cursor *string `json:"cursor"`
}

type AuditMetric

type AuditMetric struct {
	Country *string `json:"country"`
	Count   *int64  `json:"count"`
}

type AuditType

type AuditType string
const (
	AuditTypeBuild              AuditType = "BUILD"
	AuditTypePod                AuditType = "POD"
	AuditTypeConfiguration      AuditType = "CONFIGURATION"
	AuditTypeUser               AuditType = "USER"
	AuditTypeGroup              AuditType = "GROUP"
	AuditTypeRole               AuditType = "ROLE"
	AuditTypeGroupMember        AuditType = "GROUP_MEMBER"
	AuditTypePolicy             AuditType = "POLICY"
	AuditTypeTempToken          AuditType = "TEMP_TOKEN"
	AuditTypeService            AuditType = "SERVICE"
	AuditTypeCluster            AuditType = "CLUSTER"
	AuditTypeClusterProvider    AuditType = "CLUSTER_PROVIDER"
	AuditTypeGitRepository      AuditType = "GIT_REPOSITORY"
	AuditTypeDeploymentSettings AuditType = "DEPLOYMENT_SETTINGS"
	AuditTypeProviderCredential AuditType = "PROVIDER_CREDENTIAL"
	AuditTypePipeline           AuditType = "PIPELINE"
	AuditTypeGlobal             AuditType = "GLOBAL"
)

func (AuditType) IsValid

func (e AuditType) IsValid() bool

func (AuditType) MarshalGQL

func (e AuditType) MarshalGQL(w io.Writer)

func (AuditType) String

func (e AuditType) String() string

func (*AuditType) UnmarshalGQL

func (e *AuditType) UnmarshalGQL(v interface{}) error

type AuthMethod

type AuthMethod string
const (
	AuthMethodBasic AuthMethod = "BASIC"
	AuthMethodSSH   AuthMethod = "SSH"
)

func (AuthMethod) IsValid

func (e AuthMethod) IsValid() bool

func (AuthMethod) MarshalGQL

func (e AuthMethod) MarshalGQL(w io.Writer)

func (AuthMethod) String

func (e AuthMethod) String() string

func (*AuthMethod) UnmarshalGQL

func (e *AuthMethod) UnmarshalGQL(v interface{}) error

type AutoscalingTarget

type AutoscalingTarget string
const (
	AutoscalingTargetStatefulset AutoscalingTarget = "STATEFULSET"
	AutoscalingTargetDeployment  AutoscalingTarget = "DEPLOYMENT"
)

func (AutoscalingTarget) IsValid

func (e AutoscalingTarget) IsValid() bool

func (AutoscalingTarget) MarshalGQL

func (e AutoscalingTarget) MarshalGQL(w io.Writer)

func (AutoscalingTarget) String

func (e AutoscalingTarget) String() string

func (*AutoscalingTarget) UnmarshalGQL

func (e *AutoscalingTarget) UnmarshalGQL(v interface{}) error

type AvailableFeatures

type AvailableFeatures struct {
	Vpn                *bool `json:"vpn"`
	Audits             *bool `json:"audits"`
	Cd                 *bool `json:"cd"`
	UserManagement     *bool `json:"userManagement"`
	DatabaseManagement *bool `json:"databaseManagement"`
}

type AwsCloud

type AwsCloud struct {
	// custom launch template for your nodes, useful for Golden AMI setups
	LaunchTemplateID *string `json:"launchTemplateId"`
}

aws node customizations

type AwsCloudAttributes

type AwsCloudAttributes struct {
	Region *string `json:"region,omitempty"`
}

type AwsCloudSettings added in v0.0.45

type AwsCloudSettings struct {
	Region *string `json:"region"`
}

aws specific cloud configuration

type AwsNodeCloudAttributes added in v0.0.45

type AwsNodeCloudAttributes struct {
	LaunchTemplateID *string `json:"launchTemplateId,omitempty"`
}

type AwsSettingsAttributes

type AwsSettingsAttributes struct {
	AccessKeyID     string `json:"accessKeyId"`
	SecretAccessKey string `json:"secretAccessKey"`
}

type AzureCloudAttributes added in v0.0.25

type AzureCloudAttributes struct {
	Location       *string `json:"location,omitempty"`
	SubscriptionID *string `json:"subscriptionId,omitempty"`
	ResourceGroup  *string `json:"resourceGroup,omitempty"`
	Network        *string `json:"network,omitempty"`
}

type AzureCloudSettings added in v0.0.45

type AzureCloudSettings struct {
	Location       *string `json:"location"`
	SubscriptionID *string `json:"subscriptionId"`
	ResourceGroup  *string `json:"resourceGroup"`
	Network        *string `json:"network"`
}

azure-specific cluster cloud configuration

type AzureSettingsAttributes added in v0.0.19

type AzureSettingsAttributes struct {
	TenantID       string `json:"tenantId"`
	SubscriptionID string `json:"subscriptionId"`
	ClientID       string `json:"clientId"`
	ClientSecret   string `json:"clientSecret"`
}

type BaseClusterFragment added in v0.0.27

type BaseClusterFragment struct {
	ID             string                       "json:\"id\" graphql:\"id\""
	Name           string                       "json:\"name\" graphql:\"name\""
	Handle         *string                      "json:\"handle\" graphql:\"handle\""
	Self           *bool                        "json:\"self\" graphql:\"self\""
	Version        *string                      "json:\"version\" graphql:\"version\""
	PingedAt       *string                      "json:\"pingedAt\" graphql:\"pingedAt\""
	CurrentVersion *string                      "json:\"currentVersion\" graphql:\"currentVersion\""
	KasURL         *string                      "json:\"kasUrl\" graphql:\"kasUrl\""
	Credential     *ProviderCredentialFragment  "json:\"credential\" graphql:\"credential\""
	Provider       *BaseClusterProviderFragment "json:\"provider\" graphql:\"provider\""
	NodePools      []*NodePoolFragment          "json:\"nodePools\" graphql:\"nodePools\""
}

type BaseClusterProviderFragment added in v0.0.27

type BaseClusterProviderFragment struct {
	ID         string                 "json:\"id\" graphql:\"id\""
	Name       string                 "json:\"name\" graphql:\"name\""
	Namespace  string                 "json:\"namespace\" graphql:\"namespace\""
	Cloud      string                 "json:\"cloud\" graphql:\"cloud\""
	Editable   *bool                  "json:\"editable\" graphql:\"editable\""
	Repository *GitRepositoryFragment "json:\"repository\" graphql:\"repository\""
}

type BindingAttributes

type BindingAttributes struct {
	ID      *string `json:"id,omitempty"`
	UserID  *string `json:"userId,omitempty"`
	GroupID *string `json:"groupId,omitempty"`
}

type Build

type Build struct {
	ID          string             `json:"id"`
	Repository  string             `json:"repository"`
	Type        BuildType          `json:"type"`
	Status      Status             `json:"status"`
	Message     *string            `json:"message"`
	CompletedAt *string            `json:"completedAt"`
	Sha         *string            `json:"sha"`
	Commands    *CommandConnection `json:"commands"`
	Creator     *User              `json:"creator"`
	Approver    *User              `json:"approver"`
	Changelogs  []*Changelog       `json:"changelogs"`
	InsertedAt  *string            `json:"insertedAt"`
	UpdatedAt   *string            `json:"updatedAt"`
}

type BuildAttributes

type BuildAttributes struct {
	Repository string     `json:"repository"`
	Type       *BuildType `json:"type,omitempty"`
	Message    *string    `json:"message,omitempty"`
}

type BuildConnection

type BuildConnection struct {
	PageInfo PageInfo     `json:"pageInfo"`
	Edges    []*BuildEdge `json:"edges"`
}

type BuildDelta

type BuildDelta struct {
	Delta   *Delta `json:"delta"`
	Payload *Build `json:"payload"`
}

type BuildEdge

type BuildEdge struct {
	Node   *Build  `json:"node"`
	Cursor *string `json:"cursor"`
}

type BuildInfo

type BuildInfo struct {
	All        *int64 `json:"all"`
	Failed     *int64 `json:"failed"`
	Queued     *int64 `json:"queued"`
	Running    *int64 `json:"running"`
	Successful *int64 `json:"successful"`
}

type BuildType

type BuildType string
const (
	BuildTypeDeploy    BuildType = "DEPLOY"
	BuildTypeBounce    BuildType = "BOUNCE"
	BuildTypeApproval  BuildType = "APPROVAL"
	BuildTypeInstall   BuildType = "INSTALL"
	BuildTypeDestroy   BuildType = "DESTROY"
	BuildTypeDedicated BuildType = "DEDICATED"
	BuildTypeConfig    BuildType = "CONFIG"
)

func (BuildType) IsValid

func (e BuildType) IsValid() bool

func (BuildType) MarshalGQL

func (e BuildType) MarshalGQL(w io.Writer)

func (BuildType) String

func (e BuildType) String() string

func (*BuildType) UnmarshalGQL

func (e *BuildType) UnmarshalGQL(v interface{}) error

type Certificate

type Certificate struct {
	Metadata Metadata          `json:"metadata"`
	Status   CertificateStatus `json:"status"`
	Spec     CertificateSpec   `json:"spec"`
	Raw      string            `json:"raw"`
	Events   []*Event          `json:"events"`
}

type CertificateSpec

type CertificateSpec struct {
	DNSNames   []*string  `json:"dnsNames"`
	SecretName string     `json:"secretName"`
	IssuerRef  *IssuerRef `json:"issuerRef"`
}

type CertificateStatus

type CertificateStatus struct {
	Conditions  []*StatusCondition `json:"conditions"`
	NotAfter    *string            `json:"notAfter"`
	NotBefore   *string            `json:"notBefore"`
	RenewalTime *string            `json:"renewalTime"`
}

type Changelog

type Changelog struct {
	ID         string  `json:"id"`
	Repo       string  `json:"repo"`
	Tool       string  `json:"tool"`
	Content    *string `json:"content"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

type Client

type Client struct {
	Client *client.Client
}

func NewClient

func NewClient(cli *http.Client, baseURL string, options ...client.HTTPRequestOption) *Client

func (*Client) AddServiceError added in v0.0.49

func (c *Client) AddServiceError(ctx context.Context, id string, errors []*ServiceErrorAttributes, httpRequestOptions ...client.HTTPRequestOption) (*AddServiceError, error)

func (*Client) CloneServiceDeployment added in v0.0.34

func (c *Client) CloneServiceDeployment(ctx context.Context, clusterID string, id string, attributes ServiceCloneAttributes, httpRequestOptions ...client.HTTPRequestOption) (*CloneServiceDeployment, error)

func (*Client) CloneServiceDeploymentWithHandle added in v0.0.34

func (c *Client) CloneServiceDeploymentWithHandle(ctx context.Context, clusterID string, cluster string, name string, attributes ServiceCloneAttributes, httpRequestOptions ...client.HTTPRequestOption) (*CloneServiceDeploymentWithHandle, error)

func (*Client) CreateAccessToken

func (c *Client) CreateAccessToken(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*CreateAccessToken, error)

func (*Client) CreateCluster

func (c *Client) CreateCluster(ctx context.Context, attributes ClusterAttributes, httpRequestOptions ...client.HTTPRequestOption) (*CreateCluster, error)

func (*Client) CreateClusterProvider

func (c *Client) CreateClusterProvider(ctx context.Context, attributes ClusterProviderAttributes, httpRequestOptions ...client.HTTPRequestOption) (*CreateClusterProvider, error)

func (*Client) CreateGitRepository

func (c *Client) CreateGitRepository(ctx context.Context, attributes GitAttributes, httpRequestOptions ...client.HTTPRequestOption) (*CreateGitRepository, error)

func (*Client) CreateProviderCredential added in v0.0.18

func (c *Client) CreateProviderCredential(ctx context.Context, attributes ProviderCredentialAttributes, name string, httpRequestOptions ...client.HTTPRequestOption) (*CreateProviderCredential, error)

func (*Client) CreateServiceDeployment

func (c *Client) CreateServiceDeployment(ctx context.Context, clusterID string, attributes ServiceDeploymentAttributes, httpRequestOptions ...client.HTTPRequestOption) (*CreateServiceDeployment, error)

func (*Client) CreateServiceDeploymentWithHandle added in v0.0.13

func (c *Client) CreateServiceDeploymentWithHandle(ctx context.Context, cluster string, attributes ServiceDeploymentAttributes, httpRequestOptions ...client.HTTPRequestOption) (*CreateServiceDeploymentWithHandle, error)

func (*Client) DeleteAccessToken

func (c *Client) DeleteAccessToken(ctx context.Context, token string, httpRequestOptions ...client.HTTPRequestOption) (*DeleteAccessToken, error)

func (*Client) DeleteCluster

func (c *Client) DeleteCluster(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*DeleteCluster, error)

func (*Client) DeleteClusterProvider added in v0.0.43

func (c *Client) DeleteClusterProvider(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*DeleteClusterProvider, error)

func (*Client) DeleteGitRepository added in v0.0.35

func (c *Client) DeleteGitRepository(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*DeleteGitRepository, error)

func (*Client) DeleteProviderCredential added in v0.0.18

func (c *Client) DeleteProviderCredential(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*DeleteProviderCredential, error)

func (*Client) DeleteServiceDeployment

func (c *Client) DeleteServiceDeployment(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*DeleteServiceDeployment, error)

func (*Client) DetachCluster added in v0.0.30

func (c *Client) DetachCluster(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*DetachCluster, error)

func (*Client) GetAccessToken

func (c *Client) GetAccessToken(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*GetAccessToken, error)

func (*Client) GetCluster

func (c *Client) GetCluster(ctx context.Context, id *string, httpRequestOptions ...client.HTTPRequestOption) (*GetCluster, error)

func (*Client) GetClusterByHandle added in v0.0.15

func (c *Client) GetClusterByHandle(ctx context.Context, handle *string, httpRequestOptions ...client.HTTPRequestOption) (*GetClusterByHandle, error)

func (*Client) GetClusterGates added in v0.0.45

func (c *Client) GetClusterGates(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*GetClusterGates, error)

func (*Client) GetClusterProvider

func (c *Client) GetClusterProvider(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*GetClusterProvider, error)

func (*Client) GetGitRepository added in v0.0.37

func (c *Client) GetGitRepository(ctx context.Context, id *string, url *string, httpRequestOptions ...client.HTTPRequestOption) (*GetGitRepository, error)

func (*Client) GetPipeline added in v0.0.20

func (c *Client) GetPipeline(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*GetPipeline, error)

func (*Client) GetPipelines added in v0.0.20

func (c *Client) GetPipelines(ctx context.Context, after *string, httpRequestOptions ...client.HTTPRequestOption) (*GetPipelines, error)

func (*Client) GetServiceDeployment

func (c *Client) GetServiceDeployment(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*GetServiceDeployment, error)

func (*Client) GetServiceDeploymentByHandle added in v0.0.12

func (c *Client) GetServiceDeploymentByHandle(ctx context.Context, cluster string, name string, httpRequestOptions ...client.HTTPRequestOption) (*GetServiceDeploymentByHandle, error)

func (*Client) ListAccessTokens

func (c *Client) ListAccessTokens(ctx context.Context, cursor *string, before *string, last *int64, httpRequestOptions ...client.HTTPRequestOption) (*ListAccessTokens, error)

func (*Client) ListClusterServices

func (c *Client) ListClusterServices(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*ListClusterServices, error)

func (*Client) ListClusters

func (c *Client) ListClusters(ctx context.Context, cursor *string, before *string, last *int64, httpRequestOptions ...client.HTTPRequestOption) (*ListClusters, error)

func (*Client) ListDeploymentSettings

func (c *Client) ListDeploymentSettings(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*ListDeploymentSettings, error)

func (*Client) ListGitRepositories

func (c *Client) ListGitRepositories(ctx context.Context, cursor *string, before *string, last *int64, httpRequestOptions ...client.HTTPRequestOption) (*ListGitRepositories, error)

func (*Client) ListProviders added in v0.0.18

func (c *Client) ListProviders(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*ListProviders, error)

func (*Client) ListServiceDeployment

func (c *Client) ListServiceDeployment(ctx context.Context, after *string, before *string, last *int64, clusterID *string, httpRequestOptions ...client.HTTPRequestOption) (*ListServiceDeployment, error)

func (*Client) ListServiceDeploymentByHandle added in v0.0.12

func (c *Client) ListServiceDeploymentByHandle(ctx context.Context, after *string, before *string, last *int64, cluster *string, httpRequestOptions ...client.HTTPRequestOption) (*ListServiceDeploymentByHandle, error)

func (*Client) ListServiceDeployments added in v0.0.5

func (c *Client) ListServiceDeployments(ctx context.Context, cursor *string, before *string, last *int64, httpRequestOptions ...client.HTTPRequestOption) (*ListServiceDeployments, error)

func (*Client) MyCluster added in v0.0.19

func (c *Client) MyCluster(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*MyCluster, error)

func (*Client) PingCluster

func (c *Client) PingCluster(ctx context.Context, attributes ClusterPing, httpRequestOptions ...client.HTTPRequestOption) (*PingCluster, error)

func (*Client) RegisterRuntimeServices added in v0.0.38

func (c *Client) RegisterRuntimeServices(ctx context.Context, services []*RuntimeServiceAttributes, serviceID *string, httpRequestOptions ...client.HTTPRequestOption) (*RegisterRuntimeServices, error)

func (*Client) RollbackService

func (c *Client) RollbackService(ctx context.Context, id string, revisionID string, httpRequestOptions ...client.HTTPRequestOption) (*RollbackService, error)

func (*Client) SavePipeline added in v0.0.20

func (c *Client) SavePipeline(ctx context.Context, name string, attributes PipelineAttributes, httpRequestOptions ...client.HTTPRequestOption) (*SavePipeline, error)

func (*Client) TokenExchange added in v0.0.19

func (c *Client) TokenExchange(ctx context.Context, token string, httpRequestOptions ...client.HTTPRequestOption) (*TokenExchange, error)

func (*Client) UpdateCluster

func (c *Client) UpdateCluster(ctx context.Context, id string, attributes ClusterUpdateAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateCluster, error)

func (*Client) UpdateClusterProvider

func (c *Client) UpdateClusterProvider(ctx context.Context, id string, attributes ClusterProviderUpdateAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateClusterProvider, error)

func (*Client) UpdateDeploymentSettings

func (c *Client) UpdateDeploymentSettings(ctx context.Context, attributes DeploymentSettingsAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateDeploymentSettings, error)

func (*Client) UpdateGate added in v0.0.45

func (c *Client) UpdateGate(ctx context.Context, id string, attributes GateUpdateAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateGate, error)

func (*Client) UpdateGitRepository added in v0.0.12

func (c *Client) UpdateGitRepository(ctx context.Context, id string, attributes GitAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateGitRepository, error)

func (*Client) UpdateRbac

func (c *Client) UpdateRbac(ctx context.Context, rbac RbacAttributes, serviceID *string, clusterID *string, providerID *string, httpRequestOptions ...client.HTTPRequestOption) (*UpdateRbac, error)

func (*Client) UpdateServiceComponents

func (c *Client) UpdateServiceComponents(ctx context.Context, id string, components []*ComponentAttributes, errors []*ServiceErrorAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateServiceComponents, error)

func (*Client) UpdateServiceDeployment

func (c *Client) UpdateServiceDeployment(ctx context.Context, id string, attributes ServiceUpdateAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateServiceDeployment, error)

func (*Client) UpdateServiceDeploymentWithHandle added in v0.0.14

func (c *Client) UpdateServiceDeploymentWithHandle(ctx context.Context, cluster string, name string, attributes ServiceUpdateAttributes, httpRequestOptions ...client.HTTPRequestOption) (*UpdateServiceDeploymentWithHandle, error)

type CloneAttributes

type CloneAttributes struct {
	S3AccessKeyID     *string `json:"s3AccessKeyId,omitempty"`
	S3SecretAccessKey *string `json:"s3SecretAccessKey,omitempty"`
	S3WalPath         *string `json:"s3WalPath,omitempty"`
	S3Endpoint        *string `json:"s3Endpoint,omitempty"`
	UID               *string `json:"uid,omitempty"`
}

type CloneServiceDeployment added in v0.0.34

type CloneServiceDeployment struct {
	CloneService *ServiceDeploymentFragment "json:\"cloneService\" graphql:\"cloneService\""
}

type CloneServiceDeploymentWithHandle added in v0.0.34

type CloneServiceDeploymentWithHandle struct {
	CloneService *ServiceDeploymentFragment "json:\"cloneService\" graphql:\"cloneService\""
}

type CloudProviderSettingsAttributes

type CloudProviderSettingsAttributes struct {
	Aws   *AwsSettingsAttributes   `json:"aws,omitempty"`
	Gcp   *GcpSettingsAttributes   `json:"gcp,omitempty"`
	Azure *AzureSettingsAttributes `json:"azure,omitempty"`
}

type CloudSettings

type CloudSettings struct {
	Aws   *AwsCloudSettings   `json:"aws"`
	Gcp   *GcpCloudSettings   `json:"gcp"`
	Azure *AzureCloudSettings `json:"azure"`
}

the cloud configuration for a cluster

type CloudSettingsAttributes

type CloudSettingsAttributes struct {
	Aws   *AwsCloudAttributes   `json:"aws,omitempty"`
	Gcp   *GcpCloudAttributes   `json:"gcp,omitempty"`
	Azure *AzureCloudAttributes `json:"azure,omitempty"`
}

type Cluster

type Cluster struct {
	// internal id of this cluster
	ID string `json:"id"`
	// whether this is the management cluster itself
	Self *bool `json:"self"`
	// human readable name of this cluster, will also translate to cloud k8s name
	Name string `json:"name"`
	// if true, this cluster cannot be deleted
	Protect *bool `json:"protect"`
	// desired k8s version for the cluster
	Version *string `json:"version"`
	// current k8s version as told to us by the deployment operator
	CurrentVersion *string `json:"currentVersion"`
	// a short, unique human readable name used to identify this cluster and does not necessarily map to the cloud resource name
	Handle *string `json:"handle"`
	// whether the deploy operator has been registered for this cluster
	Installed *bool `json:"installed"`
	// the cloud settings for this cluster (for instance its aws region)
	Settings *CloudSettings `json:"settings"`
	// the url of the kas server you can access this cluster from
	KasURL *string `json:"kasUrl"`
	// a auth token to be used by the deploy operator, only readable on create
	DeployToken *string `json:"deployToken"`
	// when this cluster was scheduled for deletion
	DeletedAt *string `json:"deletedAt"`
	// last time the deploy operator pinged this cluster
	PingedAt *string `json:"pingedAt"`
	// read policy for this cluster
	ReadBindings []*PolicyBinding `json:"readBindings"`
	// write policy for this cluster
	WriteBindings []*PolicyBinding `json:"writeBindings"`
	// list of node pool specs managed by CAPI
	NodePools []*NodePool `json:"nodePools"`
	// the provider we use to create this cluster (null if BYOK)
	Provider *ClusterProvider `json:"provider"`
	// a custom credential to use when provisioning this cluster
	Credential *ProviderCredential `json:"credential"`
	// the service used to deploy the CAPI resources of this cluster
	Service *ServiceDeployment `json:"service"`
	// key/value tags to filter clusters
	Tags []*Tag `json:"tags"`
	// all api deprecations for all services in this cluster
	APIDeprecations []*APIDeprecation `json:"apiDeprecations"`
	// any errors which might have occurred during the bootstrap process
	ServiceErrors []*ServiceError `json:"serviceErrors"`
	// a custom git repository if you want to define your own CAPI manifests
	Repository *GitRepository `json:"repository"`
	// list cached nodes for a cluster, this can be stale up to 5m
	Nodes []*Node `json:"nodes"`
	// list the cached node metrics for a cluster, can also be stale up to 5m
	NodeMetrics []*NodeMetric `json:"nodeMetrics"`
	// the status of the cluster as seen from the CAPI operator, since some clusters can be provisioned without CAPI, this can be null
	Status *ClusterStatus `json:"status"`
	// a relay connection of all revisions of this service, these are periodically pruned up to a history limit
	Revisions *RevisionConnection `json:"revisions"`
	// fetches a list of runtime services found in this cluster, this is an expensive operation that should not be done in list queries
	RuntimeServices []*RuntimeService `json:"runtimeServices"`
	// whether the current user can edit this cluster
	Editable   *bool   `json:"editable"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

a representation of a cluster you can deploy to

type ClusterAddOn added in v0.0.25

type ClusterAddOn struct {
	Name          *string               `json:"name"`
	Version       *string               `json:"version"`
	Icon          *string               `json:"icon"`
	Global        *bool                 `json:"global"`
	Configuration []*AddOnConfiguration `json:"configuration"`
}

A common kubernetes cluster add-on like cert-manager, istio, etc

type ClusterAttributes

type ClusterAttributes struct {
	Name string `json:"name"`
	// a short, unique human readable name used to identify this cluster and does not necessarily map to the cloud resource name
	Handle     *string `json:"handle,omitempty"`
	ProviderID *string `json:"providerId,omitempty"`
	// a cloud credential to use when provisioning this cluster
	CredentialID  *string                    `json:"credentialId,omitempty"`
	Version       *string                    `json:"version,omitempty"`
	Protect       *bool                      `json:"protect,omitempty"`
	Kubeconfig    *KubeconfigAttributes      `json:"kubeconfig,omitempty"`
	CloudSettings *CloudSettingsAttributes   `json:"cloudSettings,omitempty"`
	NodePools     []*NodePoolAttributes      `json:"nodePools,omitempty"`
	ReadBindings  []*PolicyBindingAttributes `json:"readBindings,omitempty"`
	WriteBindings []*PolicyBindingAttributes `json:"writeBindings,omitempty"`
	Tags          []*TagAttributes           `json:"tags,omitempty"`
}

type ClusterCondition added in v0.0.15

type ClusterCondition struct {
	LastTransitionTime *string `json:"lastTransitionTime"`
	Status             *string `json:"status"`
	Type               *string `json:"type"`
	Message            *string `json:"message"`
	Reason             *string `json:"reason"`
	Severity           *string `json:"severity"`
}

a single condition struct for various phases of the cluster provisionining process

type ClusterConnection

type ClusterConnection struct {
	PageInfo PageInfo       `json:"pageInfo"`
	Edges    []*ClusterEdge `json:"edges"`
}

type ClusterEdge

type ClusterEdge struct {
	Node   *Cluster `json:"node"`
	Cursor *string  `json:"cursor"`
}

type ClusterEdgeFragment added in v0.0.2

type ClusterEdgeFragment struct {
	Node *ClusterFragment "json:\"node\" graphql:\"node\""
}

type ClusterFragment

type ClusterFragment struct {
	ID             string                      "json:\"id\" graphql:\"id\""
	Name           string                      "json:\"name\" graphql:\"name\""
	Handle         *string                     "json:\"handle\" graphql:\"handle\""
	Self           *bool                       "json:\"self\" graphql:\"self\""
	Version        *string                     "json:\"version\" graphql:\"version\""
	InsertedAt     *string                     "json:\"insertedAt\" graphql:\"insertedAt\""
	PingedAt       *string                     "json:\"pingedAt\" graphql:\"pingedAt\""
	Protect        *bool                       "json:\"protect\" graphql:\"protect\""
	CurrentVersion *string                     "json:\"currentVersion\" graphql:\"currentVersion\""
	KasURL         *string                     "json:\"kasUrl\" graphql:\"kasUrl\""
	Tags           []*ClusterTags              "json:\"tags\" graphql:\"tags\""
	Credential     *ProviderCredentialFragment "json:\"credential\" graphql:\"credential\""
	Provider       *ClusterProviderFragment    "json:\"provider\" graphql:\"provider\""
	NodePools      []*NodePoolFragment         "json:\"nodePools\" graphql:\"nodePools\""
}

type ClusterInfo

type ClusterInfo struct {
	GitCommit  *string `json:"gitCommit"`
	GitVersion *string `json:"gitVersion"`
	Platform   *string `json:"platform"`
	Version    *string `json:"version"`
}

type ClusterPing

type ClusterPing struct {
	CurrentVersion string `json:"currentVersion"`
}

type ClusterProvider

type ClusterProvider struct {
	// the id of this provider
	ID string `json:"id"`
	// a human readable name for the provider, globally unique
	Name string `json:"name"`
	// the namespace the CAPI resources are deployed into
	Namespace string `json:"namespace"`
	// the name of the cloud service for this provider
	Cloud string `json:"cloud"`
	// the details of how cluster manifests will be synced from git when created with this provider
	Git GitRef `json:"git"`
	// the repository used to serve cluster manifests
	Repository *GitRepository `json:"repository"`
	// the repository for the CAPI service itself if customized
	ProviderRepository *GitRepository `json:"providerRepository"`
	// the service of the CAPI controller itself
	Service *ServiceDeployment `json:"service"`
	// a list of credentials eligible for this provider
	Credentials []*ProviderCredential `json:"credentials"`
	// when the cluster provider was deleted
	DeletedAt       *string           `json:"deletedAt"`
	RuntimeServices []*RuntimeService `json:"runtimeServices"`
	// the kubernetes versions this provider currently supports
	SupportedVersions []*string `json:"supportedVersions"`
	// the region names this provider can deploy to
	Regions []*string `json:"regions"`
	// whether the current user can edit this resource
	Editable   *bool   `json:"editable"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

a CAPI provider for a cluster, cloud is inferred from name if not provided manually

type ClusterProviderAttributes

type ClusterProviderAttributes struct {
	Name          string                           `json:"name"`
	Namespace     *string                          `json:"namespace,omitempty"`
	Cloud         *string                          `json:"cloud,omitempty"`
	CloudSettings *CloudProviderSettingsAttributes `json:"cloudSettings,omitempty"`
}

type ClusterProviderConnection

type ClusterProviderConnection struct {
	PageInfo PageInfo               `json:"pageInfo"`
	Edges    []*ClusterProviderEdge `json:"edges"`
}

type ClusterProviderConnectionFragment added in v0.0.18

type ClusterProviderConnectionFragment struct {
	Edges []*ClusterProviderEdgeFragment "json:\"edges\" graphql:\"edges\""
}

type ClusterProviderEdge

type ClusterProviderEdge struct {
	Node   *ClusterProvider `json:"node"`
	Cursor *string          `json:"cursor"`
}

type ClusterProviderEdgeFragment added in v0.0.18

type ClusterProviderEdgeFragment struct {
	Node *ClusterProviderFragment "json:\"node\" graphql:\"node\""
}

type ClusterProviderFragment

type ClusterProviderFragment struct {
	ID          string                        "json:\"id\" graphql:\"id\""
	Name        string                        "json:\"name\" graphql:\"name\""
	Namespace   string                        "json:\"namespace\" graphql:\"namespace\""
	Cloud       string                        "json:\"cloud\" graphql:\"cloud\""
	Editable    *bool                         "json:\"editable\" graphql:\"editable\""
	Repository  *GitRepositoryFragment        "json:\"repository\" graphql:\"repository\""
	Service     *ServiceDeploymentFragment    "json:\"service\" graphql:\"service\""
	Credentials []*ProviderCredentialFragment "json:\"credentials\" graphql:\"credentials\""
}

type ClusterProviderUpdateAttributes

type ClusterProviderUpdateAttributes struct {
	// if you optionally want to reconfigure the git repository for the cluster provider
	Service       *ClusterServiceAttributes        `json:"service,omitempty"`
	CloudSettings *CloudProviderSettingsAttributes `json:"cloudSettings,omitempty"`
}

type ClusterServiceAttributes added in v0.0.15

type ClusterServiceAttributes struct {
	ID           string           `json:"id"`
	RepositoryID *string          `json:"repositoryId,omitempty"`
	Git          GitRefAttributes `json:"git"`
}

type ClusterStatus added in v0.0.15

type ClusterStatus struct {
	Phase             *string             `json:"phase"`
	ControlPlaneReady *bool               `json:"controlPlaneReady"`
	FailureMessage    *string             `json:"failureMessage"`
	FailureReason     *string             `json:"failureReason"`
	Conditions        []*ClusterCondition `json:"conditions"`
}

the crd status of the cluster as seen by the CAPI operator

type ClusterTags added in v0.0.42

type ClusterTags struct {
	Name  string "json:\"name\" graphql:\"name\""
	Value string "json:\"value\" graphql:\"value\""
}

type ClusterUpdateAttributes

type ClusterUpdateAttributes struct {
	Version *string `json:"version,omitempty"`
	// a short, unique human readable name used to identify this cluster and does not necessarily map to the cloud resource name
	Handle *string `json:"handle,omitempty"`
	// if you optionally want to reconfigure the git repository for the cluster service
	Service    *ClusterServiceAttributes `json:"service,omitempty"`
	Kubeconfig *KubeconfigAttributes     `json:"kubeconfig,omitempty"`
	Protect    *bool                     `json:"protect,omitempty"`
	NodePools  []*NodePoolAttributes     `json:"nodePools,omitempty"`
}

type Command

type Command struct {
	ID          string  `json:"id"`
	Command     string  `json:"command"`
	ExitCode    *int64  `json:"exitCode"`
	Stdout      *string `json:"stdout"`
	CompletedAt *string `json:"completedAt"`
	Build       *Build  `json:"build"`
	InsertedAt  *string `json:"insertedAt"`
	UpdatedAt   *string `json:"updatedAt"`
}

type CommandConnection

type CommandConnection struct {
	PageInfo PageInfo       `json:"pageInfo"`
	Edges    []*CommandEdge `json:"edges"`
}

type CommandDelta

type CommandDelta struct {
	Delta   *Delta   `json:"delta"`
	Payload *Command `json:"payload"`
}

type CommandEdge

type CommandEdge struct {
	Node   *Command `json:"node"`
	Cursor *string  `json:"cursor"`
}

type Component

type Component struct {
	Group string `json:"group"`
	Kind  string `json:"kind"`
}

type ComponentAttributes

type ComponentAttributes struct {
	State     *ComponentState `json:"state,omitempty"`
	Synced    bool            `json:"synced"`
	Group     string          `json:"group"`
	Version   string          `json:"version"`
	Kind      string          `json:"kind"`
	Namespace string          `json:"namespace"`
	Name      string          `json:"name"`
}

type ComponentState

type ComponentState string
const (
	ComponentStateRunning ComponentState = "RUNNING"
	ComponentStatePending ComponentState = "PENDING"
	ComponentStateFailed  ComponentState = "FAILED"
)

func (ComponentState) IsValid

func (e ComponentState) IsValid() bool

func (ComponentState) MarshalGQL

func (e ComponentState) MarshalGQL(w io.Writer)

func (ComponentState) String

func (e ComponentState) String() string

func (*ComponentState) UnmarshalGQL

func (e *ComponentState) UnmarshalGQL(v interface{}) error

type ConfigAttributes

type ConfigAttributes struct {
	Name  string  `json:"name"`
	Value *string `json:"value,omitempty"`
}

type ConfigMap

type ConfigMap struct {
	Metadata Metadata               `json:"metadata"`
	Data     map[string]interface{} `json:"data"`
	Raw      string                 `json:"raw"`
}

type Configuration

type Configuration struct {
	Terraform *string `json:"terraform"`
	Helm      *string `json:"helm"`
	Readme    *string `json:"readme"`
}

type ConfigurationAction

type ConfigurationAction struct {
	Updates []*PathUpdate `json:"updates"`
}

type ConfigurationCondition

type ConfigurationCondition struct {
	Field     *string `json:"field"`
	Value     *string `json:"value"`
	Operation *string `json:"operation"`
}

type ConfigurationItem

type ConfigurationItem struct {
	Name          *string                  `json:"name"`
	Type          *string                  `json:"type"`
	Placeholder   *string                  `json:"placeholder"`
	Documentation *string                  `json:"documentation"`
	Default       *string                  `json:"default"`
	Optional      *bool                    `json:"optional"`
	Condition     *ConfigurationCondition  `json:"condition"`
	Validation    *ConfigurationValidation `json:"validation"`
}

type ConfigurationOverlay

type ConfigurationOverlay struct {
	Metadata Metadata                 `json:"metadata"`
	Spec     ConfigurationOverlaySpec `json:"spec"`
}

type ConfigurationOverlaySpec

type ConfigurationOverlaySpec struct {
	Name          *string          `json:"name"`
	Folder        *string          `json:"folder"`
	Subfolder     *string          `json:"subfolder"`
	Documentation *string          `json:"documentation"`
	Updates       []*OverlayUpdate `json:"updates"`
	InputType     *string          `json:"inputType"`
	InputValues   []*string        `json:"inputValues"`
}

type ConfigurationValidation

type ConfigurationValidation struct {
	Type    *string `json:"type"`
	Regex   *string `json:"regex"`
	Message *string `json:"message"`
}

type ConsoleConfiguration

type ConsoleConfiguration struct {
	GitCommit     *string            `json:"gitCommit"`
	IsDemoProject *bool              `json:"isDemoProject"`
	IsSandbox     *bool              `json:"isSandbox"`
	PluralLogin   *bool              `json:"pluralLogin"`
	VpnEnabled    *bool              `json:"vpnEnabled"`
	Byok          *bool              `json:"byok"`
	Features      *AvailableFeatures `json:"features"`
	Manifest      *PluralManifest    `json:"manifest"`
	GitStatus     *GitStatus         `json:"gitStatus"`
}

type Container

type Container struct {
	Image     *string    `json:"image"`
	Name      *string    `json:"name"`
	Ports     []*Port    `json:"ports"`
	Resources *Resources `json:"resources"`
}

type ContainerAttributes added in v0.0.38

type ContainerAttributes struct {
	Image   string               `json:"image"`
	Args    []*string            `json:"args,omitempty"`
	Env     []*EnvAttributes     `json:"env,omitempty"`
	EnvFrom []*EnvFromAttributes `json:"envFrom,omitempty"`
}

the attributes for a container

type ContainerEnv added in v0.0.38

type ContainerEnv struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

container env variable

type ContainerEnvFrom added in v0.0.38

type ContainerEnvFrom struct {
	ConfigMap string `json:"configMap"`
	Secret    string `json:"secret"`
}

env from declarations for containers

type ContainerRecommendation

type ContainerRecommendation struct {
	Name           *string             `json:"name"`
	ContainerName  *string             `json:"containerName"`
	Target         *ContainerResources `json:"target"`
	LowerBound     *ContainerResources `json:"lowerBound"`
	UpperBound     *ContainerResources `json:"upperBound"`
	UncappedTarget *ContainerResources `json:"uncappedTarget"`
}

type ContainerResources

type ContainerResources struct {
	CPU    *string `json:"cpu"`
	Memory *string `json:"memory"`
}

type ContainerSpec added in v0.0.38

type ContainerSpec struct {
	Image   string              `json:"image"`
	Args    []*string           `json:"args"`
	Env     []*ContainerEnv     `json:"env"`
	EnvFrom []*ContainerEnvFrom `json:"envFrom"`
}

a shortform spec for job containers, designed for ease-of-use

type ContainerSpecFragment added in v0.0.47

type ContainerSpecFragment struct {
	Image string    "json:\"image\" graphql:\"image\""
	Args  []*string "json:\"args\" graphql:\"args\""
	Env   []*struct {
		Name  string "json:\"name\" graphql:\"name\""
		Value string "json:\"value\" graphql:\"value\""
	} "json:\"env\" graphql:\"env\""
	EnvFrom []*struct {
		ConfigMap string "json:\"configMap\" graphql:\"configMap\""
		Secret    string "json:\"secret\" graphql:\"secret\""
	} "json:\"envFrom\" graphql:\"envFrom\""
}

type ContainerState

type ContainerState struct {
	Running    *RunningState    `json:"running"`
	Terminated *TerminatedState `json:"terminated"`
	Waiting    *WaitingState    `json:"waiting"`
}

type ContainerStatus

type ContainerStatus struct {
	RestartCount *int64          `json:"restartCount"`
	Ready        *bool           `json:"ready"`
	Name         *string         `json:"name"`
	Image        *string         `json:"image"`
	State        *ContainerState `json:"state"`
}

type ContextAttributes

type ContextAttributes struct {
	Buckets       []*string              `json:"buckets,omitempty"`
	Domain        []*string              `json:"domain,omitempty"`
	Configuration map[string]interface{} `json:"configuration"`
	Protect       []*string              `json:"protect,omitempty"`
}

type CostAnalysis

type CostAnalysis struct {
	Minutes       *float64 `json:"minutes"`
	CPUCost       *float64 `json:"cpuCost"`
	CPUEfficiency *float64 `json:"cpuEfficiency"`
	Efficiency    *float64 `json:"efficiency"`
	GpuCost       *float64 `json:"gpuCost"`
	NetworkCost   *float64 `json:"networkCost"`
	PvCost        *float64 `json:"pvCost"`
	RAMCost       *float64 `json:"ramCost"`
	RAMEfficiency *float64 `json:"ramEfficiency"`
	TotalCost     *float64 `json:"totalCost"`
	SharedCost    *float64 `json:"sharedCost"`
}

type CreateAccessToken

type CreateAccessToken struct {
	CreateAccessToken *AccessTokenFragment "json:\"createAccessToken\" graphql:\"createAccessToken\""
}

type CreateCluster

type CreateCluster struct {
	CreateCluster *struct {
		DeployToken    *string                     "json:\"deployToken\" graphql:\"deployToken\""
		ID             string                      "json:\"id\" graphql:\"id\""
		Name           string                      "json:\"name\" graphql:\"name\""
		Handle         *string                     "json:\"handle\" graphql:\"handle\""
		Self           *bool                       "json:\"self\" graphql:\"self\""
		Version        *string                     "json:\"version\" graphql:\"version\""
		InsertedAt     *string                     "json:\"insertedAt\" graphql:\"insertedAt\""
		PingedAt       *string                     "json:\"pingedAt\" graphql:\"pingedAt\""
		Protect        *bool                       "json:\"protect\" graphql:\"protect\""
		CurrentVersion *string                     "json:\"currentVersion\" graphql:\"currentVersion\""
		KasURL         *string                     "json:\"kasUrl\" graphql:\"kasUrl\""
		Tags           []*ClusterTags              "json:\"tags\" graphql:\"tags\""
		Credential     *ProviderCredentialFragment "json:\"credential\" graphql:\"credential\""
		Provider       *ClusterProviderFragment    "json:\"provider\" graphql:\"provider\""
		NodePools      []*NodePoolFragment         "json:\"nodePools\" graphql:\"nodePools\""
	} "json:\"createCluster\" graphql:\"createCluster\""
}

type CreateClusterProvider

type CreateClusterProvider struct {
	CreateClusterProvider *ClusterProviderFragment "json:\"createClusterProvider\" graphql:\"createClusterProvider\""
}

type CreateGitRepository

type CreateGitRepository struct {
	CreateGitRepository *GitRepositoryFragment "json:\"createGitRepository\" graphql:\"createGitRepository\""
}

type CreateProviderCredential added in v0.0.18

type CreateProviderCredential struct {
	CreateProviderCredential *ProviderCredentialFragment "json:\"createProviderCredential\" graphql:\"createProviderCredential\""
}

type CreateServiceDeployment

type CreateServiceDeployment struct {
	CreateServiceDeployment *ServiceDeploymentFragment "json:\"createServiceDeployment\" graphql:\"createServiceDeployment\""
}

type CreateServiceDeploymentWithHandle added in v0.0.13

type CreateServiceDeploymentWithHandle struct {
	CreateServiceDeployment *ServiceDeploymentFragment "json:\"createServiceDeployment\" graphql:\"createServiceDeployment\""
}

type CronJob

type CronJob struct {
	Metadata Metadata   `json:"metadata"`
	Status   CronStatus `json:"status"`
	Spec     CronSpec   `json:"spec"`
	Raw      string     `json:"raw"`
	Events   []*Event   `json:"events"`
	Jobs     []*Job     `json:"jobs"`
}

type CronSpec

type CronSpec struct {
	Schedule          string  `json:"schedule"`
	Suspend           *bool   `json:"suspend"`
	ConcurrencyPolicy *string `json:"concurrencyPolicy"`
}

type CronStatus

type CronStatus struct {
	Active           []*JobReference `json:"active"`
	LastScheduleTime *string         `json:"lastScheduleTime"`
}

type CrossVersionResourceTarget

type CrossVersionResourceTarget struct {
	APIVersion *string `json:"apiVersion"`
	Kind       *string `json:"kind"`
	Name       *string `json:"name"`
}

type Dashboard

type Dashboard struct {
	ID   string        `json:"id"`
	Spec DashboardSpec `json:"spec"`
}

type DashboardGraph

type DashboardGraph struct {
	Name    string             `json:"name"`
	Queries []*DashboardMetric `json:"queries"`
	Format  *string            `json:"format"`
}

type DashboardLabel

type DashboardLabel struct {
	Name   string    `json:"name"`
	Values []*string `json:"values"`
}

type DashboardMetric

type DashboardMetric struct {
	Legend  *string         `json:"legend"`
	Query   *string         `json:"query"`
	Results []*MetricResult `json:"results"`
}

type DashboardSpec

type DashboardSpec struct {
	Name        *string           `json:"name"`
	Description *string           `json:"description"`
	Timeslices  []*string         `json:"timeslices"`
	Labels      []*DashboardLabel `json:"labels"`
	Graphs      []*DashboardGraph `json:"graphs"`
}

type DatabaseVolume

type DatabaseVolume struct {
	Size *string `json:"size"`
}

type DeleteAccessToken

type DeleteAccessToken struct {
	DeleteAccessToken *AccessTokenFragment "json:\"deleteAccessToken\" graphql:\"deleteAccessToken\""
}

type DeleteCluster

type DeleteCluster struct {
	DeleteCluster *ClusterFragment "json:\"deleteCluster\" graphql:\"deleteCluster\""
}

type DeleteClusterProvider added in v0.0.43

type DeleteClusterProvider struct {
	DeleteClusterProvider *ClusterProviderFragment "json:\"deleteClusterProvider\" graphql:\"deleteClusterProvider\""
}

type DeleteGitRepository added in v0.0.35

type DeleteGitRepository struct {
	DeleteGitRepository *GitRepositoryFragment "json:\"deleteGitRepository\" graphql:\"deleteGitRepository\""
}

type DeleteProviderCredential added in v0.0.18

type DeleteProviderCredential struct {
	DeleteProviderCredential *ProviderCredentialFragment "json:\"deleteProviderCredential\" graphql:\"deleteProviderCredential\""
}

type DeleteServiceDeployment

type DeleteServiceDeployment struct {
	DeleteServiceDeployment *ServiceDeploymentFragment "json:\"deleteServiceDeployment\" graphql:\"deleteServiceDeployment\""
}

type Delta

type Delta string
const (
	DeltaCreate Delta = "CREATE"
	DeltaUpdate Delta = "UPDATE"
	DeltaDelete Delta = "DELETE"
)

func (Delta) IsValid

func (e Delta) IsValid() bool

func (Delta) MarshalGQL

func (e Delta) MarshalGQL(w io.Writer)

func (Delta) String

func (e Delta) String() string

func (*Delta) UnmarshalGQL

func (e *Delta) UnmarshalGQL(v interface{}) error

type Deployment

type Deployment struct {
	Metadata Metadata         `json:"metadata"`
	Status   DeploymentStatus `json:"status"`
	Spec     DeploymentSpec   `json:"spec"`
	Pods     []*Pod           `json:"pods"`
	Raw      string           `json:"raw"`
	Events   []*Event         `json:"events"`
}

func (Deployment) IsKubernetesData

func (Deployment) IsKubernetesData()

type DeploymentSettings

type DeploymentSettings struct {
	ID string `json:"id"`
	// whether you've yet to enable CD for this instance
	Enabled bool   `json:"enabled"`
	Name    string `json:"name"`
	// whether the byok cluster has been brought under self-management
	SelfManaged *bool `json:"selfManaged"`
	// the repo to fetch CAPI manifests from, for both providers and clusters
	ArtifactRepository *GitRepository `json:"artifactRepository"`
	// the repo to fetch the deploy operators manifests from
	DeployerRepository *GitRepository `json:"deployerRepository"`
	// read policy across all clusters
	ReadBindings []*PolicyBinding `json:"readBindings"`
	// write policy across all clusters
	WriteBindings []*PolicyBinding `json:"writeBindings"`
	// policy for managing git repos
	GitBindings []*PolicyBinding `json:"gitBindings"`
	// policy for creation of new clusters
	CreateBindings []*PolicyBinding `json:"createBindings"`
	InsertedAt     *string          `json:"insertedAt"`
	UpdatedAt      *string          `json:"updatedAt"`
}

global settings for CD, these specify global read/write policies and also allow for customization of the repos for CAPI resources and the deploy operator

type DeploymentSettingsAttributes

type DeploymentSettingsAttributes struct {
	ArtifactRepositoryID *string                    `json:"artifactRepositoryId,omitempty"`
	DeployerRepositoryID *string                    `json:"deployerRepositoryId,omitempty"`
	ReadBindings         []*PolicyBindingAttributes `json:"readBindings,omitempty"`
	WriteBindings        []*PolicyBindingAttributes `json:"writeBindings,omitempty"`
	GitBindings          []*PolicyBindingAttributes `json:"gitBindings,omitempty"`
	CreateBindings       []*PolicyBindingAttributes `json:"createBindings,omitempty"`
}

type DeploymentSettingsFragment

type DeploymentSettingsFragment struct {
	ID                 string                   "json:\"id\" graphql:\"id\""
	Name               string                   "json:\"name\" graphql:\"name\""
	WriteBindings      []*PolicyBindingFragment "json:\"writeBindings\" graphql:\"writeBindings\""
	ReadBindings       []*PolicyBindingFragment "json:\"readBindings\" graphql:\"readBindings\""
	CreateBindings     []*PolicyBindingFragment "json:\"createBindings\" graphql:\"createBindings\""
	ArtifactRepository *GitRepositoryFragment   "json:\"artifactRepository\" graphql:\"artifactRepository\""
	DeployerRepository *GitRepositoryFragment   "json:\"deployerRepository\" graphql:\"deployerRepository\""
}

type DeploymentSpec

type DeploymentSpec struct {
	Replicas *int64              `json:"replicas"`
	Strategy *DeploymentStrategy `json:"strategy"`
}

type DeploymentStatus

type DeploymentStatus struct {
	AvailableReplicas   *int64 `json:"availableReplicas"`
	Replicas            *int64 `json:"replicas"`
	ReadyReplicas       *int64 `json:"readyReplicas"`
	UnavailableReplicas *int64 `json:"unavailableReplicas"`
}

type DeploymentStrategy

type DeploymentStrategy struct {
	Type          *string        `json:"type"`
	RollingUpdate *RollingUpdate `json:"rollingUpdate"`
}

type DetachCluster added in v0.0.30

type DetachCluster struct {
	DetachCluster *ClusterFragment "json:\"detachCluster\" graphql:\"detachCluster\""
}

type DiffNormalizerAttributes added in v0.0.12

type DiffNormalizerAttributes struct {
	Group       string   `json:"group"`
	Kind        string   `json:"kind"`
	Name        string   `json:"name"`
	Namespace   string   `json:"namespace"`
	JSONPatches []string `json:"jsonPatches,omitempty"`
}

type EnvAttributes added in v0.0.38

type EnvAttributes struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type EnvFromAttributes added in v0.0.38

type EnvFromAttributes struct {
	Secret    string `json:"secret"`
	ConfigMap string `json:"configMap"`
}

type ErrorFragment added in v0.0.12

type ErrorFragment struct {
	Source  string "json:\"source\" graphql:\"source\""
	Message string "json:\"message\" graphql:\"message\""
}

type Event

type Event struct {
	Action        *string `json:"action"`
	Count         *int64  `json:"count"`
	EventTime     *string `json:"eventTime"`
	LastTimestamp *string `json:"lastTimestamp"`
	Message       *string `json:"message"`
	Reason        *string `json:"reason"`
	Type          *string `json:"type"`
}

type FileContent

type FileContent struct {
	Path    *string `json:"path"`
	Content *string `json:"content"`
}

type GateJobAttributes added in v0.0.38

type GateJobAttributes struct {
	Namespace string `json:"namespace"`
	// if you'd rather define the job spec via straight k8s yaml
	Raw            *string                `json:"raw,omitempty"`
	Containers     []*ContainerAttributes `json:"containers,omitempty"`
	Labels         map[string]interface{} `json:"labels,omitempty"`
	Annotations    map[string]interface{} `json:"annotations,omitempty"`
	ServiceAccount *string                `json:"serviceAccount,omitempty"`
}

spec for a job gate

type GateSpec added in v0.0.38

type GateSpec struct {
	Job *JobGateSpec `json:"job"`
}

detailed gate specifications

type GateSpecAttributes added in v0.0.38

type GateSpecAttributes struct {
	Job *GateJobAttributes `json:"job,omitempty"`
}

a more refined spec for parameters needed for complex gates

type GateSpecFragment added in v0.0.45

type GateSpecFragment struct {
	Job *JobSpecFragment "json:\"job\" graphql:\"job\""
}

type GateState added in v0.0.23

type GateState string
const (
	GateStatePending GateState = "PENDING"
	GateStateOpen    GateState = "OPEN"
	GateStateClosed  GateState = "CLOSED"
)

func (GateState) IsValid added in v0.0.23

func (e GateState) IsValid() bool

func (GateState) MarshalGQL added in v0.0.23

func (e GateState) MarshalGQL(w io.Writer)

func (GateState) String added in v0.0.23

func (e GateState) String() string

func (*GateState) UnmarshalGQL added in v0.0.23

func (e *GateState) UnmarshalGQL(v interface{}) error

type GateStatusAttributes added in v0.0.38

type GateStatusAttributes struct {
	JobRef *NamespacedName `json:"jobRef,omitempty"`
}

type GateType added in v0.0.23

type GateType string
const (
	GateTypeApproval GateType = "APPROVAL"
	GateTypeWindow   GateType = "WINDOW"
	GateTypeJob      GateType = "JOB"
)

func (GateType) IsValid added in v0.0.23

func (e GateType) IsValid() bool

func (GateType) MarshalGQL added in v0.0.23

func (e GateType) MarshalGQL(w io.Writer)

func (GateType) String added in v0.0.23

func (e GateType) String() string

func (*GateType) UnmarshalGQL added in v0.0.23

func (e *GateType) UnmarshalGQL(v interface{}) error

type GateUpdateAttributes added in v0.0.38

type GateUpdateAttributes struct {
	State  *GateState            `json:"state,omitempty"`
	Status *GateStatusAttributes `json:"status,omitempty"`
}

the allowed inputs for a deployment agent gate update

type GcpCloudAttributes added in v0.0.19

type GcpCloudAttributes struct {
	Project *string `json:"project,omitempty"`
	Network *string `json:"network,omitempty"`
	Region  *string `json:"region,omitempty"`
}

type GcpCloudSettings added in v0.0.45

type GcpCloudSettings struct {
	Project *string `json:"project"`
	Network *string `json:"network"`
	Region  *string `json:"region"`
}

gcp specific cluster cloud configuration

type GcpSettingsAttributes

type GcpSettingsAttributes struct {
	ApplicationCredentials string `json:"applicationCredentials"`
}

type GetAccessToken

type GetAccessToken struct {
	AccessToken *AccessTokenFragment "json:\"accessToken\" graphql:\"accessToken\""
}

type GetCluster

type GetCluster struct {
	Cluster *ClusterFragment "json:\"cluster\" graphql:\"cluster\""
}

type GetClusterByHandle added in v0.0.15

type GetClusterByHandle struct {
	Cluster *ClusterFragment "json:\"cluster\" graphql:\"cluster\""
}

type GetClusterGates added in v0.0.45

type GetClusterGates struct {
	ClusterGates []*PipelineGateFragment "json:\"clusterGates\" graphql:\"clusterGates\""
}

type GetClusterProvider

type GetClusterProvider struct {
	ClusterProvider *ClusterProviderFragment "json:\"clusterProvider\" graphql:\"clusterProvider\""
}

type GetGitRepository added in v0.0.37

type GetGitRepository struct {
	GitRepository *GitRepositoryFragment "json:\"gitRepository\" graphql:\"gitRepository\""
}

type GetPipeline added in v0.0.20

type GetPipeline struct {
	Pipeline *PipelineFragment "json:\"pipeline\" graphql:\"pipeline\""
}

type GetPipelines added in v0.0.20

type GetPipelines struct {
	Pipelines *struct {
		Edges []*PipelineEdgeFragment "json:\"edges\" graphql:\"edges\""
	} "json:\"pipelines\" graphql:\"pipelines\""
}

type GetServiceDeployment

type GetServiceDeployment struct {
	ServiceDeployment *ServiceDeploymentExtended "json:\"serviceDeployment\" graphql:\"serviceDeployment\""
}

type GetServiceDeploymentByHandle added in v0.0.12

type GetServiceDeploymentByHandle struct {
	ServiceDeployment *ServiceDeploymentExtended "json:\"serviceDeployment\" graphql:\"serviceDeployment\""
}

type GitAttributes

type GitAttributes struct {
	// the url of this repository
	URL string `json:"url"`
	// an ssh private key to use with this repo if an ssh url was given
	PrivateKey *string `json:"privateKey,omitempty"`
	// a passphrase to decrypt the given private key
	Passphrase *string `json:"passphrase,omitempty"`
	// the http username for authenticated http repos, defaults to apiKey for github
	Username *string `json:"username,omitempty"`
	// the http password for http authenticated repos
	Password *string `json:"password,omitempty"`
	// a manually supplied https path for non standard git setups.  This is auto-inferred in many cases
	HTTPSPath *string `json:"httpsPath,omitempty"`
	// similar to https_path, a manually supplied url format for custom git.  Should be something like {url}/tree/{ref}/{folder}
	URLFormat *string `json:"urlFormat,omitempty"`
}

type GitFile added in v0.0.10

type GitFile struct {
	Path    string `json:"path"`
	Content string `json:"content"`
}

a file fetched from a git repository, eg a docs .md file

type GitHealth

type GitHealth string
const (
	GitHealthPullable GitHealth = "PULLABLE"
	GitHealthFailed   GitHealth = "FAILED"
)

func (GitHealth) IsValid

func (e GitHealth) IsValid() bool

func (GitHealth) MarshalGQL

func (e GitHealth) MarshalGQL(w io.Writer)

func (GitHealth) String

func (e GitHealth) String() string

func (*GitHealth) UnmarshalGQL

func (e *GitHealth) UnmarshalGQL(v interface{}) error

type GitRef

type GitRef struct {
	// a general git ref, either a branch name or commit sha understandable by `git checkout <ref>`
	Ref string `json:"ref"`
	// the folder manifests live under
	Folder string `json:"folder"`
}

a representation of where to pull manifests from git

type GitRefAttributes

type GitRefAttributes struct {
	Ref    string `json:"ref"`
	Folder string `json:"folder"`
}

type GitRefFragment

type GitRefFragment struct {
	Folder string "json:\"folder\" graphql:\"folder\""
	Ref    string "json:\"ref\" graphql:\"ref\""
}

type GitRepository

type GitRepository struct {
	// internal id of this repository
	ID string `json:"id"`
	// the git url of the repository, either https or ssh supported
	URL string `json:"url"`
	// whether its a http or ssh url
	AuthMethod *AuthMethod `json:"authMethod"`
	// whether we can currently pull this repo with the provided credentials
	Health *GitHealth `json:"health"`
	// the last successsful git pull timestamp
	PulledAt *string `json:"pulledAt"`
	// the error message if there were any pull errors
	Error *string `json:"error"`
	// the https url for this git repo
	HTTPSPath *string `json:"httpsPath"`
	// a format string to get the http url for a subfolder in a git repo
	URLFormat *string `json:"urlFormat"`
	// whether the current user can edit this repo
	Editable   *bool   `json:"editable"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

a git repository available for deployments

type GitRepositoryConnection

type GitRepositoryConnection struct {
	PageInfo PageInfo             `json:"pageInfo"`
	Edges    []*GitRepositoryEdge `json:"edges"`
}

type GitRepositoryEdge

type GitRepositoryEdge struct {
	Node   *GitRepository `json:"node"`
	Cursor *string        `json:"cursor"`
}

type GitRepositoryEdgeFragment

type GitRepositoryEdgeFragment struct {
	Node   *GitRepositoryFragment "json:\"node\" graphql:\"node\""
	Cursor *string                "json:\"cursor\" graphql:\"cursor\""
}

type GitRepositoryFragment

type GitRepositoryFragment struct {
	ID         string      "json:\"id\" graphql:\"id\""
	Error      *string     "json:\"error\" graphql:\"error\""
	Health     *GitHealth  "json:\"health\" graphql:\"health\""
	AuthMethod *AuthMethod "json:\"authMethod\" graphql:\"authMethod\""
	URL        string      "json:\"url\" graphql:\"url\""
}

type GitStatus

type GitStatus struct {
	Cloned *bool   `json:"cloned"`
	Output *string `json:"output"`
}

type GlobalService added in v0.0.2

type GlobalService struct {
	// internal id of this global service
	ID string `json:"id"`
	// a human readable name for this global service
	Name string `json:"name"`
	// a set of tags to select clusters for this global service
	Tags []*Tag `json:"tags"`
	// the service to replicate across clusters
	Service *ServiceDeployment `json:"service"`
	// whether to only apply to clusters with this provider
	Provider   *ClusterProvider `json:"provider"`
	InsertedAt *string          `json:"insertedAt"`
	UpdatedAt  *string          `json:"updatedAt"`
}

a rules based mechanism to redeploy a service across a fleet of clusters

type GlobalServiceAttributes added in v0.0.2

type GlobalServiceAttributes struct {
	Name       string           `json:"name"`
	Tags       []*TagAttributes `json:"tags,omitempty"`
	ProviderID *string          `json:"providerId,omitempty"`
}

type Group

type Group struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description *string `json:"description"`
	InsertedAt  *string `json:"insertedAt"`
	UpdatedAt   *string `json:"updatedAt"`
}

type GroupAttributes

type GroupAttributes struct {
	Name        string  `json:"name"`
	Description *string `json:"description,omitempty"`
}

type GroupConnection

type GroupConnection struct {
	PageInfo PageInfo     `json:"pageInfo"`
	Edges    []*GroupEdge `json:"edges"`
}

type GroupEdge

type GroupEdge struct {
	Node   *Group  `json:"node"`
	Cursor *string `json:"cursor"`
}

type GroupFragment

type GroupFragment struct {
	ID          string  "json:\"id\" graphql:\"id\""
	Name        string  "json:\"name\" graphql:\"name\""
	Description *string "json:\"description\" graphql:\"description\""
}

type GroupMember

type GroupMember struct {
	ID         string  `json:"id"`
	User       *User   `json:"user"`
	Group      *Group  `json:"group"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

type GroupMemberConnection

type GroupMemberConnection struct {
	PageInfo PageInfo           `json:"pageInfo"`
	Edges    []*GroupMemberEdge `json:"edges"`
}

type GroupMemberEdge

type GroupMemberEdge struct {
	Node   *GroupMember `json:"node"`
	Cursor *string      `json:"cursor"`
}

type HTTPIngressRule

type HTTPIngressRule struct {
	Paths []*IngressPath `json:"paths"`
}

type HelmChartEntry added in v0.0.44

type HelmChartEntry struct {
	// the name of the chart
	Name *string `json:"name"`
	// all found versions of the chart
	Versions []*HelmChartVersion `json:"versions"`
}

a chart manifest entry, including all versions

type HelmChartVersion added in v0.0.44

type HelmChartVersion struct {
	// the version of the app contained w/in this chart
	AppVersion *string `json:"appVersion"`
	// the version of the chart itself
	Version *string `json:"version"`
	// the name of the chart
	Name *string `json:"name"`
	Type *string `json:"type"`
	// sha digest of this chart's contents
	Digest *string `json:"digest"`
}

a chart version contained within a helm repository manifest

type HelmConfigAttributes added in v0.0.44

type HelmConfigAttributes struct {
	Values      *string         `json:"values,omitempty"`
	ValuesFiles []*string       `json:"valuesFiles,omitempty"`
	Chart       *string         `json:"chart,omitempty"`
	Version     *string         `json:"version,omitempty"`
	Repository  *NamespacedName `json:"repository,omitempty"`
}

type HelmRepository added in v0.0.44

type HelmRepository struct {
	Metadata Metadata           `json:"metadata"`
	Spec     HelmRepositorySpec `json:"spec"`
	// the charts found in this repository (heavy operation, don't do in list endpoints)
	Charts []*HelmChartEntry `json:"charts"`
	// can fetch the status of a given helm repository
	Status *HelmRepositoryStatus `json:"status"`
}

a crd representation of a helm repository

type HelmRepositorySpec added in v0.0.44

type HelmRepositorySpec struct {
	Provider *string `json:"provider"`
	URL      string  `json:"url"`
	Type     *string `json:"type"`
}

a specification of how a helm repository is fetched

type HelmRepositoryStatus added in v0.0.44

type HelmRepositoryStatus struct {
	Ready   *bool   `json:"ready"`
	Message *string `json:"message"`
}

the state of this helm repository

type HelmSpec added in v0.0.44

type HelmSpec struct {
	// the name of the chart this service is using
	Chart *string `json:"chart"`
	// a helm values file to use with this service, requires auth and so is heavy to query
	Values *string `json:"values"`
	// pointer to the flux helm repository resource used for this chart
	Repository *ObjectReference `json:"repository"`
	// the chart version in use currently
	Version *string `json:"version"`
	// a list of relative paths to values files to use for helm applies
	ValuesFiles []*string `json:"valuesFiles"`
}

type HelmSpecFragment added in v0.0.48

type HelmSpecFragment struct {
	ValuesFiles []*string "json:\"valuesFiles\" graphql:\"valuesFiles\""
}

type Ingress

type Ingress struct {
	Metadata     Metadata       `json:"metadata"`
	Status       ServiceStatus  `json:"status"`
	Spec         IngressSpec    `json:"spec"`
	Certificates []*Certificate `json:"certificates"`
	Raw          string         `json:"raw"`
	Events       []*Event       `json:"events"`
}

type IngressBackend

type IngressBackend struct {
	ServiceName *string `json:"serviceName"`
	ServicePort *string `json:"servicePort"`
}

type IngressPath

type IngressPath struct {
	Backend *IngressBackend `json:"backend"`
	Path    *string         `json:"path"`
}

type IngressRule

type IngressRule struct {
	Host *string          `json:"host"`
	HTTP *HTTPIngressRule `json:"http"`
}

type IngressSpec

type IngressSpec struct {
	Rules []*IngressRule `json:"rules"`
	TLS   []*IngressTLS  `json:"tls"`
}

type IngressTLS

type IngressTLS struct {
	Hosts []*string `json:"hosts"`
}

type Installation

type Installation struct {
	ID         string      `json:"id"`
	Repository *Repository `json:"repository"`
}

type InstallationConnection

type InstallationConnection struct {
	PageInfo PageInfo            `json:"pageInfo"`
	Edges    []*InstallationEdge `json:"edges"`
}

type InstallationEdge

type InstallationEdge struct {
	Node   *Installation `json:"node"`
	Cursor *string       `json:"cursor"`
}

type Invite

type Invite struct {
	SecureID string  `json:"secureId"`
	Email    *string `json:"email"`
}

type InviteAttributes

type InviteAttributes struct {
	Email *string `json:"email,omitempty"`
}

type IssuerRef

type IssuerRef struct {
	Group *string `json:"group"`
	Kind  *string `json:"kind"`
	Name  *string `json:"name"`
}

type Job

type Job struct {
	Metadata Metadata  `json:"metadata"`
	Status   JobStatus `json:"status"`
	Spec     JobSpec   `json:"spec"`
	Raw      string    `json:"raw"`
	Events   []*Event  `json:"events"`
	Pods     []*Pod    `json:"pods"`
}

type JobGateSpec added in v0.0.38

type JobGateSpec struct {
	// the namespace the job will run in
	Namespace string `json:"namespace"`
	// a raw kubernetes job resource, overrides any other configuration
	Raw *string `json:"raw"`
	// list of containers to run in this job
	Containers []*ContainerSpec `json:"containers"`
	// any pod labels to apply
	Labels map[string]interface{} `json:"labels"`
	// any pod annotations to apply
	Annotations map[string]interface{} `json:"annotations"`
	// the service account the pod will use
	ServiceAccount *string `json:"serviceAccount"`
}

the full specification of a job gate

type JobReference

type JobReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

type JobSpec

type JobSpec struct {
	BackoffLimit          *int64 `json:"backoffLimit"`
	Parallelism           *int64 `json:"parallelism"`
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds"`
}

type JobSpecFragment added in v0.0.47

type JobSpecFragment struct {
	Namespace      string                   "json:\"namespace\" graphql:\"namespace\""
	Raw            *string                  "json:\"raw\" graphql:\"raw\""
	Containers     []*ContainerSpecFragment "json:\"containers\" graphql:\"containers\""
	Labels         map[string]interface{}   "json:\"labels\" graphql:\"labels\""
	Annotations    map[string]interface{}   "json:\"annotations\" graphql:\"annotations\""
	ServiceAccount *string                  "json:\"serviceAccount\" graphql:\"serviceAccount\""
}

type JobStatus

type JobStatus struct {
	Active         *int64  `json:"active"`
	CompletionTime *string `json:"completionTime"`
	StartTime      *string `json:"startTime"`
	Succeeded      *int64  `json:"succeeded"`
	Failed         *int64  `json:"failed"`
}

type KubeconfigAttributes added in v0.0.10

type KubeconfigAttributes struct {
	Raw *string `json:"raw,omitempty"`
}

type KubernetesData

type KubernetesData interface {
	IsKubernetesData()
}

supported kubernetes objects fetchable in runbooks

type KubernetesDatasource

type KubernetesDatasource struct {
	Resource string `json:"resource"`
	Name     string `json:"name"`
}

type KubernetesUnstructured added in v0.0.17

type KubernetesUnstructured struct {
	Raw      map[string]interface{} `json:"raw"`
	Metadata Metadata               `json:"metadata"`
	Events   []*Event               `json:"events"`
}

type Kustomize added in v0.0.32

type Kustomize struct {
	Path string `json:"path"`
}

metadata needed for configuring kustomize

type KustomizeAttributes added in v0.0.32

type KustomizeAttributes struct {
	// the path to the kustomization file to use
	Path string `json:"path"`
}

type KustomizeFragment added in v0.0.33

type KustomizeFragment struct {
	Path string "json:\"path\" graphql:\"path\""
}

type LabelInput

type LabelInput struct {
	Name  *string `json:"name,omitempty"`
	Value *string `json:"value,omitempty"`
}

type LabelPair

type LabelPair struct {
	Name  *string `json:"name"`
	Value *string `json:"value"`
}

type License

type License struct {
	Metadata Metadata       `json:"metadata"`
	Spec     LicenseSpec    `json:"spec"`
	Status   *LicenseStatus `json:"status"`
}

type LicenseFeature

type LicenseFeature struct {
	Name        string  `json:"name"`
	Description *string `json:"description"`
}

type LicenseSpec

type LicenseSpec struct {
	SecretRef SecretKeySelector `json:"secretRef"`
}

type LicenseStatus

type LicenseStatus struct {
	Plan     *string                `json:"plan"`
	Free     *bool                  `json:"free"`
	Features []*LicenseFeature      `json:"features"`
	Limits   map[string]interface{} `json:"limits"`
	Secrets  map[string]interface{} `json:"secrets"`
}

type ListAccessTokens

type ListAccessTokens struct {
	AccessTokens *struct {
		Edges []*AccessTokenEdgeFragment "json:\"edges\" graphql:\"edges\""
	} "json:\"accessTokens\" graphql:\"accessTokens\""
}

type ListClusterServices

type ListClusterServices struct {
	ClusterServices []*ServiceDeploymentBaseFragment "json:\"clusterServices\" graphql:\"clusterServices\""
}

type ListClusters

type ListClusters struct {
	Clusters *struct {
		Edges []*ClusterEdgeFragment "json:\"edges\" graphql:\"edges\""
	} "json:\"clusters\" graphql:\"clusters\""
}

type ListDeploymentSettings

type ListDeploymentSettings struct {
	DeploymentSettings *DeploymentSettingsFragment "json:\"deploymentSettings\" graphql:\"deploymentSettings\""
}

type ListGitRepositories

type ListGitRepositories struct {
	GitRepositories *struct {
		Edges []*GitRepositoryEdgeFragment "json:\"edges\" graphql:\"edges\""
	} "json:\"gitRepositories\" graphql:\"gitRepositories\""
}

type ListProviders added in v0.0.18

type ListProviders struct {
	ClusterProviders *ClusterProviderConnectionFragment "json:\"clusterProviders\" graphql:\"clusterProviders\""
}

type ListServiceDeployment

type ListServiceDeployment struct {
	ServiceDeployments *struct {
		Edges []*ServiceDeploymentEdgeFragment "json:\"edges\" graphql:\"edges\""
	} "json:\"serviceDeployments\" graphql:\"serviceDeployments\""
}

type ListServiceDeploymentByHandle added in v0.0.12

type ListServiceDeploymentByHandle struct {
	ServiceDeployments *struct {
		Edges []*ServiceDeploymentEdgeFragment "json:\"edges\" graphql:\"edges\""
	} "json:\"serviceDeployments\" graphql:\"serviceDeployments\""
}

type ListServiceDeployments added in v0.0.5

type ListServiceDeployments struct {
	ServiceDeployments *struct {
		Edges []*struct {
			Node *ServiceDeploymentFragment "json:\"node\" graphql:\"node\""
		} "json:\"edges\" graphql:\"edges\""
	} "json:\"serviceDeployments\" graphql:\"serviceDeployments\""
}

type LoadBalancerIngressStatus

type LoadBalancerIngressStatus struct {
	Hostname *string `json:"hostname"`
	IP       *string `json:"ip"`
}

type LoadBalancerStatus

type LoadBalancerStatus struct {
	Ingress []*LoadBalancerIngressStatus `json:"ingress"`
}

type LogFilter

type LogFilter struct {
	Metadata Metadata      `json:"metadata"`
	Spec     LogFilterSpec `json:"spec"`
}

type LogFilterSpec

type LogFilterSpec struct {
	Name        *string     `json:"name"`
	Description *string     `json:"description"`
	Query       *string     `json:"query"`
	Labels      []*LogLabel `json:"labels"`
}

type LogLabel

type LogLabel struct {
	Name  *string `json:"name"`
	Value *string `json:"value"`
}

type LogStream

type LogStream struct {
	Stream map[string]interface{} `json:"stream"`
	Values []*MetricResult        `json:"values"`
}

type LoginInfo

type LoginInfo struct {
	OidcURI *string `json:"oidcUri"`
}

type ManifestNetwork

type ManifestNetwork struct {
	PluralDNS *bool   `json:"pluralDns"`
	Subdomain *string `json:"subdomain"`
}

type Metadata

type Metadata struct {
	Labels            []*LabelPair `json:"labels"`
	Annotations       []*LabelPair `json:"annotations"`
	Name              string       `json:"name"`
	Namespace         *string      `json:"namespace"`
	CreationTimestamp *string      `json:"creationTimestamp"`
}

type MetadataAttributes added in v0.0.12

type MetadataAttributes struct {
	Labels      map[string]interface{} `json:"labels,omitempty"`
	Annotations map[string]interface{} `json:"annotations,omitempty"`
}

type MetricResponse

type MetricResponse struct {
	Metric map[string]interface{} `json:"metric"`
	Values []*MetricResult        `json:"values"`
}

type MetricResult

type MetricResult struct {
	Timestamp *string `json:"timestamp"`
	Value     *string `json:"value"`
}

type MyCluster added in v0.0.19

type MyCluster struct {
	MyCluster *struct {
		ID   string "json:\"id\" graphql:\"id\""
		Name string "json:\"name\" graphql:\"name\""
	} "json:\"myCluster\" graphql:\"myCluster\""
}

type Namespace

type Namespace struct {
	Status   NamespaceStatus `json:"status"`
	Spec     NamespaceSpec   `json:"spec"`
	Metadata Metadata        `json:"metadata"`
	Raw      string          `json:"raw"`
	Events   []*Event        `json:"events"`
}

type NamespaceMetadata added in v0.0.12

type NamespaceMetadata struct {
	Labels      map[string]interface{} `json:"labels"`
	Annotations map[string]interface{} `json:"annotations"`
}

metadata fields for created namespaces

type NamespaceSpec

type NamespaceSpec struct {
	Finalizers []*string `json:"finalizers"`
}

type NamespaceStatus

type NamespaceStatus struct {
	Phase *string `json:"phase"`
}

type NamespacedName added in v0.0.38

type NamespacedName struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

type Node

type Node struct {
	Status   NodeStatus `json:"status"`
	Spec     NodeSpec   `json:"spec"`
	Metadata Metadata   `json:"metadata"`
	Raw      string     `json:"raw"`
	Pods     []*Pod     `json:"pods"`
	Events   []*Event   `json:"events"`
}

type NodeCloudSettings added in v0.0.45

type NodeCloudSettings struct {
	Aws *AwsCloud `json:"aws"`
}

cloud specific settings for a node pool

type NodeCondition

type NodeCondition struct {
	Message *string `json:"message"`
	Reason  *string `json:"reason"`
	Status  *string `json:"status"`
	Type    *string `json:"type"`
}

type NodeMetric

type NodeMetric struct {
	Metadata  Metadata   `json:"metadata"`
	Timestamp *string    `json:"timestamp"`
	Window    *string    `json:"window"`
	Usage     *NodeUsage `json:"usage"`
}

type NodePool

type NodePool struct {
	// internal id for this node pool
	ID string `json:"id"`
	// name of this node pool (must be unique)
	Name string `json:"name"`
	// minimum number of instances in this node pool
	MinSize int64 `json:"minSize"`
	// maximum number of instances in this node pool
	MaxSize int64 `json:"maxSize"`
	// the type of node to use (usually cloud-specific)
	InstanceType string `json:"instanceType"`
	// whether this is a spot pool or not
	Spot *bool `json:"spot"`
	// kubernetes labels to apply to the nodes in this pool, useful for node selectors
	Labels *string `json:"labels"`
	// any taints you'd want to apply to a node, for eg preventing scheduling on spot instances
	Taints []*Taint `json:"taints"`
	// cloud specific settings for the node groups
	CloudSettings *NodeCloudSettings `json:"cloudSettings"`
	InsertedAt    *string            `json:"insertedAt"`
	UpdatedAt     *string            `json:"updatedAt"`
}

a specification for a node pool to be created in this cluster

type NodePoolAttributes

type NodePoolAttributes struct {
	Name          string                   `json:"name"`
	MinSize       int64                    `json:"minSize"`
	MaxSize       int64                    `json:"maxSize"`
	InstanceType  string                   `json:"instanceType"`
	Labels        *string                  `json:"labels,omitempty"`
	Taints        []*TaintAttributes       `json:"taints,omitempty"`
	CloudSettings *NodePoolCloudAttributes `json:"cloudSettings,omitempty"`
}

type NodePoolCloudAttributes added in v0.0.45

type NodePoolCloudAttributes struct {
	Aws *AwsNodeCloudAttributes `json:"aws,omitempty"`
}

type NodePoolFragment added in v0.0.2

type NodePoolFragment struct {
	ID           string                   "json:\"id\" graphql:\"id\""
	Name         string                   "json:\"name\" graphql:\"name\""
	MinSize      int64                    "json:\"minSize\" graphql:\"minSize\""
	MaxSize      int64                    "json:\"maxSize\" graphql:\"maxSize\""
	InstanceType string                   "json:\"instanceType\" graphql:\"instanceType\""
	Labels       *string                  "json:\"labels\" graphql:\"labels\""
	Taints       []*NodePoolTaintFragment "json:\"taints\" graphql:\"taints\""
}

type NodePoolTaintFragment added in v0.0.46

type NodePoolTaintFragment struct {
	Key    string "json:\"key\" graphql:\"key\""
	Value  string "json:\"value\" graphql:\"value\""
	Effect string "json:\"effect\" graphql:\"effect\""
}

type NodeSpec

type NodeSpec struct {
	PodCidr       *string `json:"podCidr"`
	ProviderID    *string `json:"providerId"`
	Unschedulable *bool   `json:"unschedulable"`
}

type NodeStatus

type NodeStatus struct {
	Allocatable map[string]interface{} `json:"allocatable"`
	Capacity    map[string]interface{} `json:"capacity"`
	Phase       *string                `json:"phase"`
	Conditions  []*NodeCondition       `json:"conditions"`
}

type NodeUsage

type NodeUsage struct {
	CPU    *string `json:"cpu"`
	Memory *string `json:"memory"`
}

type Notification

type Notification struct {
	ID          string                 `json:"id"`
	Title       string                 `json:"title"`
	Description *string                `json:"description"`
	Fingerprint string                 `json:"fingerprint"`
	Status      *NotificationStatus    `json:"status"`
	Labels      map[string]interface{} `json:"labels"`
	Annotations map[string]interface{} `json:"annotations"`
	Repository  string                 `json:"repository"`
	SeenAt      *string                `json:"seenAt"`
	Severity    *Severity              `json:"severity"`
	InsertedAt  *string                `json:"insertedAt"`
	UpdatedAt   *string                `json:"updatedAt"`
}

type NotificationConnection

type NotificationConnection struct {
	PageInfo PageInfo            `json:"pageInfo"`
	Edges    []*NotificationEdge `json:"edges"`
}

type NotificationDelta

type NotificationDelta struct {
	Delta   *Delta        `json:"delta"`
	Payload *Notification `json:"payload"`
}

type NotificationEdge

type NotificationEdge struct {
	Node   *Notification `json:"node"`
	Cursor *string       `json:"cursor"`
}

type NotificationStatus

type NotificationStatus string
const (
	NotificationStatusFiring   NotificationStatus = "FIRING"
	NotificationStatusResolved NotificationStatus = "RESOLVED"
)

func (NotificationStatus) IsValid

func (e NotificationStatus) IsValid() bool

func (NotificationStatus) MarshalGQL

func (e NotificationStatus) MarshalGQL(w io.Writer)

func (NotificationStatus) String

func (e NotificationStatus) String() string

func (*NotificationStatus) UnmarshalGQL

func (e *NotificationStatus) UnmarshalGQL(v interface{}) error

type ObjectReference added in v0.0.44

type ObjectReference struct {
	Name      *string `json:"name"`
	Namespace *string `json:"namespace"`
}

type OverlayUpdate

type OverlayUpdate struct {
	Path []*string `json:"path"`
}

type PageInfo

type PageInfo struct {
	// When paginating backwards, are there more items?
	HasPreviousPage bool `json:"hasPreviousPage"`
	// When paginating forwards, are there more items?
	HasNextPage bool `json:"hasNextPage"`
	// When paginating backwards, the cursor to continue.
	StartCursor *string `json:"startCursor"`
	// When paginating forwards, the cursor to continue.
	EndCursor *string `json:"endCursor"`
}

type PathUpdate

type PathUpdate struct {
	Path      []*string `json:"path"`
	ValueFrom string    `json:"valueFrom"`
}

type Permission

type Permission string
const (
	PermissionRead      Permission = "READ"
	PermissionConfigure Permission = "CONFIGURE"
	PermissionDeploy    Permission = "DEPLOY"
	PermissionOperate   Permission = "OPERATE"
)

func (Permission) IsValid

func (e Permission) IsValid() bool

func (Permission) MarshalGQL

func (e Permission) MarshalGQL(w io.Writer)

func (Permission) String

func (e Permission) String() string

func (*Permission) UnmarshalGQL

func (e *Permission) UnmarshalGQL(v interface{}) error

type PingCluster

type PingCluster struct {
	PingCluster *struct {
		ID   string "json:\"id\" graphql:\"id\""
		Name string "json:\"name\" graphql:\"name\""
	} "json:\"pingCluster\" graphql:\"pingCluster\""
}

type Pipeline added in v0.0.19

type Pipeline struct {
	ID string `json:"id"`
	// the name of the pipeline
	Name string `json:"name"`
	// the stages of this pipeline
	Stages []*PipelineStage `json:"stages"`
	// edges linking two stages w/in the pipeline in a full DAG
	Edges      []*PipelineStageEdge `json:"edges"`
	InsertedAt *string              `json:"insertedAt"`
	UpdatedAt  *string              `json:"updatedAt"`
}

a release pipeline, composed of multiple stages each with potentially multiple services

type PipelineAttributes added in v0.0.19

type PipelineAttributes struct {
	Stages []*PipelineStageAttributes `json:"stages,omitempty"`
	Edges  []*PipelineEdgeAttributes  `json:"edges,omitempty"`
}

the top level input object for creating/deleting pipelines

type PipelineConnection added in v0.0.19

type PipelineConnection struct {
	PageInfo PageInfo        `json:"pageInfo"`
	Edges    []*PipelineEdge `json:"edges"`
}

type PipelineEdge added in v0.0.19

type PipelineEdge struct {
	Node   *Pipeline `json:"node"`
	Cursor *string   `json:"cursor"`
}

type PipelineEdgeAttributes added in v0.0.19

type PipelineEdgeAttributes struct {
	// stage id the edge is from, can also be specified by name
	FromID *string `json:"fromId,omitempty"`
	// stage id the edge is to, can also be specified by name
	ToID *string `json:"toId,omitempty"`
	// the name of the pipeline stage this edge emits from
	From *string `json:"from,omitempty"`
	// the name of the pipeline stage this edge points to
	To *string `json:"to,omitempty"`
	// any optional promotion gates you wish to configure
	Gates []*PipelineGateAttributes `json:"gates,omitempty"`
}

specification of an edge between two pipeline stages

type PipelineEdgeFragment added in v0.0.20

type PipelineEdgeFragment struct {
	Node *PipelineFragment "json:\"node\" graphql:\"node\""
}

type PipelineFragment added in v0.0.20

type PipelineFragment struct {
	ID     string                       "json:\"id\" graphql:\"id\""
	Name   string                       "json:\"name\" graphql:\"name\""
	Stages []*PipelineStageFragment     "json:\"stages\" graphql:\"stages\""
	Edges  []*PipelineStageEdgeFragment "json:\"edges\" graphql:\"edges\""
}

type PipelineGate added in v0.0.23

type PipelineGate struct {
	ID string `json:"id"`
	// the name of this gate as seen in the UI
	Name string `json:"name"`
	// the type of gate this is
	Type GateType `json:"type"`
	// the current state of this gate
	State GateState `json:"state"`
	// more detailed specification for complex gates
	Spec *GateSpec `json:"spec"`
	// the last user to approve this gate
	Approver   *User   `json:"approver"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

A gate blocking promotion along a release pipeline

type PipelineGateAttributes added in v0.0.23

type PipelineGateAttributes struct {
	// the name of this gate
	Name string `json:"name"`
	// the type of gate this is
	Type GateType `json:"type"`
	// the handle of a cluster this gate will execute on
	Cluster *string `json:"cluster,omitempty"`
	// the id of the cluster this gate will execute on
	ClusterID *string `json:"clusterId,omitempty"`
	// a specification for more complex gate types
	Spec *GateSpecAttributes `json:"spec,omitempty"`
}

will configure a promotion gate for a pipeline

type PipelineGateFragment added in v0.0.45

type PipelineGateFragment struct {
	ID        string            "json:\"id\" graphql:\"id\""
	Name      string            "json:\"name\" graphql:\"name\""
	Type      GateType          "json:\"type\" graphql:\"type\""
	State     GateState         "json:\"state\" graphql:\"state\""
	UpdatedAt *string           "json:\"updatedAt\" graphql:\"updatedAt\""
	Spec      *GateSpecFragment "json:\"spec\" graphql:\"spec\""
}

type PipelinePromotion added in v0.0.19

type PipelinePromotion struct {
	ID string `json:"id"`
	// the last time this promotion was updated
	RevisedAt *string `json:"revisedAt"`
	// the last time this promotion was fully promoted, it's no longer pending if promoted_at > revised_at
	PromotedAt *string `json:"promotedAt"`
	// the services included in this promotion
	Services   []*PromotionService `json:"services"`
	InsertedAt *string             `json:"insertedAt"`
	UpdatedAt  *string             `json:"updatedAt"`
}

a representation of an individual pipeline promotion, which is a list of services/revisions and timestamps to determine promotion status

type PipelineStage added in v0.0.19

type PipelineStage struct {
	ID string `json:"id"`
	// the name of this stage (eg dev, prod, staging)
	Name string `json:"name"`
	// the services within this stage
	Services []*StageService `json:"services"`
	// a promotion which might be outstanding for this stage
	Promotion  *PipelinePromotion `json:"promotion"`
	InsertedAt *string            `json:"insertedAt"`
	UpdatedAt  *string            `json:"updatedAt"`
}

a pipeline stage, has a list of services and potentially a promotion which might be pending

type PipelineStageAttributes added in v0.0.19

type PipelineStageAttributes struct {
	Name     string                    `json:"name"`
	Services []*StageServiceAttributes `json:"services,omitempty"`
}

specification of a stage of a pipeline

type PipelineStageEdge added in v0.0.19

type PipelineStageEdge struct {
	ID string `json:"id"`
	// when the edge was last promoted, if greater than the promotion objects revised at, was successfully promoted
	PromotedAt *string         `json:"promotedAt"`
	From       PipelineStage   `json:"from"`
	To         PipelineStage   `json:"to"`
	Gates      []*PipelineGate `json:"gates"`
	InsertedAt *string         `json:"insertedAt"`
	UpdatedAt  *string         `json:"updatedAt"`
}

an edge in the pipeline DAG

type PipelineStageEdgeFragment added in v0.0.20

type PipelineStageEdgeFragment struct {
	ID   string                "json:\"id\" graphql:\"id\""
	From PipelineStageFragment "json:\"from\" graphql:\"from\""
	To   PipelineStageFragment "json:\"to\" graphql:\"to\""
}

type PipelineStageFragment added in v0.0.20

type PipelineStageFragment struct {
	ID       string "json:\"id\" graphql:\"id\""
	Name     string "json:\"name\" graphql:\"name\""
	Services []*struct {
		Service  *ServiceDeploymentBaseFragment "json:\"service\" graphql:\"service\""
		Criteria *struct {
			Source  *ServiceDeploymentBaseFragment "json:\"source\" graphql:\"source\""
			Secrets []*string                      "json:\"secrets\" graphql:\"secrets\""
		} "json:\"criteria\" graphql:\"criteria\""
	} "json:\"services\" graphql:\"services\""
}

type Plan

type Plan struct {
	ID     *string `json:"id"`
	Name   *string `json:"name"`
	Period *string `json:"period"`
}

type PluralContext

type PluralContext struct {
	Buckets       []*string              `json:"buckets"`
	Domains       []*string              `json:"domains"`
	Configuration map[string]interface{} `json:"configuration"`
}

type PluralManifest

type PluralManifest struct {
	Network      *ManifestNetwork `json:"network"`
	BucketPrefix *string          `json:"bucketPrefix"`
	Cluster      *string          `json:"cluster"`
}

type PluralSubscription

type PluralSubscription struct {
	ID   *string `json:"id"`
	Plan *Plan   `json:"plan"`
}

type Pod

type Pod struct {
	Status   PodStatus `json:"status"`
	Spec     PodSpec   `json:"spec"`
	Metadata Metadata  `json:"metadata"`
	Raw      string    `json:"raw"`
	Logs     []*string `json:"logs"`
	Events   []*Event  `json:"events"`
}

type PodCondition

type PodCondition struct {
	LastProbeTime      *string `json:"lastProbeTime"`
	LastTransitionTime *string `json:"lastTransitionTime"`
	Message            *string `json:"message"`
	Reason             *string `json:"reason"`
	Status             *string `json:"status"`
	Type               *string `json:"type"`
}

type PodConnection

type PodConnection struct {
	PageInfo PageInfo   `json:"pageInfo"`
	Edges    []*PodEdge `json:"edges"`
}

type PodDelta

type PodDelta struct {
	Delta   *Delta `json:"delta"`
	Payload *Pod   `json:"payload"`
}

type PodEdge

type PodEdge struct {
	Node   *Pod    `json:"node"`
	Cursor *string `json:"cursor"`
}

type PodSpec

type PodSpec struct {
	ServiceAccountName *string      `json:"serviceAccountName"`
	NodeName           *string      `json:"nodeName"`
	Containers         []*Container `json:"containers"`
	InitContainers     []*Container `json:"initContainers"`
}

type PodStatus

type PodStatus struct {
	Message               *string            `json:"message"`
	Phase                 *string            `json:"phase"`
	HostIP                *string            `json:"hostIp"`
	PodIP                 *string            `json:"podIp"`
	Reason                *string            `json:"reason"`
	Conditions            []*PodCondition    `json:"conditions"`
	ContainerStatuses     []*ContainerStatus `json:"containerStatuses"`
	InitContainerStatuses []*ContainerStatus `json:"initContainerStatuses"`
}

type PolicyBinding

type PolicyBinding struct {
	ID    *string `json:"id"`
	User  *User   `json:"user"`
	Group *Group  `json:"group"`
}

type PolicyBindingAttributes

type PolicyBindingAttributes struct {
	ID      *string `json:"id,omitempty"`
	UserID  *string `json:"userId,omitempty"`
	GroupID *string `json:"groupId,omitempty"`
}

type PolicyBindingFragment

type PolicyBindingFragment struct {
	ID    *string        "json:\"id\" graphql:\"id\""
	Group *GroupFragment "json:\"group\" graphql:\"group\""
	User  *UserFragment  "json:\"user\" graphql:\"user\""
}

type Port

type Port struct {
	HostPort      *int64  `json:"hostPort"`
	ContainerPort *int64  `json:"containerPort"`
	Protocol      *string `json:"protocol"`
}

type PostgresInstance

type PostgresInstance struct {
	UID string `json:"uid"`
}

type PostgresSettings

type PostgresSettings struct {
	Version *string `json:"version"`
}

type Postgresql

type Postgresql struct {
	Metadata  Metadata            `json:"metadata"`
	Spec      PostgresqlSpec      `json:"spec"`
	Status    *PostgresqlStatus   `json:"status"`
	Instances []*PostgresInstance `json:"instances"`
}

type PostgresqlSpec

type PostgresqlSpec struct {
	TeamID            *string                `json:"teamId"`
	Users             map[string]interface{} `json:"users"`
	Resources         *Resources             `json:"resources"`
	Postgresql        *PostgresSettings      `json:"postgresql"`
	NumberOfInstances *int64                 `json:"numberOfInstances"`
	Databases         map[string]interface{} `json:"databases"`
	Volume            *DatabaseVolume        `json:"volume"`
	Pods              []*Pod                 `json:"pods"`
}

type PostgresqlStatus

type PostgresqlStatus struct {
	ClusterStatus *string `json:"clusterStatus"`
}

type PrometheusDatasource

type PrometheusDatasource struct {
	Query  string  `json:"query"`
	Format *string `json:"format"`
	Legend *string `json:"legend"`
}

type PromotionCriteria added in v0.0.19

type PromotionCriteria struct {
	ID string `json:"id"`
	// the source service in a prior stage to promote settings from
	Source *ServiceDeployment `json:"source"`
	// whether you want to copy any configuration values from the source service
	Secrets    []*string `json:"secrets"`
	InsertedAt *string   `json:"insertedAt"`
	UpdatedAt  *string   `json:"updatedAt"`
}

how a promotion for a service will be performed

type PromotionCriteriaAttributes added in v0.0.19

type PromotionCriteriaAttributes struct {
	// the handle of the cluster for the source service
	Handle *string `json:"handle,omitempty"`
	// the name of the source service
	Name *string `json:"name,omitempty"`
	// the id of the service to promote from
	SourceID *string `json:"sourceId,omitempty"`
	// the secrets to copy over in a promotion
	Secrets []*string `json:"secrets,omitempty"`
}

actions to perform if this stage service were promoted

type PromotionService added in v0.0.19

type PromotionService struct {
	ID string `json:"id"`
	// a service to promote
	Service *ServiceDeployment `json:"service"`
	// the revision of the service to promote
	Revision   *Revision `json:"revision"`
	InsertedAt *string   `json:"insertedAt"`
	UpdatedAt  *string   `json:"updatedAt"`
}

a service to be potentially promoted

type ProviderCredential added in v0.0.15

type ProviderCredential struct {
	ID         string  `json:"id"`
	Name       string  `json:"name"`
	Namespace  string  `json:"namespace"`
	Kind       string  `json:"kind"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

a cloud credential that can be used while creating new clusters

type ProviderCredentialAttributes added in v0.0.15

type ProviderCredentialAttributes struct {
	Namespace *string `json:"namespace,omitempty"`
	Name      string  `json:"name"`
	Kind      *string `json:"kind,omitempty"`
}

type ProviderCredentialFragment added in v0.0.18

type ProviderCredentialFragment struct {
	ID        string "json:\"id\" graphql:\"id\""
	Name      string "json:\"name\" graphql:\"name\""
	Namespace string "json:\"namespace\" graphql:\"namespace\""
	Kind      string "json:\"kind\" graphql:\"kind\""
}

type RbacAttributes

type RbacAttributes struct {
	ReadBindings  []*PolicyBindingAttributes `json:"readBindings,omitempty"`
	WriteBindings []*PolicyBindingAttributes `json:"writeBindings,omitempty"`
}

type ReadType

type ReadType string
const (
	ReadTypeNotification ReadType = "NOTIFICATION"
	ReadTypeBuild        ReadType = "BUILD"
)

func (ReadType) IsValid

func (e ReadType) IsValid() bool

func (ReadType) MarshalGQL

func (e ReadType) MarshalGQL(w io.Writer)

func (ReadType) String

func (e ReadType) String() string

func (*ReadType) UnmarshalGQL

func (e *ReadType) UnmarshalGQL(v interface{}) error

type Recipe

type Recipe struct {
	ID             string           `json:"id"`
	Name           string           `json:"name"`
	Description    *string          `json:"description"`
	Provider       *string          `json:"provider"`
	Restricted     *bool            `json:"restricted"`
	RecipeSections []*RecipeSection `json:"recipeSections"`
	OidcEnabled    *bool            `json:"oidcEnabled"`
}

type RecipeConnection

type RecipeConnection struct {
	PageInfo PageInfo      `json:"pageInfo"`
	Edges    []*RecipeEdge `json:"edges"`
}

type RecipeEdge

type RecipeEdge struct {
	Node   *Recipe `json:"node"`
	Cursor *string `json:"cursor"`
}

type RecipeItem

type RecipeItem struct {
	ID            string               `json:"id"`
	Configuration []*ConfigurationItem `json:"configuration"`
}

type RecipeSection

type RecipeSection struct {
	ID            string               `json:"id"`
	Repository    *Repository          `json:"repository"`
	RecipeItems   []*RecipeItem        `json:"recipeItems"`
	Configuration []*ConfigurationItem `json:"configuration"`
}

type Recommendation

type Recommendation struct {
	ContainerRecommendations []*ContainerRecommendation `json:"containerRecommendations"`
}

type RegisterRuntimeServices added in v0.0.38

type RegisterRuntimeServices struct {
	RegisterRuntimeServices *int64 "json:\"registerRuntimeServices\" graphql:\"registerRuntimeServices\""
}

type Repository

type Repository struct {
	ID            string         `json:"id"`
	Name          string         `json:"name"`
	Description   *string        `json:"description"`
	Icon          *string        `json:"icon"`
	Docs          []*FileContent `json:"docs"`
	Configuration *Configuration `json:"configuration"`
	GrafanaDNS    *string        `json:"grafanaDns"`
}

type RepositoryConnection

type RepositoryConnection struct {
	PageInfo PageInfo          `json:"pageInfo"`
	Edges    []*RepositoryEdge `json:"edges"`
}

type RepositoryContext

type RepositoryContext struct {
	Repository string                 `json:"repository"`
	Context    map[string]interface{} `json:"context"`
}

type RepositoryEdge

type RepositoryEdge struct {
	Node   *Repository `json:"node"`
	Cursor *string     `json:"cursor"`
}

type ResourceSpec

type ResourceSpec struct {
	CPU    *string `json:"cpu"`
	Memory *string `json:"memory"`
}

type Resources

type Resources struct {
	Limits   *ResourceSpec `json:"limits"`
	Requests *ResourceSpec `json:"requests"`
}

type Revision

type Revision struct {
	// id of this revision
	ID string `json:"id"`
	// the service's semver
	Version string `json:"version"`
	// git spec of the prior revision
	Git *GitRef `json:"git"`
	// description of how helm charts should be applied
	Helm *HelmSpec `json:"helm"`
	// the sha this service was pulled from
	Sha *string `json:"sha"`
	// the commit message for this revision
	Message    *string `json:"message"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

a representation of a past revision of a service

type RevisionConnection

type RevisionConnection struct {
	PageInfo PageInfo        `json:"pageInfo"`
	Edges    []*RevisionEdge `json:"edges"`
}

type RevisionEdge

type RevisionEdge struct {
	Node   *Revision `json:"node"`
	Cursor *string   `json:"cursor"`
}

type RevisionFragment added in v0.0.3

type RevisionFragment struct {
	ID  string  "json:\"id\" graphql:\"id\""
	Sha *string "json:\"sha\" graphql:\"sha\""
	Git *struct {
		Ref    string "json:\"ref\" graphql:\"ref\""
		Folder string "json:\"folder\" graphql:\"folder\""
	} "json:\"git\" graphql:\"git\""
}

type Role

type Role struct {
	ID           string         `json:"id"`
	Name         string         `json:"name"`
	Description  *string        `json:"description"`
	Repositories []*string      `json:"repositories"`
	Permissions  []*Permission  `json:"permissions"`
	RoleBindings []*RoleBinding `json:"roleBindings"`
	InsertedAt   *string        `json:"insertedAt"`
	UpdatedAt    *string        `json:"updatedAt"`
}

type RoleAttributes

type RoleAttributes struct {
	Name         *string              `json:"name,omitempty"`
	Description  *string              `json:"description,omitempty"`
	Repositories []*string            `json:"repositories,omitempty"`
	RoleBindings []*BindingAttributes `json:"roleBindings,omitempty"`
	Permissions  []*Permission        `json:"permissions,omitempty"`
}

type RoleBinding

type RoleBinding struct {
	ID         string  `json:"id"`
	User       *User   `json:"user"`
	Group      *Group  `json:"group"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

type RoleConnection

type RoleConnection struct {
	PageInfo PageInfo    `json:"pageInfo"`
	Edges    []*RoleEdge `json:"edges"`
}

type RoleEdge

type RoleEdge struct {
	Node   *Role   `json:"node"`
	Cursor *string `json:"cursor"`
}

type RollbackService

type RollbackService struct {
	RollbackService *ServiceDeploymentFragment "json:\"rollbackService\" graphql:\"rollbackService\""
}

type RollingUpdate

type RollingUpdate struct {
	MaxSurge       *int64 `json:"maxSurge"`
	MaxUnavailable *int64 `json:"maxUnavailable"`
}

type RootMutationType

type RootMutationType struct {
	CreateBuild              *Build                 "json:\"createBuild\" graphql:\"createBuild\""
	RestartBuild             *Build                 "json:\"restartBuild\" graphql:\"restartBuild\""
	CancelBuild              *Build                 "json:\"cancelBuild\" graphql:\"cancelBuild\""
	ApproveBuild             *Build                 "json:\"approveBuild\" graphql:\"approveBuild\""
	SignIn                   *User                  "json:\"signIn\" graphql:\"signIn\""
	LoginLink                *User                  "json:\"loginLink\" graphql:\"loginLink\""
	ReadNotifications        *User                  "json:\"readNotifications\" graphql:\"readNotifications\""
	Signup                   *User                  "json:\"signup\" graphql:\"signup\""
	OauthCallback            *User                  "json:\"oauthCallback\" graphql:\"oauthCallback\""
	CreateInvite             *Invite                "json:\"createInvite\" graphql:\"createInvite\""
	UpdateUser               *User                  "json:\"updateUser\" graphql:\"updateUser\""
	DeleteUser               *User                  "json:\"deleteUser\" graphql:\"deleteUser\""
	MarkRead                 *User                  "json:\"markRead\" graphql:\"markRead\""
	CreateGroup              *Group                 "json:\"createGroup\" graphql:\"createGroup\""
	DeleteGroup              *Group                 "json:\"deleteGroup\" graphql:\"deleteGroup\""
	UpdateGroup              *Group                 "json:\"updateGroup\" graphql:\"updateGroup\""
	CreateGroupMember        *GroupMember           "json:\"createGroupMember\" graphql:\"createGroupMember\""
	DeleteGroupMember        *GroupMember           "json:\"deleteGroupMember\" graphql:\"deleteGroupMember\""
	CreateRole               *Role                  "json:\"createRole\" graphql:\"createRole\""
	UpdateRole               *Role                  "json:\"updateRole\" graphql:\"updateRole\""
	DeleteRole               *Role                  "json:\"deleteRole\" graphql:\"deleteRole\""
	CreateAccessToken        *AccessToken           "json:\"createAccessToken\" graphql:\"createAccessToken\""
	DeleteAccessToken        *AccessToken           "json:\"deleteAccessToken\" graphql:\"deleteAccessToken\""
	DeleteCertificate        *bool                  "json:\"deleteCertificate\" graphql:\"deleteCertificate\""
	DeletePod                *Pod                   "json:\"deletePod\" graphql:\"deletePod\""
	DeleteJob                *Job                   "json:\"deleteJob\" graphql:\"deleteJob\""
	DeleteNode               *Node                  "json:\"deleteNode\" graphql:\"deleteNode\""
	OverlayConfiguration     *Build                 "json:\"overlayConfiguration\" graphql:\"overlayConfiguration\""
	CreatePeer               *WireguardPeer         "json:\"createPeer\" graphql:\"createPeer\""
	DeletePeer               *bool                  "json:\"deletePeer\" graphql:\"deletePeer\""
	InstallRecipe            *Build                 "json:\"installRecipe\" graphql:\"installRecipe\""
	InstallStack             *Build                 "json:\"installStack\" graphql:\"installStack\""
	UpdateSMTP               *SMTP                  "json:\"updateSmtp\" graphql:\"updateSmtp\""
	UpdateConfiguration      *Configuration         "json:\"updateConfiguration\" graphql:\"updateConfiguration\""
	CreateUpgradePolicy      *UpgradePolicy         "json:\"createUpgradePolicy\" graphql:\"createUpgradePolicy\""
	DeleteUpgradePolicy      *UpgradePolicy         "json:\"deleteUpgradePolicy\" graphql:\"deleteUpgradePolicy\""
	ExecuteRunbook           *RunbookActionResponse "json:\"executeRunbook\" graphql:\"executeRunbook\""
	CreateWebhook            *Webhook               "json:\"createWebhook\" graphql:\"createWebhook\""
	DeleteWebhook            *Webhook               "json:\"deleteWebhook\" graphql:\"deleteWebhook\""
	RestorePostgres          *Postgresql            "json:\"restorePostgres\" graphql:\"restorePostgres\""
	CreateGitRepository      *GitRepository         "json:\"createGitRepository\" graphql:\"createGitRepository\""
	UpdateGitRepository      *GitRepository         "json:\"updateGitRepository\" graphql:\"updateGitRepository\""
	DeleteGitRepository      *GitRepository         "json:\"deleteGitRepository\" graphql:\"deleteGitRepository\""
	CreateCluster            *Cluster               "json:\"createCluster\" graphql:\"createCluster\""
	UpdateCluster            *Cluster               "json:\"updateCluster\" graphql:\"updateCluster\""
	DeleteCluster            *Cluster               "json:\"deleteCluster\" graphql:\"deleteCluster\""
	DetachCluster            *Cluster               "json:\"detachCluster\" graphql:\"detachCluster\""
	CreateClusterProvider    *ClusterProvider       "json:\"createClusterProvider\" graphql:\"createClusterProvider\""
	UpdateClusterProvider    *ClusterProvider       "json:\"updateClusterProvider\" graphql:\"updateClusterProvider\""
	DeleteClusterProvider    *ClusterProvider       "json:\"deleteClusterProvider\" graphql:\"deleteClusterProvider\""
	CreateProviderCredential *ProviderCredential    "json:\"createProviderCredential\" graphql:\"createProviderCredential\""
	DeleteProviderCredential *ProviderCredential    "json:\"deleteProviderCredential\" graphql:\"deleteProviderCredential\""
	InstallAddOn             *ServiceDeployment     "json:\"installAddOn\" graphql:\"installAddOn\""
	CreateServiceDeployment  *ServiceDeployment     "json:\"createServiceDeployment\" graphql:\"createServiceDeployment\""
	UpdateServiceDeployment  *ServiceDeployment     "json:\"updateServiceDeployment\" graphql:\"updateServiceDeployment\""
	DeleteServiceDeployment  *ServiceDeployment     "json:\"deleteServiceDeployment\" graphql:\"deleteServiceDeployment\""
	MergeService             *ServiceDeployment     "json:\"mergeService\" graphql:\"mergeService\""
	RollbackService          *ServiceDeployment     "json:\"rollbackService\" graphql:\"rollbackService\""
	CloneService             *ServiceDeployment     "json:\"cloneService\" graphql:\"cloneService\""
	SelfManage               *ServiceDeployment     "json:\"selfManage\" graphql:\"selfManage\""
	CreateGlobalService      *GlobalService         "json:\"createGlobalService\" graphql:\"createGlobalService\""
	DeleteGlobalService      *GlobalService         "json:\"deleteGlobalService\" graphql:\"deleteGlobalService\""
	SavePipeline             *Pipeline              "json:\"savePipeline\" graphql:\"savePipeline\""
	ApproveGate              *PipelineGate          "json:\"approveGate\" graphql:\"approveGate\""
	ForceGate                *PipelineGate          "json:\"forceGate\" graphql:\"forceGate\""
	PingCluster              *Cluster               "json:\"pingCluster\" graphql:\"pingCluster\""
	RegisterRuntimeServices  *int64                 "json:\"registerRuntimeServices\" graphql:\"registerRuntimeServices\""
	UpdateServiceComponents  *ServiceDeployment     "json:\"updateServiceComponents\" graphql:\"updateServiceComponents\""
	UpdateGate               *PipelineGate          "json:\"updateGate\" graphql:\"updateGate\""
	UpdateRbac               *bool                  "json:\"updateRbac\" graphql:\"updateRbac\""
	UpdateDeploymentSettings *DeploymentSettings    "json:\"updateDeploymentSettings\" graphql:\"updateDeploymentSettings\""
	EnableDeployments        *DeploymentSettings    "json:\"enableDeployments\" graphql:\"enableDeployments\""
}

type RootQueryType

type RootQueryType struct {
	Configuration         *ConsoleConfiguration        "json:\"configuration\" graphql:\"configuration\""
	ExternalToken         *string                      "json:\"externalToken\" graphql:\"externalToken\""
	Builds                *BuildConnection             "json:\"builds\" graphql:\"builds\""
	Build                 *Build                       "json:\"build\" graphql:\"build\""
	BuildInfo             *BuildInfo                   "json:\"buildInfo\" graphql:\"buildInfo\""
	Users                 *UserConnection              "json:\"users\" graphql:\"users\""
	LoginInfo             *LoginInfo                   "json:\"loginInfo\" graphql:\"loginInfo\""
	Me                    *User                        "json:\"me\" graphql:\"me\""
	Invite                *Invite                      "json:\"invite\" graphql:\"invite\""
	Groups                *GroupConnection             "json:\"groups\" graphql:\"groups\""
	GroupMembers          *GroupMemberConnection       "json:\"groupMembers\" graphql:\"groupMembers\""
	Role                  *Role                        "json:\"role\" graphql:\"role\""
	Roles                 *RoleConnection              "json:\"roles\" graphql:\"roles\""
	Notifications         *NotificationConnection      "json:\"notifications\" graphql:\"notifications\""
	TemporaryToken        *string                      "json:\"temporaryToken\" graphql:\"temporaryToken\""
	AccessTokens          *AccessTokenConnection       "json:\"accessTokens\" graphql:\"accessTokens\""
	AccessToken           *AccessToken                 "json:\"accessToken\" graphql:\"accessToken\""
	Dashboards            []*Dashboard                 "json:\"dashboards\" graphql:\"dashboards\""
	Dashboard             *Dashboard                   "json:\"dashboard\" graphql:\"dashboard\""
	Metric                []*MetricResponse            "json:\"metric\" graphql:\"metric\""
	Logs                  []*LogStream                 "json:\"logs\" graphql:\"logs\""
	ScalingRecommendation *VerticalPodAutoscaler       "json:\"scalingRecommendation\" graphql:\"scalingRecommendation\""
	ConfigMap             *ConfigMap                   "json:\"configMap\" graphql:\"configMap\""
	Secret                *Secret                      "json:\"secret\" graphql:\"secret\""
	ConfigMaps            []*ConfigMap                 "json:\"configMaps\" graphql:\"configMaps\""
	Secrets               []*Secret                    "json:\"secrets\" graphql:\"secrets\""
	UnstructuredResource  *KubernetesUnstructured      "json:\"unstructuredResource\" graphql:\"unstructuredResource\""
	Service               *Service                     "json:\"service\" graphql:\"service\""
	ClusterInfo           *ClusterInfo                 "json:\"clusterInfo\" graphql:\"clusterInfo\""
	Deployment            *Deployment                  "json:\"deployment\" graphql:\"deployment\""
	StatefulSet           *StatefulSet                 "json:\"statefulSet\" graphql:\"statefulSet\""
	Ingress               *Ingress                     "json:\"ingress\" graphql:\"ingress\""
	Nodes                 []*Node                      "json:\"nodes\" graphql:\"nodes\""
	Node                  *Node                        "json:\"node\" graphql:\"node\""
	CronJob               *CronJob                     "json:\"cronJob\" graphql:\"cronJob\""
	Job                   *Job                         "json:\"job\" graphql:\"job\""
	Certificate           *Certificate                 "json:\"certificate\" graphql:\"certificate\""
	Pod                   *Pod                         "json:\"pod\" graphql:\"pod\""
	Pods                  *PodConnection               "json:\"pods\" graphql:\"pods\""
	WireguardPeers        []*WireguardPeer             "json:\"wireguardPeers\" graphql:\"wireguardPeers\""
	MyWireguardPeers      []*WireguardPeer             "json:\"myWireguardPeers\" graphql:\"myWireguardPeers\""
	WireguardPeer         *WireguardPeer               "json:\"wireguardPeer\" graphql:\"wireguardPeer\""
	CachedPods            []*Pod                       "json:\"cachedPods\" graphql:\"cachedPods\""
	Namespaces            []*Namespace                 "json:\"namespaces\" graphql:\"namespaces\""
	LogFilters            []*LogFilter                 "json:\"logFilters\" graphql:\"logFilters\""
	NodeMetrics           []*NodeMetric                "json:\"nodeMetrics\" graphql:\"nodeMetrics\""
	NodeMetric            *NodeMetric                  "json:\"nodeMetric\" graphql:\"nodeMetric\""
	ConfigurationOverlays []*ConfigurationOverlay      "json:\"configurationOverlays\" graphql:\"configurationOverlays\""
	Audits                *AuditConnection             "json:\"audits\" graphql:\"audits\""
	AuditMetrics          []*AuditMetric               "json:\"auditMetrics\" graphql:\"auditMetrics\""
	Ai                    *string                      "json:\"ai\" graphql:\"ai\""
	Account               *Account                     "json:\"account\" graphql:\"account\""
	Installations         *InstallationConnection      "json:\"installations\" graphql:\"installations\""
	Applications          []*Application               "json:\"applications\" graphql:\"applications\""
	Application           *Application                 "json:\"application\" graphql:\"application\""
	Repository            *Repository                  "json:\"repository\" graphql:\"repository\""
	Repositories          *RepositoryConnection        "json:\"repositories\" graphql:\"repositories\""
	Recipes               *RecipeConnection            "json:\"recipes\" graphql:\"recipes\""
	Context               []*RepositoryContext         "json:\"context\" graphql:\"context\""
	PluralContext         *PluralContext               "json:\"pluralContext\" graphql:\"pluralContext\""
	Recipe                *Recipe                      "json:\"recipe\" graphql:\"recipe\""
	Stack                 *Stack                       "json:\"stack\" graphql:\"stack\""
	SMTP                  *SMTP                        "json:\"smtp\" graphql:\"smtp\""
	UpgradePolicies       []*UpgradePolicy             "json:\"upgradePolicies\" graphql:\"upgradePolicies\""
	Runbook               *Runbook                     "json:\"runbook\" graphql:\"runbook\""
	Runbooks              []*Runbook                   "json:\"runbooks\" graphql:\"runbooks\""
	Webhooks              *WebhookConnection           "json:\"webhooks\" graphql:\"webhooks\""
	PostgresDatabases     []*Postgresql                "json:\"postgresDatabases\" graphql:\"postgresDatabases\""
	PostgresDatabase      *Postgresql                  "json:\"postgresDatabase\" graphql:\"postgresDatabase\""
	GitRepository         *GitRepository               "json:\"gitRepository\" graphql:\"gitRepository\""
	GitRepositories       *GitRepositoryConnection     "json:\"gitRepositories\" graphql:\"gitRepositories\""
	HelmRepositories      []*HelmRepository            "json:\"helmRepositories\" graphql:\"helmRepositories\""
	HelmRepository        *HelmRepository              "json:\"helmRepository\" graphql:\"helmRepository\""
	TokenExchange         *User                        "json:\"tokenExchange\" graphql:\"tokenExchange\""
	Clusters              *ClusterConnection           "json:\"clusters\" graphql:\"clusters\""
	ClusterProviders      *ClusterProviderConnection   "json:\"clusterProviders\" graphql:\"clusterProviders\""
	Cluster               *Cluster                     "json:\"cluster\" graphql:\"cluster\""
	ClusterProvider       *ClusterProvider             "json:\"clusterProvider\" graphql:\"clusterProvider\""
	ClusterAddOns         []*ClusterAddOn              "json:\"clusterAddOns\" graphql:\"clusterAddOns\""
	ServiceDeployments    *ServiceDeploymentConnection "json:\"serviceDeployments\" graphql:\"serviceDeployments\""
	ServiceStatuses       []*ServiceStatusCount        "json:\"serviceStatuses\" graphql:\"serviceStatuses\""
	Pipelines             *PipelineConnection          "json:\"pipelines\" graphql:\"pipelines\""
	Pipeline              *Pipeline                    "json:\"pipeline\" graphql:\"pipeline\""
	ClusterServices       []*ServiceDeployment         "json:\"clusterServices\" graphql:\"clusterServices\""
	ServiceDeployment     *ServiceDeployment           "json:\"serviceDeployment\" graphql:\"serviceDeployment\""
	MyCluster             *Cluster                     "json:\"myCluster\" graphql:\"myCluster\""
	ClusterGates          []*PipelineGate              "json:\"clusterGates\" graphql:\"clusterGates\""
	DeploymentSettings    *DeploymentSettings          "json:\"deploymentSettings\" graphql:\"deploymentSettings\""
}

type Runbook

type Runbook struct {
	Name       string                      `json:"name"`
	Spec       RunbookSpec                 `json:"spec"`
	Status     *RunbookStatus              `json:"status"`
	Data       []*RunbookData              `json:"data"`
	Executions *RunbookExecutionConnection `json:"executions"`
}

type RunbookAction

type RunbookAction struct {
	Name          string               `json:"name"`
	Type          string               `json:"type"`
	Configuration *ConfigurationAction `json:"configuration"`
}

type RunbookActionInput

type RunbookActionInput struct {
	Action  string                 `json:"action"`
	Context map[string]interface{} `json:"context"`
}

type RunbookActionResponse

type RunbookActionResponse struct {
	RedirectTo *string `json:"redirectTo"`
}

type RunbookAlertStatus

type RunbookAlertStatus struct {
	Name        string                 `json:"name"`
	StartsAt    *string                `json:"startsAt"`
	Fingerprint *string                `json:"fingerprint"`
	Annotations map[string]interface{} `json:"annotations"`
	Labels      map[string]interface{} `json:"labels"`
}

type RunbookContext

type RunbookContext struct {
	TimeseriesStart *int64  `json:"timeseriesStart,omitempty"`
	TimeseriesStep  *string `json:"timeseriesStep,omitempty"`
}

type RunbookData

type RunbookData struct {
	Name       string             `json:"name"`
	Source     *RunbookDatasource `json:"source"`
	Kubernetes KubernetesData     `json:"kubernetes"`
	Prometheus []*MetricResponse  `json:"prometheus"`
	Nodes      []*Node            `json:"nodes"`
}

type RunbookDatasource

type RunbookDatasource struct {
	Name       string                `json:"name"`
	Type       string                `json:"type"`
	Prometheus *PrometheusDatasource `json:"prometheus"`
	Kubernetes *KubernetesDatasource `json:"kubernetes"`
}

type RunbookExecution

type RunbookExecution struct {
	ID         string                 `json:"id"`
	Name       string                 `json:"name"`
	Namespace  string                 `json:"namespace"`
	Context    map[string]interface{} `json:"context"`
	User       *User                  `json:"user"`
	InsertedAt *string                `json:"insertedAt"`
	UpdatedAt  *string                `json:"updatedAt"`
}

type RunbookExecutionConnection

type RunbookExecutionConnection struct {
	PageInfo PageInfo                `json:"pageInfo"`
	Edges    []*RunbookExecutionEdge `json:"edges"`
}

type RunbookExecutionEdge

type RunbookExecutionEdge struct {
	Node   *RunbookExecution `json:"node"`
	Cursor *string           `json:"cursor"`
}

type RunbookSpec

type RunbookSpec struct {
	Name        string                 `json:"name"`
	Description *string                `json:"description"`
	Display     map[string]interface{} `json:"display"`
	Datasources []*RunbookDatasource   `json:"datasources"`
	Actions     []*RunbookAction       `json:"actions"`
}

type RunbookStatus

type RunbookStatus struct {
	Alerts []*RunbookAlertStatus `json:"alerts"`
}

type RunningState

type RunningState struct {
	StartedAt *string `json:"startedAt"`
}

type RuntimeAddon added in v0.0.38

type RuntimeAddon struct {
	// an icon to identify this runtime add-on
	Icon     *string         `json:"icon"`
	Versions []*AddonVersion `json:"versions"`
}

a full specification of a kubernetes runtime component's requirements

type RuntimeService added in v0.0.38

type RuntimeService struct {
	ID string `json:"id"`
	// add-on name
	Name string `json:"name"`
	// add-on version, should be semver formatted
	Version string `json:"version"`
	// the full specification of this kubernetes add-on
	Addon *RuntimeAddon `json:"addon"`
	// the version of the add-on you've currently deployed
	AddonVersion *AddonVersion `json:"addonVersion"`
	// the plural service it came from
	Service    *ServiceDeployment `json:"service"`
	InsertedAt *string            `json:"insertedAt"`
	UpdatedAt  *string            `json:"updatedAt"`
}

a service encapsulating a controller like istio/ingress-nginx/etc that is meant to extend the kubernetes api

type RuntimeServiceAttributes added in v0.0.38

type RuntimeServiceAttributes struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

type SMTP

type SMTP struct {
	Server   *string `json:"server"`
	Port     *int64  `json:"port"`
	Password *string `json:"password"`
	Sender   *string `json:"sender"`
	User     *string `json:"user"`
}

type SMTPInput

type SMTPInput struct {
	Server   *string `json:"server,omitempty"`
	Port     *int64  `json:"port,omitempty"`
	Password *string `json:"password,omitempty"`
	Sender   *string `json:"sender,omitempty"`
	User     *string `json:"user,omitempty"`
}

type SavePipeline added in v0.0.20

type SavePipeline struct {
	SavePipeline *PipelineFragment "json:\"savePipeline\" graphql:\"savePipeline\""
}

type Secret

type Secret struct {
	Metadata Metadata               `json:"metadata"`
	Type     *string                `json:"type"`
	Data     map[string]interface{} `json:"data"`
}

type SecretKeySelector

type SecretKeySelector struct {
	Name string  `json:"name"`
	Key  *string `json:"key"`
}

type Service

type Service struct {
	Metadata Metadata      `json:"metadata"`
	Status   ServiceStatus `json:"status"`
	Spec     ServiceSpec   `json:"spec"`
	Pods     []*Pod        `json:"pods"`
	Raw      string        `json:"raw"`
	Events   []*Event      `json:"events"`
}

type ServiceCloneAttributes added in v0.0.2

type ServiceCloneAttributes struct {
	Name          string              `json:"name"`
	Namespace     *string             `json:"namespace,omitempty"`
	Configuration []*ConfigAttributes `json:"configuration,omitempty"`
}

type ServiceComponent

type ServiceComponent struct {
	// internal id
	ID string `json:"id"`
	// kubernetes component health enum
	State *ComponentState `json:"state"`
	// whether this component has been applied to the k8s api
	Synced bool `json:"synced"`
	// api group of this resource
	Group *string `json:"group"`
	// api version of this resource
	Version *string `json:"version"`
	// api kind of this resource
	Kind string `json:"kind"`
	// kubernetes namespace of this resource
	Namespace *string `json:"namespace"`
	// kubernetes name of this resource
	Name string `json:"name"`
	// the service this component belongs to
	Service *ServiceDeployment `json:"service"`
	// any api deprecations discovered from this component
	APIDeprecations []*APIDeprecation `json:"apiDeprecations"`
}

representation of a kubernetes component deployed by a service

type ServiceConfiguration

type ServiceConfiguration struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

a configuration item k/v pair

type ServiceDeployment

type ServiceDeployment struct {
	// internal id of this service
	ID string `json:"id"`
	// human readable name of this service, must be unique per cluster
	Name string `json:"name"`
	// kubernetes namespace this service will be deployed to
	Namespace string `json:"namespace"`
	// A summary status enum for the health of this service
	Status ServiceDeploymentStatus `json:"status"`
	// semver of this service
	Version string `json:"version"`
	// description on where in git the service's manifests should be fetched
	Git *GitRef `json:"git"`
	// description of how helm charts should be applied
	Helm *HelmSpec `json:"helm"`
	// if true, deletion of this service is not allowed
	Protect *bool `json:"protect"`
	// latest git sha we pulled from
	Sha *string `json:"sha"`
	// https url to fetch the latest tarball of kubernetes manifests
	Tarball *string `json:"tarball"`
	// a n / m representation of the number of healthy components of this service
	ComponentStatus *string `json:"componentStatus"`
	// settings for advanced tuning of the sync process
	SyncConfig *SyncConfig `json:"syncConfig"`
	// kustomize related service metadata
	Kustomize *Kustomize `json:"kustomize"`
	// the commit message currently in use
	Message *string `json:"message"`
	// the time this service was scheduled for deletion
	DeletedAt *string `json:"deletedAt"`
	// fetches the /docs directory within this services git tree.  This is a heavy operation and should NOT be used in list queries
	Docs []*GitFile `json:"docs"`
	// the git repo of this service
	Repository     *GitRepository  `json:"repository"`
	HelmRepository *HelmRepository `json:"helmRepository"`
	// read policy for this service
	ReadBindings []*PolicyBinding `json:"readBindings"`
	// write policy of this service
	WriteBindings []*PolicyBinding `json:"writeBindings"`
	// a list of errors generated by the deployment operator
	Errors []*ServiceError `json:"errors"`
	// the cluster this service is deployed into
	Cluster *Cluster `json:"cluster"`
	// the current revision of this service
	Revision *Revision `json:"revision"`
	// possibly secret configuration used to template the manifests of this service
	Configuration []*ServiceConfiguration `json:"configuration"`
	// the kubernetes component of a service
	Components []*ServiceComponent `json:"components"`
	// the global service this service is the source for
	GlobalService *GlobalService `json:"globalService"`
	// whether this service is controlled by a global service
	Owner *GlobalService `json:"owner"`
	// a relay connection of all revisions of this service, these are periodically pruned up to a history limit
	Revisions *RevisionConnection `json:"revisions"`
	// whether this service is editable
	Editable   *bool   `json:"editable"`
	InsertedAt *string `json:"insertedAt"`
	UpdatedAt  *string `json:"updatedAt"`
}

a reference to a service deployed from a git repo into a cluster

type ServiceDeploymentAttributes

type ServiceDeploymentAttributes struct {
	Name          string                     `json:"name"`
	Namespace     string                     `json:"namespace"`
	Version       *string                    `json:"version,omitempty"`
	DocsPath      *string                    `json:"docsPath,omitempty"`
	SyncConfig    *SyncConfigAttributes      `json:"syncConfig,omitempty"`
	Protect       *bool                      `json:"protect,omitempty"`
	RepositoryID  string                     `json:"repositoryId"`
	Git           *GitRefAttributes          `json:"git,omitempty"`
	Helm          *HelmConfigAttributes      `json:"helm,omitempty"`
	Kustomize     *KustomizeAttributes       `json:"kustomize,omitempty"`
	Configuration []*ConfigAttributes        `json:"configuration,omitempty"`
	ReadBindings  []*PolicyBindingAttributes `json:"readBindings,omitempty"`
	WriteBindings []*PolicyBindingAttributes `json:"writeBindings,omitempty"`
}

type ServiceDeploymentBaseFragment added in v0.0.11

type ServiceDeploymentBaseFragment struct {
	ID         string                 "json:\"id\" graphql:\"id\""
	Name       string                 "json:\"name\" graphql:\"name\""
	Namespace  string                 "json:\"namespace\" graphql:\"namespace\""
	Version    string                 "json:\"version\" graphql:\"version\""
	Kustomize  *KustomizeFragment     "json:\"kustomize\" graphql:\"kustomize\""
	Git        *GitRefFragment        "json:\"git\" graphql:\"git\""
	Helm       *HelmSpecFragment      "json:\"helm\" graphql:\"helm\""
	Repository *GitRepositoryFragment "json:\"repository\" graphql:\"repository\""
}

type ServiceDeploymentConnection

type ServiceDeploymentConnection struct {
	PageInfo PageInfo                 `json:"pageInfo"`
	Edges    []*ServiceDeploymentEdge `json:"edges"`
}

type ServiceDeploymentEdge

type ServiceDeploymentEdge struct {
	Node   *ServiceDeployment `json:"node"`
	Cursor *string            `json:"cursor"`
}

type ServiceDeploymentEdgeFragment

type ServiceDeploymentEdgeFragment struct {
	Node *ServiceDeploymentBaseFragment "json:\"node\" graphql:\"node\""
}

type ServiceDeploymentExtended added in v0.0.2

type ServiceDeploymentExtended struct {
	Cluster    *BaseClusterFragment   "json:\"cluster\" graphql:\"cluster\""
	Errors     []*ErrorFragment       "json:\"errors\" graphql:\"errors\""
	Revision   *RevisionFragment      "json:\"revision\" graphql:\"revision\""
	ID         string                 "json:\"id\" graphql:\"id\""
	Name       string                 "json:\"name\" graphql:\"name\""
	Namespace  string                 "json:\"namespace\" graphql:\"namespace\""
	Version    string                 "json:\"version\" graphql:\"version\""
	Kustomize  *KustomizeFragment     "json:\"kustomize\" graphql:\"kustomize\""
	Git        *GitRefFragment        "json:\"git\" graphql:\"git\""
	Helm       *HelmSpecFragment      "json:\"helm\" graphql:\"helm\""
	Repository *GitRepositoryFragment "json:\"repository\" graphql:\"repository\""
	Components []*struct {
		ID        string          "json:\"id\" graphql:\"id\""
		Name      string          "json:\"name\" graphql:\"name\""
		Group     *string         "json:\"group\" graphql:\"group\""
		Kind      string          "json:\"kind\" graphql:\"kind\""
		Namespace *string         "json:\"namespace\" graphql:\"namespace\""
		State     *ComponentState "json:\"state\" graphql:\"state\""
		Synced    bool            "json:\"synced\" graphql:\"synced\""
		Version   *string         "json:\"version\" graphql:\"version\""
	} "json:\"components\" graphql:\"components\""
	Protect       *bool   "json:\"protect\" graphql:\"protect\""
	DeletedAt     *string "json:\"deletedAt\" graphql:\"deletedAt\""
	Sha           *string "json:\"sha\" graphql:\"sha\""
	Tarball       *string "json:\"tarball\" graphql:\"tarball\""
	Configuration []*struct {
		Name  string "json:\"name\" graphql:\"name\""
		Value string "json:\"value\" graphql:\"value\""
	} "json:\"configuration\" graphql:\"configuration\""
}

type ServiceDeploymentFragment

type ServiceDeploymentFragment struct {
	ID         string                 "json:\"id\" graphql:\"id\""
	Name       string                 "json:\"name\" graphql:\"name\""
	Namespace  string                 "json:\"namespace\" graphql:\"namespace\""
	Version    string                 "json:\"version\" graphql:\"version\""
	Kustomize  *KustomizeFragment     "json:\"kustomize\" graphql:\"kustomize\""
	Git        *GitRefFragment        "json:\"git\" graphql:\"git\""
	Helm       *HelmSpecFragment      "json:\"helm\" graphql:\"helm\""
	Repository *GitRepositoryFragment "json:\"repository\" graphql:\"repository\""
	Components []*struct {
		ID        string          "json:\"id\" graphql:\"id\""
		Name      string          "json:\"name\" graphql:\"name\""
		Group     *string         "json:\"group\" graphql:\"group\""
		Kind      string          "json:\"kind\" graphql:\"kind\""
		Namespace *string         "json:\"namespace\" graphql:\"namespace\""
		State     *ComponentState "json:\"state\" graphql:\"state\""
		Synced    bool            "json:\"synced\" graphql:\"synced\""
		Version   *string         "json:\"version\" graphql:\"version\""
	} "json:\"components\" graphql:\"components\""
	Protect       *bool   "json:\"protect\" graphql:\"protect\""
	DeletedAt     *string "json:\"deletedAt\" graphql:\"deletedAt\""
	Sha           *string "json:\"sha\" graphql:\"sha\""
	Tarball       *string "json:\"tarball\" graphql:\"tarball\""
	Configuration []*struct {
		Name  string "json:\"name\" graphql:\"name\""
		Value string "json:\"value\" graphql:\"value\""
	} "json:\"configuration\" graphql:\"configuration\""
}

type ServiceDeploymentStatus added in v0.0.10

type ServiceDeploymentStatus string
const (
	ServiceDeploymentStatusStale   ServiceDeploymentStatus = "STALE"
	ServiceDeploymentStatusSynced  ServiceDeploymentStatus = "SYNCED"
	ServiceDeploymentStatusHealthy ServiceDeploymentStatus = "HEALTHY"
	ServiceDeploymentStatusFailed  ServiceDeploymentStatus = "FAILED"
)

func (ServiceDeploymentStatus) IsValid added in v0.0.10

func (e ServiceDeploymentStatus) IsValid() bool

func (ServiceDeploymentStatus) MarshalGQL added in v0.0.10

func (e ServiceDeploymentStatus) MarshalGQL(w io.Writer)

func (ServiceDeploymentStatus) String added in v0.0.10

func (e ServiceDeploymentStatus) String() string

func (*ServiceDeploymentStatus) UnmarshalGQL added in v0.0.10

func (e *ServiceDeploymentStatus) UnmarshalGQL(v interface{}) error

type ServiceError added in v0.0.2

type ServiceError struct {
	Source  string `json:"source"`
	Message string `json:"message"`
}

an error sent from the deploy operator about sync progress

type ServiceErrorAttributes added in v0.0.2

type ServiceErrorAttributes struct {
	Source  string `json:"source"`
	Message string `json:"message"`
}

type ServicePort

type ServicePort struct {
	Name       *string `json:"name"`
	Protocol   *string `json:"protocol"`
	Port       *int64  `json:"port"`
	TargetPort *string `json:"targetPort"`
}

type ServiceSpec

type ServiceSpec struct {
	Type      *string                `json:"type"`
	ClusterIP *string                `json:"clusterIp"`
	Selector  map[string]interface{} `json:"selector"`
	Ports     []*ServicePort         `json:"ports"`
}

type ServiceStatus

type ServiceStatus struct {
	LoadBalancer *LoadBalancerStatus `json:"loadBalancer"`
}

type ServiceStatusCount added in v0.0.12

type ServiceStatusCount struct {
	Status ServiceDeploymentStatus `json:"status"`
	Count  int64                   `json:"count"`
}

a rollup count of the statuses of services in a query

type ServiceUpdateAttributes

type ServiceUpdateAttributes struct {
	Version       *string               `json:"version,omitempty"`
	Protect       *bool                 `json:"protect,omitempty"`
	Git           *GitRefAttributes     `json:"git,omitempty"`
	Helm          *HelmConfigAttributes `json:"helm,omitempty"`
	Configuration []*ConfigAttributes   `json:"configuration,omitempty"`
	Kustomize     *KustomizeAttributes  `json:"kustomize,omitempty"`
}

type Severity

type Severity string
const (
	SeverityNone     Severity = "NONE"
	SeverityLow      Severity = "LOW"
	SeverityMedium   Severity = "MEDIUM"
	SeverityHigh     Severity = "HIGH"
	SeverityCritical Severity = "CRITICAL"
)

func (Severity) IsValid

func (e Severity) IsValid() bool

func (Severity) MarshalGQL

func (e Severity) MarshalGQL(w io.Writer)

func (Severity) String

func (e Severity) String() string

func (*Severity) UnmarshalGQL

func (e *Severity) UnmarshalGQL(v interface{}) error

type Stack

type Stack struct {
	ID         string           `json:"id"`
	Name       string           `json:"name"`
	Bundles    []*Recipe        `json:"bundles"`
	Sections   []*RecipeSection `json:"sections"`
	InsertedAt *string          `json:"insertedAt"`
	UpdatedAt  *string          `json:"updatedAt"`
}

type StageService added in v0.0.19

type StageService struct {
	ID string `json:"id"`
	// a pointer to a service
	Service *ServiceDeployment `json:"service"`
	// criteria for how a promotion of this service shall be performed
	Criteria   *PromotionCriteria `json:"criteria"`
	InsertedAt *string            `json:"insertedAt"`
	UpdatedAt  *string            `json:"updatedAt"`
}

the configuration of a service within a pipeline stage, including optional promotion criteria

type StageServiceAttributes added in v0.0.19

type StageServiceAttributes struct {
	// the cluster handle of this service
	Handle *string `json:"handle,omitempty"`
	// the name of this service
	Name *string `json:"name,omitempty"`
	// the name of this service
	ServiceID *string                      `json:"serviceId,omitempty"`
	Criteria  *PromotionCriteriaAttributes `json:"criteria,omitempty"`
}

the attributes of a service w/in a specific stage

type StatefulSet

type StatefulSet struct {
	Metadata Metadata          `json:"metadata"`
	Status   StatefulSetStatus `json:"status"`
	Spec     StatefulSetSpec   `json:"spec"`
	Pods     []*Pod            `json:"pods"`
	Raw      string            `json:"raw"`
	Events   []*Event          `json:"events"`
}

func (StatefulSet) IsKubernetesData

func (StatefulSet) IsKubernetesData()

type StatefulSetSpec

type StatefulSetSpec struct {
	Replicas    *int64  `json:"replicas"`
	ServiceName *string `json:"serviceName"`
}

type StatefulSetStatus

type StatefulSetStatus struct {
	CurrentReplicas *int64 `json:"currentReplicas"`
	Replicas        *int64 `json:"replicas"`
	ReadyReplicas   *int64 `json:"readyReplicas"`
	UpdatedReplicas *int64 `json:"updatedReplicas"`
}

type Status

type Status string
const (
	StatusQueued     Status = "QUEUED"
	StatusRunning    Status = "RUNNING"
	StatusSuccessful Status = "SUCCESSFUL"
	StatusFailed     Status = "FAILED"
	StatusCancelled  Status = "CANCELLED"
	StatusPending    Status = "PENDING"
)

func (Status) IsValid

func (e Status) IsValid() bool

func (Status) MarshalGQL

func (e Status) MarshalGQL(w io.Writer)

func (Status) String

func (e Status) String() string

func (*Status) UnmarshalGQL

func (e *Status) UnmarshalGQL(v interface{}) error

type StatusComponent

type StatusComponent struct {
	Group  *string `json:"group"`
	Kind   string  `json:"kind"`
	Name   string  `json:"name"`
	Status string  `json:"status"`
}

type StatusCondition

type StatusCondition struct {
	Message string `json:"message"`
	Reason  string `json:"reason"`
	Status  string `json:"status"`
	Type    string `json:"type"`
}

type SyncConfig added in v0.0.12

type SyncConfig struct {
	NamespaceMetadata *NamespaceMetadata `json:"namespaceMetadata"`
}

Advanced configuration of how to sync resources

type SyncConfigAttributes added in v0.0.12

type SyncConfigAttributes struct {
	NamespaceMetadata *MetadataAttributes       `json:"namespaceMetadata,omitempty"`
	DiffNormalizer    *DiffNormalizerAttributes `json:"diffNormalizer,omitempty"`
}

type Tag added in v0.0.2

type Tag struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type TagAttributes added in v0.0.2

type TagAttributes struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type Taint

type Taint struct {
	Key    string `json:"key"`
	Value  string `json:"value"`
	Effect string `json:"effect"`
}

a kubernetes node taint

type TaintAttributes

type TaintAttributes struct {
	Key    string `json:"key"`
	Value  string `json:"value"`
	Effect string `json:"effect"`
}

type TerminatedState

type TerminatedState struct {
	ExitCode   *int64  `json:"exitCode"`
	FinishedAt *string `json:"finishedAt"`
	StartedAt  *string `json:"startedAt"`
	Message    *string `json:"message"`
	Reason     *string `json:"reason"`
}

type TokenExchange added in v0.0.19

type TokenExchange struct {
	TokenExchange *struct {
		Name   string "json:\"name\" graphql:\"name\""
		ID     string "json:\"id\" graphql:\"id\""
		Email  string "json:\"email\" graphql:\"email\""
		Groups []*struct {
			ID   string "json:\"id\" graphql:\"id\""
			Name string "json:\"name\" graphql:\"name\""
		} "json:\"groups\" graphql:\"groups\""
		BoundRoles []*struct {
			ID   string "json:\"id\" graphql:\"id\""
			Name string "json:\"name\" graphql:\"name\""
		} "json:\"boundRoles\" graphql:\"boundRoles\""
	} "json:\"tokenExchange\" graphql:\"tokenExchange\""
}

type Tool

type Tool string
const (
	ToolHelm      Tool = "HELM"
	ToolTerraform Tool = "TERRAFORM"
)

func (Tool) IsValid

func (e Tool) IsValid() bool

func (Tool) MarshalGQL

func (e Tool) MarshalGQL(w io.Writer)

func (Tool) String

func (e Tool) String() string

func (*Tool) UnmarshalGQL

func (e *Tool) UnmarshalGQL(v interface{}) error

type UpdateCluster

type UpdateCluster struct {
	UpdateCluster *ClusterFragment "json:\"updateCluster\" graphql:\"updateCluster\""
}

type UpdateClusterProvider

type UpdateClusterProvider struct {
	UpdateClusterProvider *ClusterProviderFragment "json:\"updateClusterProvider\" graphql:\"updateClusterProvider\""
}

type UpdateDeploymentSettings

type UpdateDeploymentSettings struct {
	UpdateDeploymentSettings *DeploymentSettingsFragment "json:\"updateDeploymentSettings\" graphql:\"updateDeploymentSettings\""
}

type UpdateGate added in v0.0.45

type UpdateGate struct {
	UpdateGate *PipelineGateFragment "json:\"updateGate\" graphql:\"updateGate\""
}

type UpdateGitRepository added in v0.0.12

type UpdateGitRepository struct {
	UpdateGitRepository *GitRepositoryFragment "json:\"updateGitRepository\" graphql:\"updateGitRepository\""
}

type UpdateRbac

type UpdateRbac struct {
	UpdateRbac *bool "json:\"updateRbac\" graphql:\"updateRbac\""
}

type UpdateServiceComponents

type UpdateServiceComponents struct {
	UpdateServiceComponents *ServiceDeploymentFragment "json:\"updateServiceComponents\" graphql:\"updateServiceComponents\""
}

type UpdateServiceDeployment

type UpdateServiceDeployment struct {
	UpdateServiceDeployment *ServiceDeploymentFragment "json:\"updateServiceDeployment\" graphql:\"updateServiceDeployment\""
}

type UpdateServiceDeploymentWithHandle added in v0.0.14

type UpdateServiceDeploymentWithHandle struct {
	UpdateServiceDeployment *ServiceDeploymentFragment "json:\"updateServiceDeployment\" graphql:\"updateServiceDeployment\""
}

type UpgradePolicy

type UpgradePolicy struct {
	ID           string            `json:"id"`
	Name         string            `json:"name"`
	Description  *string           `json:"description"`
	Repositories []*string         `json:"repositories"`
	Type         UpgradePolicyType `json:"type"`
	Target       string            `json:"target"`
	Weight       *int64            `json:"weight"`
	InsertedAt   *string           `json:"insertedAt"`
	UpdatedAt    *string           `json:"updatedAt"`
}

type UpgradePolicyAttributes

type UpgradePolicyAttributes struct {
	Name         string            `json:"name"`
	Description  *string           `json:"description,omitempty"`
	Target       string            `json:"target"`
	Type         UpgradePolicyType `json:"type"`
	Repositories []*string         `json:"repositories,omitempty"`
	Weight       *int64            `json:"weight,omitempty"`
}

type UpgradePolicyType

type UpgradePolicyType string
const (
	UpgradePolicyTypeDeploy   UpgradePolicyType = "DEPLOY"
	UpgradePolicyTypeApproval UpgradePolicyType = "APPROVAL"
	UpgradePolicyTypeIgnore   UpgradePolicyType = "IGNORE"
)

func (UpgradePolicyType) IsValid

func (e UpgradePolicyType) IsValid() bool

func (UpgradePolicyType) MarshalGQL

func (e UpgradePolicyType) MarshalGQL(w io.Writer)

func (UpgradePolicyType) String

func (e UpgradePolicyType) String() string

func (*UpgradePolicyType) UnmarshalGQL

func (e *UpgradePolicyType) UnmarshalGQL(v interface{}) error

type Upload

type Upload struct {
	Field string
	Name  string
	R     io.Reader
}

Upload File represents a file to upload.

type User

type User struct {
	ID                  string     `json:"id"`
	Name                string     `json:"name"`
	Email               string     `json:"email"`
	DeletedAt           *string    `json:"deletedAt"`
	Profile             *string    `json:"profile"`
	PluralID            *string    `json:"pluralId"`
	Roles               *UserRoles `json:"roles"`
	ReadTimestamp       *string    `json:"readTimestamp"`
	BuildTimestamp      *string    `json:"buildTimestamp"`
	Groups              []*Group   `json:"groups"`
	BoundRoles          []*Role    `json:"boundRoles"`
	Jwt                 *string    `json:"jwt"`
	UnreadNotifications *int64     `json:"unreadNotifications"`
	BackgroundColor     *string    `json:"backgroundColor"`
	InsertedAt          *string    `json:"insertedAt"`
	UpdatedAt           *string    `json:"updatedAt"`
}

type UserAttributes

type UserAttributes struct {
	Name     *string             `json:"name,omitempty"`
	Email    *string             `json:"email,omitempty"`
	Password *string             `json:"password,omitempty"`
	Roles    *UserRoleAttributes `json:"roles,omitempty"`
}

type UserConnection

type UserConnection struct {
	PageInfo PageInfo    `json:"pageInfo"`
	Edges    []*UserEdge `json:"edges"`
}

type UserEdge

type UserEdge struct {
	Node   *User   `json:"node"`
	Cursor *string `json:"cursor"`
}

type UserFragment

type UserFragment struct {
	Name  string "json:\"name\" graphql:\"name\""
	ID    string "json:\"id\" graphql:\"id\""
	Email string "json:\"email\" graphql:\"email\""
}

type UserRoleAttributes

type UserRoleAttributes struct {
	Admin *bool `json:"admin,omitempty"`
}

type UserRoles

type UserRoles struct {
	Admin *bool `json:"admin"`
}

type VersionReference added in v0.0.38

type VersionReference struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

a shortform reference to an addon by version

type VerticalPodAutoscaler

type VerticalPodAutoscaler struct {
	Metadata Metadata                     `json:"metadata"`
	Spec     VerticalPodAutoscalerSpec    `json:"spec"`
	Status   *VerticalPodAutoscalerStatus `json:"status"`
}

type VerticalPodAutoscalerSpec

type VerticalPodAutoscalerSpec struct {
	TargetRef    CrossVersionResourceTarget        `json:"targetRef"`
	UpdatePolicy VerticalPodAutoscalerUpdatePolicy `json:"updatePolicy"`
}

type VerticalPodAutoscalerStatus

type VerticalPodAutoscalerStatus struct {
	Recommendation *Recommendation `json:"recommendation"`
}

type VerticalPodAutoscalerUpdatePolicy

type VerticalPodAutoscalerUpdatePolicy struct {
	UpdateMode *string `json:"updateMode"`
}

type WaitingState

type WaitingState struct {
	Message *string `json:"message"`
	Reason  *string `json:"reason"`
}

type Webhook

type Webhook struct {
	ID         string        `json:"id"`
	URL        string        `json:"url"`
	Health     WebhookHealth `json:"health"`
	Type       WebhookType   `json:"type"`
	InsertedAt *string       `json:"insertedAt"`
	UpdatedAt  *string       `json:"updatedAt"`
}

type WebhookAttributes

type WebhookAttributes struct {
	URL string `json:"url"`
}

type WebhookConnection

type WebhookConnection struct {
	PageInfo PageInfo       `json:"pageInfo"`
	Edges    []*WebhookEdge `json:"edges"`
}

type WebhookEdge

type WebhookEdge struct {
	Node   *Webhook `json:"node"`
	Cursor *string  `json:"cursor"`
}

type WebhookHealth

type WebhookHealth string
const (
	WebhookHealthHealthy   WebhookHealth = "HEALTHY"
	WebhookHealthUnhealthy WebhookHealth = "UNHEALTHY"
)

func (WebhookHealth) IsValid

func (e WebhookHealth) IsValid() bool

func (WebhookHealth) MarshalGQL

func (e WebhookHealth) MarshalGQL(w io.Writer)

func (WebhookHealth) String

func (e WebhookHealth) String() string

func (*WebhookHealth) UnmarshalGQL

func (e *WebhookHealth) UnmarshalGQL(v interface{}) error

type WebhookType

type WebhookType string
const (
	WebhookTypePiazza WebhookType = "PIAZZA"
	WebhookTypeSLACk  WebhookType = "SLACK"
)

func (WebhookType) IsValid

func (e WebhookType) IsValid() bool

func (WebhookType) MarshalGQL

func (e WebhookType) MarshalGQL(w io.Writer)

func (WebhookType) String

func (e WebhookType) String() string

func (*WebhookType) UnmarshalGQL

func (e *WebhookType) UnmarshalGQL(v interface{}) error

type WireguardPeer

type WireguardPeer struct {
	Metadata Metadata             `json:"metadata"`
	Status   *WireguardPeerStatus `json:"status"`
	Spec     WireguardPeerSpec    `json:"spec"`
	Config   *string              `json:"config"`
	User     *User                `json:"user"`
	Raw      string               `json:"raw"`
}

type WireguardPeerSpec

type WireguardPeerSpec struct {
	WireguardRef *string `json:"wireguardRef"`
	Address      *string `json:"address"`
	PublicKey    *string `json:"publicKey"`
}

type WireguardPeerStatus

type WireguardPeerStatus struct {
	Ready      *bool              `json:"ready"`
	Conditions []*StatusCondition `json:"conditions"`
}

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

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