gcp

package
v0.0.0-...-d8c43a0 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2025 License: MIT Imports: 54 Imported by: 0

Documentation

Index

Constants

View Source
const MaxInitSQLTimeSec = 30

Variables

This section is empty.

Functions

func ArtifactRegistry

func ArtifactRegistry(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func BucketComputeProcessor

func BucketComputeProcessor(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, collector pApi.ComputeContextCollector, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func Cloudrun

func Cloudrun(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func GkeAutopilot

func GkeAutopilot(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func GkeAutopilotComputeProcessor

func GkeAutopilotComputeProcessor(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, collector pApi.ComputeContextCollector, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func GkeAutopilotStack

func GkeAutopilotStack(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func InitStateStore

func InitStateStore(ctx context.Context, stateStoreCfg api.StateStorageConfig, log logger.Logger) error

func KmsKeySecretsProvider

func KmsKeySecretsProvider(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func Postgres

func Postgres(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func PostgresComputeProcessor

func PostgresComputeProcessor(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, collector pApi.ComputeContextCollector, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func PrivateBucket

func PrivateBucket(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func Provider

func Provider(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func PubSubTopics

func PubSubTopics(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func PubSubTopicsProcessor

func PubSubTopicsProcessor(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, collector pApi.ComputeContextCollector, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func Redis

func Redis(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func RedisComputeProcessor

func RedisComputeProcessor(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, collector pApi.ComputeContextCollector, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func RemoteImagePush

func RemoteImagePush(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

func StaticWebsite

func StaticWebsite(ctx *sdk.Context, stack api.Stack, input api.ResourceInput, params pApi.ProvisionParams) (*api.ResourceOutput, error)

Types

type AccessTokenCreds

type AccessTokenCreds struct {
	Username   string
	Password   string
	AuthHeader string
}

type AlertCfg

type AlertCfg struct {
	Message  string
	ChatId   *string
	Provider *gcp.Provider
}

type AlertsConfig

type AlertsConfig struct {
	MaxErrCount         *float64 `json:"maxErrCount,omitempty"`
	MaxStdoutLinesCount *float64 `json:"maxStdoutLinesCount,omitempty"`
}

type AlertsConfigWithProvider

type AlertsConfigWithProvider struct {
	AlertsConfig
	Provider *gcp.Provider `json:"provider"`
}

type ArtifactRegistryOut

type ArtifactRegistryOut struct {
	Repository *artifactregistry.Repository
	URL        sdk.StringOutput
}

type BucketUploaderArgs

type BucketUploaderArgs struct {
	// contains filtered or unexported fields
}

type CloudSQLAccount

type CloudSQLAccount struct {
	ServiceAccount     *serviceaccount.Account
	ServiceAccountKey  *serviceaccount.Key
	CredentialsSecrets sdk.StringMap
}

func NewCloudSQLAccount

func NewCloudSQLAccount(ctx *sdk.Context, name string, dbInstance PostgresDBInstanceArgs, provider *gcp.Provider, opts ...sdk.ResourceOption) (*CloudSQLAccount, error)

func NewServiceAccount

func NewServiceAccount(ctx *sdk.Context, name string, args ServiceAccountArgs, opts ...sdk.ResourceOption) (*CloudSQLAccount, error)

type CloudSQLProxy

type CloudSQLProxy struct {
	ProxyContainer sdk.Output
	Account        *CloudSQLAccount
	Name           string
	SqlProxySecret *v1.Secret
}

func NewCloudsqlProxy

func NewCloudsqlProxy(ctx *sdk.Context, args CloudSQLProxyArgs, opts ...sdk.ResourceOption) (*CloudSQLProxy, error)

type CloudSQLProxyArgs

type CloudSQLProxyArgs struct {
	Name         string
	DBInstance   PostgresDBInstanceArgs
	GcpProvider  *gcp.Provider
	KubeProvider *sdkK8s.Provider
	Metadata     *metav1.ObjectMetaArgs
	TimeoutSec   int
}

type CloudsqlDbUser

type CloudsqlDbUser struct {
	Database string
	Username string
}

type CloudsqlInstanceType

type CloudsqlInstanceType string
const (
	PostgreSQL CloudsqlInstanceType = "POSTGRES"
	MySQL      CloudsqlInstanceType = "MYSQL"
)

type CreatedAlert

type CreatedAlert struct {
	PolicyName   sdk.Output
	ChannelNames []sdk.Output
}

type DiscordCfg

type DiscordCfg struct {
	WebhookId string `json:"webhookId"`
}

type DockerImageOutput

type DockerImageOutput struct {
	Image *RemoteImage
}

type GCPAlertIncident

type GCPAlertIncident struct {
	IncidentID string `json:"incident_id,omitempty"`
	URL        string `json:"url,omitempty"`
	PolicyName string `json:"policy_name,omitempty"`
	State      string `json:"state,omitempty"`
}

type GCPAlertPayload

type GCPAlertPayload struct {
	Incident *GCPAlertIncident `json:"incident,omitempty"`
	Summary  string            `json:"summary,omitempty"`
}

type GcpBucketUploader

type GcpBucketUploader struct {
	sdk.ResourceState
}

func NewGcpBucketUploader

func NewGcpBucketUploader(ctx *sdk.Context, name string, args BucketUploaderArgs, opts ...sdk.ResourceOption) (*GcpBucketUploader, error)

type GkeAutopilotOut

type GkeAutopilotOut struct {
	Cluster *container.Cluster
	Caddy   *kubernetes.SimpleContainer
}

type GkeAutopilotOutput

type GkeAutopilotOutput struct {
	Provider        *sdkK8s.Provider
	Images          []*kubernetes.ContainerImage
	SimpleContainer *kubernetes.SimpleContainer
}

type InitDbUserJobArgs

type InitDbUserJobArgs struct {
	User           CloudsqlDbUser
	RootPassword   string
	DBInstance     PostgresDBInstanceArgs
	CloudSQLProxy  *CloudSQLProxy
	KubeProvider   *sdkK8s.Provider
	DBInstanceType CloudsqlInstanceType
	Namespace      string
	Opts           []sdk.ResourceOption
}

type InitUserJob

type InitUserJob struct {
	Job sdk.Output
}

func NewInitDbUserJob

func NewInitDbUserJob(ctx *sdk.Context, stackName string, args InitDbUserJobArgs) (*InitUserJob, error)

type PostgresDBInstanceArgs

type PostgresDBInstanceArgs struct {
	Project      string
	InstanceName string
	Region       string
}

type PubSubResourcesOutput

type PubSubResourcesOutput struct {
	Topics        map[string]*pubsub.Topic
	Subscriptions map[string]*pubsub.Subscription
}

type RemoteImage

type RemoteImage struct {
	Image *docker.Image
}

func PushRemoteImageToRegistry

func PushRemoteImageToRegistry(ctx *sdk.Context, args RemoteImageArgs) (*RemoteImage, error)

type RemoteImageArgs

type RemoteImageArgs struct {
	RegistryURL sdk.StringOutput
	Params      pApi.ProvisionParams
	Image       *gcloud.RemoteImagePush
	Stack       api.Stack
	Input       api.ResourceInput
	Opts        []sdk.ResourceOption
}

type ServiceAccount

type ServiceAccount struct {
	ServiceAccount     *serviceaccount.Account
	ServiceAccountKey  *serviceaccount.Key
	CredentialsSecrets sdk.StringMap
}

type ServiceAccountArgs

type ServiceAccountArgs struct {
	Project     string
	Description string
	Roles       []string
}

type StaticSiteOutput

type StaticSiteOutput struct {
	Bucket             *storage.Bucket
	IamReadBinding     *storage.BucketIAMBinding
	DnsRecord          *api.ResourceOutput
	OverrideHeaderRule *api.ResourceOutput
	IamWriteBinding    *storage.BucketIAMBinding
}

type StdErrAlertCfg

type StdErrAlertCfg struct {
	AlertCfg
	ContainerName string
	Threshold     *float64
	AutoClose     *string
}

func (*StdErrAlertCfg) AutoCloseOr

func (config *StdErrAlertCfg) AutoCloseOr(defaultValue string) string

nolint: unused

type TelegramCfg

type TelegramCfg struct {
	DefaultChatId string `json:"defaultChatId"`
}

Jump to

Keyboard shortcuts

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