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  `