Documentation ¶
Index ¶
- Constants
- type Application
- type BuiltApplication
- type ContainerDefinition
- type DatabaseReference
- type ListenerRuleSet
- type PolicyBuilder
- func (pb *PolicyBuilder) AddBucketReadOnly(arn string)
- func (pb *PolicyBuilder) AddBucketReadWrite(arn string)
- func (pb *PolicyBuilder) AddBucketReadWriteAcl(arn string)
- func (pb *PolicyBuilder) AddBucketWriteOnly(arn string)
- func (pb *PolicyBuilder) AddECRPull()
- func (pb *PolicyBuilder) AddMetaDeployPermissions()
- func (pb *PolicyBuilder) AddSES(policy *application_pb.AWSConfig_SES)
- func (pb *PolicyBuilder) AddSNSPublish(arn string)
- func (pb *PolicyBuilder) AddSQSPublish(arn string)
- func (pb *PolicyBuilder) AddSQSSubscribe(arn string)
- func (pb *PolicyBuilder) Build(appName string, runtimeName string) []iam.Role_Policy
- type PolicyDocument
- type RuntimeService
- type SNSTopic
- type StatementEntry
Constants ¶
View Source
const ( ECSClusterParameter = "ECSCluster" ECSRepoParameter = "ECSRepo" ECSTaskExecutionRoleParameter = "ECSTaskExecutionRole" VersionTagParameter = "VersionTag" ListenerARNParameter = "ListenerARN" HostHeaderParameter = "HostHeader" EnvNameParameter = "EnvName" VPCParameter = "VPCID" MetaDeployAssumeRoleParameter = "MetaDeployAssumeRoleArns" JWKSParameter = "JWKS" AWSRegionParameter = "AWS::Region" CORSOriginParameter = "CORSOrigin" SNSPrefixParameter = "SNSPrefix" S3BucketNamespaceParameter = "S3BucketNamespace" O5SidecarImageParameter = "O5SidecarImage" SESConditionsParameter = "SESConditions" SourceTagParameter = "SourceTag" AWSAccountIDParameter = "AWS::AccountId" O5SidecarContainerName = "o5_runtime" O5SidecarInternalPort = 8081 DeadLetterTargetName = "dead-letter" O5MonitorTargetName = "o5-monitor" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct { *cf.TemplateBuilder // contains filtered or unexported fields }
func NewApplication ¶
func NewApplication(name, version string) *Application
func (*Application) AddSNSTopic ¶
func (ss *Application) AddSNSTopic(name string)
func (*Application) Build ¶
func (ss *Application) Build() *BuiltApplication
type BuiltApplication ¶
type BuiltApplication struct { Template *cloudformation.Template *deployer_pb.BuiltApplication }
func BuildApplication ¶
func BuildApplication(app *application_pb.Application, versionTag string) (*BuiltApplication, error)
func (*BuiltApplication) TemplateJSON ¶
func (ba *BuiltApplication) TemplateJSON() ([]byte, error)
type ContainerDefinition ¶
type ContainerDefinition struct { Container *ecs.TaskDefinition_ContainerDefinition Parameters map[string]*deployer_pb.Parameter }
type DatabaseReference ¶
type DatabaseReference struct { Definition *application_pb.Database SecretResource *cf.Resource[*secretsmanager.Secret] }
DatabaseReference is used to look up parameters ECS Task Definitions
func (DatabaseReference) SecretValueFrom ¶
func (dbDef DatabaseReference) SecretValueFrom() string
type ListenerRuleSet ¶
type ListenerRuleSet struct {
Rules []*cf.Resource[*elbv2.ListenerRule]
}
func NewListenerRuleSet ¶
func NewListenerRuleSet() *ListenerRuleSet
func (*ListenerRuleSet) AddRoute ¶
func (ll *ListenerRuleSet) AddRoute(targetGroup *cf.Resource[*elbv2.TargetGroup], route *application_pb.Route) (*cf.Resource[*elbv2.ListenerRule], error)
type PolicyBuilder ¶
type PolicyBuilder struct {
// contains filtered or unexported fields
}
func NewPolicyBuilder ¶
func NewPolicyBuilder() *PolicyBuilder
func (*PolicyBuilder) AddBucketReadOnly ¶
func (pb *PolicyBuilder) AddBucketReadOnly(arn string)
func (*PolicyBuilder) AddBucketReadWrite ¶
func (pb *PolicyBuilder) AddBucketReadWrite(arn string)
func (*PolicyBuilder) AddBucketReadWriteAcl ¶
func (pb *PolicyBuilder) AddBucketReadWriteAcl(arn string)
func (*PolicyBuilder) AddBucketWriteOnly ¶
func (pb *PolicyBuilder) AddBucketWriteOnly(arn string)
func (*PolicyBuilder) AddECRPull ¶
func (pb *PolicyBuilder) AddECRPull()
func (*PolicyBuilder) AddMetaDeployPermissions ¶
func (pb *PolicyBuilder) AddMetaDeployPermissions()
func (*PolicyBuilder) AddSES ¶
func (pb *PolicyBuilder) AddSES(policy *application_pb.AWSConfig_SES)
func (*PolicyBuilder) AddSNSPublish ¶
func (pb *PolicyBuilder) AddSNSPublish(arn string)
func (*PolicyBuilder) AddSQSPublish ¶
func (pb *PolicyBuilder) AddSQSPublish(arn string)
func (*PolicyBuilder) AddSQSSubscribe ¶
func (pb *PolicyBuilder) AddSQSSubscribe(arn string)
func (*PolicyBuilder) Build ¶
func (pb *PolicyBuilder) Build(appName string, runtimeName string) []iam.Role_Policy
type PolicyDocument ¶
type PolicyDocument struct { // Version of the policy document Version string `json:"Version"` // Statement is the list of statements in the policy document Statement []StatementEntry `json:"Statement"` }
type RuntimeService ¶
type RuntimeService struct { Prefix string Name string TaskDefinition *cf.Resource[*ecs.TaskDefinition] Containers []*ContainerDefinition Service *cf.Resource[*ecs.Service] TargetGroups map[string]*cf.Resource[*elbv2.TargetGroup] Policy *PolicyBuilder AdapterContainer *ecs.TaskDefinition_ContainerDefinition // contains filtered or unexported fields }
func NewRuntimeService ¶
func NewRuntimeService(globals globalData, runtime *application_pb.Runtime) (*RuntimeService, error)
func (*RuntimeService) AddRoutes ¶
func (rs *RuntimeService) AddRoutes(ingress *ListenerRuleSet) error
func (*RuntimeService) Apply ¶
func (rs *RuntimeService) Apply(template *Application) error
func (*RuntimeService) LazyTargetGroup ¶
func (rs *RuntimeService) LazyTargetGroup(protocol application_pb.RouteProtocol, targetContainer string, port int) (*cf.Resource[*elbv2.TargetGroup], error)
type StatementEntry ¶
Click to show internal directories.
Click to hide internal directories.