deploy

package
v0.1.66 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2022 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	APIName          = "api"
	CommonName       = "common"
	LoadBalancerName = "loadbalancer"

	AppTypeStatic  = "static"
	AppTypeService = "service"

	DepTypePostgresql = "postgresql"
	DepTypeMySQL      = "mysql"
	DepTypeStorage    = "storage"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheInvalidate added in v0.1.5

type CacheInvalidate struct {
	registry.ResourceBase

	URLMapName  fields.StringInputField
	ProjectID   fields.StringInputField
	StaticApps  []*StaticApp  `state:"-"`
	ServiceApps []*ServiceApp `state:"-"`
	// contains filtered or unexported fields
}

func (*CacheInvalidate) CalculateDiff added in v0.1.5

func (o *CacheInvalidate) CalculateDiff() registry.DiffType

func (*CacheInvalidate) FieldDependencies added in v0.1.5

func (o *CacheInvalidate) FieldDependencies() []interface{}

func (*CacheInvalidate) GetName added in v0.1.5

func (o *CacheInvalidate) GetName() string

func (*CacheInvalidate) Process added in v0.1.5

func (o *CacheInvalidate) Process(ctx context.Context, meta interface{}) error

func (*CacheInvalidate) SkipState added in v0.1.5

func (o *CacheInvalidate) SkipState() bool

type CloudRunSettings added in v0.1.46

type CloudRunSettings struct {
	Region      string `json:"region"`
	ProjectHash string `json:"project_hash"`
	RegionCode  string `json:"region_code"`
}

func (*CloudRunSettings) URLSuffix added in v0.1.46

func (s *CloudRunSettings) URLSuffix() string

type DatabaseDep added in v0.1.19

type DatabaseDep struct {
	CloudSQL          *gcp.CloudSQL
	CloudSQLDatabases map[string]*gcp.CloudSQLDatabase
	CloudSQLUsers     map[string]*gcp.CloudSQLUser

	Dep   *apiv1.Dependency
	Opts  *DatabaseDepOptions
	Needs map[*apiv1.App]*DatabaseDepNeed
}

func NewDatabaseDep added in v0.1.19

func NewDatabaseDep(dep *apiv1.Dependency) (*DatabaseDep, error)

func (*DatabaseDep) Plan added in v0.1.19

type DatabaseDepArgs added in v0.1.19

type DatabaseDepArgs struct {
	ProjectID string
	Region    string
	Needs     map[*apiv1.App]*DatabaseDepNeed
}

type DatabaseDepDatabase added in v0.1.19

type DatabaseDepDatabase struct {
	Database string
}

type DatabaseDepNeed added in v0.1.19

type DatabaseDepNeed struct {
	User     string `mapstructure:"user"`
	Password string `mapstructure:"password"`
	Hostname string `mapstructure:"hostname"`
	Database string `mapstructure:"database"`
}

func NewDatabaseDepNeed added in v0.1.19

func NewDatabaseDepNeed(in map[string]interface{}) (*DatabaseDepNeed, error)

type DatabaseDepOptionUser added in v0.1.51

type DatabaseDepOptionUser struct {
	Password string `mapstructure:"password"`
	Hostname string `mapstructure:"hostname"`
}

type DatabaseDepOptions added in v0.1.19

type DatabaseDepOptions struct {
	Version                 string                            `mapstructure:"version"`
	HA                      bool                              `mapstructure:"high_availability"`
	Tier                    string                            `mapstructure:"tier" default:"db-f1-micro"`
	Flags                   map[string]string                 `mapstructure:"flags"`
	Users                   map[string]*DatabaseDepOptionUser `mapstructure:"users"`
	EnableCloudSQLProxyUser bool                              `mapstructure:"enable_cloudsql_proxy_user"`
	DatabaseVersion         string                            `mapstructure:"-"`
}

func NewDatabaseDepOptions added in v0.1.19

func NewDatabaseDepOptions(in map[string]interface{}, typ string) (*DatabaseDepOptions, error)

func (*DatabaseDepOptions) AvailabilityZone added in v0.1.23

func (o *DatabaseDepOptions) AvailabilityZone() string

type DatabaseDepUser added in v0.1.19

type DatabaseDepUser struct {
	User     string
	Password string
}

type LoadBalancer

type LoadBalancer struct {
	Addresses           []*gcp.Address
	ManagedSSLs         []*gcp.ManagedSSL
	ManagedSSLDomainMap map[string]*gcp.ManagedSSL
	SelfManagedSSLs     []*gcp.SelfManagedSSL
	ServerlessNEGs      []*gcp.ServerlessNEG
	BackendServices     []*gcp.BackendService
	URLMaps             []*gcp.URLMap
	TargetHTTPProxies   []*gcp.TargetHTTPProxy
	TargetHTTPSProxies  []*gcp.TargetHTTPSProxy
	ForwardingRules     []*gcp.ForwardingRule
	// contains filtered or unexported fields
}

func NewLoadBalancer

func NewLoadBalancer() *LoadBalancer

func (*LoadBalancer) Plan

func (o *LoadBalancer) Plan(pctx *config.PluginContext, r *registry.Registry, static map[string]*StaticApp, service map[string]*ServiceApp, domainMatch *types.DomainInfoMatcher, c *LoadBalancerArgs) error

type LoadBalancerArgs

type LoadBalancerArgs struct {
	Name      string
	ProjectID string
	Region    string
}

type ServiceApp added in v0.1.14

type ServiceApp struct {
	Image    *gcp.Image
	CloudRun *gcp.CloudRun

	App        *apiv1.App
	Build      *apiv1.AppBuild
	Props      *types.ServiceAppProperties
	DeployOpts *ServiceAppDeployOptions
}

func NewServiceApp added in v0.1.14

func NewServiceApp(plan *apiv1.AppPlan) (*ServiceApp, error)

func (*ServiceApp) ID added in v0.1.46

func (o *ServiceApp) ID(pctx *config.PluginContext) string

func (*ServiceApp) Plan added in v0.1.14

type ServiceAppArgs added in v0.1.14

type ServiceAppArgs struct {
	ProjectID string
	Region    string
	Env       map[string]string
	Vars      map[string]interface{}
	Databases []*DatabaseDep
	Settings  *CloudRunSettings
}

type ServiceAppDeployOptions added in v0.1.19

type ServiceAppDeployOptions struct {
	SkipRunsd   bool    `mapstructure:"skip_runsd"`
	CPULimit    float64 `mapstructure:"cpu_limit" default:"1"`
	MemoryLimit int     `mapstructure:"memory_limit" default:"256"`
	MinScale    int     `mapstructure:"min_scale" default:"0"`
	MaxScale    int     `mapstructure:"max_scale" default:"100"`
}

func NewServiceAppDeployOptions added in v0.1.19

func NewServiceAppDeployOptions(in map[string]interface{}) (*ServiceAppDeployOptions, error)

type StaticApp

type StaticApp struct {
	Bucket   *gcp.Bucket
	Files    []*gcp.BucketObject
	Image    *gcp.Image
	CloudRun *gcp.CloudRun

	App        *apiv1.App
	SkipFiles  bool
	Props      *types.StaticAppProperties
	DeployOpts *StaticAppDeployOptions
}

func NewStaticApp

func NewStaticApp(plan *apiv1.AppPlan) (*StaticApp, error)

func (*StaticApp) Plan

type StaticAppArgs

type StaticAppArgs struct {
	ProjectID string
	Region    string
}

type StaticAppDeployOptions added in v0.1.21

type StaticAppDeployOptions struct {
	MinScale int `mapstructure:"min_scale" default:"0"`
	MaxScale int `mapstructure:"max_scale" default:"100"`
}

func NewStaticAppDeployOptions added in v0.1.21

func NewStaticAppDeployOptions(in map[string]interface{}) (*StaticAppDeployOptions, error)

type StorageDep added in v0.1.46

type StorageDep struct {
	Bucket *gcp.Bucket

	Dep   *apiv1.Dependency
	Opts  *StorageDepOptions
	Needs map[*apiv1.App]*StorageDepNeed
}

func NewStorageDep added in v0.1.46

func NewStorageDep(dep *apiv1.Dependency) (*StorageDep, error)

func (*StorageDep) Plan added in v0.1.46

type StorageDepArgs added in v0.1.46

type StorageDepArgs struct {
	ProjectID string
	Region    string
	Needs     map[*apiv1.App]*StorageDepNeed
}

type StorageDepNeed added in v0.1.46

type StorageDepNeed struct{}

func NewStorageDepNeed added in v0.1.46

func NewStorageDepNeed(in map[string]interface{}) (*StorageDepNeed, error)

type StorageDepOptions added in v0.1.46

type StorageDepOptions struct {
	Name       string `mapstructure:"name"`
	Versioning bool   `mapstructure:"versioning"`
	Location   string `mapstructure:"location"`
}

func NewStorageDepOptions added in v0.1.46

func NewStorageDepOptions(in map[string]interface{}, typ string) (*StorageDepOptions, error)

Jump to

Keyboard shortcuts

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