Skip to content
/ ecsv Public

Quickly check the versions of your systems running in ECS tasks across various environments

License

Notifications You must be signed in to change notification settings

dhth/ecsv

Repository files navigation

ecsv

Build Workflow Status Vulncheck Workflow Status Latest Release Commits Since Latest Release

ecsv helps you quickly check the versions of your systems running in ECS tasks across various environments.

ecsv-terminal

💾 Installation

homebrew:

brew install dhth/tap/ecsv

go:

go install github.com/dhth/ecsv@latest

Or get the binaries directly from a release. Read more about verifying the authenticity of released artifacts here.

⚡️ Usage

Create a configuration file that looks like the following.

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.

ecsv -f table

ecsv-table

ecsv -f html > output.html

ecsv-terminal

Read more about outputting HTML in the examples 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.

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:

    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:

    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
  4. If checksum validation goes through, uncompress the archive:

    tar -xzf ecsv_A.B.C_linux_amd64.tar.gz
    ./ecsv
    # profit!

≈ Related tools

  • ecscope lets you monitor ECS resources and deployments.

About

Quickly check the versions of your systems running in ECS tasks across various environments

Topics

Resources

License

Stars

Watchers

Forks