github.com/hazelops/ize@v1.1.12-0.20230915191306-97d7c0e48f11/internal/manager/ecs/explain.go (about) 1 package ecs 2 3 import ( 4 "text/template" 5 6 "github.com/hazelops/ize/internal/config" 7 ) 8 9 func (e *Manager) Explain() error { 10 e.prepare() 11 return e.Project.Generate(pushEcsAppTmpl, template.FuncMap{ 12 "app": func() config.Ecs { 13 return *e.App 14 }, 15 }) 16 } 17 18 var pushEcsAppTmpl = ` 19 # Authenticate the Docker CLI to registry 20 aws ecr get-login-password --region {{.AwsRegion}} | docker login --username AWS --password-stdin {{.DockerRegistry}} 21 22 # Create a repository 23 aws ecr describe-repositories --repository-names {{.Namespace}}-{{app.Name}} || \ 24 aws ecr create-repository \ 25 --repository-name {{.Namespace}}-{{app.Name}} \ 26 --region {{.AwsRegion}} 27 28 # Push an image to Amazon ECR 29 docker push {{.DockerRegistry}}/{{.Namespace}}-{{app.Name}}:{{.Tag}} && \ 30 docker push {{.DockerRegistry}}/{{.Namespace}}-{{app.Name}}:{{.Env}}-latest 31 `