make tools # install goreleaser and golangci-lint (one-time)
make lint # run golangci-lint
make test # run unit tests
make ci # lint + test (same as CI)
make snapshot # build local release artifacts via goreleaser (dist/)
make help # list targets
Under The Hood
Let’s consider this command and see what actually happens:
The above command pushes a local container image with tag
hello-world:latest to make it available in Lightsail container
service deployments for service hello.
This container image pushing logic requires a number of steps that are
outsourced from AWS CLI to lightsailctl.
Here’s a shell invocation of lightsailctl that approximates what AWS
CLI does when the command above is invoked:
Releases are automated: pushing a v*.*.* tag triggers
.github/workflows/release.yml, which uses
GoReleaser to cross-compile binaries and attach them to a
new GitHub release.
License
This project is licensed under the Apache-2.0 License.
Amazon Lightsail CLI Extensions
This project is the source code of
lightsailctl, a tool that augments Amazon Lightsail features in AWS CLI.Usage
lightsailctlis executed automatically by AWS CLI when certain subcommands are used, such asaws lightsail push-container-image.Installing
Homebrew 🍻
From Source
lightsailctlis written in Go, so please install Go.If all you want is to install
lightsailctlbinary, then do the following:Keep reading if you want to work with
lightsailctlsource code locally.After you clone this repo and open your terminal app in it, you’ll be able to test and build this code like so:
Windows
For Windows installation instructions, please see Install Docker, AWS CLI, and the Lightsail Control plugin for containers.
Development
The
Makefilewraps the common tasks:Under The Hood
Let’s consider this command and see what actually happens:
The above command pushes a local container image with tag
hello-world:latestto make it available in Lightsail container service deployments for servicehello.This container image pushing logic requires a number of steps that are outsourced from AWS CLI to
lightsailctl.Here’s a shell invocation of
lightsailctlthat approximates what AWS CLI does when the command above is invoked:Security Disclosures
See CONTRIBUTING.md for more information.
Giving Feedback and Contributing
Aside from the security feedback covered above, do you have any feedback, bug reports, questions or feature ideas?
You are welcome to write up an issue for us.
Please read about Contributing Guidelines.
Releases
Releases are automated: pushing a
v*.*.*tag triggers.github/workflows/release.yml, which uses GoReleaser to cross-compile binaries and attach them to a new GitHub release.License
This project is licensed under the Apache-2.0 License.