copilot-cli

module
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2020 License: Apache-2.0

README ΒΆ

AWS Copilot CLI (preview) latest version

Develop, Release and Operate Container Apps on AWS.

The AWS Copilot CLI is a tool for developers to create, release and manage production ready containerized applications on Amazon ECS and AWS Fargate. From getting started, pushing to a test environment and releasing to production, Copilot helps you through the entire life of your app development.

Got a Dockerfile and some code? Get it up and running on ECS in under 10 minutes, with just one command. Ready to take that app to production? Spin up new environments and a continuous delivery pipeline without having to leave your terminal. Find a bug? Tail your logs and deploy with one tool.

Use Copilot to:

  • Organize all your related micro-services in one application
  • Set up test and production environments, across regions and accounts
  • Set up production-ready, scalable ECS services and infrastructure
  • Set up CI/CD Pipelines for all of the micro-services
  • Monitor and debug your services from your terminal

Read more about the Copilot charter and tenets here.

copilot help menu

Using the instructions and assets in this repository folder is governed as a preview program under the AWS Service Terms (https://aws.amazon.com/service-terms/).

Installing

Homebrew 🍻

$ brew install aws/tap/copilot-cli

Manually

We're distributing binaries from our GitHub releases.

Instructions for installing Copilot for your platform
Platform Command to install
macOS curl -Lo /usr/local/bin/copilot https://github.com/aws/copilot-cli/releases/latest/download/copilot-darwin && chmod +x /usr/local/bin/copilot && copilot --help
Linux x86 (64-bit) curl -Lo /usr/local/bin/copilot https://github.com/aws/copilot-cli/releases/latest/download/copilot-linux && chmod +x /usr/local/bin/copilot && copilot --help
Linux ARM curl -Lo /usr/local/bin/copilot https://github.com/aws/copilot-cli/releases/latest/download/copilot-linux-arm64 && chmod +x /usr/local/bin/copilot && copilot --help
Windows Invoke-WebRequest -OutFile 'C:\Program Files\copilot.exe' https://github.com/aws/copilot-cli/releases/latest/download/copilot-windows.exe

Getting started 🌱

Make sure you have the AWS command line tool installed and have already run aws configure before you start.

To get a sample app up and running in one command, run the following:

$ git clone git@github.com:aws-samples/aws-copilot-sample-service.git demo-app
$ cd demo-app
$ copilot init --app demo                \
  --name api                             \
  --type 'Load Balanced Web Service'     \
  --dockerfile './Dockerfile'            \
  --deploy

This will create a VPC, Application Load Balancer, an Amazon ECS Service with the sample app running on AWS Fargate. This process will take around 8 minutes to complete - at which point you'll get a URL for your sample app running!

Cleaning up 🧹

Once you're finished playing around with this project, you can delete it and all the AWS resources associated it by running copilot app delete.

Running a one-off task πŸƒβ€β™€οΈ

Copilot makes it easy to set up production-ready applications, but you can also use it to run tasks on AWS Fargate without having to set up any infrastructure. To run a simple hello world task on Fargate you can use Copilot:

$ copilot task run      \
  --default             \
  --follow              \
  --image alpine:latest \
  --command "echo 'Howdy, Copilot'"

Learning more πŸ“–

Want to learn more about what's happening? Check out our documentation https://aws.github.io/copilot-cli/ for a getting started guide, learning about Copilot concepts, and a breakdown of our commands.

We need your feedback πŸ™

The AWS Copilot CLI is in beta, meaning that you can expect our command names to be stable as well as the shape of our infrastructure patterns. However, we want to know what works, what doesn't work, and what you want! Have any feedback at all? Drop us an issue or join us on gitter.

We're happy to hear feedback or answer questions, so reach out, anytime!

Security disclosures

If you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions here or email AWS security directly at aws-security@amazon.com.

License

This library is licensed under the Apache 2.0 License.

Directories ΒΆ

Path Synopsis
cmd
copilot
Package main contains the root command.
Package main contains the root command.
copilot/template
Package template provides usage templates to render help menus.
Package template provides usage templates to render help menus.
e2e
internal
pkg/addon
Package addon contains the service to manage addons.
Package addon contains the service to manage addons.
pkg/addon/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/aas
Package aas provides a client to make API requests to Application Auto Scaling.
Package aas provides a client to make API requests to Application Auto Scaling.
pkg/aws/aas/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/cloudformation
Package cloudformation provides a client to make API requests to AWS CloudFormation.
Package cloudformation provides a client to make API requests to AWS CloudFormation.
pkg/aws/cloudformation/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/cloudformation/stackset
Package stackset provides a client to make API requests to an AWS CloudFormation StackSet resource.
Package stackset provides a client to make API requests to an AWS CloudFormation StackSet resource.
pkg/aws/cloudformation/stackset/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/cloudwatch
Package cloudwatch provides a client to make API requests to Amazon CloudWatch Service.
Package cloudwatch provides a client to make API requests to Amazon CloudWatch Service.
pkg/aws/cloudwatch/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/cloudwatchlogs
Package cloudwatchlogs provides a client to make API requests to Amazon CloudWatch Logs.
Package cloudwatchlogs provides a client to make API requests to Amazon CloudWatch Logs.
pkg/aws/cloudwatchlogs/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/codepipeline
Package codepipeline provides a client to make API requests to Amazon Elastic Container Service.
Package codepipeline provides a client to make API requests to Amazon Elastic Container Service.
pkg/aws/codepipeline/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/ec2
Package ec2 provides a client to make API requests to Amazon Elastic Compute Cloud.
Package ec2 provides a client to make API requests to Amazon Elastic Compute Cloud.
pkg/aws/ec2/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/ecr
Package ecr provides a client to make API requests to Amazon EC2 Container Registry.
Package ecr provides a client to make API requests to Amazon EC2 Container Registry.
pkg/aws/ecr/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/ecs
Package ecs provides a client to make API requests to Amazon Elastic Container Service.
Package ecs provides a client to make API requests to Amazon Elastic Container Service.
pkg/aws/ecs/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/iam
Package iam provides a client to make API requests to the AWS Identity and Access Management service.
Package iam provides a client to make API requests to the AWS Identity and Access Management service.
pkg/aws/iam/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/identity
Package identity provides a client to make API requests to AWS Security Token Service.
Package identity provides a client to make API requests to AWS Security Token Service.
pkg/aws/identity/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/profile
Package profile provides functionality to parse AWS named profiles.
Package profile provides functionality to parse AWS named profiles.
pkg/aws/resourcegroups
Package resourcegroups provides a client to make API requests to AWS Resource Groups
Package resourcegroups provides a client to make API requests to AWS Resource Groups
pkg/aws/resourcegroups/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/route53
Package route53 provides functionality to manipulate route53 primitives.
Package route53 provides functionality to manipulate route53 primitives.
pkg/aws/route53/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/s3
Package s3 provides a client to make API requests to Amazon Simple Storage Service.
Package s3 provides a client to make API requests to Amazon Simple Storage Service.
pkg/aws/s3/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/secretsmanager
Package secretsmanager provides a client to make API requests to AWS Secrets Manager.
Package secretsmanager provides a client to make API requests to AWS Secrets Manager.
pkg/aws/secretsmanager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/aws/sessions
Package sessions provides functions that return AWS sessions to use in the AWS SDK.
Package sessions provides functions that return AWS sessions to use in the AWS SDK.
pkg/aws/tags
Package tags implements simple functions to manipulate AWS resource tags.
Package tags implements simple functions to manipulate AWS resource tags.
pkg/cli
Package cli contains the copilot subcommands.
Package cli contains the copilot subcommands.
pkg/cli/group
Package groups contains the names of command groups.
Package groups contains the names of command groups.
pkg/cli/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/config
Package config implements CRUD operations for application, environment, service and pipeline configuration.
Package config implements CRUD operations for application, environment, service and pipeline configuration.
pkg/config/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/deploy
Package deploy holds the structures to deploy infrastructure resources.
Package deploy holds the structures to deploy infrastructure resources.
pkg/deploy/cloudformation
Package cloudformation provides functionality to deploy CLI concepts with AWS CloudFormation.
Package cloudformation provides functionality to deploy CLI concepts with AWS CloudFormation.
pkg/deploy/cloudformation/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/deploy/cloudformation/stack/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/deploy/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/describe/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/docker
Package docker provides an interface to the system's Docker daemon.
Package docker provides an interface to the system's Docker daemon.
pkg/docker/dockerfile
Package dockerfile provides simple Dockerfile parsing functionality.
Package dockerfile provides simple Dockerfile parsing functionality.
pkg/docker/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/ecs
Package ecs provides a client to retrieve Copilot ECS information.
Package ecs provides a client to retrieve Copilot ECS information.
pkg/ecs/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/ini
Package ini provides functionality to parse and read properties from INI files.
Package ini provides functionality to parse and read properties from INI files.
pkg/initialize
Package initialize contains methods and structs needed to initialize jobs and services.
Package initialize contains methods and structs needed to initialize jobs and services.
pkg/initialize/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/list/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/logging
Package logging contains utility functions for ECS logging.
Package logging contains utility functions for ECS logging.
pkg/logging/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/manifest
Package manifest provides functionality to create Manifest files.
Package manifest provides functionality to create Manifest files.
pkg/repository
Package repository provides support for building and pushing images to a repository.
Package repository provides support for building and pushing images to a repository.
pkg/repository/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/task
Package task provides support for running Amazon ECS tasks.
Package task provides support for running Amazon ECS tasks.
pkg/task/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/template
Package template renders the static files under the "/templates/" directory.
Package template renders the static files under the "/templates/" directory.
pkg/template/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/term/color
Package color provides functionality to displayed colored text on the terminal.
Package color provides functionality to displayed colored text on the terminal.
pkg/term/cursor
Package cursor provides functionality to interact with the terminal cursor.
Package cursor provides functionality to interact with the terminal cursor.
pkg/term/log
Package log is a wrapper around the fmt package to print messages to the terminal.
Package log is a wrapper around the fmt package to print messages to the terminal.
pkg/term/progress
Package progress provides data and functionality to display updates to the terminal.
Package progress provides data and functionality to display updates to the terminal.
pkg/term/progress/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/term/prompt
Package prompt provides functionality to retrieve free-form text, selection, and confirmation input from the user via a terminal.
Package prompt provides functionality to retrieve free-form text, selection, and confirmation input from the user via a terminal.
pkg/term/selector
Package selector provides functionality for users to select an application, environment, or service name.
Package selector provides functionality for users to select an application, environment, or service name.
pkg/term/selector/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg/version
Package version holds variables for generating version information
Package version holds variables for generating version information
pkg/workspace
Package workspace contains functionality to manage a user's local workspace.
Package workspace contains functionality to manage a user's local workspace.

Jump to

Keyboard shortcuts

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