From fb116c2486ea221b0eb9badf37f203c40ac098f1 Mon Sep 17 00:00:00 2001 From: Isa Farnik Date: Fri, 28 Jul 2023 09:30:54 -0700 Subject: [PATCH] Revert "Revert "[KAG-1585] Convert install pages to use Cloudsmith"" (#5859) Revert "Revert "[KAG-1585] Convert install pages to use Cloudsmith" (#5847)" This reverts commit 043c9fc88ac9e920449a239b6199ac023682ed84. --- .../workflows/install-instructions-test.yml | 28 + app/_data/installation/gateway.yml | 16 + app/_plugins/generators/versions.rb | 7 + .../install/docker/build-custom-images.md | 18 +- .../gateway/install/linux/amazon-linux.md | 17 +- app/_src/gateway/install/linux/debian.md | 32 +- app/_src/gateway/install/linux/rhel.md | 17 +- app/_src/gateway/install/linux/ubuntu.md | 19 +- .../gateway/kong-enterprise/fips-support.md | 16 +- .../kong-enterprise/fips-support/install.md | 12 +- .../2.6.x/install-and-run/amazon-linux.md | 49 +- app/gateway/2.6.x/install-and-run/centos.md | 69 +- app/gateway/2.6.x/install-and-run/debian.md | 107 +- app/gateway/2.6.x/install-and-run/rhel.md | 70 +- app/gateway/2.6.x/install-and-run/ubuntu.md | 72 +- .../2.7.x/install-and-run/amazon-linux.md | 49 +- app/gateway/2.7.x/install-and-run/centos.md | 69 +- app/gateway/2.7.x/install-and-run/debian.md | 65 +- app/gateway/2.7.x/install-and-run/rhel.md | 70 +- app/gateway/2.7.x/install-and-run/ubuntu.md | 72 +- .../2.8.x/install-and-run/amazon-linux.md | 19 +- app/gateway/2.8.x/install-and-run/centos.md | 9 +- app/gateway/2.8.x/install-and-run/debian.md | 18 +- app/gateway/2.8.x/install-and-run/rhel.md | 19 +- app/gateway/2.8.x/install-and-run/ubuntu.md | 18 +- jekyll-dev.yml | 1 + jekyll.yml | 1 + tools/install-tester/.gitignore | 133 +++ tools/install-tester/README.md | 59 + .../config/expected-failures.yaml | 3 + tools/install-tester/config/jobs.yaml | 22 + tools/install-tester/config/setup.yaml | 34 + tools/install-tester/execute-in-docker.js | 76 ++ tools/install-tester/index.js | 205 ++++ tools/install-tester/instruction-extractor.js | 81 ++ tools/install-tester/package-lock.json | 1046 +++++++++++++++++ tools/install-tester/package.json | 20 + 37 files changed, 2163 insertions(+), 475 deletions(-) create mode 100644 .github/workflows/install-instructions-test.yml create mode 100644 app/_data/installation/gateway.yml create mode 100644 tools/install-tester/.gitignore create mode 100644 tools/install-tester/README.md create mode 100644 tools/install-tester/config/expected-failures.yaml create mode 100644 tools/install-tester/config/jobs.yaml create mode 100644 tools/install-tester/config/setup.yaml create mode 100644 tools/install-tester/execute-in-docker.js create mode 100644 tools/install-tester/index.js create mode 100644 tools/install-tester/instruction-extractor.js create mode 100644 tools/install-tester/package-lock.json create mode 100644 tools/install-tester/package.json diff --git a/.github/workflows/install-instructions-test.yml b/.github/workflows/install-instructions-test.yml new file mode 100644 index 000000000000..cb148369f0e9 --- /dev/null +++ b/.github/workflows/install-instructions-test.yml @@ -0,0 +1,28 @@ +name: Install Instructions +on: workflow_dispatch + +jobs: + install-instructions: + env: + BASE_URL: https://docs.konghq.com + strategy: + fail-fast: false + matrix: + distro: [ubuntu, rhel, amazon-linux, debian, centos] + runs-on: ubuntu-latest + timeout-minutes: 60 + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - name: Run Install tests + env: + DISTRO: ${{ matrix.distro }} + CONTINUE_ON_ERROR: 1 + IGNORE_SKIPS: 1 + EXPECTED_FAILURES_EXIT_CODE: 0 + run: | + cd tools/install-tester + npm ci + node index.js diff --git a/app/_data/installation/gateway.yml b/app/_data/installation/gateway.yml new file mode 100644 index 000000000000..f567ff2e8f8b --- /dev/null +++ b/app/_data/installation/gateway.yml @@ -0,0 +1,16 @@ +"33": + rsa_key: 4EABB1776918A36F + gpg_key: 3B738D8FCD250236 +"32": + rsa_key: D2E081E2873698A3 + gpg_key: 998DFF461A62FF7C +"31": + gpg_key: 54094882E62F5A09 +"30": + gpg_key: B7F44A4F4D65A99D +"28": + rsa_key: 6508D42FDA3B3FB4 + gpg_key: 1A2F35336774EA56 +"legacy": + rsa_key: E0115B89C2DBD3AD + gpg_key: 998DFF461A62FF7C \ No newline at end of file diff --git a/app/_plugins/generators/versions.rb b/app/_plugins/generators/versions.rb index 3ddc56fcf63a..6baf63d98893 100644 --- a/app/_plugins/generators/versions.rb +++ b/app/_plugins/generators/versions.rb @@ -174,8 +174,15 @@ def generate(site) # rubocop:disable Metrics/PerceivedComplexity, Metrics/Method page.data['release'] = current['release'] page.data['version'] = current['version'] + page.data['versions'] = { + 'ce' => current['ce-version'], + 'ee' => current['ee-version'] + } end + # Add a `major_minor_version` property which is used for cloudsmith install pages + page.data['major_minor_version'] = page.data['release'].gsub('.x', '').gsub('.', '') if page.data['release'] + # Clean up nav_items for generated pages as there's an # additional level of nesting page.data['nav_items'] = page.data['nav_items']['items'] if page.data['nav_items'].is_a?(Hash) diff --git a/app/_src/gateway/install/docker/build-custom-images.md b/app/_src/gateway/install/docker/build-custom-images.md index bf1f5a87c704..9403830a8f04 100644 --- a/app/_src/gateway/install/docker/build-custom-images.md +++ b/app/_src/gateway/install/docker/build-custom-images.md @@ -17,12 +17,18 @@ chmod +x docker-entrypoint.sh ``` 1. Download the {{site.base_gateway}} package: - * **Debian and Ubuntu**: [.deb]({{ site.links.download }}/gateway-3.x-ubuntu-focal/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.versions.ee}}_amd64.deb). - * **Alpine**: .apk ([amd64]({{ site.links.download }}/gateway-3.x-alpine/kong-enterprise-edition-{{page.versions.ee}}.amd64.apk.tar.gz), [arm64]({{ site.links.download }}/gateway-3.x-alpine/kong-enterprise-edition-{{page.versions.ee}}.arm64.apk.tar.gz)) - * - {% if_version eq:3.0.x %} **RHEL**:[ .rpm]({{ site.links.download }}/gateway-3.x-rhel-8/Packages/k/kong-enterprise-edition-{{page.versions.ee}}.rhel8.6.amd64.rpm){% endif_version %} - {% if_version gte:3.1.x %} **RHEL**:[ .rpm]({{ site.links.download }}/gateway-3.x-rhel-8/Packages/k/kong-enterprise-edition-{{page.versions.ee}}.rhel8.amd64.rpm){% endif_version %} - + * **Debian and Ubuntu**: [.deb]({{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/deb/ubuntu/pool/bionic/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_amd64.deb). + {% comment %} + not all of the older alpine "packages" met Cloudsmith's definition for what an alpine package must be + so some are uploaded there as "raw" artifacts instead and must be linked to differently + {% endcomment %} + {% if_version eq:3.0.x %} + * **Alpine**: [.apk]({{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/raw/names/kong-enterprise-edition-x86_64/versions/{{page.versions.ee}}/kong-enterprise-edition-{{page.versions.ee}}.x86_64.apk.tar.gz) + {% endif_version %} + {% if_version lt:3.0.x gte:3.1.x %} + * **Alpine**: [.apk]({{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/alpine/any-version/main/x86_64/kong-enterprise-edition-{{page.versions.ee}}.apk) + {% endif_version %} + * **RHEL**:[ .rpm]({{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/8/x86_64/kong-enterprise-edition-{{page.versions.ee}}.el8.x86_64.rpm) 1. Create a `Dockerfile`, ensuring you replace the filename by the first `COPY` with the name of the {{site.base_gateway}} file you downloaded in step 2: diff --git a/app/_src/gateway/install/linux/amazon-linux.md b/app/_src/gateway/install/linux/amazon-linux.md index 30b429979898..eb4ee79a9fe3 100644 --- a/app/_src/gateway/install/linux/amazon-linux.md +++ b/app/_src/gateway/install/linux/amazon-linux.md @@ -30,12 +30,12 @@ Install {{site.base_gateway}} on Amazon Linux from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.versions.ee}}.aws.amd64.rpm "{{ site.links.download }}/gateway-3.x-amazonlinux-2/Packages/k/kong-enterprise-edition-{{page.versions.ee}}.aws.amd64.rpm" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/amzn/%{amzn}/x86_64/kong-enterprise-edition-{{page.versions.ee}}.aws.x86_64.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.versions.ce}}.aws.amd64.rpm "{{ site.links.download }}/gateway-3.x-amazonlinux-2/Packages/k/kong-{{page.versions.ce}}.aws.amd64.rpm" +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/amzn/%{amzn}/x86_64/kong-{{page.versions.ce}}.aws.x86_64.rpm) ``` {% endnavtab %} {% endnavtabs_ee %} @@ -49,12 +49,12 @@ curl -Lo kong-{{page.versions.ce}}.aws.amd64.rpm "{{ site.links.download }}/gate {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.versions.ee}}.aws.amd64.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.versions.ce}}.aws.amd64.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} {% endnavtabs_ee %} @@ -67,11 +67,10 @@ sudo yum install kong-{{page.versions.ce}}.aws.amd64.rpm Install the YUM repository from the command line. -{% include_cached /md/gateway/rpm-gpg-key-2023.md kong_version=page.kong_version %} - 1. Download the Kong YUM repository: ```bash - curl https://download.konghq.com/gateway-3.x-amazonlinux-2/config.repo | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.rpm.txt?distro=amzn&codename=$(rpm --eval '%{amzn}')" | sudo tee /etc/yum.repos.d/kong-gateway-{{ page.major_minor_version }}.repo > /dev/null + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-{{ page.major_minor_version }}' ``` 2. Install Kong: @@ -80,12 +79,12 @@ Install the YUM repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.versions.ee}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.versions.ce}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} {% endnavtabs_ee %} diff --git a/app/_src/gateway/install/linux/debian.md b/app/_src/gateway/install/linux/debian.md index 2b0f5e03393e..46d4063d1941 100644 --- a/app/_src/gateway/install/linux/debian.md +++ b/app/_src/gateway/install/linux/debian.md @@ -31,12 +31,13 @@ Install {{site.base_gateway}} on Debian from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.versions.ee}}.all.deb "{{ site.links.download }}/gateway-3.x-debian-$(lsb_release -cs)/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.versions.ee}}_amd64.deb" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/deb/debian/pool/bullseye/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_amd64.deb" ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.download }}/gateway-3.x-debian-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.versions.ce}}_amd64.deb" +curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/deb/ubuntu/pool/bionic/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" + ``` {% endnavtab %} {% endnavtabs_ee %} @@ -50,12 +51,12 @@ curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.download }}/gateway- {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo dpkg -i kong-enterprise-edition-{{page.versions.ee}}.all.deb +sudo apt install -y ./kong-enterprise-edition-{{page.versions.ee}}.amd64.deb ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo dpkg -i kong-{{page.versions.ce}}.amd64.deb +sudo apt install -y ./kong-{{page.versions.ce}}.amd64.deb ``` {% endnavtab %} {% endnavtabs_ee %} @@ -63,26 +64,21 @@ sudo dpkg -i kong-{{page.versions.ce}}.amd64.deb {{ install_package | indent | replace: " ", "" }} -{% navtabs_ee %} -{% navtab Kong Gateway %} -{:.note .no-icon} -> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong-enterprise-edition`. This will prevent an accidental upgrade to a new version. -{% endnavtab %} -{% navtab Kong Gateway (OSS) %} -{:.note .no-icon} -> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong`. This will prevent an accidental upgrade to a new version. -{% endnavtab %} -{% endnavtabs_ee %} {% endnavtab %} {% navtab APT repository %} Install the APT repository from the command line. + +{% assign gpg_key = site.data.installation.gateway[page.major_minor_version].gpg_key %} +{% unless gpg_key %} +{% assign gpg_key = site.data.installation.gateway.legacy.gpg_key %} +{% endunless %} 1. Download the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-3.x-debian-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee /usr/share/keyrings/kong-gateway-{{ page.major_minor_version }}-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.deb.txt?distro=debian&codename=$(lsb_release -sc)" | sudo tee /etc/apt/sources.list.d/kong-gateway-{{ page.major_minor_version }}.list > /dev/null ``` 2. Update the repository: ```bash @@ -94,12 +90,12 @@ Install the APT repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -apt install -y kong-enterprise-edition={{page.versions.ee}} +sudo apt install -y kong-enterprise-edition={{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -apt install -y kong={{page.versions.ce}} +sudo apt install -y kong={{page.versions.ce}} ``` {% endnavtab %} {% endnavtabs_ee %} diff --git a/app/_src/gateway/install/linux/rhel.md b/app/_src/gateway/install/linux/rhel.md index e8705409b6d4..d5f0a81944b2 100644 --- a/app/_src/gateway/install/linux/rhel.md +++ b/app/_src/gateway/install/linux/rhel.md @@ -27,12 +27,12 @@ Install {{site.base_gateway}} on RHEL from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $( rpm --eval "{{ site.links.download }}/gateway-3.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-{{page.versions.ee}}.rhel%{rhel}.amd64.rpm") +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/%{rhel}/x86_64/kong-enterprise-edition-{{page.versions.ee}}.el%{rhel}.x86_64.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-3.x-rhel-%{rhel}/Packages/k/kong-{{page.versions.ce}}.rhel%{rhel}.amd64.rpm") +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/%{rhel}/x86_64/kong-{{page.versions.ce}}.el%{rhel}.x86_64.rpm) ``` {% endnavtab %} {% endnavtabs_ee %} @@ -50,12 +50,12 @@ curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval "{{ site.links.download }}/g {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.versions.ee}}.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.versions.ce}}.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} {% endnavtabs_ee %} @@ -81,11 +81,10 @@ rpm -iv kong-{{page.versions.ce}}.rpm Install the YUM repository from the command line. -{% include_cached /md/gateway/rpm-gpg-key-2023.md kong_version=page.kong_version %} - 1. Download the Kong YUM repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-3.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-{{ page.major_minor_version }}.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-{{ page.major_minor_version }}' ``` 2. Install Kong: @@ -93,12 +92,12 @@ Install the YUM repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.versions.ee}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.versions.ce}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} {% endnavtabs_ee %} diff --git a/app/_src/gateway/install/linux/ubuntu.md b/app/_src/gateway/install/linux/ubuntu.md index e2f61f18ce04..f678c7304e49 100644 --- a/app/_src/gateway/install/linux/ubuntu.md +++ b/app/_src/gateway/install/linux/ubuntu.md @@ -70,7 +70,7 @@ Once {{ site.base_gateway }} is running, you may want to do the following: You can install {{site.base_gateway}} by downloading an installation package or using our APT repository. {:.note .no-icon} -> * We currently package {{ site.base_gateway }} for Ubuntu Bionic and Focal. If you are using a different release, replace `$(lsb_release -sc)` with `focal` in the commands below. To check your release name run `lsb_release -sc`. +> * We currently package {{ site.base_gateway }} for Ubuntu Bionic, Focal, and Jammy. If you are using a different release, replace `$(lsb_release -sc)` with `jammy` in the commands below. To check your release name, run `lsb_release -sc`. > * {{site.base_gateway}} supports running on [AWS Graviton processors](https://aws.amazon.com/ec2/graviton/). It can run in all AWS Regions where AWS Graviton is supported. {% navtabs %} @@ -84,12 +84,12 @@ Install {{site.base_gateway}} on Ubuntu from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.versions.ee}}.amd64.deb "{{ site.links.download }}/gateway-3.x-ubuntu-$(lsb_release -sc)/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.versions.ee}}_amd64.deb" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/deb/ubuntu/pool/bionic/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_amd64.deb" ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.download }}/gateway-3.x-ubuntu-$(lsb_release -sc)/pool/all/k/kong/kong_{{page.versions.ce}}_amd64.deb" +curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/deb/ubuntu/pool/bionic/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" ``` {% endnavtab %} {% endnavtabs_ee %} @@ -132,10 +132,15 @@ sudo apt install -y ./kong-{{page.versions.ce}}.amd64.deb Install the APT repository from the command line. +{% assign gpg_key = site.data.installation.gateway[page.major_minor_version].gpg_key %} +{% unless gpg_key %} +{% assign gpg_key = site.data.installation.gateway.legacy.gpg_key %} +{% endunless %} + 1. Setup the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-3.x-ubuntu-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee /usr/share/keyrings/kong-gateway-{{ page.major_minor_version }}-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.deb.txt?distro=ubuntu&codename=focal" | sudo tee /etc/apt/sources.list.d/kong-gateway-{{ page.major_minor_version }}.list > /dev/null ``` 2. Update the repository: @@ -149,12 +154,12 @@ Install the APT repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo apt install -y kong-enterprise-edition={{page.versions.ee}} +sudo apt-get install -y kong-enterprise-edition={{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -apt install -y kong={{page.versions.ce}} +sudo apt-get install -y kong={{page.versions.ce}} ``` {% endnavtab %} {% endnavtabs_ee %} diff --git a/app/_src/gateway/kong-enterprise/fips-support.md b/app/_src/gateway/kong-enterprise/fips-support.md index 2bdd63229fc9..bbf94ba5accd 100644 --- a/app/_src/gateway/kong-enterprise/fips-support.md +++ b/app/_src/gateway/kong-enterprise/fips-support.md @@ -18,8 +18,8 @@ The FIPS compliant Ubuntu 20.04 and Ubuntu 22.04 packages can be installed using 1. Set up the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-3.x-ubuntu-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/gpg.{{ gpg_key }}.key" | gpg --dearmor >> /usr/share/keyrings/kong-gateway-{{ page.major_minor_version }}-archive-keyring.gpg + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.deb.txt?distro=ubuntu&codename=$(lsb_release -sc)" > /etc/apt/sources.list.d/kong-gateway-{{ page.major_minor_version }}.list ``` 2. Update the repository: @@ -46,8 +46,8 @@ The FIPS compliant Ubuntu 20.04 package can be installed using the package disti 1. Set up the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-3.x-ubuntu-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/gpg.{{ gpg_key }}.key" | gpg --dearmor >> /usr/share/keyrings/kong-gateway-{{ page.major_minor_version }}-archive-keyring.gpg + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.deb.txt?distro=ubuntu&codename=$(lsb_release -sc)" > /etc/apt/sources.list.d/kong-gateway-{{ page.major_minor_version }}.list ``` 2. Update the repository: @@ -72,8 +72,7 @@ The FIPS compliant Red Hat 8 package can be installed using the package distinct 1. Download the FIPS package: ```sh - curl -Lo kong-enterprise-edition-fips-{{page.versions.ee}}.rpm \ - $( rpm --eval "{{ site.links.download }}/gateway-3.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-fips-{{page.versions.ee}}.rhel%{rhel}.amd64.rpm") + curl -Lo kong-enterprise-edition-fips-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/%{rhel}/x86_64/kong-enterprise-edition-fips-{{page.versions.ee}}.el%{rhel}.x86_64.rpm) ``` 2. Install the {{site.base_gateway}} FIPS package: @@ -87,7 +86,8 @@ The FIPS compliant Red Hat 8 package can be installed using the package distinct 1. Set up the Kong Yum repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-3.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-{{ page.major_minor_version }}.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-{{ page.major_minor_version }}' ``` 2. Install the {{site.base_gateway}} FIPS package: @@ -118,4 +118,4 @@ export KONG_FIPS=on ``` {:.important .no-icon} -> Migrating from non-FIPS to FIPS mode and backwards is not supported. \ No newline at end of file +> Migrating from non-FIPS to FIPS mode and backwards is not supported. diff --git a/app/_src/gateway/kong-enterprise/fips-support/install.md b/app/_src/gateway/kong-enterprise/fips-support/install.md index 43689273dd95..7ad239ad7c2a 100644 --- a/app/_src/gateway/kong-enterprise/fips-support/install.md +++ b/app/_src/gateway/kong-enterprise/fips-support/install.md @@ -15,8 +15,8 @@ The FIPS-compliant Ubuntu 20.04 package can be installed using the package disti 1. Set up the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-3.x-ubuntu-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/gpg.{{ gpg_key }}.key" | gpg --dearmor >> /usr/share/keyrings/kong-gateway-{{ page.major_minor_version }}-archive-keyring.gpg + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.deb.txt?distro=ubuntu&codename=$(lsb_release -sc)" > /etc/apt/sources.list.d/kong-gateway-{{ page.major_minor_version }}.list ``` 2. Update the repository: @@ -41,8 +41,7 @@ The FIPS-compliant Red Hat 8 package can be installed using the package distinct 1. Download the FIPS package: ```sh - curl -Lo kong-enterprise-edition-fips-{{page.versions.ee}}.rpm \ - $( rpm --eval "{{ site.links.download }}/gateway-3.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-fips-{{page.versions.ee}}.rhel%{rhel}.amd64.rpm") + curl -Lo kong-enterprise-edition-fips-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/%{rhel}/x86_64/kong-enterprise-edition-fips-{{page.versions.ee}}.el%{rhel}.x86_64.rpm) ``` 2. Install the {{site.base_gateway}} FIPS package: @@ -56,7 +55,8 @@ The FIPS-compliant Red Hat 8 package can be installed using the package distinct 1. Set up the Kong Yum repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-3.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-{{ page.major_minor_version }}.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-{{ page.major_minor_version }}' ``` 2. Install the {{site.base_gateway}} FIPS package: @@ -88,4 +88,4 @@ export KONG_FIPS=on If you are migrating from {{site.base_gateway}} 3.1 to 3.2 in FIPS mode and are using the key-auth-enc plugin, you should send [PATCH or POST requests](/hub/kong-inc/key-auth-enc/#create-a-key) to all existing key-auth-enc credentials to re-hash them in SHA256. {:.important .no-icon} -> Migrating from non-FIPS to FIPS mode and backwards is not supported. \ No newline at end of file +> Migrating from non-FIPS to FIPS mode and backwards is not supported. diff --git a/app/gateway/2.6.x/install-and-run/amazon-linux.md b/app/gateway/2.6.x/install-and-run/amazon-linux.md index 356fc98eb96b..5d05ddf2e950 100644 --- a/app/gateway/2.6.x/install-and-run/amazon-linux.md +++ b/app/gateway/2.6.x/install-and-run/amazon-linux.md @@ -2,19 +2,6 @@ title: Install Kong Gateway on Amazon Linux --- - - - -{:.install-banner} -> Download the latest {{page.kong_version}} packages for -> Amazon Linux: -> * **Kong Gateway**: [Amazon Linux 2]({{site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm){:.install-link} (version {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: [Amazon Linux 2]({{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm){:.install-link} (version {{page.kong_versions[page.version-index].ce-version}}) ->

-> -> View the list of all 2.x packages for -> [Amazon Linux 2]({{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/){:.install-listing-link} - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -22,33 +9,36 @@ Kong is licensed under an ## Prerequisites -* A supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. * (Enterprise only) A `license.json` file from Kong. ## Download and Install You can install {{site.base_gateway}} by downloading an installation package or using our yum repository. +{:.note} +> **Note:** {{site.base_gateway}} supports running on [AWS Graviton processors](https://aws.amazon.com/ec2/graviton/). It can run in all AWS Regions where AWS Graviton is supported. + {% navtabs %} {% navtab Package %} -Install {{site.base_gateway}} on Debian from the command line. +Install {{site.base_gateway}} on Amazon Linux from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm "{{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/amzn/%{amzn}/noarch/kong-enterprise-edition-{{page.versions.ee}}.aws.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm "{{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm" +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/amzn/%{amzn}/x86_64/kong-{{page.versions.ce}}.aws.x86_64.rpm) ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} @@ -56,18 +46,18 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rp 2. Install the package: {% capture install_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_package | indent | replace: " ", "" }} @@ -77,26 +67,27 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.aws. Install the YUM repository from the command line. -1. Download the Kong APT repository: +1. Download the Kong YUM repository: ```bash - curl https://download.konghq.com/gateway-2.x-amazonlinux-2/config.repo | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.rpm.txt?distro=amzn&codename=$(rpm --eval '%{amzn}')" | sudo tee /etc/yum.repos.d/kong-gateway-legacy.repo > /dev/null + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-legacy' ``` 2. Install Kong: {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} diff --git a/app/gateway/2.6.x/install-and-run/centos.md b/app/gateway/2.6.x/install-and-run/centos.md index 1965e7529bf1..578ed0dd0433 100644 --- a/app/gateway/2.6.x/install-and-run/centos.md +++ b/app/gateway/2.6.x/install-and-run/centos.md @@ -2,26 +2,6 @@ title: Install Kong Gateway on CentOS --- - - - -{:.install-banner} -> Download the latest {{page.kong_version}} package for Centos: -> * **Kong Gateway**: -> [**CentOS 7**]({{ site.links.download }}/gateway-2.x-centos-7/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.el7.noarch.rpm){:.install-link} or -> [**CentOS 8**]({{ site.links.download }}/gateway-2.x-centos-8/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.el8.noarch.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: -> [**CentOS 7**]({{ site.links.download }}/gateway-2.x-centos-7/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.el7.amd64.rpm){:.install-link} or -> [**CentOS 8**]({{ site.links.download }}/gateway-2.x-centos-8/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.el8.amd64.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ce-version}}) -> ->
-> View the list of all 2.x packages for -> [**CentOS 7**]({{ site.links.download }}/gateway-2.x-centos-7/Packages/k/){:.install-listing-link} or -> [**CentOS 8**]({{ site.links.download }}/gateway-2.x-centos-8/Packages/k/){:.install-listing-link} - - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -29,13 +9,12 @@ Kong is licensed under an ## Prerequisites -* A supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. -* (Enterprise only) A `license.json` file from Kong. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* (Enterprise only) A `license.json` file from Kong ## Download and Install -You can install {{site.base_gateway}} by downloading an installation package or -using our YUM repository. +You can install {{site.base_gateway}} by downloading an installation package or using our yum repository. {% navtabs %} {% navtab Package %} @@ -45,37 +24,37 @@ Install {{site.base_gateway}} on CentOS from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.el%{centos_ver}.noarch.rpm") +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{centos_ver}/x86_64/kong-enterprise-edition-{{page.versions.ee}}.el%{centos_ver}.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.el%{centos_ver}.amd64.rpm") -``` +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{centos_ver}/x86_64/kong-{{page.versions.ce}}.el%{centos_ver}.x86_64.rpm) + ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} -2. Install the package: +2. Install the package using `yum`. {% capture install_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_package | indent | replace: " ", "" }} @@ -85,26 +64,26 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm Install the YUM repository from the command line. -1. Download the Kong APT repository: +1. Download the Kong YUM repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-legacy.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-legacy' ``` 2. Install Kong: - {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} @@ -112,12 +91,4 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} {% endnavtab %} {% endnavtabs %} - - {% include_cached /md/gateway/setup.md kong_version=page.kong_version %} diff --git a/app/gateway/2.6.x/install-and-run/debian.md b/app/gateway/2.6.x/install-and-run/debian.md index 00ea12cfbea0..5268c06ef5d5 100644 --- a/app/gateway/2.6.x/install-and-run/debian.md +++ b/app/gateway/2.6.x/install-and-run/debian.md @@ -1,28 +1,20 @@ --- title: Install Kong Gateway on Debian -badge: oss --- -{:.install-banner} -> Download the latest Kong {{page.kong_version}} package for Debian: -> * [9 Stretch]({{ site.links.download }}/gateway-2.x-debian-stretch/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link} -> * [10 Buster]({{ site.links.download }}/gateway-2.x-debian-buster/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link} -> * [11 Bullseye]({{ site.links.download }}/gateway-2.x-debian-bullseye/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link} -> -> (latest version: {{page.kong_versions[page.version-index].ce-version}}) -> ->
-> View the list of all 2.x packages for -> [9 Stretch]({{ site.links.download }}/gateway-2.x-debian-stretch/pool/all/k/){:.install-listing-link}, -> [10 Buster]({{ site.links.download }}/gateway-2.x-debian-buster/pool/all/k/){:.install-listing-link}, or -> [11 Bullseye]({{ site.links.download }}/gateway-2.x-debian-bullseye/pool/all/k/){:.install-listing-link} -> - -Kong is licensed under an + +The {{site.base_gateway}} software is governed by the +[Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). +{{site.ce_product_name}} is licensed under an [Apache 2.0 license](https://github.com/Kong/kong/blob/master/LICENSE). ## Prerequisites -You have a supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* The following tools are installed: + * [`curl`](https://curl.se/) + * [`lsb-release`](https://packages.debian.org/lsb-release) + * [`apt-transport-https`](https://packages.debian.org/apt-transport-https) (Only if installing the APT repository) +* (Enterprise only) A `license.json` file from Kong. ## Download and install @@ -34,35 +26,90 @@ You can install {{site.base_gateway}} by downloading an installation package or Install {{site.base_gateway}} on Debian from the command line. 1. Download the Kong package: - ```bash - curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{{ site.links.download }}/gateway-2.x-debian-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb" - ``` + +{% capture download_package %} +{% navtabs_ee codeblock %} +{% navtab Kong Gateway %} +```bash +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/debian/pool/stretch/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_all.deb" +``` +{% endnavtab %} +{% navtab Kong Gateway (OSS) %} +```bash +curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/debian/pool/stretch/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" +``` +{% endnavtab %} +{% endnavtabs_ee %} +{% endcapture %} + +{{ download_package | indent | replace: " ", "" }} 2. Install the package: - ```bash - sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb - ``` + +{% capture install_package %} +{% navtabs_ee codeblock %} +{% navtab Kong Gateway %} +```bash +sudo apt install -y ./kong-enterprise-edition-{{page.versions.ee}}.all.deb +``` +{% endnavtab %} +{% navtab Kong Gateway (OSS) %} +```bash +sudo apt install -y ./kong-{{page.versions.ce}}.amd64.deb +``` +{% endnavtab %} +{% endnavtabs_ee %} +{% endcapture %} + +{{ install_package | indent | replace: " ", "" }} + +{% navtabs_ee %} +{% navtab Kong Gateway %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong-enterprise-edition`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% navtab Kong Gateway (OSS) %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% endnavtabs_ee %} {% endnavtab %} {% navtab APT repository %} Install the APT repository from the command line. + +{% assign gpg_key = site.data.installation.gateway.legacy.gpg_key %} 1. Download the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-2.x-debian-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee -a /usr/share/keyrings/kong-gateway-legacy-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.deb.txt?distro=debian&codename=stretch" | sudo tee /etc/apt/sources.list.d/kong-gateway-legacy.list > /dev/null ``` 2. Update the repository: ```bash sudo apt-get update ``` 3. Install Kong: - ```bash - apt install -y kong={{page.kong_versions[page.version-index].ce-version}} - ``` + +{% capture install_from_repo %} +{% navtabs_ee codeblock %} +{% navtab Kong Gateway %} +```bash +sudo apt install -y kong-enterprise-edition={{page.versions.ee}} +``` +{% endnavtab %} +{% navtab Kong Gateway (OSS) %} +```bash +sudo apt install -y kong={{page.versions.ce}} +``` +{% endnavtab %} +{% endnavtabs_ee %} +{% endcapture %} + +{{ install_from_repo | indent | replace: " ", "" }} {% endnavtab %} {% endnavtabs %} -{% include_cached /md/installation.md kong_version=page.kong_version %} +{% include_cached /md/gateway/setup.md kong_version=page.kong_version %} diff --git a/app/gateway/2.6.x/install-and-run/rhel.md b/app/gateway/2.6.x/install-and-run/rhel.md index d9ac4e08cf3d..1a1e9bae08f2 100644 --- a/app/gateway/2.6.x/install-and-run/rhel.md +++ b/app/gateway/2.6.x/install-and-run/rhel.md @@ -2,26 +2,6 @@ title: Install Kong Gateway on RHEL --- - - - -{:.install-banner} -> Download the latest {{page.kong_version}} package for RHEL: -> * **Kong Gateway**: -> [**RHEL 7**]({{ site.links.download }}/gateway-2.x-rhel-7/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rhel7.noarch.rpm){:.install-link} or -> [**RHEL 8**]({{ site.links.download }}/gateway-2.x-rhel-8/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rhel8.noarch.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: -> [**RHEL 7**]({{ site.links.download }}/gateway-2.x-rhel-7/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.rhel7.amd64.rpm){:.install-link} or -> [**RHEL 8**]({{ site.links.download }}/gateway-2.x-rhel-8/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.rhel8.amd64.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ce-version}}) -> ->
-> View the list of all 2.x packages for -> [**RHEL 7**]({{ site.links.download }}/gateway-2.x-rhel-7/Packages/k/){:.install-listing-link} or -> [**RHEL 8**]({{ site.links.download }}/gateway-2.x-rhel-8/Packages/k/){:.install-listing-link} - - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -29,7 +9,7 @@ Kong is licensed under an ## Prerequisites -* A supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. * (Enterprise only) A `license.json` file from Kong ## Download and Install @@ -39,39 +19,54 @@ You can install {{site.base_gateway}} by downloading an installation package or {% navtabs %} {% navtab Package %} -Install {{site.base_gateway}} on Amazon Linux from the command line. +Install {{site.base_gateway}} on RHEL from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm $( rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rhel%{rhel}.noarch.rpm") +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{rhel}/noarch/kong-enterprise-edition-{{page.versions.ee}}.el%{rhel}.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.rhel%{rhel}.amd64.rpm") +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{rhel}/x86_64/kong-{{page.versions.ce}}.el%{rhel}.x86_64.rpm) ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} -2. Install the package: +2. Install the package using `yum` or `rpm`. + + If you use the `rpm` install method, the packages _only_ contain {{site.base_gateway}}. They don't include any dependencies. {% capture install_package %} -{% navtabs codeblock %} +{% navtabs %} +{% navtab yum %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm +``` +{% endnavtab %} +{% endnavtabs_ee %} +{% endnavtab %} +{% navtab rpm %} + +{:.important} +> The `rpm` method is only available for open-source packages. For the `kong-enterprise-edition` package, use `yum`. + +```bash +rpm -iv kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} {% endnavtabs %} @@ -79,30 +74,33 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm {{ install_package | indent | replace: " ", "" }} + Installing directly using `rpm` is suitable for Red Hat's [Universal Base Image](https://developers.redhat.com/blog/2020/03/24/red-hat-universal-base-images-for-docker-users) "minimal" variant. You will need to install Kong's dependencies separately via `microdnf`. + {% endnavtab %} {% navtab YUM repository %} Install the YUM repository from the command line. -1. Download the Kong APT repository: +1. Download the Kong YUM repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-legacy.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-legacy' ``` 2. Install Kong: {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} diff --git a/app/gateway/2.6.x/install-and-run/ubuntu.md b/app/gateway/2.6.x/install-and-run/ubuntu.md index bfaf6be37bc5..f0cc77a9c7e9 100644 --- a/app/gateway/2.6.x/install-and-run/ubuntu.md +++ b/app/gateway/2.6.x/install-and-run/ubuntu.md @@ -2,30 +2,6 @@ title: Install Kong Gateway on Ubuntu --- - - - -{:.install-banner} -> Download the latest {{site.ee_product_name}} {{page.kong_version}} package for Ubuntu: -> * **Kong Gateway**: -> [**Xenial**]({{ site.links.download }}/gateway-2.x-ubuntu-xenial/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link}, -> [**Focal**]({{ site.links.download }}/gateway-2.x-ubuntu-focal/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link}, or -> [**Bionic**]({{ site.links.download }}/gateway-2.x-ubuntu-bionic/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: -> [**Xenial**]({{ site.links.download }}/gateway-2.x-ubuntu-xenial/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link}, -> [**Focal**]({{ site.links.download }}/gateway-2.x-ubuntu-focal/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link}, or -> [**Bionic**]({{ site.links.download }}/gateway-2.x-ubuntu-bionic/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link} ->(latest version: {{page.kong_versions[page.version-index].ee-version}}) -> ->
-> View the list of all 2.x packages for -> [**Xenial**]({{ site.links.download }}/gateway-2.x-ubuntu-xenial/pool/all/k/kong-enterprise-edition/){:.install-listing-link}, -> [**Focal**]({{ site.links.download }}/gateway-2.x-ubuntu-focal/pool/all/k/kong-enterprise-edition/){:.install-listing-link}, or -> [**Bionic**]({{ site.links.download }}/gateway-2.x-ubuntu-bionic/pool/all/k/kong-enterprise-edition/){:.install-listing-link} -> - - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -48,18 +24,18 @@ Install {{site.base_gateway}} on Ubuntu from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb "{{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ee-version}}_amd64.deb" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/ubuntu/pool/xenial/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_all.deb" ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb" - ``` +curl -Lo kong-{{page.versions.ce}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/ubuntu/pool/xenial/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" +``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} @@ -67,18 +43,18 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{ 2. Install the package: {% capture install_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo dpkg -i kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb +sudo apt install -y ./kong-enterprise-edition-{{page.versions.ee}}.all.deb ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb +sudo apt install -y ./kong-{{page.versions.ce}}.all.deb ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_package | indent | replace: " ", "" }} @@ -88,10 +64,12 @@ sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.de Install the APT repository from the command line. +{% assign gpg_key = site.data.installation.gateway.legacy.gpg_key %} + 1. Setup the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee -a /usr/share/keyrings/kong-gateway-legacy-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.deb.txt?distro=ubuntu&codename=xenial" | sudo tee /etc/apt/sources.list.d/kong-gateway-legacy.list > /dev/null ``` 2. Update the repository: @@ -102,23 +80,37 @@ Install the APT repository from the command line. 3. Install Kong: {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -apt install -y kong-enterprise-edition={{page.kong_versions[page.version-index].ee-version}} +sudo apt install -y kong-enterprise-edition={{page.versions.ee}} ``` + {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -apt install -y kong={{page.kong_versions[page.version-index].ce-version}} +sudo apt install -y kong={{page.versions.ce}} ``` + + {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} +{% navtabs_ee %} +{% navtab Kong Gateway %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong-enterprise-edition`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% navtab Kong Gateway (OSS) %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% endnavtabs_ee %} + {% endnavtab %} {% endnavtabs %} -{% include_cached /md/gateway/setup.md kong_version=page.kong_version %} +{% include_cached /md/gateway/setup.md kong_version=page.kong_version %} \ No newline at end of file diff --git a/app/gateway/2.7.x/install-and-run/amazon-linux.md b/app/gateway/2.7.x/install-and-run/amazon-linux.md index fc83725375d7..5d05ddf2e950 100644 --- a/app/gateway/2.7.x/install-and-run/amazon-linux.md +++ b/app/gateway/2.7.x/install-and-run/amazon-linux.md @@ -2,19 +2,6 @@ title: Install Kong Gateway on Amazon Linux --- - - - -{:.install-banner} -> Download the latest {{page.kong_version}} packages for -> Amazon Linux: -> * **Kong Gateway**: [**Amazon Linux 2**]({{site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm){:.install-link} (version {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: [**Amazon Linux 2**]({{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm){:.install-link} (version {{page.kong_versions[page.version-index].ce-version}}) ->

-> -> View the list of all 2.x packages for -> [Amazon Linux 2]({{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/){:.install-listing-link} - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -22,33 +9,36 @@ Kong is licensed under an ## Prerequisites -* A supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. * (Enterprise only) A `license.json` file from Kong. ## Download and Install You can install {{site.base_gateway}} by downloading an installation package or using our yum repository. +{:.note} +> **Note:** {{site.base_gateway}} supports running on [AWS Graviton processors](https://aws.amazon.com/ec2/graviton/). It can run in all AWS Regions where AWS Graviton is supported. + {% navtabs %} {% navtab Package %} -Install {{site.base_gateway}} on Debian from the command line. +Install {{site.base_gateway}} on Amazon Linux from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm "{{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/amzn/%{amzn}/noarch/kong-enterprise-edition-{{page.versions.ee}}.aws.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm "{{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm" +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/amzn/%{amzn}/x86_64/kong-{{page.versions.ce}}.aws.x86_64.rpm) ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} @@ -56,18 +46,18 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rp 2. Install the package: {% capture install_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_package | indent | replace: " ", "" }} @@ -77,26 +67,27 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.aws. Install the YUM repository from the command line. -1. Download the Kong APT repository: +1. Download the Kong YUM repository: ```bash - curl https://download.konghq.com/gateway-2.x-amazonlinux-2/config.repo | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.rpm.txt?distro=amzn&codename=$(rpm --eval '%{amzn}')" | sudo tee /etc/yum.repos.d/kong-gateway-legacy.repo > /dev/null + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-legacy' ``` 2. Install Kong: {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} diff --git a/app/gateway/2.7.x/install-and-run/centos.md b/app/gateway/2.7.x/install-and-run/centos.md index 1965e7529bf1..578ed0dd0433 100644 --- a/app/gateway/2.7.x/install-and-run/centos.md +++ b/app/gateway/2.7.x/install-and-run/centos.md @@ -2,26 +2,6 @@ title: Install Kong Gateway on CentOS --- - - - -{:.install-banner} -> Download the latest {{page.kong_version}} package for Centos: -> * **Kong Gateway**: -> [**CentOS 7**]({{ site.links.download }}/gateway-2.x-centos-7/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.el7.noarch.rpm){:.install-link} or -> [**CentOS 8**]({{ site.links.download }}/gateway-2.x-centos-8/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.el8.noarch.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: -> [**CentOS 7**]({{ site.links.download }}/gateway-2.x-centos-7/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.el7.amd64.rpm){:.install-link} or -> [**CentOS 8**]({{ site.links.download }}/gateway-2.x-centos-8/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.el8.amd64.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ce-version}}) -> ->
-> View the list of all 2.x packages for -> [**CentOS 7**]({{ site.links.download }}/gateway-2.x-centos-7/Packages/k/){:.install-listing-link} or -> [**CentOS 8**]({{ site.links.download }}/gateway-2.x-centos-8/Packages/k/){:.install-listing-link} - - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -29,13 +9,12 @@ Kong is licensed under an ## Prerequisites -* A supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. -* (Enterprise only) A `license.json` file from Kong. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* (Enterprise only) A `license.json` file from Kong ## Download and Install -You can install {{site.base_gateway}} by downloading an installation package or -using our YUM repository. +You can install {{site.base_gateway}} by downloading an installation package or using our yum repository. {% navtabs %} {% navtab Package %} @@ -45,37 +24,37 @@ Install {{site.base_gateway}} on CentOS from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.el%{centos_ver}.noarch.rpm") +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{centos_ver}/x86_64/kong-enterprise-edition-{{page.versions.ee}}.el%{centos_ver}.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.el%{centos_ver}.amd64.rpm") -``` +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{centos_ver}/x86_64/kong-{{page.versions.ce}}.el%{centos_ver}.x86_64.rpm) + ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} -2. Install the package: +2. Install the package using `yum`. {% capture install_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_package | indent | replace: " ", "" }} @@ -85,26 +64,26 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm Install the YUM repository from the command line. -1. Download the Kong APT repository: +1. Download the Kong YUM repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-legacy.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-legacy' ``` 2. Install Kong: - {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} @@ -112,12 +91,4 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} {% endnavtab %} {% endnavtabs %} - - {% include_cached /md/gateway/setup.md kong_version=page.kong_version %} diff --git a/app/gateway/2.7.x/install-and-run/debian.md b/app/gateway/2.7.x/install-and-run/debian.md index e489e67f12e9..0ab08695de15 100644 --- a/app/gateway/2.7.x/install-and-run/debian.md +++ b/app/gateway/2.7.x/install-and-run/debian.md @@ -1,28 +1,6 @@ --- title: Install Kong Gateway on Debian --- -{:.install-banner} -> Download the latest {{page.kong_version}} package for Debian: -> -> * **Kong Gateway**: -> [**8 Jessie**]({{ site.links.download }}/gateway-2.x-debian-jessie/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link}, -> [**9 Stretch**]({{ site.links.download }}/gateway-2.x-debian-stretch/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link}, -> [**10 Buster**]({{ site.links.download }}/gateway-2.x-debian-buster/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link}, -> or [**11 Bullseye**]({{ site.links.download }}/gateway-2.x-debian-bullseye/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: -> [**9 Stretch**]({{ site.links.download }}/gateway-2.x-debian-stretch/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link}, -> [**10 Buster**]({{ site.links.download }}/gateway-2.x-debian-buster/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link}, -> or [**11 Bullseye**]({{ site.links.download }}/gateway-2.x-debian-bullseye/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ce-version}}) -> ->
-> View the list of all 2.x packages for -> [8 Jessie]({{ site.links.download }}/gateway-2.x-debian-jessie/pool/all/k/){:.install-listing-link}, -> [9 Stretch]({{ site.links.download }}/gateway-2.x-debian-stretch/pool/all/k/){:.install-listing-link}, -> [10 Buster]({{ site.links.download }}/gateway-2.x-debian-buster/pool/all/k/){:.install-listing-link}, or -> [11 Bullseye]({{ site.links.download }}/gateway-2.x-debian-bullseye/pool/all/k/){:.install-listing-link} -> The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). @@ -31,7 +9,7 @@ The {{site.base_gateway}} software is governed by the ## Prerequisites -* A supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. * The following tools are installed: * [`curl`](https://curl.se/) * [`lsb-release`](https://packages.debian.org/lsb-release) @@ -50,18 +28,18 @@ Install {{site.base_gateway}} on Debian from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb "{{ site.links.download }}/gateway-2.x-debian-$(lsb_release -cs)/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/debian/pool/buster/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_all.deb" ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{{ site.links.download }}/gateway-2.x-debian-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb" +curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/debian/pool/buster/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} @@ -69,31 +47,44 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{ 2. Install the package: {% capture install_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo dpkg -i kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb +sudo apt install -y ./kong-enterprise-edition-{{page.versions.ee}}.all.deb ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb +sudo apt install -y ./kong-{{page.versions.ce}}.amd64.deb ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_package | indent | replace: " ", "" }} +{% navtabs_ee %} +{% navtab Kong Gateway %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong-enterprise-edition`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% navtab Kong Gateway (OSS) %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% endnavtabs_ee %} + {% endnavtab %} {% navtab APT repository %} Install the APT repository from the command line. + +{% assign gpg_key = site.data.installation.gateway.legacy.gpg_key %} 1. Download the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-2.x-debian-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee -a /usr/share/keyrings/kong-gateway-legacy-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.deb.txt?distro=debian&codename=$(lsb_release -sc)" | sudo tee /etc/apt/sources.list.d/kong-gateway-legacy.list > /dev/null ``` 2. Update the repository: ```bash @@ -102,18 +93,18 @@ Install the APT repository from the command line. 3. Install Kong: {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -apt install -y kong-enterprise-edition={{page.kong_versions[page.version-index].ee-version}} +sudo apt install -y kong-enterprise-edition={{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -apt install -y kong={{page.kong_versions[page.version-index].ce-version}} +sudo apt install -y kong={{page.versions.ce}} ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} diff --git a/app/gateway/2.7.x/install-and-run/rhel.md b/app/gateway/2.7.x/install-and-run/rhel.md index d9ac4e08cf3d..1a1e9bae08f2 100644 --- a/app/gateway/2.7.x/install-and-run/rhel.md +++ b/app/gateway/2.7.x/install-and-run/rhel.md @@ -2,26 +2,6 @@ title: Install Kong Gateway on RHEL --- - - - -{:.install-banner} -> Download the latest {{page.kong_version}} package for RHEL: -> * **Kong Gateway**: -> [**RHEL 7**]({{ site.links.download }}/gateway-2.x-rhel-7/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rhel7.noarch.rpm){:.install-link} or -> [**RHEL 8**]({{ site.links.download }}/gateway-2.x-rhel-8/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rhel8.noarch.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: -> [**RHEL 7**]({{ site.links.download }}/gateway-2.x-rhel-7/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.rhel7.amd64.rpm){:.install-link} or -> [**RHEL 8**]({{ site.links.download }}/gateway-2.x-rhel-8/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.rhel8.amd64.rpm){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ce-version}}) -> ->
-> View the list of all 2.x packages for -> [**RHEL 7**]({{ site.links.download }}/gateway-2.x-rhel-7/Packages/k/){:.install-listing-link} or -> [**RHEL 8**]({{ site.links.download }}/gateway-2.x-rhel-8/Packages/k/){:.install-listing-link} - - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -29,7 +9,7 @@ Kong is licensed under an ## Prerequisites -* A supported system with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. +* A [supported system](/gateway/{{page.kong_version}}/compatibility/) with root or [root-equivalent](/gateway/{{page.kong_version}}/plan-and-deploy/kong-user/) access. * (Enterprise only) A `license.json` file from Kong ## Download and Install @@ -39,39 +19,54 @@ You can install {{site.base_gateway}} by downloading an installation package or {% navtabs %} {% navtab Package %} -Install {{site.base_gateway}} on Amazon Linux from the command line. +Install {{site.base_gateway}} on RHEL from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm $( rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rhel%{rhel}.noarch.rpm") +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{rhel}/noarch/kong-enterprise-edition-{{page.versions.ee}}.el%{rhel}.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.rhel%{rhel}.amd64.rpm") +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-legacy/rpm/el/%{rhel}/x86_64/kong-{{page.versions.ce}}.el%{rhel}.x86_64.rpm) ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} -2. Install the package: +2. Install the package using `yum` or `rpm`. + + If you use the `rpm` install method, the packages _only_ contain {{site.base_gateway}}. They don't include any dependencies. {% capture install_package %} -{% navtabs codeblock %} +{% navtabs %} +{% navtab yum %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm +``` +{% endnavtab %} +{% endnavtabs_ee %} +{% endnavtab %} +{% navtab rpm %} + +{:.important} +> The `rpm` method is only available for open-source packages. For the `kong-enterprise-edition` package, use `yum`. + +```bash +rpm -iv kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} {% endnavtabs %} @@ -79,30 +74,33 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm {{ install_package | indent | replace: " ", "" }} + Installing directly using `rpm` is suitable for Red Hat's [Universal Base Image](https://developers.redhat.com/blog/2020/03/24/red-hat-universal-base-images-for-docker-users) "minimal" variant. You will need to install Kong's dependencies separately via `microdnf`. + {% endnavtab %} {% navtab YUM repository %} Install the YUM repository from the command line. -1. Download the Kong APT repository: +1. Download the Kong YUM repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-legacy.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-legacy' ``` 2. Install Kong: {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} diff --git a/app/gateway/2.7.x/install-and-run/ubuntu.md b/app/gateway/2.7.x/install-and-run/ubuntu.md index bfaf6be37bc5..f0cc77a9c7e9 100644 --- a/app/gateway/2.7.x/install-and-run/ubuntu.md +++ b/app/gateway/2.7.x/install-and-run/ubuntu.md @@ -2,30 +2,6 @@ title: Install Kong Gateway on Ubuntu --- - - - -{:.install-banner} -> Download the latest {{site.ee_product_name}} {{page.kong_version}} package for Ubuntu: -> * **Kong Gateway**: -> [**Xenial**]({{ site.links.download }}/gateway-2.x-ubuntu-xenial/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link}, -> [**Focal**]({{ site.links.download }}/gateway-2.x-ubuntu-focal/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link}, or -> [**Bionic**]({{ site.links.download }}/gateway-2.x-ubuntu-bionic/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb){:.install-link} -> (latest version: {{page.kong_versions[page.version-index].ee-version}}) -> * **Kong Gateway (OSS)**: -> [**Xenial**]({{ site.links.download }}/gateway-2.x-ubuntu-xenial/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link}, -> [**Focal**]({{ site.links.download }}/gateway-2.x-ubuntu-focal/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link}, or -> [**Bionic**]({{ site.links.download }}/gateway-2.x-ubuntu-bionic/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb){:.install-link} ->(latest version: {{page.kong_versions[page.version-index].ee-version}}) -> ->
-> View the list of all 2.x packages for -> [**Xenial**]({{ site.links.download }}/gateway-2.x-ubuntu-xenial/pool/all/k/kong-enterprise-edition/){:.install-listing-link}, -> [**Focal**]({{ site.links.download }}/gateway-2.x-ubuntu-focal/pool/all/k/kong-enterprise-edition/){:.install-listing-link}, or -> [**Bionic**]({{ site.links.download }}/gateway-2.x-ubuntu-bionic/pool/all/k/kong-enterprise-edition/){:.install-listing-link} -> - - The {{site.base_gateway}} software is governed by the [Kong Software License Agreement](https://konghq.com/kongsoftwarelicense). Kong is licensed under an @@ -48,18 +24,18 @@ Install {{site.base_gateway}} on Ubuntu from the command line. 1. Download the Kong package: {% capture download_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb "{{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ee-version}}_amd64.deb" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/ubuntu/pool/xenial/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_all.deb" ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb" - ``` +curl -Lo kong-{{page.versions.ce}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-legacy/deb/ubuntu/pool/xenial/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" +``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ download_package | indent | replace: " ", "" }} @@ -67,18 +43,18 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{ 2. Install the package: {% capture install_package %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo dpkg -i kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb +sudo apt install -y ./kong-enterprise-edition-{{page.versions.ee}}.all.deb ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb +sudo apt install -y ./kong-{{page.versions.ce}}.all.deb ``` {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_package | indent | replace: " ", "" }} @@ -88,10 +64,12 @@ sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.de Install the APT repository from the command line. +{% assign gpg_key = site.data.installation.gateway.legacy.gpg_key %} + 1. Setup the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee -a /usr/share/keyrings/kong-gateway-legacy-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-legacy/config.deb.txt?distro=ubuntu&codename=xenial" | sudo tee /etc/apt/sources.list.d/kong-gateway-legacy.list > /dev/null ``` 2. Update the repository: @@ -102,23 +80,37 @@ Install the APT repository from the command line. 3. Install Kong: {% capture install_from_repo %} -{% navtabs codeblock %} +{% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -apt install -y kong-enterprise-edition={{page.kong_versions[page.version-index].ee-version}} +sudo apt install -y kong-enterprise-edition={{page.versions.ee}} ``` + {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -apt install -y kong={{page.kong_versions[page.version-index].ce-version}} +sudo apt install -y kong={{page.versions.ce}} ``` + + {% endnavtab %} -{% endnavtabs %} +{% endnavtabs_ee %} {% endcapture %} {{ install_from_repo | indent | replace: " ", "" }} +{% navtabs_ee %} +{% navtab Kong Gateway %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong-enterprise-edition`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% navtab Kong Gateway (OSS) %} +{:.note .no-icon} +> Once {{ site.base_gateway }} is installed, you may want to run `sudo apt-mark hold kong`. This will prevent an accidental upgrade to a new version. +{% endnavtab %} +{% endnavtabs_ee %} + {% endnavtab %} {% endnavtabs %} -{% include_cached /md/gateway/setup.md kong_version=page.kong_version %} +{% include_cached /md/gateway/setup.md kong_version=page.kong_version %} \ No newline at end of file diff --git a/app/gateway/2.8.x/install-and-run/amazon-linux.md b/app/gateway/2.8.x/install-and-run/amazon-linux.md index 7b4a8e111b2a..dd7674b59b88 100644 --- a/app/gateway/2.8.x/install-and-run/amazon-linux.md +++ b/app/gateway/2.8.x/install-and-run/amazon-linux.md @@ -27,12 +27,12 @@ Install {{site.base_gateway}} on Amazon Linux from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm "{{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-28/rpm/amzn/%{amzn}/noarch/kong-enterprise-edition-{{page.versions.ee}}.aws.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm "{{ site.links.download }}/gateway-2.x-amazonlinux-2/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm" +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-28/rpm/amzn/%{amzn}/x86_64/kong-{{page.versions.ce}}.aws.x86_64.rpm) ``` {% endnavtab %} {% endnavtabs_ee %} @@ -46,12 +46,12 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rp {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.amzn2.noarch.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.aws.amd64.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} {% endnavtabs_ee %} @@ -64,9 +64,12 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.aws. Install the YUM repository from the command line. -1. Download the Kong APT repository: +{% assign gpg_key = site.data.installation.gateway['28'].gpg_key %} + +1. Download the Kong YUM repository: ```bash - curl https://download.konghq.com/gateway-2.x-amazonlinux-2/config.repo | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.rpm.txt?distro=amzn&codename=$(rpm --eval '%{amzn}')" | sudo tee /etc/yum.repos.d/kong-gateway-{{ page.major_minor_version }}.repo > /dev/null + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-{{ page.major_minor_version }}' ``` 2. Install Kong: @@ -75,12 +78,12 @@ Install the YUM repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} {% endnavtabs_ee %} diff --git a/app/gateway/2.8.x/install-and-run/centos.md b/app/gateway/2.8.x/install-and-run/centos.md index 00a077f71f2c..0b6dfd4800b8 100644 --- a/app/gateway/2.8.x/install-and-run/centos.md +++ b/app/gateway/2.8.x/install-and-run/centos.md @@ -35,13 +35,13 @@ Install {{site.base_gateway}} on CentOS from the command line. 1. Download the Kong package: ```bash - curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.el%{centos_ver}.noarch.rpm") + curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/%{centos_ver}/x86_64/kong-enterprise-edition-{{page.versions.ee}}.el%{centos_ver}.noarch.rpm) ``` 2. Install the package: ```bash - sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm + sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} @@ -51,13 +51,14 @@ Install the YUM repository from the command line. 1. Download the Kong yum repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-2.x-centos-%{centos_ver}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-{{ page.major_minor_version }}.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-{{ page.major_minor_version }}' ``` 2. Install Kong: ```bash - sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} + sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} diff --git a/app/gateway/2.8.x/install-and-run/debian.md b/app/gateway/2.8.x/install-and-run/debian.md index 291f10c7a7a3..3682599a534d 100644 --- a/app/gateway/2.8.x/install-and-run/debian.md +++ b/app/gateway/2.8.x/install-and-run/debian.md @@ -30,12 +30,12 @@ Install {{site.base_gateway}} on Debian from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb "{{ site.links.download }}/gateway-2.x-debian-$(lsb_release -cs)/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/deb/debian/pool/buster/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_all.deb" ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{{ site.links.download }}/gateway-2.x-debian-$(lsb_release -cs)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb" +curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/deb/debian/pool/buster/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" ``` {% endnavtab %} {% endnavtabs_ee %} @@ -49,12 +49,12 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{ {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo dpkg -i kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb +sudo apt install -y ./kong-enterprise-edition-{{page.versions.ee}}.all.deb ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb +sudo apt install -y ./kong-{{page.versions.ce}}.amd64.deb ``` {% endnavtab %} {% endnavtabs_ee %} @@ -67,10 +67,12 @@ sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.de Install the APT repository from the command line. +{% assign gpg_key = site.data.installation.gateway['28'].gpg_key %} + 1. Download the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-2.x-debian-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-28/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee /usr/share/keyrings/kong-gateway-28-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-28/config.deb.txt?distro=debian&codename=$(lsb_release -sc)" | sudo tee /etc/apt/sources.list.d/kong-gateway-28.list > /dev/null ``` 2. Update the repository: ```bash @@ -82,12 +84,12 @@ Install the APT repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -apt install -y kong-enterprise-edition={{page.kong_versions[page.version-index].ee-version}} +sudo apt install -y kong-enterprise-edition={{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -apt install -y kong={{page.kong_versions[page.version-index].ce-version}} +sudo apt install -y kong={{page.versions.ce}} ``` {% endnavtab %} {% endnavtabs_ee %} diff --git a/app/gateway/2.8.x/install-and-run/rhel.md b/app/gateway/2.8.x/install-and-run/rhel.md index 377346d2c8b4..16daadd41695 100644 --- a/app/gateway/2.8.x/install-and-run/rhel.md +++ b/app/gateway/2.8.x/install-and-run/rhel.md @@ -27,12 +27,12 @@ Install {{site.base_gateway}} on RHEL from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm $( rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rhel%{rhel}.noarch.rpm") +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/%{rhel}/x86_64/kong-enterprise-edition-{{page.versions.ee}}.el%{rhel}.noarch.rpm) ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.rpm $(rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/Packages/k/kong-{{page.kong_versions[page.version-index].ce-version}}.rhel%{rhel}.amd64.rpm") +curl -Lo kong-{{page.versions.ce}}.rpm $(rpm --eval {{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/rpm/el/%{rhel}/x86_64/kong-{{page.versions.ce}}.el%{rhel}.x86_64.rpm) ``` {% endnavtab %} {% endnavtabs_ee %} @@ -50,12 +50,12 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.rpm $(rpm -- {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.rpm +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}}.rpm ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm +sudo yum install -y kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} {% endnavtabs_ee %} @@ -66,7 +66,7 @@ sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}}.rpm > The `rpm` method is only available for open-source packages. For the `kong-enterprise-edition` package, use `yum`. ```bash -rpm -iv kong-{{page.kong_versions[page.version-index].ce-version}}.rpm +rpm -iv kong-{{page.versions.ce}}.rpm ``` {% endnavtab %} {% endnavtabs %} @@ -81,9 +81,10 @@ rpm -iv kong-{{page.kong_versions[page.version-index].ce-version}}.rpm Install the YUM repository from the command line. -1. Download the Kong APT repository: +1. Download the Kong YUM repository: ```bash - curl $(rpm --eval "{{ site.links.download }}/gateway-2.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.rpm.txt?distro=el&codename=$(rpm --eval '%{rhel}')" | sudo tee /etc/yum.repos.d/kong-gateway-{{ page.major_minor_version }}.repo + sudo yum -q makecache -y --disablerepo='*' --enablerepo='kong-gateway-{{ page.major_minor_version }}' ``` 2. Install Kong: @@ -91,12 +92,12 @@ Install the YUM repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo yum install kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}} +sudo yum install -y kong-enterprise-edition-{{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo yum install kong-{{page.kong_versions[page.version-index].ce-version}} +sudo yum install -y kong-{{page.versions.ce}} ``` {% endnavtab %} {% endnavtabs_ee %} diff --git a/app/gateway/2.8.x/install-and-run/ubuntu.md b/app/gateway/2.8.x/install-and-run/ubuntu.md index ef2d4ac6fcb7..abd5187fd78d 100644 --- a/app/gateway/2.8.x/install-and-run/ubuntu.md +++ b/app/gateway/2.8.x/install-and-run/ubuntu.md @@ -34,12 +34,12 @@ Install {{site.base_gateway}} on Ubuntu from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -curl -Lo kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb "{{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -sc)/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_{{page.kong_versions[page.version-index].ee-version}}_all.deb" +curl -Lo kong-enterprise-edition-{{page.versions.ee}}.all.deb "{{ site.links.cloudsmith }}/public/gateway-28/deb/ubuntu/pool/jammy/main/k/ko/kong-enterprise-edition_{{page.versions.ee}}/kong-enterprise-edition_{{page.versions.ee}}_all.deb" ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -sc)/pool/all/k/kong/kong_{{page.kong_versions[page.version-index].ce-version}}_amd64.deb" +curl -Lo kong-{{page.versions.ce}}.amd64.deb "{{ site.links.cloudsmith }}/public/gateway-28/deb/ubuntu/pool/bionic/main/k/ko/kong_{{page.versions.ce}}/kong_{{page.versions.ce}}_amd64.deb" ``` {% endnavtab %} {% endnavtabs_ee %} @@ -53,12 +53,12 @@ curl -Lo kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb "{ {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo dpkg -i kong-enterprise-edition-{{page.kong_versions[page.version-index].ee-version}}.all.deb +sudo apt install -y ./kong-enterprise-edition-{{page.versions.ee}}.all.deb ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.deb +sudo apt install -y ./kong-{{page.versions.ce}}.amd64.deb ``` {% endnavtab %} {% endnavtabs_ee %} @@ -71,10 +71,12 @@ sudo dpkg -i kong-{{page.kong_versions[page.version-index].ce-version}}.amd64.de Install the APT repository from the command line. +{% assign gpg_key = site.data.installation.gateway['28'].gpg_key %} + 1. Setup the Kong APT repository: ```bash - echo "deb [trusted=yes] {{ site.links.download }}/gateway-2.x-ubuntu-$(lsb_release -sc)/ \ - default all" | sudo tee /etc/apt/sources.list.d/kong.list + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/gpg.{{ gpg_key }}.key" | gpg --dearmor | sudo tee /usr/share/keyrings/kong-gateway-{{ page.major_minor_version }}-archive-keyring.gpg > /dev/null + curl -1sLf "{{ site.links.cloudsmith }}/public/gateway-{{ page.major_minor_version }}/config.deb.txt?distro=ubuntu&codename=focal" | sudo tee /etc/apt/sources.list.d/kong-gateway-{{ page.major_minor_version }}.list > /dev/null ``` 2. Update the repository: @@ -88,13 +90,13 @@ Install the APT repository from the command line. {% navtabs_ee codeblock %} {% navtab Kong Gateway %} ```bash -sudo apt install -y kong-enterprise-edition={{page.kong_versions[page.version-index].ee-version}} +sudo apt install -y kong-enterprise-edition={{page.versions.ee}} ``` {% endnavtab %} {% navtab Kong Gateway (OSS) %} ```bash -sudo apt install -y kong={{page.kong_versions[page.version-index].ce-version}} +sudo apt install -y kong={{page.versions.ce}} ``` diff --git a/jekyll-dev.yml b/jekyll-dev.yml index 3423549ca82d..3af0a8933bc9 100644 --- a/jekyll-dev.yml +++ b/jekyll-dev.yml @@ -24,6 +24,7 @@ links: web: http://localhost:4000 share: https://docs.konghq.com # legacy link, must maintain for social sharing counters download: https://download.konghq.com + cloudsmith: https://packages.konghq.com instaclustr: "https://www.instaclustr.com/products/kong/?utm_source=partnership&utm_medium=link&utm_campaign=mashape" learn: https://education.konghq.com # kong academy archive: https://legacy-gateway--kongdocs.netlify.app diff --git a/jekyll.yml b/jekyll.yml index 89eba3c997c0..db8a82efd3c5 100644 --- a/jekyll.yml +++ b/jekyll.yml @@ -24,6 +24,7 @@ links: web: https://docs.konghq.com share: https://docs.konghq.com # legacy link, must maintain for social sharing counters download: https://download.konghq.com + cloudsmith: https://packages.konghq.com instaclustr: "https://www.instaclustr.com/products/kong/?utm_source=partnership&utm_medium=link&utm_campaign=mashape" learn: https://education.konghq.com # kong academy archive: https://legacy-gateway--kongdocs.netlify.app diff --git a/tools/install-tester/.gitignore b/tools/install-tester/.gitignore new file mode 100644 index 000000000000..095828af037a --- /dev/null +++ b/tools/install-tester/.gitignore @@ -0,0 +1,133 @@ +output + + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/tools/install-tester/README.md b/tools/install-tester/README.md new file mode 100644 index 000000000000..f8ca8c4c9e37 --- /dev/null +++ b/tools/install-tester/README.md @@ -0,0 +1,59 @@ +# Install Tester + +This is a tool that scrapes our installation documentation and uses `docker` to ensure that the packages install as expected. + +## Why does it exist? + +Our install docs should always work. That's where everyone starts on the docs. + +Why now? I needed to test the following matrix of combinations whilst moving to a new package hosting platform: + +(2.6, 2.7, 2.8, 3.0, 3.1, 3.2, 3.3) x (Ubuntu, Debian, RHEL, Amazon Linux, CentOS[2.x only]) x (OSS, EE) x (Package, Repository) = 140 combinations + +## How it works + +1. Read `kong_versions.yml` to build a list of versions to test +2. Use `ce-version` and `ee-version` to set expected output (the test runs `kong version` to ensure the package installed correctly) +3. For each version, loop through each OS +4. Fetch the docs URL for that OS. Extract the codeblocks for (OSS, EE) x (Package, Repository) +5. Create a docker container for each OS +6. Set up the initial environment (install `sudo`, create a non-root user etc) +7. Run the commands that were fetched earlier +8. Run `kong version` +9. Assert that the message matches the expected version from `kong_versions.yml` + +## How to run it + +Run `make run` in another terminal. + +In the current directory: + +> This will run a LOT of tests (all 140, in fact). There is a way to run fewer tests that which will be shown later + +```bash +npm ci +node index.js +``` + +You can run a specific `DISTRO`, `METHOD`, `VERSION` or `PACKAGE` e.g.: + +* `DISTRO=ubuntu,rhel METHOD=package VERSION=2.8.x,3.3.x PACKAGE=enterprise node index.js` runs a specific set of tests +* `DISTRO=amazon-linux node index.js` runs all versions, both EE and OSS, via package and repository install + +You may also want to add `IGNORE_SKIPS=1 CONTINUE_ON_ERROR=1` if running multiple tests. + +## Debugging + +When a test runs, it writes a file in `./output` in the format `version-distro-package-method.txt`. This contains the exact command run at the top, plus any output. You can run the command then attach to the running docker image to explore the environment + +If you see a failure, you can run that specific combination using the `ONLY` parameter: + +```bash +ONLY=2.8.x/ubuntu/oss/package node index.js +``` + +## False positives + +Some of the failures are due to external hosting issues and not the docs site. The `expected-failures.yaml` file allows you to mark specific tests as expected to fail. + +By default expected failures do not fail the build. Set `EXPECTED_FAILURES_EXIT_CODE=1` to make it a failure. \ No newline at end of file diff --git a/tools/install-tester/config/expected-failures.yaml b/tools/install-tester/config/expected-failures.yaml new file mode 100644 index 000000000000..622c02329da0 --- /dev/null +++ b/tools/install-tester/config/expected-failures.yaml @@ -0,0 +1,3 @@ +"no": "failures expected" +# Example format: +# "2.8.x/ubuntu/enterprise/package": "Cloudsmith package contains OS version" diff --git a/tools/install-tester/config/jobs.yaml b/tools/install-tester/config/jobs.yaml new file mode 100644 index 000000000000..5272bf0c9b62 --- /dev/null +++ b/tools/install-tester/config/jobs.yaml @@ -0,0 +1,22 @@ +- match: "3\\..*" + distros: + - ubuntu + - rhel + - amazon-linux + - debian + outputs: + enterprise: "Kong Enterprise {{ version }}" + oss: "{{ version }}" +- match: "2\\..*" + distros: + - ubuntu + - rhel + - amazon-linux + - debian + - centos + skip: + - 2.8.x/centos/oss/package # No OSS package for 2.8 + - 2.8.x/centos/oss/repository # No OSS package for 2.8 + outputs: + enterprise: "Kong Enterprise {{ version }}" + oss: "{{ version }}" diff --git a/tools/install-tester/config/setup.yaml b/tools/install-tester/config/setup.yaml new file mode 100644 index 000000000000..fc2d57c51e0e --- /dev/null +++ b/tools/install-tester/config/setup.yaml @@ -0,0 +1,34 @@ +ubuntu: + image: "ubuntu:jammy" + setup: + - apt-get update -y + - apt-get install -y curl gpg sudo lsb-release + - useradd tester -m -p password + - usermod -aG sudo tester + - "echo 'ALL ALL = (ALL) NOPASSWD: ALL' > /etc/sudoers.d/tester" +debian: + image: "debian:11" + setup: + - apt-get update -y + - apt-get install -y curl gpg sudo lsb-release + - useradd tester -m -p password + - usermod -aG sudo tester + - "echo 'ALL ALL = (ALL) NOPASSWD: ALL' > /etc/sudoers.d/tester" +rhel: + image: "registry.access.redhat.com/ubi7/ubi-init:latest" + setup: + - yum install -y curl gpg sudo + - useradd tester -m -p password + - "echo 'ALL ALL = (ALL) NOPASSWD: ALL' > /etc/sudoers.d/tester" +amazon-linux: + image: "amazonlinux:2" + setup: + - yum install -y curl gpg sudo shadow-utils util-linux + - useradd tester -m -p password + - "echo 'ALL ALL = (ALL) NOPASSWD: ALL' > /etc/sudoers.d/tester" +centos: + image: "centos:centos7" + setup: + - yum install -y curl gpg sudo + - useradd tester -m -p password + - "echo 'ALL ALL = (ALL) NOPASSWD: ALL' > /etc/sudoers.d/tester" diff --git a/tools/install-tester/execute-in-docker.js b/tools/install-tester/execute-in-docker.js new file mode 100644 index 000000000000..a69ba573ce9d --- /dev/null +++ b/tools/install-tester/execute-in-docker.js @@ -0,0 +1,76 @@ +module.exports = async function (distro, steps) { + const Dockerode = require("dockerode"); + const streams = require("memory-streams"); + const fs = require("fs"); + const yaml = require("js-yaml"); + + const config = yaml.load(fs.readFileSync("./config/setup.yaml", "utf8")); + + const stdout = new streams.WritableStream(); + const stderr = new streams.WritableStream(); + + const docker = new Dockerode({ socketPath: "/var/run/docker.sock" }); + + let setup = config[distro].setup; + if (!setup) { + throw new Error(`No setup found for ${distro}`); + } + setup = setup.join(" && "); + + const asUser = `su tester -c 'cd ~ && ${steps + .join(" && ") + .replace("\n", " && ")} && kong version'`; + + const completeString = `${setup} && ${asUser}`; + + // Pull the image + await new Promise((resolve, reject) => { + docker.pull( + config[distro].image, + { platform: "linux/amd64" }, + (err, stream) => { + if (err) { + return reject(err); + } + + docker.modem.followProgress(stream, onFinished, onProgress); + + function onFinished(err, output) { + if (err) { + return reject(err); + } + return resolve(output); + } + function onProgress(event) {} + }, + ); + }); + + return new Promise((resolve, reject) => { + docker.run( + config[distro].image, + ["bash", "-c", completeString], + [stdout, stderr], + { Tty: false, HostConfig: { AutoRemove: true }, platform: "linux/amd64" }, + function (err, data, container) { + if (err) { + return reject(err); + } + const lines = stdout + .toString() + .split("\n") + .filter((l) => l); + const version = lines[lines.length - 1]; + return resolve({ + version, + stdout: stdout.toString(), + stderr: stderr.toString(), + jobConfig: { + image: config[distro].image, + commands: completeString, + }, + }); + }, + ); + }); +}; diff --git a/tools/install-tester/index.js b/tools/install-tester/index.js new file mode 100644 index 000000000000..d7757d4f3434 --- /dev/null +++ b/tools/install-tester/index.js @@ -0,0 +1,205 @@ +if (!process.env.BASE_URL) { + process.env.BASE_URL = "http://localhost:3000"; +} + +// Parse a format like [2.6.x/rhel/oss/yum-repository] into +// individual conditions +if (process.env.ONLY) { + const only = process.env.ONLY.replace("[", "").replace("]", ""); + const [version, distro, package, method] = only.split("/"); + process.env.VERSION = version; + process.env.DISTRO = distro; + process.env.PACKAGE = package; + process.env.METHOD = method; +} + +const conditions = { + version: (process.env.VERSION || "").split(",").filter((v) => v), + distro: (process.env.DISTRO || "").split(",").filter((v) => v), + method: (process.env.METHOD || "").split(",").filter((v) => v), + package: (process.env.PACKAGE || "").split(",").filter((v) => v), +}; + +const debug = require("debug")("install-tester"); +const yaml = require("js-yaml"); +const fs = require("fs"); +if (!fs.existsSync("./output")) { + fs.mkdirSync("./output"); +} + +const { extractV2, extractV3 } = require("./instruction-extractor"); +const run = require("./execute-in-docker"); + +let allStderr = ""; + +const expectedFailures = yaml.load( + fs.readFileSync("./config/expected-failures.yaml", "utf8"), +); + +(async function () { + debug("Starting Install Tester"); + const config = loadConfig(); + for (let job of config) { + for (let distro of job.distros) { + let installOptions; + if (job.version.slice(0, 2) === "2.") { + installOptions = await extractV2(job.version, distro); + } else { + installOptions = await extractV3(job.version, distro); + } + for (let installOption of installOptions) { + await runSingleJob(distro, job, installOption, conditions); + } + } + } + + if (allStderr.length) { + console.log("STDERR OUTPUT:\n" + allStderr); + } +})(); + +async function runSingleJob2(distro, job, installOption, conditions) { + console.log(installOption); +} + +async function runSingleJob(distro, job, installOption, conditions) { + const marker = `${installOption.package}@${job.version} via ${installOption.type}`; + const ref = `${job.version}/${distro}/${ + installOption.package + }/${installOption.type.replace(/\w+\-repository/, "repository")}`; + const summary = `[${ref}]`; + + debug(`====== START ${marker} ======`); + + if ( + (skip = shouldSkip(conditions, job, distro, installOption, ref, summary)) + ) { + if (!process.env.IGNORE_SKIPS) { + console.log(skip); + } + return; + } + + if (expectedFailures[ref]) { + console.log( + `šŸ¤” ${summary} Expected failure: ${expectedFailures[ref]}. Not executing.`, + ); + if (process.env.EXPECTED_FAILURES_EXIT_CODE && process.exitCode === 0) { + process.exitCode = process.env.EXPECTED_FAILURES_EXIT_CODE; + } + return; + } + + const expected = job.outputs[installOption.package]; + debug(`Expecting: ${expected}`); + + const { jobConfig, version, stdout, stderr } = await run( + distro, + installOption.blocks, + ); + debug(`Got: ${version}`); + + // Create a file to re-run the command in one + debug + fs.writeFileSync( + `./output/${job.version}-${distro}-${installOption.package}-${installOption.type}.txt`, + `docker run --platform linux/amd64 -it ${ + jobConfig.image + } bash -c "${jobConfig.commands + .replace(/"/g, '\\"') + .replace( + /\$/g, + "\\$", + )}; sleep 100000"\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}`, + ); + + if (expected !== version) { + console.log(`āŒ ${summary} Expected: ${expected}, Got: ${version}`); + process.exitCode = 1; + + allStderr += `\n\n---------------------------------------\nāŒ ${summary}\n---------------------------------------\n${stderr}`; + + if (!process.env.CONTINUE_ON_ERROR) { + console.log(allStderr); + process.exit(1); + } + } else { + console.log(`āœ… ${summary}`); + } + + debug(`====== END ${marker} ======`); +} + +function shouldSkip(conditions, job, distro, installOption, ref, summary) { + if (job.skip.includes(ref)) { + return `āŒ› ${summary} skipped | Explicitly marked as skipped in jobs.yaml`; + } + + if (conditions.version.length && !conditions.version.includes(job.version)) { + return `āŒ› ${summary} skipped | Version ${ + job.version + } not in [${conditions.version.join(", ")}]`; + } + + if (conditions.distro.length && !conditions.distro.includes(distro)) { + return `āŒ› ${summary} skipped | Distro ${distro} not in [${conditions.distro.join( + ", ", + )}]`; + } + + let genericType = installOption.type; + if (["yum-repository", "apt-repository"].includes(genericType)) { + genericType = "repository"; + } + + if (conditions.method.length && !conditions.method.includes(genericType)) { + return `āŒ› ${summary} skipped | Install method ${genericType} not in [${conditions.method.join( + ", ", + )}]`; + } + + if ( + conditions.package.length && + !conditions.package.includes(installOption.package) + ) { + return `āŒ› ${summary} skipped | Package ${ + installOption.package + } not in [${conditions.package.join(", ")}]`; + } + + return false; +} + +function loadConfig() { + // Load kong_versions file to get the list of versions to test + const allVersions = yaml.load( + fs.readFileSync(__dirname + "/../../app/_data/kong_versions.yml", "utf8"), + ); + + const gatewayVersions = allVersions.filter((v) => v.edition === "gateway"); + + const jobConfig = yaml.load(fs.readFileSync("./config/jobs.yaml", "utf8")); + + const jobs = []; + for (const v of gatewayVersions) { + for (let j of jobConfig) { + if (new RegExp(j.match).test(v.release)) { + outputs = { + enterprise: j.outputs.enterprise.replace( + "{{ version }}", + v["ee-version"], + ), + oss: j.outputs.oss.replace("{{ version }}", v["ce-version"]), + }; + jobs.push({ + version: v.release, + distros: j.distros, + skip: j.skip || [], + outputs, + }); + break; + } + } + } + + return jobs; +} diff --git a/tools/install-tester/instruction-extractor.js b/tools/install-tester/instruction-extractor.js new file mode 100644 index 000000000000..7dec311a3a60 --- /dev/null +++ b/tools/install-tester/instruction-extractor.js @@ -0,0 +1,81 @@ +const fetch = require("node-fetch"); +const cheerio = require("cheerio"); +const yaml = require("js-yaml"); + +const typeToPackage = { + "kong-gateway": "enterprise", + "kong-gateway-oss": "oss", +}; + +async function extractV3(version, os) { + return extract( + `${process.env.BASE_URL}/gateway/${version}/install/linux/${os}`, + os, + ); +} + +async function extractV2(version, os) { + return extract( + `${process.env.BASE_URL}/gateway/${version}/install-and-run/${os}`, + os, + ); +} + +async function extract(url, os) { + // Fetch instructions from the page + const response = await fetch(url); + const body = await response.text(); + // Parse the HTML + const $ = cheerio.load(body); + + const packages = ["kong-gateway", "kong-gateway-oss"]; + const types = ["package"]; + + const aptDistros = ["ubuntu", "debian"]; + if (aptDistros.includes(os)) { + types.push("apt-repository"); + } + + const yumDistros = ["centos", "rhel", "amazon-linux"]; + if (yumDistros.includes(os)) { + types.push("yum-repository"); + } + + const output = []; + for (let package of packages) { + for (let type of types) { + const blocks = []; + // Grab the first navtabs + $("div[data-panel='" + type + "']") + .find( + "li > .language-bash pre code, div[data-panel='" + + package + + "'] pre code", + ) + .toArray() + .forEach((c) => { + blocks.push($(c).text().trim()); + }); + + //if (blocks.join("\n").includes("download.konghq.com")) { + // console.error( + // "ERROR: download.konghq.com found in instructions on " + url, + // ); + // process.exit(1); + //} + + output.push({ + url, + package: typeToPackage[package], + type, + blocks, + }); + } + } + return output; +} + +module.exports = { + extractV2, + extractV3, +}; diff --git a/tools/install-tester/package-lock.json b/tools/install-tester/package-lock.json new file mode 100644 index 000000000000..a704c2b1cd09 --- /dev/null +++ b/tools/install-tester/package-lock.json @@ -0,0 +1,1046 @@ +{ + "name": "install-tester", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "install-tester", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "cheerio": "^1.0.0-rc.12", + "debug": "^4.3.4", + "dockerode": "^3.3.5", + "js-yaml": "^4.1.0", + "memory-streams": "^0.1.3", + "node-fetch": "^2.6.12" + } + }, + "node_modules/@balena/dockerignore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", + "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buildcheck": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cpu-features": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.8.tgz", + "integrity": "sha512-BbHBvtYhUhksqTjr6bhNOjGgMnhwhGTQmOoZGD+K7BCaQDCuZl/Ve1ZxUSMRwVC4D/rkCPQ2MAIeYzrWyK7eEg==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "buildcheck": "~0.0.6", + "nan": "^2.17.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/docker-modem": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.8.tgz", + "integrity": "sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==", + "dependencies": { + "debug": "^4.1.1", + "readable-stream": "^3.5.0", + "split-ca": "^1.0.1", + "ssh2": "^1.11.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/dockerode": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", + "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "dependencies": { + "@balena/dockerignore": "^1.0.2", + "docker-modem": "^3.0.0", + "tar-fs": "~2.0.1" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/memory-streams": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz", + "integrity": "sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==", + "dependencies": { + "readable-stream": "~1.0.2" + } + }, + "node_modules/memory-streams/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/memory-streams/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "optional": true + }, + "node_modules/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/split-ca": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" + }, + "node_modules/ssh2": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", + "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", + "hasInstallScript": true, + "dependencies": { + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2" + }, + "engines": { + "node": ">=10.16.0" + }, + "optionalDependencies": { + "cpu-features": "~0.0.8", + "nan": "^2.17.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/tar-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", + "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + }, + "dependencies": { + "@balena/dockerignore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", + "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buildcheck": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", + "optional": true + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cpu-features": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.8.tgz", + "integrity": "sha512-BbHBvtYhUhksqTjr6bhNOjGgMnhwhGTQmOoZGD+K7BCaQDCuZl/Ve1ZxUSMRwVC4D/rkCPQ2MAIeYzrWyK7eEg==", + "optional": true, + "requires": { + "buildcheck": "~0.0.6", + "nan": "^2.17.0" + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "docker-modem": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.8.tgz", + "integrity": "sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==", + "requires": { + "debug": "^4.1.1", + "readable-stream": "^3.5.0", + "split-ca": "^1.0.1", + "ssh2": "^1.11.0" + } + }, + "dockerode": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", + "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "requires": { + "@balena/dockerignore": "^1.0.2", + "docker-modem": "^3.0.0", + "tar-fs": "~2.0.1" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "memory-streams": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz", + "integrity": "sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==", + "requires": { + "readable-stream": "~1.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + } + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "optional": true + }, + "node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "requires": { + "entities": "^4.4.0" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "split-ca": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" + }, + "ssh2": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", + "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", + "requires": { + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2", + "cpu-features": "~0.0.8", + "nan": "^2.17.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "tar-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", + "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + } +} diff --git a/tools/install-tester/package.json b/tools/install-tester/package.json new file mode 100644 index 000000000000..eb68e6d45412 --- /dev/null +++ b/tools/install-tester/package.json @@ -0,0 +1,20 @@ +{ + "name": "install-tester", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "cheerio": "^1.0.0-rc.12", + "debug": "^4.3.4", + "dockerode": "^3.3.5", + "js-yaml": "^4.1.0", + "memory-streams": "^0.1.3", + "node-fetch": "^2.6.12" + } +}