diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a297feb4..64f433bb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -71,6 +71,9 @@ jobs: # GitHub action usage container: runs-on: ubuntu-24.04 + permissions: + contents: read + packages: write steps: - name: Checkout uses: actions/checkout@v5 @@ -96,13 +99,25 @@ jobs: uses: aws-actions/amazon-ecr-login@v2 with: registry-type: public - - name: Build, Tag, and push image to Amazon ECR + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build, tag, and push images env: ECR_REGISTRY: public.ecr.aws/r3m4q3r9 ECR_REPOSITORY: qovery-cli + GHCR_REGISTRY: ghcr.io + GHCR_REPOSITORY: qovery/qovery-cli IMAGE_TAG: ${{ steps.vars.outputs.tag }} run: | - docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . --build-arg APP_VERSION=$IMAGE_TAG + docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . --build-arg APP_VERSION=$IMAGE_TAG --label org.opencontainers.image.source=https://github.com/Qovery/qovery-cli docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:latest + docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG $GHCR_REGISTRY/$GHCR_REPOSITORY:$IMAGE_TAG + docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG $GHCR_REGISTRY/$GHCR_REPOSITORY:latest docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest + docker push $GHCR_REGISTRY/$GHCR_REPOSITORY:$IMAGE_TAG + docker push $GHCR_REGISTRY/$GHCR_REPOSITORY:latest diff --git a/README.md b/README.md index 58d6f703..44d1ee3f 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,84 @@

- Qovery Logo + Qovery Logo

[Qovery](https://www.qovery.com/) helps tech companies to accelerate and scale application development cycle with zero infrastructure management investment. This repository is the code source of the Qovery CLI. -See our complete documentation [here](https://docs.qovery.com) to get started with Qovery. +See the [Qovery documentation](https://docs.qovery.com) to get started with Qovery. -## Authentication +See the [Qovery CLI documentation](https://www.qovery.com/docs/cli/overview) to get started with the CLI and explore its commands. -You can use `qovery auth` to authenticate with the CLI or use `Q_CLI_ACCESS_TOKEN` (or `QOVERY_CLI_ACCESS_TOKEN`) environment variable to set your API token. +## Installation + +Choose the installation method for your platform. + +### Linux + +Install the latest version on any Linux distribution: + +```sh +curl -s https://get.qovery.com | bash +``` + +For security-sensitive environments, install from a [pinned GitHub release](https://github.com/Qovery/qovery-cli/releases) and verify the downloaded archive against that release's `checksums.txt`. The convenience script does not perform an integrity check. + +### macOS + +Install with Homebrew: + +```sh +brew tap Qovery/qovery-cli +brew install qovery-cli +``` + +Alternatively, use the installer script: + +```sh +curl -s https://get.qovery.com | bash +``` + +For a pinned, checksum-verified installation, use a [GitHub release](https://github.com/Qovery/qovery-cli/releases). + +### Windows -## Versions +Install with [Scoop](https://scoop.sh/): -You can install the latest version of the CLI: +```powershell +scoop bucket add qovery https://github.com/Qovery/scoop-qovery-cli +scoop install qovery-cli +``` + +You can also download a release archive from [GitHub Releases](https://github.com/Qovery/qovery-cli/releases) and add the extracted `qovery` executable to your `PATH`. + +### Arch Linux + +The CLI is available through the AUR: + +```sh +yay qovery-cli +``` + +### Docker + +Run the CLI without installing it locally: + +```sh +docker run ghcr.io/qovery/qovery-cli:latest help +``` + +Replace `latest` with a specific version when you need reproducible builds. + +### Verify the installation + +```sh +qovery version +``` -- On Mac: with brew `brew install qovery-cli` -- On ArchLinux: with `yay qovery-cli` -- On Windows: with scoop `scoop install qovery-cli` -- On Docker: at the address `public.ecr.aws/r3m4q3r9/qovery-cli` -- From binary: +## Authentication + +You can use `qovery auth` to authenticate with the CLI or use `Q_CLI_ACCESS_TOKEN` (or `QOVERY_CLI_ACCESS_TOKEN`) environment variable to set your API token. # Update deps