From 3b1e5a9a480553103b572e407362984cbaf05126 Mon Sep 17 00:00:00 2001 From: Travis Groth Date: Wed, 21 Apr 2021 07:12:14 -0400 Subject: [PATCH] deployment: Publish OS packages to cloudsmith (#2105) * deployment: Publish OS packages to cloudsmith --- .github/workflows/release.yaml | 29 ++++++++++---------- docs/docs/installation.md | 49 ++++++++++++++++++++++++++++++++-- 2 files changed, 61 insertions(+), 17 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d12a1c700..39de05217 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -56,26 +56,25 @@ jobs: echo ::set-output name=tag::${TAG} echo ::set-output name=version::${TAG#v} - - name: Install jfrog cli - uses: jfrog/setup-jfrog-cli@v1 - - - name: Configure jfrog cli + - name: Install Cloudsmith CLI run: | - jfrog bt config --user ${{ secrets.BINTRAY_USER }} --key ${{ secrets.BINTRAY_KEY }} + pip3 install cloudsmith-cli - - name: Upload packages to bintray beta channel - if: "contains(steps.tagName.outputs.version, 'rc') == 1" + - name: Publish to Cloudsmith + env: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + working-directory: dist/ run: | VERSION=${{ steps.tagName.outputs.version }} - jfrog bt upload --publish dist/pomerium-${VERSION}-1.x86_64.rpm pomerium/enterprise-yum/pomerium/${VERSION} centos/8/x86_64/beta/ - jfrog bt upload --publish dist/pomerium-cli-${VERSION}-1.x86_64.rpm pomerium/enterprise-yum/pomerium/${VERSION} centos/8/x86_64/beta/ + RPMS="pomerium-${VERSION}-1.x86_64.rpm pomerium-${VERSION}-1.aarch64.rpm pomerium-cli-${VERSION}-1.aarch64.rpm pomerium-cli-${VERSION}-1.x86_64.rpm pomerium-cli-${VERSION}-1.armhf.rpm" + for pkg in $(echo $RPMS); do + cloudsmith push rpm pomerium/pomerium/el/any-version $pkg + done - - name: Upload packages to bintray stable channel - if: "contains(steps.tagName.outputs.version, 'rc') == 0" - run: | - VERSION=${{ steps.tagName.outputs.version }} - jfrog bt upload --publish dist/pomerium-${VERSION}-1.x86_64.rpm pomerium/enterprise-yum/pomerium/${VERSION} centos/8/x86_64/stable/ - jfrog bt upload --publish dist/pomerium-cli-${VERSION}-1.x86_64.rpm pomerium/enterprise-yum/pomerium/${VERSION} centos/8/x86_64/stable/ + DEBS="pomerium-cli_${VERSION}-1_amd64.deb pomerium-cli_${VERSION}-1_arm64.deb pomerium-cli_${VERSION}-1_armhf.deb pomerium_${VERSION}-1_amd64.deb pomerium_${VERSION}-1_arm64.deb" + for pkg in $(echo $DEBS); do + cloudsmith push deb pomerium/pomerium/debian/any-version $pkg + done - name: Find latest tag id: latestTag diff --git a/docs/docs/installation.md b/docs/docs/installation.md index 336d08140..7b4ea77be 100644 --- a/docs/docs/installation.md +++ b/docs/docs/installation.md @@ -37,7 +37,30 @@ curl -L https://github.com/pomerium/pomerium/releases/download/${VERSION}/pomeri - Supported formats: `rpm`, `deb` - Requires `systemd` support -Official packages can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page. +Official packages can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page or from [Cloudsmith](https://cloudsmith.io/~pomerium/repos/pomerium/packages/). + +- [RPM Instructions](https://cloudsmith.io/~pomerium/repos/pomerium/setup/#formats-rpm) +- [Deb Instructions](https://cloudsmith.io/~pomerium/repos/pomerium/setup/#formats-deb) + +#### Example yum repo + +``` +[pomerium-pomerium] +name=pomerium-pomerium +baseurl=https://dl.cloudsmith.io/public/pomerium/pomerium/rpm/el/$releasever/$basearch +repo_gpgcheck=1 +enabled=1 +gpgkey=https://dl.cloudsmith.io/public/pomerium/pomerium/gpg.6E388440B94E1407.key +gpgcheck=1 +sslverify=1 +pkg_gpgcheck=1 +``` +#### Example deb setup + +```bash +curl -1sLf 'https://dl.cloudsmith.io/public/pomerium/pomerium/gpg.6E388440B94E1407.key' | apt-key add - +echo "deb https://dl.cloudsmith.io/public/pomerium/pomerium/deb/debian buster main" > /etc/apt/sources.list.d/pomerium-pomerium.list +``` ### Docker Image @@ -110,8 +133,30 @@ curl -L https://github.com/pomerium/pomerium/releases/download/${VERSION}/pomeri - Supported formats: `rpm`, `deb` -Official packages can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page. +Official packages can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page or from [Cloudsmith](https://cloudsmith.io/~pomerium/repos/pomerium/packages/). +- [RPM Instructions](https://cloudsmith.io/~pomerium/repos/pomerium/setup/#formats-rpm) +- [Deb Instructions](https://cloudsmith.io/~pomerium/repos/pomerium/setup/#formats-deb) + +#### Example yum repo + +``` +[pomerium-pomerium] +name=pomerium-pomerium +baseurl=https://dl.cloudsmith.io/public/pomerium/pomerium/rpm/el/$releasever/$basearch +repo_gpgcheck=1 +enabled=1 +gpgkey=https://dl.cloudsmith.io/public/pomerium/pomerium/gpg.6E388440B94E1407.key +gpgcheck=1 +sslverify=1 +pkg_gpgcheck=1 +``` +#### Example deb setup + +```bash +curl -1sLf 'https://dl.cloudsmith.io/public/pomerium/pomerium/gpg.6E388440B94E1407.key' | apt-key add - +echo "deb https://dl.cloudsmith.io/public/pomerium/pomerium/deb/debian buster main" > /etc/apt/sources.list.d/pomerium-pomerium.list +``` ### Homebrew ```shell