Documentation
¶
Index ¶
- Constants
- type API
- type APICloudMetadata
- type APIConfig
- type APIConfigCloud
- type APIConfigFunc
- type APIConfigLocal
- type APIDependencies
- type APILocalMetadata
- type Bucket
- type BucketCloudMetadata
- type BucketConfig
- type BucketConfigCloud
- type BucketConfigFunc
- type BucketConfigLocal
- type BucketDependencies
- type BucketLocalMetadata
- type Certificate
- type CertificateCloudMetadata
- type CertificateConfig
- type CertificateConfigCloud
- type CertificateConfigFunc
- type CertificateDependencies
- type Function
- type FunctionBuilder
- type FunctionCloudMetadata
- type FunctionConfig
- type FunctionConfigCloud
- type FunctionConfigFunc
- type FunctionConfigLocal
- type FunctionDependencies
- type FunctionLocalMetadata
- type Hasura
- type HasuraCloudMetadata
- type HasuraConfig
- type HasuraConfigCloud
- type HasuraConfigFunc
- type HasuraConfigJWT
- type HasuraConfigLocal
- type HasuraDependencies
- type HasuraLocalMetadata
- type ImageRepository
- type ImageRepositoryCloudMetadata
- type ImageRepositoryConfig
- type ImageRepositoryConfigCloud
- type ImageRepositoryConfigFunc
- type ImageRepositoryConfigTaggedImagesPolicy
- type ImageRepositoryConfigUntaggedImagesPolicy
- type ImageRepositoryDependencies
- type ImageRepositoryLocalMetadata
- type LoadBalancer
- type LoadBalancerCloudMetadata
- type LoadBalancerConfig
- type LoadBalancerConfigFunc
- type LoadBalancerDependencies
- type Mailer
- type MailerConfig
- type MailerConfigFunc
- type MailerConfigLocal
- type MailerDependencies
- type MailerLocalMetadata
- type MailerLocalMetadataSMTP
- type Network
- type NetworkCloudMetadata
- type NetworkConfig
- type NetworkConfigFunc
- type NetworkDependencies
- type Postgres
- type PostgresCloudMetadata
- type PostgresConfig
- type PostgresConfigCloud
- type PostgresConfigFunc
- type PostgresConfigLocal
- type PostgresDependencies
- type PostgresLocalMetadata
- type PostgresProxy
- type PostgresProxyCloudMetadata
- type PostgresProxyConfig
- type PostgresProxyConfigFunc
- type PostgresProxyDependencies
Constants ¶
const ( APIPluginDisplayName = "API" APIPluginName = "api" APIRefAPI = cloudz.CloudRef("api") APIRefPermission = cloudz.CloudRef("perm") APIRefDomainName = cloudz.CloudRef("dn") APIRefRecordSet = cloudz.CloudRef("rs") APIRefStage = cloudz.CloudRef("stg") APIRefAPIMapping = cloudz.CloudRef("dnmap") APIRefIntegration = cloudz.CloudRef("intg") APIAttAPIEndpoint = cloudz.CloudAtt("ApiEndpoint") APIAttRegionalDomainName = cloudz.CloudAtt("RegionalDomainName") APIAttRegionalHostedZoneID = cloudz.CloudAtt("RegionalHostedZoneId") )
API constants.
const ( BucketPluginDisplayName = "Bucket" BucketPluginName = "bucket" BucketRefBucket = cloudz.CloudRef("b") BucketRefBucketPolicyPublic = cloudz.CloudRef("bp-pub") BucketAttARN = cloudz.CloudAtt("Arn") BucketAttDomainName = cloudz.CloudAtt("DomainName") BucketAttDualStackDomainName = cloudz.CloudAtt("DualStackDomainName") BucketAttRegionalDomainName = cloudz.CloudAtt("RegionalDomainName") )
Bucket constants.
const ( CertificatePluginDisplayName = "Certificate" CertificatePluginName = "certificate" CertificateRefCertificate = cloudz.CloudRef("c") )
Certificate constants.
const ( FunctionPluginDisplayName = "Function" FunctionPluginName = "function" FunctionRefRole = cloudz.CloudRef("r") FunctionRefLogGroup = cloudz.CloudRef("lg") FunctionRefFunction = cloudz.CloudRef("f") FunctionAttARN = cloudz.CloudAtt("Arn") FunctionAttRoleID = cloudz.CloudAtt("RoleId") FunctionHandlerFileName = "handler" FunctionPackageFileName = "function.zip" )
Function constants.
const ( HasuraPluginDisplayName = "Hasura" HasuraPluginName = "hasura" HasuraRefLogGroup = cloudz.CloudRef("lg") HasuraRefRoleExecution = cloudz.CloudRef("r-ex") HasuraRefRoleTask = cloudz.CloudRef("r-tk") HasuraRefTaskDefinition = cloudz.CloudRef("td") HasuraRefTargetGroup = cloudz.CloudRef("tg") HasuraRefListenerRule = cloudz.CloudRef("lr") HasuraRefCluster = cloudz.CloudRef("cl") HasuraRefService = cloudz.CloudRef("svc") HasuraRefRecordSet = cloudz.CloudRef("rs") HasuraAttARN = cloudz.CloudAtt("Arn") HasuraAttIsDefault = cloudz.CloudAtt("IsDefault") HasuraAttLoadBalancerARNs = cloudz.CloudAtt("LoadBalancerArns") HasuraAttName = cloudz.CloudAtt("Name") HasuraAttRoleID = cloudz.CloudAtt("RoleId") HasuraAttRuleARN = cloudz.CloudAtt("RuleArn") HasuraAttTargetGroupFullName = cloudz.CloudAtt("TargetGroupFullName") HasuraAttTargetGroupName = cloudz.CloudAtt("TargetGroupName") )
Hasura constants.
const ( ImageRepositoryPluginDisplayName = "ImageRepository" ImageRepositoryPluginName = "image-repository" ImageRepositoryRefRepository = cloudz.CloudRef("r") ImageRepositoryAttARN = cloudz.CloudAtt("Arn") ImageRepositoryAttRepositoryURI = cloudz.CloudAtt("RepositoryUri") )
Image repository constants.
const ( LoadBalancerPluginDisplayName = "Load Balancer" LoadBalancerPluginName = "load-balancer" LoadBalancerRefLoadBalancer = cloudz.CloudRef("lb") LoadBalancerRefListenerHTTP = cloudz.CloudRef("l") LoadBalancerRefListenerHTTPS = cloudz.CloudRef("l-s") LoadBalancerRefSecurityGroupIngressHTTP = cloudz.CloudRef("sgi") LoadBalancerRefSecurityGroupIngressHTTPS = cloudz.CloudRef("sgi-s") LoadBalancerAttCanonicalHostedZoneID = cloudz.CloudAtt("CanonicalHostedZoneID") LoadBalancerAttDNSName = cloudz.CloudAtt("DNSName") LoadBalancerAttLoadBalancerFullName = cloudz.CloudAtt("LoadBalancerFullName") LoadBalancerAttLoadBalancerName = cloudz.CloudAtt("LoadBalancerName") LoadBalancerAttSecurityGroups = cloudz.CloudAtt("SecurityGroups") LoadBalancerAttListenerArn = cloudz.CloudAtt("ListenerArn") )
Load balancer constants.
const ( MailerPluginDisplayName = "Mailer" MailerPluginName = "mailer" )
Mailer constants.
const ( NetworkPluginDisplayName = "Network" NetworkPluginName = "network" NetworkRefVPC = cloudz.CloudRef("v") NetworkRefInternetGateway = cloudz.CloudRef("ig") NetworkRefVPCGatewayAttachment = cloudz.CloudRef("vig") NetworkRefRouteTablePublic = cloudz.CloudRef("rt-pub") NetworkRefRoutePublic = cloudz.CloudRef("r-pub") NetworkRefSubnetPublicA = cloudz.CloudRef("s-pub-a") NetworkRefSubnetRouteTableAssociationPublicA = cloudz.CloudRef("srt-pub-a") NetworkRefSubnetPublicB = cloudz.CloudRef("s-pub-b") NetworkRefSubnetRouteTableAssociationPublicB = cloudz.CloudRef("srt-pub-b") NetworkRefEIPA = cloudz.CloudRef("eip-a") NetworkRefNATGatewayA = cloudz.CloudRef("ng-a") NetworkRefRouteTablePrivateA = cloudz.CloudRef("rt-pri-a") NetworkRefRoutePrivateA = cloudz.CloudRef("r-pri-a") NetworkRefSubnetPrivateA = cloudz.CloudRef("s-pri-a") NetworkRefSubnetRouteTableAssociationPrivateA = cloudz.CloudRef("s-rt-pri-a") NetworkRefEIPB = cloudz.CloudRef("eip-b") NetworkRefNATGatewayB = cloudz.CloudRef("ng-b") NetworkRefRouteTablePrivateB = cloudz.CloudRef("rt-pri-b") NetworkRefRoutePrivateB = cloudz.CloudRef("r-pri-b") NetworkRefSubnetPrivateB = cloudz.CloudRef("s-pri-b") NetworkRefSubnetRouteTableAssociationPrivateB = cloudz.CloudRef("srt-pri-b") NetworkRefSecurityGroup = cloudz.CloudRef("sg") NetworkRefSecurityGroupIngress = cloudz.CloudRef("sgi") NetworkAttAllocationID = cloudz.CloudAtt("AllocationId") NetworkAttAvailabilityZone = cloudz.CloudAtt("AvailabilityZone") NetworkAttCIDRBlock = cloudz.CloudAtt("CidrBlock") NetworkAttCIDRBlockAssociations = cloudz.CloudAtt("CidrBlockAssociations") NetworkAttDefaultNetworkACL = cloudz.CloudAtt("DefaultNetworkAcl") NetworkAttDefaultSecurityGroup = cloudz.CloudAtt("DefaultSecurityGroup") NetworkAttGroupID = cloudz.CloudAtt("GroupId") NetworkAttID = cloudz.CloudAtt("Id") NetworkAttIPv6CIDRBlocks = cloudz.CloudAtt("Ipv6CidrBlocks") NetworkAttInternetGatewayID = cloudz.CloudAtt("InternetGatewayId") NetworkAttNetworkACLAssociationID = cloudz.CloudAtt("NetworkAclAssociationId") NetworkAttOutpostARN = cloudz.CloudAtt("OutpostArn") NetworkAttRouteTableID = cloudz.CloudAtt("RouteTableId") NetworkAttSubnetID = cloudz.CloudAtt("SubnetId") NetworkAttVPCID = cloudz.CloudAtt("VpcId") CIDRAllDestinations = "10.0.0.0/0" CIDRVPC = "10.0.0.0/16" CIDRSubnetPublicA = "10.0.0.0/19" CIDRSubnetPublicB = "10.0.32.0/19" CIDRSubnetPrivateA = "10.0.64.0/19" CIDRSubnetPrivateB = "10.0.96.0/19" )
Network constants.
const ( PostgresPluginDisplayName = "Postgres" PostgresPluginName = "postgres" PostgresRefDBParameterGroup = cloudz.CloudRef("pg") PostgresRefDBSubnetGroup = cloudz.CloudRef("sg") PostgresRefLogGroup = cloudz.CloudRef("lg") PostgresRefRoleMonitoring = cloudz.CloudRef("r-mon") PostgresRefDBInstance = cloudz.CloudRef("i") PostgresAttARN = cloudz.CloudAtt("Arn") PostgresAttRoleID = cloudz.CloudAtt("RoleId") PostgresAttEndpointAddress = cloudz.CloudAtt("Endpoint.Address") PostgresAttEndpointPort = cloudz.CloudAtt("Endpoint.Port") )
Postgres constants.
const ( PostgresProxyPluginDisplayName = "PostgresProxy" PostgresProxyPluginName = "postgres-proxy" PostgresProxyRefSecret = cloudz.CloudRef("s") PostgresProxyRefRole = cloudz.CloudRef("r") PostgresProxyRefLogGroup = cloudz.CloudRef("lg") PostgresProxyRefDBProxy = cloudz.CloudRef("p") PostgresProxyRefDBProxyTargetGroup = cloudz.CloudRef("tg") PostgresProxyAttARN = cloudz.CloudAtt("Arn") PostgresProxyAttRoleID = cloudz.CloudAtt("RoleId") PostgresProxyAttDBProxyARN = cloudz.CloudAtt("DBProxyArn") PostgresProxyAttEndpoint = cloudz.CloudAtt("Endpoint") PostgresProxyAttTargetGroupARN = cloudz.CloudAtt("TargetGroupArn") )
Postgres proxy constants.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API interface {
cloudz.Plugin
GetConfig() *APIConfig
GetLocalMetadata() *APILocalMetadata
GetCloudMetadata() *APICloudMetadata
}
API describes an api.
func NewAPI ¶
func NewAPI(cfgFunc APIConfigFunc, deps *APIDependencies) API
NewAPI initializes a new API.
type APICloudMetadata ¶
type APICloudMetadata struct {
Exports cloudz.CloudExports
// contains filtered or unexported fields
}
APICloudMetadata describes the api cloud metadata.
func (*APICloudMetadata) GetURL ¶
func (m *APICloudMetadata) GetURL() *url.URL
GetURL returns the API base URL.
type APIConfig ¶
type APIConfig struct {
Stage cloudz.Stage `validate:"required"`
Name string `validate:"required,resource-name"`
RouteKeys []string `validate:"required"`
Local *APIConfigLocal
Cloud *APIConfigCloud
}
APIConfig describes the api config.
func (*APIConfig) MustValidate ¶
func (c *APIConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the api config.
type APIConfigCloud ¶
type APIConfigCloud struct {
DomainName string `validate:"required,fqdn"`
CORSDomain string `validate:"required,fqdn"`
}
APIConfigCloud describes part of the api config.
type APIConfigFunc ¶
type APIConfigFunc func(cloudz.Stage, *APIDependencies) *APIConfig
APIConfigFunc returns the api config for a given Stage.
type APIConfigLocal ¶
type APIConfigLocal struct {
ExternalPort uint16 `validate:"required"`
}
APIConfigLocal describes part of the api config.
type APIDependencies ¶
type APIDependencies struct {
Certificate Certificate `validate:"required"`
Function Function `validate:"required"`
OtherDependencies cloudz.OtherDependencies
}
APIDependencies describes the api dependencies.
func (*APIDependencies) MustValidate ¶
func (d *APIDependencies) MustValidate()
MustValidate validates the function dependencies.
type APILocalMetadata ¶
APILocalMetadata describes the api local metadata.
type Bucket ¶
type Bucket interface {
cloudz.Plugin
GetConfig() *BucketConfig
GetLocalMetadata() *BucketLocalMetadata
GetCloudMetadata() *BucketCloudMetadata
}
Bucket describes a bucket.
func NewBucket ¶
func NewBucket(cfgFunc BucketConfigFunc, deps *BucketDependencies) Bucket
NewBucket initializes a new Bucket.
type BucketCloudMetadata ¶
type BucketCloudMetadata struct {
Exports cloudz.CloudExports
// contains filtered or unexported fields
}
BucketCloudMetadata describes the bucket cloud metadata.
func (*BucketCloudMetadata) GetName ¶
func (m *BucketCloudMetadata) GetName() string
GetName returns the bucket name.
func (*BucketCloudMetadata) GetURL ¶
func (m *BucketCloudMetadata) GetURL() *url.URL
GetURL returns the regional bucket URL.
type BucketConfig ¶
type BucketConfig struct {
Stage cloudz.Stage `validate:"required"`
Name string `validate:"required,resource-name"`
IsPublicAccessEnabled bool
Local *BucketConfigLocal
Cloud *BucketConfigCloud
}
BucketConfig describes the bucket config.
func (*BucketConfig) MustValidate ¶
func (c *BucketConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the bucket config.
type BucketConfigCloud ¶
type BucketConfigCloud struct {
IsVersioningEnabled bool
DeleteObjectsAfterDays *uint16
DeletePreviousObjectVersionsAfterDays *uint16
}
BucketConfigCloud describes part of the bucket config.
type BucketConfigFunc ¶
type BucketConfigFunc func(cloudz.Stage, *BucketDependencies) *BucketConfig
BucketConfigFunc returns the bucket config for a given Stage.
type BucketConfigLocal ¶
type BucketConfigLocal struct {
ExternalPort uint16 `validate:"required"`
}
BucketConfigLocal describes part of the bucket config.
type BucketDependencies ¶
type BucketDependencies struct {
OtherDependencies cloudz.OtherDependencies
}
BucketDependencies describes the bucket dependencies.
func (*BucketDependencies) MustValidate ¶
func (d *BucketDependencies) MustValidate()
MustValidate validates the bucket dependencies.
type BucketLocalMetadata ¶
type BucketLocalMetadata struct {
ContainerName string
BucketName string
AccessKey string
SecretKey string
ExternalURL *url.URL
InternalURL *url.URL
}
BucketLocalMetadata describes the bucket local metadata.
type Certificate ¶
type Certificate interface {
cloudz.Plugin
GetConfig() *CertificateConfig
GetCloudMetadata() *CertificateCloudMetadata
}
Certificate describes a certificate.
func NewCertificate ¶
func NewCertificate(cfgFunc CertificateConfigFunc, deps *CertificateDependencies) Certificate
NewCertificate initializes a new Certificate.
type CertificateCloudMetadata ¶
type CertificateCloudMetadata struct {
Exports cloudz.CloudExports
}
CertificateCloudMetadata describes the certificate cloud metadata.
func (*CertificateCloudMetadata) GetARN ¶
func (m *CertificateCloudMetadata) GetARN() string
GetARN returns the certificate ARN.
type CertificateConfig ¶
type CertificateConfig struct {
Stage cloudz.Stage `validate:"required"`
Name string `validate:"required,resource-name"`
Cloud *CertificateConfigCloud
}
CertificateConfig describes the certificate config.
func (*CertificateConfig) MustValidate ¶
func (c *CertificateConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the certificate config.
type CertificateConfigCloud ¶
type CertificateConfigCloud struct {
DomainName string `validate:"required"`
HostedZoneID string `validate:"required"`
}
CertificateConfigCloud describes part of the certificate config.
type CertificateConfigFunc ¶
type CertificateConfigFunc func(cloudz.Stage, *CertificateDependencies) *CertificateConfig
CertificateConfigFunc returns the certificate for a given Stage.
type CertificateDependencies ¶
type CertificateDependencies struct {
OtherDependencies cloudz.OtherDependencies
}
CertificateDependencies describes the certificate dependencies.
func (*CertificateDependencies) MustValidate ¶
func (d *CertificateDependencies) MustValidate()
MustValidate validates the certificate dependencies.
type Function ¶
type Function interface {
cloudz.Plugin
GetConfig() *FunctionConfig
GetDependencies() *FunctionDependencies
GetLocalMetadata() *FunctionLocalMetadata
GetCloudMetadata() *FunctionCloudMetadata
}
Function describes a function.
func NewFunction ¶
func NewFunction(cfgFunc FunctionConfigFunc, deps *FunctionDependencies) Function
NewFunction initializes a new Function.
type FunctionBuilder ¶
type FunctionBuilder interface {
GetLocalServiceConfigVolumes(p Function, buildDirPath string) []dctypes.ServiceVolumeConfig
LocalBeforeDeployHook(p Function, buildDirPath string)
GetCloudRuntime(p Function) string
BuildCloudPackage(p Function, buildDirPath string)
}
FunctionBuilder describes a function builder.
func NewGoFunctionBuilder ¶
func NewGoFunctionBuilder(workDirPath, packageName string, injectValues map[string]string) FunctionBuilder
NewGoFunctionBuilder initializes a new Go function builder.
type FunctionCloudMetadata ¶
type FunctionCloudMetadata struct {
Exports cloudz.CloudExports
}
FunctionCloudMetadata describes the function cloud metadata.
func (*FunctionCloudMetadata) GetARN ¶
func (m *FunctionCloudMetadata) GetARN() string
GetARN returns the function ARN.
func (*FunctionCloudMetadata) GetName ¶
func (m *FunctionCloudMetadata) GetName() string
GetName returns the function name.
type FunctionConfig ¶
type FunctionConfig struct {
Stage cloudz.Stage `validate:"required"`
Name string `validate:"required"`
Builder FunctionBuilder `validate:"required"`
TimeoutSeconds uint16 `validate:"required"`
Environment map[string]string
Local *FunctionConfigLocal
Cloud *FunctionConfigCloud
}
FunctionConfig describes the function config.
func (*FunctionConfig) MustValidate ¶
func (c *FunctionConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the function config.
type FunctionConfigCloud ¶
type FunctionConfigCloud struct {
Memory int `validate:"required"`
RolePolicies []goiam.Role_Policy
}
FunctionConfigCloud describes part of the function config.
type FunctionConfigFunc ¶
type FunctionConfigFunc func(cloudz.Stage, *FunctionDependencies) *FunctionConfig
FunctionConfigFunc returns the function config for a given Stage.
type FunctionConfigLocal ¶
type FunctionConfigLocal struct {
ExternalPort uint16
}
FunctionConfigLocal describes part of the function config.
type FunctionDependencies ¶
type FunctionDependencies struct {
ArtifactsBucket Bucket `validate:"required"`
Network Network
OtherDependencies cloudz.OtherDependencies
}
FunctionDependencies describes the function dependencies.
func (*FunctionDependencies) MustValidate ¶
func (d *FunctionDependencies) MustValidate()
MustValidate validates the function dependencies.
type FunctionLocalMetadata ¶
FunctionLocalMetadata describes the function local metadata.
type Hasura ¶
type Hasura interface {
cloudz.Plugin
GetConfig() *HasuraConfig
GetDependencies() *HasuraDependencies
GetLocalMetadata() *HasuraLocalMetadata
GetCloudMetadata() *HasuraCloudMetadata
ApplyLocalMetadata()
}
Hasura describes a hasura.
func NewHasura ¶
func NewHasura(cfgFunc HasuraConfigFunc, deps *HasuraDependencies) Hasura
NewHasura initializes a new Hasura.
type HasuraCloudMetadata ¶
type HasuraCloudMetadata struct {
Exports cloudz.CloudExports
// contains filtered or unexported fields
}
HasuraCloudMetadata describes the hasura cloud metadata.
func (*HasuraCloudMetadata) GetURL ¶
func (m *HasuraCloudMetadata) GetURL() *url.URL
GetURL returns the graphql API URL.
type HasuraConfig ¶
type HasuraConfig struct {
Stage cloudz.Stage `validate:"required"`
JWT *HasuraConfigJWT `validate:"required"`
Environment map[string]string
Local *HasuraConfigLocal
Cloud *HasuraConfigCloud
}
HasuraConfig describes the hasura config.
func (*HasuraConfig) MustValidate ¶
func (c *HasuraConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the hasura config.
type HasuraConfigCloud ¶
type HasuraConfigCloud struct {
DomainName string `validate:"required"`
Replicas int `validate:"required"`
CPU int `validate:"required"`
Memory int `validate:"required"`
AdminSecret string `validate:"required,min=16"`
CORSDomain *string
EnableAllowList bool
}
HasuraConfigCloud describes part of the hasura config.
type HasuraConfigFunc ¶
type HasuraConfigFunc func(cloudz.Stage, *HasuraDependencies) *HasuraConfig
HasuraConfigFunc returns the hasura config for a given Stage.
type HasuraConfigJWT ¶
type HasuraConfigJWT struct {
PublicKey *rsa.PublicKey `validate:"required"`
Issuer string `validate:"required"`
Audience string `validate:"required"`
}
HasuraConfigJWT describes part of the hasura config.
type HasuraConfigLocal ¶
type HasuraConfigLocal struct {
ExternalPort uint16 `validate:"required"`
ConsoleExternalPort uint16 `validate:"required"`
ConsoleAPIExternalPort uint16 `validate:"required"`
EnableAllowList bool
}
HasuraConfigLocal describes part of the hasura config.
type HasuraDependencies ¶
type HasuraDependencies struct {
Certificate Certificate `validate:"required"`
ImageRepository ImageRepository `validate:"required"`
LoadBalancer LoadBalancer `validate:"required"`
Network Network `validate:"required"`
Postgres Postgres `validate:"required"`
OtherDependencies cloudz.OtherDependencies
}
HasuraDependencies describes the hasura dependencies.
func (*HasuraDependencies) MustValidate ¶
func (d *HasuraDependencies) MustValidate()
MustValidate validates the hasura dependencies.
type HasuraLocalMetadata ¶
type HasuraLocalMetadata struct {
ContainerName string
ConsoleContainerName string
ExternalURL *url.URL
InternalURL *url.URL
}
HasuraLocalMetadata describes the hasura local metadata.
type ImageRepository ¶
type ImageRepository interface {
cloudz.Plugin
GetConfig() *ImageRepositoryConfig
GetLocalMetadata() *ImageRepositoryLocalMetadata
GetCloudMetadata() *ImageRepositoryCloudMetadata
}
ImageRepository describes an image repository.
func NewImageRepository ¶
func NewImageRepository(cfgFunc ImageRepositoryConfigFunc, deps *ImageRepositoryDependencies) ImageRepository
NewImageRepository initializes a new ImageRepository.
type ImageRepositoryCloudMetadata ¶
type ImageRepositoryCloudMetadata struct {
Exports cloudz.CloudExports
}
ImageRepositoryCloudMetadata describes the image repository cloud metadata.
func (*ImageRepositoryCloudMetadata) GetImageName ¶
func (m *ImageRepositoryCloudMetadata) GetImageName() string
GetImageName returns the image name.
type ImageRepositoryConfig ¶
type ImageRepositoryConfig struct {
Stage cloudz.Stage `validate:"required"`
Name string `validate:"required,resource-name"`
Cloud *ImageRepositoryConfigCloud
}
ImageRepositoryConfig describes the image repository config.
func (*ImageRepositoryConfig) MustValidate ¶
func (c *ImageRepositoryConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the image repository config.
type ImageRepositoryConfigCloud ¶
type ImageRepositoryConfigCloud struct {
IsScanOnPushEnabled bool
AreTagsMutable bool
TaggedImagesPolicy *ImageRepositoryConfigTaggedImagesPolicy
UntaggedImagesPolicy *ImageRepositoryConfigUntaggedImagesPolicy
}
ImageRepositoryConfigCloud describes part of the image repository config.
type ImageRepositoryConfigFunc ¶
type ImageRepositoryConfigFunc func(cloudz.Stage, *ImageRepositoryDependencies) *ImageRepositoryConfig
ImageRepositoryConfigFunc returns the image repository config for a given Stage.
type ImageRepositoryConfigTaggedImagesPolicy ¶
type ImageRepositoryConfigTaggedImagesPolicy struct {
TagPrefixes []string `validate:"required"`
MaximumCount int `validate:"required"`
}
ImageRepositoryConfigTaggedImagesPolicy describes part of the image repository config.
type ImageRepositoryConfigUntaggedImagesPolicy ¶
type ImageRepositoryConfigUntaggedImagesPolicy struct {
DeleteAfterDays int `validate:"required"`
}
ImageRepositoryConfigUntaggedImagesPolicy describes part of the image repository config.
type ImageRepositoryDependencies ¶
type ImageRepositoryDependencies struct {
OtherDependencies cloudz.OtherDependencies
}
ImageRepositoryDependencies describes the image repository dependencies.
func (*ImageRepositoryDependencies) MustValidate ¶
func (d *ImageRepositoryDependencies) MustValidate()
MustValidate validates the image repository dependencies.
type ImageRepositoryLocalMetadata ¶
type ImageRepositoryLocalMetadata struct {
ImageName string
}
ImageRepositoryLocalMetadata describes the image repository local metadata.
type LoadBalancer ¶
type LoadBalancer interface {
cloudz.Plugin
GetConfig() *LoadBalancerConfig
GetDependencies() *LoadBalancerDependencies
GetCloudMetadata() *LoadBalancerCloudMetadata
}
LoadBalancer describes a load balancer.
func NewLoadBalancer ¶
func NewLoadBalancer(cfgFunc LoadBalancerConfigFunc, deps *LoadBalancerDependencies) LoadBalancer
NewLoadBalancer initializes a new LoadBalancer.
type LoadBalancerCloudMetadata ¶
type LoadBalancerCloudMetadata struct {
Exports cloudz.CloudExports
}
LoadBalancerCloudMetadata describes the load balancer cloud metadata.
type LoadBalancerConfig ¶
LoadBalancerConfig describes the load balancer config.
func (*LoadBalancerConfig) MustValidate ¶
func (c *LoadBalancerConfig) MustValidate(_ cloudz.StageTarget)
MustValidate validates the load balancer config.
type LoadBalancerConfigFunc ¶
type LoadBalancerConfigFunc func(cloudz.Stage, *LoadBalancerDependencies) *LoadBalancerConfig
LoadBalancerConfigFunc returns the load balancer config for a given Stage.
type LoadBalancerDependencies ¶
type LoadBalancerDependencies struct {
Certificate Certificate `validate:"required"`
Network Network `validate:"required"`
OtherDependencies cloudz.OtherDependencies
}
LoadBalancerDependencies describes the load balancer dependencies.
func (*LoadBalancerDependencies) MustValidate ¶
func (d *LoadBalancerDependencies) MustValidate()
MustValidate validates the load balancer dependencies.
type Mailer ¶
type Mailer interface {
cloudz.Plugin
GetConfig() *MailerConfig
GetDependencies() *MailerDependencies
GetLocalMetadata() *MailerLocalMetadata
}
Mailer describes a mailer.
func NewMailer ¶
func NewMailer(cfgFunc MailerConfigFunc, deps *MailerDependencies) Mailer
NewMailer initializes a new Mailer.
type MailerConfig ¶
type MailerConfig struct {
Stage cloudz.Stage `validate:"required"`
Local *MailerConfigLocal
}
MailerConfig describes the mailer config.
func (*MailerConfig) MustValidate ¶
func (c *MailerConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the mailer config.
type MailerConfigFunc ¶
type MailerConfigFunc func(cloudz.Stage, *MailerDependencies) *MailerConfig
MailerConfigFunc returns the mailer config for a given Stage.
type MailerConfigLocal ¶
type MailerConfigLocal struct {
ExternalPort uint16 `validate:"required"`
SMTPExternalPort uint16 `validate:"required"`
}
MailerConfigLocal describes part of the mailer config.
type MailerDependencies ¶
type MailerDependencies struct {
OtherDependencies cloudz.OtherDependencies
}
MailerDependencies describes the mailer dependencies.
func (*MailerDependencies) MustValidate ¶
func (d *MailerDependencies) MustValidate()
MustValidate validates the mailer dependencies.
type MailerLocalMetadata ¶
type MailerLocalMetadata struct {
ContainerName string
ExternalURL *url.URL
InternalURL *url.URL
ExternalSMTP *MailerLocalMetadataSMTP
InternalSMTP *MailerLocalMetadataSMTP
}
MailerLocalMetadata describes the mailer local metadata.
type MailerLocalMetadataSMTP ¶
MailerLocalMetadataSMTP describes part of the mailer local metadata.
type Network ¶
type Network interface {
cloudz.Plugin
GetConfig() *NetworkConfig
GetCloudMetadata() *NetworkCloudMetadata
}
Network describes a network.
func NewNetwork ¶
func NewNetwork(cfgFunc NetworkConfigFunc, deps *NetworkDependencies) Network
NewNetwork initializes a new Network.
type NetworkCloudMetadata ¶
type NetworkCloudMetadata struct {
Exports cloudz.CloudExports
}
NetworkCloudMetadata describes the network cloud metadata.
type NetworkConfig ¶
NetworkConfig describes the network config.
func (*NetworkConfig) MustValidate ¶
func (c *NetworkConfig) MustValidate(_ cloudz.StageTarget)
MustValidate validates the network config.
type NetworkConfigFunc ¶
type NetworkConfigFunc func(cloudz.Stage, *NetworkDependencies) *NetworkConfig
NetworkConfigFunc returns the network config for a given Stage.
type NetworkDependencies ¶
type NetworkDependencies struct {
OtherDependencies cloudz.OtherDependencies
}
NetworkDependencies describes the network dependencies.
func (*NetworkDependencies) MustValidate ¶
func (d *NetworkDependencies) MustValidate()
MustValidate validates the network dependencies.
type Postgres ¶
type Postgres interface {
cloudz.Plugin
GetConfig() *PostgresConfig
GetDependencies() *PostgresDependencies
GetLocalMetadata() *PostgresLocalMetadata
GetCloudMetadata() *PostgresCloudMetadata
}
Postgres describes a postgres.
func NewPostgres ¶
func NewPostgres(cfgFunc PostgresConfigFunc, deps *PostgresDependencies) Postgres
NewPostgres initializes a new Postgres.
type PostgresCloudMetadata ¶
type PostgresCloudMetadata struct {
Exports cloudz.CloudExports
// contains filtered or unexported fields
}
PostgresCloudMetadata describes the postgres cloud metadata.
func (*PostgresCloudMetadata) GetURL ¶
func (m *PostgresCloudMetadata) GetURL() string
GetURL returns the postgres URL.
type PostgresConfig ¶
type PostgresConfig struct {
Stage cloudz.Stage `validate:"required"`
Local *PostgresConfigLocal
Cloud *PostgresConfigCloud
}
PostgresConfig describes the postgres config.
func (*PostgresConfig) MustValidate ¶
func (c *PostgresConfig) MustValidate(stageTarget cloudz.StageTarget)
MustValidate validates the postgres config.
type PostgresConfigCloud ¶
type PostgresConfigCloud struct {
Password string `validate:"required,min=16"`
AllocatedStorageGBs int `validate:"required,min=5"`
InstanceClass string `validate:"required"`
}
PostgresConfigCloud describes part of the postgres config.
type PostgresConfigFunc ¶
type PostgresConfigFunc func(cloudz.Stage, *PostgresDependencies) *PostgresConfig
PostgresConfigFunc returns the postgres config for a given Stage.
type PostgresConfigLocal ¶
type PostgresConfigLocal struct {
ExternalPort uint16 `validate:"required"`
AdminExternalPort uint16 `validate:"required"`
}
PostgresConfigLocal describes part of the postgres config.
type PostgresDependencies ¶
type PostgresDependencies struct {
Network Network `validate:"required"`
OtherDependencies cloudz.OtherDependencies
}
PostgresDependencies describes the postgres dependencies.
func (*PostgresDependencies) MustValidate ¶
func (d *PostgresDependencies) MustValidate()
MustValidate validates the postgres dependencies.
type PostgresLocalMetadata ¶
type PostgresLocalMetadata struct {
ContainerName string
ExternalURL *url.URL
InternalURL *url.URL
AdminExternalURL *url.URL
}
PostgresLocalMetadata describes the postgres local metadata.
type PostgresProxy ¶
type PostgresProxy interface {
cloudz.Plugin
GetConfig() *PostgresProxyConfig
GetCloudMetadata() *PostgresProxyCloudMetadata
}
PostgresProxy describes a postgres proxy.
func NewPostgresProxy ¶
func NewPostgresProxy(cfgFunc PostgresProxyConfigFunc, deps *PostgresProxyDependencies) PostgresProxy
NewPostgresProxy initializes a new PostgresProxy.
type PostgresProxyCloudMetadata ¶
type PostgresProxyCloudMetadata struct {
Exports cloudz.CloudExports
}
PostgresProxyCloudMetadata describes the postgres proxy cloud metadata.
type PostgresProxyConfig ¶
PostgresProxyConfig describes the postgres proxy config.
func (*PostgresProxyConfig) MustValidate ¶
func (c *PostgresProxyConfig) MustValidate(_ cloudz.StageTarget)
MustValidate validates the postgres proxy config.
type PostgresProxyConfigFunc ¶
type PostgresProxyConfigFunc func(cloudz.Stage, *PostgresProxyDependencies) *PostgresProxyConfig
PostgresProxyConfigFunc returns the postgres proxy config for a given Stage.
type PostgresProxyDependencies ¶
type PostgresProxyDependencies struct {
Network Network `validate:"required"`
Postgres Postgres `validate:"required"`
OtherDependencies []cloudz.Plugin
}
PostgresProxyDependencies describes the postgres proxy dependencies.
func (*PostgresProxyDependencies) MustValidate ¶
func (d *PostgresProxyDependencies) MustValidate()
MustValidate validates the postgres proxy dependencies.