https://github.com/dhth/ecsv
Quickly check the versions of your systems running in ECS tasks across various environments
https://github.com/dhth/ecsv
aws bubbletea ecs
Last synced: 12 months ago
JSON representation
Quickly check the versions of your systems running in ECS tasks across various environments
- Host: GitHub
- URL: https://github.com/dhth/ecsv
- Owner: dhth
- License: mit
- Created: 2024-03-14T23:34:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-01T21:08:36.000Z (about 1 year ago)
- Last Synced: 2025-06-13T08:04:36.899Z (about 1 year ago)
- Topics: aws, bubbletea, ecs
- Language: Go
- Homepage: https://tools.dhruvs.space/ecsv
- Size: 745 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ecsv
[](https://github.com/dhth/ecsv/actions/workflows/main.yml)
[](https://github.com/dhth/ecsv/actions/workflows/vulncheck.yml)
[](https://github.com/dhth/ecsv/releases/latest)
[](https://github.com/dhth/ecsv/releases)
`ecsv` helps you quickly check the versions of your systems running in ECS tasks
across various environments.

💾 Installation
---
**homebrew**:
```sh
brew install dhth/tap/ecsv
```
**go**:
```sh
go install github.com/dhth/ecsv@latest
```
Or get the binaries directly from a
[release](https://github.com/dhth/ecsv/releases). Read more about verifying the
authenticity of released artifacts [here](#-verifying-release-artifacts).
⚡️ Usage
---
Create a configuration file that looks like the following.
```yaml
env-sequence: ["qa", "staging"]
systems:
- key: service-a
envs:
- name: qa
aws-config-source: profile:::qa
aws-region: eu-central-1
cluster: 1brd-qa
service: service-a-fargate
container-name: service-a-qa-Service
- name: staging
aws-profile: qa
aws-config-source: profile:::staging
aws-region: eu-central-1
cluster: 1brd-staging
service: service-a-fargate
container-name: service-a-staging-Service
- key: service-b
envs:
- name: qa
aws-config-source: profile:::qa
aws-region: eu-central-1
cluster: 1brd-qa
service: service-b-fargate
container-name: service-b-qa-Service
- name: staging
aws-config-source: profile:::staging
aws-region: eu-central-1
cluster: 1brd-staging
service: service-b-fargate
container-name: service-b-staging-Service
```
🔠 Output Formats
---
Besides the default ANSI output, `ecsv` can also output data in plaintext and
HTML formats.
```bash
ecsv -f table
```

```bash
ecsv -f html > output.html
```

Read more about outputting HTML in the [examples](./examples/html-template)
directory.
🔐 Verifying release artifacts
---
In case you get the `ecsv` binary directly from a [release][4], you may want to
verify its authenticity. Checksums are applied to all released artifacts, and
the resulting checksum file is signed using
[cosign](https://docs.sigstore.dev/cosign/installation/).
Steps to verify (replace `A.B.C` in the commands listed below with the version
you want):
1. Download the following files from the release:
- ecsv_A.B.C_checksums.txt
- ecsv_A.B.C_checksums.txt.pem
- ecsv_A.B.C_checksums.txt.sig
2. Verify the signature:
```shell
cosign verify-blob ecsv_A.B.C_checksums.txt \
--certificate ecsv_A.B.C_checksums.txt.pem \
--signature ecsv_A.B.C_checksums.txt.sig \
--certificate-identity-regexp 'https://github\.com/dhth/ecsv/\.github/workflows/.+' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
```
3. Download the compressed archive you want, and validate its checksum:
```shell
curl -sSLO https://github.com/dhth/ecsv/releases/download/vA.B.C/ecsv_A.B.C_linux_amd64.tar.gz
sha256sum --ignore-missing -c ecsv_A.B.C_checksums.txt
```
3. If checksum validation goes through, uncompress the archive:
```shell
tar -xzf ecsv_A.B.C_linux_amd64.tar.gz
./ecsv
# profit!
```
≈ Related tools
---
- [ecscope](https://github.com/dhth/ecscope) lets you monitor ECS resources and
deployments.