Help us shape the future of Go! Take the 2026 Go Developer Survey

platform

package
v1.58.8 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: MPL-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateOAuthSession

func CreateOAuthSession(ctx context.Context, p *CreateOAuthSessionParams) (authURL string, err error)

func CreateSecretGroup added in v1.13.0

func CreateSecretGroup(ctx context.Context, p CreateSecretGroupParams) error

func CreateSecretVersion added in v1.13.0

func CreateSecretVersion(ctx context.Context, p CreateSecretVersionParams) error

func DBConnect

func DBConnect(ctx context.Context, appSlug, envSlug, dbName, role string, startupData []byte) (*websocket.Conn, error)

func EnvLogs

func EnvLogs(ctx context.Context, appSlug, envSlug string) (*websocket.Conn, error)

func GetEnvMeta

func GetEnvMeta(ctx context.Context, appSlug, envName string) (*metav1.Data, error)

func GetLocalSecretValues added in v1.13.0

func GetLocalSecretValues(ctx context.Context, appSlug string, poll bool) (secrets map[string]string, err error)

func ListSecretGroups added in v1.13.0

func ListSecretGroups(ctx context.Context, appSlug string, keys []string) ([]*gql.Secret, error)

func UpdateSecretGroup added in v1.13.0

func UpdateSecretGroup(ctx context.Context, p UpdateSecretGroupParams) error

Types

type App

type App struct {
	ID          string  `json:"eid"`
	LegacyID    string  `json:"id"`
	Slug        string  `json:"slug"`
	Name        string  `json:"name"`
	Description string  `json:"description"` // can be blank
	MainBranch  *string `json:"main_branch"` // nil if not set
}

func CreateApp

func CreateApp(ctx context.Context, p *CreateAppParams) (*App, error)

func GetApp

func GetApp(ctx context.Context, appSlug string) (*App, error)

func ListApps added in v1.3.0

func ListApps(ctx context.Context) ([]*App, error)

type BeginAuthorizationFlowParams added in v1.21.1

type BeginAuthorizationFlowParams struct {
	CodeChallenge string
	ClientID      string
}

type BeginAuthorizationFlowResponse added in v1.21.1

type BeginAuthorizationFlowResponse struct {
	// DeviceCode is the device verification code.
	DeviceCode string `json:"device_code"`

	// UserCode is the end-user verification code.
	UserCode string `json:"user_code"`

	// VerificationURI is the end-user URL to use to login.
	VerificationURI string `json:"verification_uri"`

	// ExpiresIn is the lifetime in seconds of the device code and user code.
	ExpiresIn int `json:"expires_in"`

	// Interval is the number of seconds to wait between polling requests.
	// If not provided, defaults to 5.
	Interval int `json:"interval,omitempty"`
}

func BeginDeviceAuthFlow added in v1.21.1

type CreateAppParams

type CreateAppParams struct {
	Name           string
	InitialSecrets map[string]string
	AppRootDir     string

	// OrgID, if set, creates the app owned by this org.
	OrgID option.Option[string]
}

type CreateOAuthSessionParams

type CreateOAuthSessionParams struct {
	Challenge   string `json:"challenge"`
	State       string `json:"state"`
	RedirectURL string `json:"redirect_url"`
}

type CreateSecretGroupParams added in v1.13.0

type CreateSecretGroupParams struct {
	AppID          string
	Key            string
	PlaintextValue string
	Description    string
	Selector       []gql.SecretSelector
}

type CreateSecretVersionParams added in v1.13.0

type CreateSecretVersionParams struct {
	GroupID        string
	PlaintextValue string
	Etag           string
}

type Env added in v1.3.0

type Env struct {
	ID    string `json:"id"`
	Slug  string `json:"slug"`
	Type  string `json:"type"`
	Cloud string `json:"cloud"`
}

func ListEnvs added in v1.3.0

func ListEnvs(ctx context.Context, appSlug string) ([]*Env, error)

type Error

type Error struct {
	HTTPStatus string `json:"-"`
	HTTPCode   int    `json:"-"`
	Code       string
	Detail     json.RawMessage
}

func (Error) Error

func (e Error) Error() string

type ExchangeAuthKeyParams

type ExchangeAuthKeyParams struct {
	AuthKey string `json:"auth_key"`
}

type ExchangeOAuthTokenParams

type ExchangeOAuthTokenParams struct {
	Challenge string `json:"challenge"`
	Code      string `json:"code"`
}

type InterfaceCodecExtension added in v1.13.0

type InterfaceCodecExtension struct {
	jsoniter.DummyExtension
}

InterfaceCodecExtension is used to decode interface fields it'll store the type of the values in a wrapper object

func NewInterfaceCodecExtension added in v1.13.0

func NewInterfaceCodecExtension() *InterfaceCodecExtension

func (*InterfaceCodecExtension) DecorateDecoder added in v1.13.0

func (e *InterfaceCodecExtension) DecorateDecoder(typ reflect2.Type, decoder jsoniter.ValDecoder) jsoniter.ValDecoder

type KubeCtlConfig added in v1.27.0

type KubeCtlConfig struct {
	EnvID            string `json:"env_id"`              // The ID of the environment
	ResID            string `json:"res_id"`              // The ID of the cluster
	Name             string `json:"name"`                // The name of the cluster
	DefaultNamespace string `json:"namespace,omitempty"` // The default namespace for the cluster (if any)
}

func KubernetesClusters added in v1.27.0

func KubernetesClusters(ctx context.Context, appSlug string, envName string) (string, string, []KubeCtlConfig, error)

type OAuthData

type OAuthData struct {
	Token   *oauth2.Token `json:"token"`
	Actor   string        `json:"actor,omitempty"` // The ID of the user or app that authorized the token.
	Email   string        `json:"email"`           // empty if logging in as an app
	AppSlug string        `json:"app_slug"`        // empty if logging in as a user
}

func ExchangeAuthKey

func ExchangeAuthKey(ctx context.Context, p *ExchangeAuthKeyParams) (*OAuthData, error)

func ExchangeOAuthToken

func ExchangeOAuthToken(ctx context.Context, p *ExchangeOAuthTokenParams) (*OAuthData, error)

type OAuthToken added in v1.21.1

type OAuthToken struct {
	*oauth2.Token
	Actor   string `json:"actor,omitempty"` // The ID of the user or app that authorized the token.
	Email   string `json:"email"`           // empty if logging in as an app
	AppSlug string `json:"app_slug"`        // empty if logging in as a user
}

func PollDeviceAuthFlow added in v1.21.1

func PollDeviceAuthFlow(ctx context.Context, p PollDeviceAuthFlowParams) (*OAuthToken, error)

type Org added in v1.58.7

type Org struct {
	ID           string
	Name         string
	Slug         string // may be empty
	Personal     bool   // the user's own org
	CanCreateApp bool
}

func ListOrgs added in v1.58.7

func ListOrgs(ctx context.Context) ([]*Org, error)

ListOrgs lists the orgs the user belongs to.

type PollDeviceAuthFlowParams added in v1.21.1

type PollDeviceAuthFlowParams struct {
	DeviceCode   string
	CodeVerifier string
}

type Rollout added in v1.41.7

type Rollout struct {
	ID      string `json:"id"`
	EnvName string `json:"env_name"`
}

func Deploy added in v1.41.7

func Deploy(ctx context.Context, appSlug, env, sha, branch string) (*Rollout, error)

type SecretKind

type SecretKind string
const (
	DevelopmentSecrets SecretKind = "development"
	ProductionSecrets  SecretKind = "production"
)

type SecretVersion

type SecretVersion struct {
	Number  int       `json:"number"`
	Created time.Time `json:"created"`
}

func SetAppSecret

func SetAppSecret(ctx context.Context, appSlug string, kind SecretKind, secretKey, value string) (*SecretVersion, error)

type UpdateSecretGroupParams added in v1.13.0

type UpdateSecretGroupParams struct {
	ID   string
	Etag *string

	// Nil fore ach field here means it's kept unchanged.
	Selector    []gql.SecretSelector // nil means no changes
	Archived    *bool
	Delete      *bool
	Description *string
}

type ValidationDetails added in v1.41.7

type ValidationDetails struct {
	Field string `json:"field"`
	Type  string `json:"type"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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