diff --git a/.circleci/config.yml b/.circleci/config.yml index 2fce4fb87..d545c1e44 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,9 +26,9 @@ commands: steps: - restore_cache: keys: - - apicast-cpanm-v2-{{ arch }}-{{ checksum "gateway/cpanfile.snapshot" }} - - apicast-cpanm-v2-{{ arch }}-{{ .Branch }} - - apicast-cpanm-v2-{{ arch }}-master + - apicast-cpanm-v3-{{ arch }}-{{ checksum "gateway/cpanfile.snapshot" }} + - apicast-cpanm-v3-{{ arch }}-{{ .Branch }} + - apicast-cpanm-v3-{{ arch }}-master setup-docker: steps: @@ -105,7 +105,7 @@ executors: openresty: working_directory: /opt/app-root/apicast docker: - - image: quay.io/3scale/apicast-ci:openresty-1.21.4-4 + - image: quay.io/3scale/apicast-ci:openresty-1.21.4-5 - image: mirror.gcr.io/library/redis environment: TEST_NGINX_BINARY: openresty diff --git a/CHANGELOG.md b/CHANGELOG.md index c5e85fec0..158303678 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Added - Update APIcast schema manifest [PR #1550](https://github.com/3scale/APIcast/pull/1550) - Update luarocks to v3.12.0 [PR #1555](https://github.com/3scale/APIcast/pull/1555) +- Update base image to ubi9-minimal [PR #1566](https://github.com/3scale/APIcast/pull/1566) [THREESCALE-11901](https://issues.redhat.com/browse/THREESCALE-11901) ### Removed diff --git a/Dockerfile b/Dockerfile index db6e6f530..db3ff2aec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,7 @@ -FROM registry.access.redhat.com/ubi8 +FROM registry.access.redhat.com/ubi9/ubi-minimal -ARG OPENRESTY_RPM_VERSION="1.21.4-1.el8" -ARG LUAROCKS_VERSION="3.11.1" -ARG JAEGERTRACING_CPP_CLIENT_RPM_VERSION="0.3.1-13.el8" +ARG OPENRESTY_RPM_VERSION="1.21.4-4.el9" +ARG LUAROCKS_VERSION="3.12.0" LABEL summary="The 3scale API gateway (APIcast) is an OpenResty application, which consists of two parts: NGINX configuration and Lua files." \ description="APIcast is not a standalone API gateway therefore it needs connection to the 3scale API management platform. The container includes OpenResty and uses LuaRocks to install dependencies (rocks are installed in the application folder)." \ @@ -18,23 +17,18 @@ ENV AUTO_UPDATE_INTERVAL=0 \ # The $HOME is not set by default, but some applications needs this variable HOME=/opt/app-root/src \ PATH=/opt/app-root/src/bin:/opt/app-root/bin:$PATH \ - PLATFORM="el8" + PLATFORM="el9" -RUN PKGS="perl-interpreter-5.26.3 libyaml-devel-0.1.7 m4 openssl-devel git gcc make curl" && \ - mkdir -p "$HOME" && \ - yum -y --setopt=tsflags=nodocs install $PKGS && \ - rpm -V $PKGS && \ - yum clean all -y - -RUN dnf install -y 'dnf-command(config-manager)' +RUN microdnf update -y \ + && microdnf install -y 'yum-utils' dnf -RUN yum config-manager --add-repo http://packages.dev.3sca.net/dev_packages_3sca_net.repo +RUN yum-config-manager --add-repo http://packages.dev.3sca.net/dev_packages_3sca_net.repo RUN PKGS="openresty-resty-${OPENRESTY_RPM_VERSION} openresty-opentelemetry-${OPENRESTY_RPM_VERSION} openresty-${OPENRESTY_RPM_VERSION} luarocks-${LUAROCKS_VERSION}" && \ mkdir -p "$HOME" && \ - yum -y --setopt=tsflags=nodocs install $PKGS && \ + dnf -y --setopt=tsflags=nodocs install $PKGS && \ rpm -V $PKGS && \ - yum clean all -y + dnf clean all -y COPY site_config.lua /usr/share/lua/5.1/luarocks/site_config.lua COPY config-*.lua /usr/local/openresty/config-5.1.lua @@ -61,18 +55,12 @@ RUN luarocks install --deps-mode=none --tree /usr/local https://luarocks.org/man RUN luarocks install --deps-mode=none --tree /usr/local https://luarocks.org/manifests/golgote/net-url-0.9-1.src.rock RUN luarocks install --deps-mode=none --tree /usr/local https://luarocks.org/manifests/membphis/lua-resty-ipmatcher-0.6.1-0.src.rock RUN luarocks install --deps-mode=none --tree /usr/local https://luarocks.org/manifests/fffonion/lua-resty-openssl-1.5.1-1.src.rock +RUN luarocks install --deps-mode=none --tree /usr/local https://luarocks.org/manifests/tkan145/lua-resty-jwt-0.2.4-0.src.rock -# Install lua-resty-jwt from source due to Authentication Bypass bug -# See https://github.com/cdbattags/lua-resty-jwt/issues/61 -RUN cd /tmp \ - && git clone --recurse-submodules https://github.com/cdbattags/lua-resty-jwt \ - && cd lua-resty-jwt \ - && git reset --hard d1558e2 \ - && luarocks make --tree /usr/local lua-resty-jwt-dev-0.rockspec - -RUN yum -y remove libyaml-devel m4 openssl-devel git gcc luarocks && \ - rm -rf /var/cache/yum && yum clean all -y && \ - rm -rf ./* +RUN dnf -y remove yum-utils luarocks \ + && rm -rf /var/cache/yum /var/cache/dnf \ + && dnf clean all -y \ + && rm -rf ./* COPY gateway/. /opt/app-root/src/ diff --git a/Dockerfile.devel b/Dockerfile.devel index 31971a012..bf9133884 100644 --- a/Dockerfile.devel +++ b/Dockerfile.devel @@ -1,8 +1,7 @@ -FROM registry.access.redhat.com/ubi8 +FROM registry.access.redhat.com/ubi9/ubi-minimal -ARG OPENRESTY_RPM_VERSION="1.21.4-1.el8" +ARG OPENRESTY_RPM_VERSION="1.21.4-4.el9" ARG LUAROCKS_VERSION="3.12.0" -ARG JAEGERTRACING_CPP_CLIENT_RPM_VERSION="0.3.1-13.el8" ARG LUAROVER_VERSION="0.2.3" WORKDIR /tmp @@ -10,26 +9,24 @@ WORKDIR /tmp ENV APP_ROOT=/opt/app-root \ HOME=/opt/app-root/src \ PATH=/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ - PLATFORM="el8" + PLATFORM="el9" -RUN sed -i s/enabled=./enabled=0/g /etc/yum/pluginconf.d/subscription-manager.conf +RUN microdnf update -y \ + && microdnf install -y 'yum-utils' dnf -RUN yum upgrade -y - -RUN dnf install -y 'dnf-command(config-manager)' - -RUN yum install -y \ - gcc make git which curl iputils bind-utils expat-devel kernel-headers openssl-devel m4 \ - libyaml libyaml-devel perl-local-lib perl-App-cpanminus perl-LWP-Protocol-https +RUN dnf install -y \ + gcc make git which iputils bind-utils expat-devel kernel-headers openssl-devel m4 \ + libyaml libyaml-devel perl-local-lib perl-App-cpanminus perl-LWP-Protocol-https \ + tar # perl-Test-Nginx RUN cpanm --notest IPC::Run && \ cpanm https://cpan.metacpan.org/authors/id/A/AG/AGENT/Test-Nginx-0.29.tar.gz && \ - cpanm https://cpan.metacpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.14.tar.gz + cpanm https://cpan.metacpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.15.tar.gz -RUN yum config-manager --add-repo http://packages.dev.3sca.net/dev_packages_3sca_net.repo +RUN yum-config-manager --add-repo http://packages.dev.3sca.net/dev_packages_3sca_net.repo -RUN yum install -y \ +RUN dnf install -y \ openresty-${OPENRESTY_RPM_VERSION} \ openresty-resty-${OPENRESTY_RPM_VERSION} \ openresty-opentelemetry-${OPENRESTY_RPM_VERSION} @@ -57,7 +54,7 @@ RUN cd /tmp \ --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 \ && make build \ && make install \ - && luarocks install luaossl 20200709 --tree ${APP_ROOT}/lua_modules CFLAGS="-O2 -fPIC -DHAVE_EVP_KDF_CTX=1" \ + # && luarocks install luaossl 20200709 --tree ${APP_ROOT}/lua_modules CFLAGS="-O2 -fPIC -DHAVE_EVP_KDF_CTX=1" \ && luarocks install http --tree ${APP_ROOT}/lua_modules \ && cd /tmp \ && rm -rf luarocks-${LUAROCKS_VERSION} luarocks-${LUAROCKS_VERSION}.tar.gz \ @@ -65,8 +62,9 @@ RUN cd /tmp \ && tar xzf lua-rover-v${LUAROVER_VERSION}.tar.gz \ && cd lua-rover-${LUAROVER_VERSION} \ && luarocks make \ - && yum -y remove luarocks \ - && rm -rf /var/cache/yum && yum clean all -y + && dnf -y remove luarocks \ + && rm -rf /var/cache/yum /var/cache/dnf \ + && dnf clean all -y # Directory with the sources is set as the working directory so all STI scripts # can execute relative to this path. diff --git a/Makefile b/Makefile index 43c926a79..671ec8e43 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ NPROC ?= $(firstword $(shell nproc 2>/dev/null) 1) SEPARATOR="\n=============================================\n" -DEVEL_IMAGE ?= quay.io/3scale/apicast-ci:openresty-1.21.4-4 +DEVEL_IMAGE ?= quay.io/3scale/apicast-ci:openresty-1.21.4-5 DEVEL_DOCKERFILE ?= Dockerfile.devel RUNTIME_IMAGE ?= quay.io/3scale/apicast:latest diff --git a/docker-compose-devel.yml b/docker-compose-devel.yml index 37787ea2d..07e2d2f6d 100644 --- a/docker-compose-devel.yml +++ b/docker-compose-devel.yml @@ -2,7 +2,7 @@ version: '2.2' services: development: - image: ${IMAGE:-quay.io/3scale/apicast-ci:openresty-1.21.4-4} + image: ${IMAGE:-quay.io/3scale/apicast-ci:openresty-1.21.4-5} platform: "linux/amd64" depends_on: - redis diff --git a/gateway/cpanfile b/gateway/cpanfile index 2e94ce253..4ded07333 100644 --- a/gateway/cpanfile +++ b/gateway/cpanfile @@ -6,4 +6,3 @@ requires 'JSON'; requires 'URI::data'; requires 'TAP::Harness::JUnit'; requires 'Data::Inspect'; -requires 'YAML'; diff --git a/gateway/cpanfile.snapshot b/gateway/cpanfile.snapshot index a195b6c66..94d97d774 100644 --- a/gateway/cpanfile.snapshot +++ b/gateway/cpanfile.snapshot @@ -36,10 +36,10 @@ DISTRIBUTIONS perl 5.008001 strict 0 warnings 0 - Capture-Tiny-0.48 - pathname: D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz + Capture-Tiny-0.50 + pathname: D/DA/DAGOLDEN/Capture-Tiny-0.50.tar.gz provides: - Capture::Tiny 0.48 + Capture::Tiny 0.50 requirements: Carp 0 Exporter 0 @@ -51,10 +51,10 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - Carton-v1.0.34 - pathname: M/MI/MIYAGAWA/Carton-v1.0.34.tar.gz + Carton-v1.0.35 + pathname: M/MI/MIYAGAWA/Carton-v1.0.35.tar.gz provides: - Carton 1.000034 + Carton 1.000035 Carton::Builder undef Carton::CLI undef Carton::CPANfile undef @@ -92,11 +92,11 @@ DISTRIBUTIONS parent 0.223 perl 5.008005 version 0.77 - Class-Tiny-1.006 - pathname: D/DA/DAGOLDEN/Class-Tiny-1.006.tar.gz + Class-Tiny-1.008 + pathname: D/DA/DAGOLDEN/Class-Tiny-1.008.tar.gz provides: - Class::Tiny 1.006 - Class::Tiny::Object 1.006 + Class::Tiny 1.008 + Class::Tiny::Object 1.008 requirements: Carp 0 ExtUtils::MakeMaker 6.17 @@ -111,130 +111,135 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 Pod::Text 2.08 - Crypt-JWT-0.021 - pathname: M/MI/MIK/Crypt-JWT-0.021.tar.gz + Crypt-JWT-0.037 + pathname: M/MI/MIK/Crypt-JWT-0.037.tar.gz provides: - Crypt::JWT 0.021 - Crypt::KeyWrap 0.021 + Crypt::JWT 0.037 + Crypt::KeyWrap 0.037 requirements: Compress::Raw::Zlib 0 - CryptX 0.034 + CryptX 0.067 Exporter 5.57 ExtUtils::MakeMaker 0 - JSON::MaybeXS 1.003005 + JSON 0 + Scalar::Util 0 + Test::More 0.88 perl 5.006 - CryptX-0.060 - pathname: M/MI/MIK/CryptX-0.060.tar.gz + CryptX-0.087 + pathname: M/MI/MIK/CryptX-0.087.tar.gz provides: - Crypt::AuthEnc 0.060 - Crypt::AuthEnc::CCM 0.060 - Crypt::AuthEnc::ChaCha20Poly1305 0.060 - Crypt::AuthEnc::EAX 0.060 - Crypt::AuthEnc::GCM 0.060 - Crypt::AuthEnc::OCB 0.060 - Crypt::Checksum 0.060 - Crypt::Checksum::Adler32 0.060 - Crypt::Checksum::CRC32 0.060 - Crypt::Cipher 0.060 - Crypt::Cipher::AES 0.060 - Crypt::Cipher::Anubis 0.060 - Crypt::Cipher::Blowfish 0.060 - Crypt::Cipher::CAST5 0.060 - Crypt::Cipher::Camellia 0.060 - Crypt::Cipher::DES 0.060 - Crypt::Cipher::DES_EDE 0.060 - Crypt::Cipher::IDEA 0.060 - Crypt::Cipher::KASUMI 0.060 - Crypt::Cipher::Khazad 0.060 - Crypt::Cipher::MULTI2 0.060 - Crypt::Cipher::Noekeon 0.060 - Crypt::Cipher::RC2 0.060 - Crypt::Cipher::RC5 0.060 - Crypt::Cipher::RC6 0.060 - Crypt::Cipher::SAFERP 0.060 - Crypt::Cipher::SAFER_K128 0.060 - Crypt::Cipher::SAFER_K64 0.060 - Crypt::Cipher::SAFER_SK128 0.060 - Crypt::Cipher::SAFER_SK64 0.060 - Crypt::Cipher::SEED 0.060 - Crypt::Cipher::Serpent 0.060 - Crypt::Cipher::Skipjack 0.060 - Crypt::Cipher::Twofish 0.060 - Crypt::Cipher::XTEA 0.060 - Crypt::Digest 0.060 - Crypt::Digest::BLAKE2b_160 0.060 - Crypt::Digest::BLAKE2b_256 0.060 - Crypt::Digest::BLAKE2b_384 0.060 - Crypt::Digest::BLAKE2b_512 0.060 - Crypt::Digest::BLAKE2s_128 0.060 - Crypt::Digest::BLAKE2s_160 0.060 - Crypt::Digest::BLAKE2s_224 0.060 - Crypt::Digest::BLAKE2s_256 0.060 - Crypt::Digest::CHAES 0.060 - Crypt::Digest::Keccak224 0.060 - Crypt::Digest::Keccak256 0.060 - Crypt::Digest::Keccak384 0.060 - Crypt::Digest::Keccak512 0.060 - Crypt::Digest::MD2 0.060 - Crypt::Digest::MD4 0.060 - Crypt::Digest::MD5 0.060 - Crypt::Digest::RIPEMD128 0.060 - Crypt::Digest::RIPEMD160 0.060 - Crypt::Digest::RIPEMD256 0.060 - Crypt::Digest::RIPEMD320 0.060 - Crypt::Digest::SHA1 0.060 - Crypt::Digest::SHA224 0.060 - Crypt::Digest::SHA256 0.060 - Crypt::Digest::SHA384 0.060 - Crypt::Digest::SHA3_224 0.060 - Crypt::Digest::SHA3_256 0.060 - Crypt::Digest::SHA3_384 0.060 - Crypt::Digest::SHA3_512 0.060 - Crypt::Digest::SHA512 0.060 - Crypt::Digest::SHA512_224 0.060 - Crypt::Digest::SHA512_256 0.060 - Crypt::Digest::SHAKE 0.060 - Crypt::Digest::Tiger192 0.060 - Crypt::Digest::Whirlpool 0.060 - Crypt::KeyDerivation 0.060 - Crypt::Mac 0.060 - Crypt::Mac::BLAKE2b 0.060 - Crypt::Mac::BLAKE2s 0.060 - Crypt::Mac::F9 0.060 - Crypt::Mac::HMAC 0.060 - Crypt::Mac::OMAC 0.060 - Crypt::Mac::PMAC 0.060 - Crypt::Mac::Pelican 0.060 - Crypt::Mac::Poly1305 0.060 - Crypt::Mac::XCBC 0.060 - Crypt::Misc 0.060 - Crypt::Mode 0.060 - Crypt::Mode::CBC 0.060 - Crypt::Mode::CFB 0.060 - Crypt::Mode::CTR 0.060 - Crypt::Mode::ECB 0.060 - Crypt::Mode::OFB 0.060 - Crypt::PK 0.060 - Crypt::PK::DH 0.060 - Crypt::PK::DSA 0.060 - Crypt::PK::ECC 0.060 - Crypt::PK::RSA 0.060 - Crypt::PRNG 0.060 - Crypt::PRNG::ChaCha20 0.060 - Crypt::PRNG::Fortuna 0.060 - Crypt::PRNG::RC4 0.060 - Crypt::PRNG::Sober128 0.060 - Crypt::PRNG::Yarrow 0.060 - Crypt::Stream::ChaCha 0.060 - Crypt::Stream::RC4 0.060 - Crypt::Stream::Rabbit 0.060 - Crypt::Stream::Salsa20 0.060 - Crypt::Stream::Sober128 0.060 - Crypt::Stream::Sosemanuk 0.060 - CryptX 0.060 - Math::BigInt::LTM 0.060 + Crypt::AuthEnc 0.087 + Crypt::AuthEnc::CCM 0.087 + Crypt::AuthEnc::ChaCha20Poly1305 0.087 + Crypt::AuthEnc::EAX 0.087 + Crypt::AuthEnc::GCM 0.087 + Crypt::AuthEnc::OCB 0.087 + Crypt::Checksum 0.087 + Crypt::Checksum::Adler32 0.087 + Crypt::Checksum::CRC32 0.087 + Crypt::Cipher 0.087 + Crypt::Cipher::AES 0.087 + Crypt::Cipher::Anubis 0.087 + Crypt::Cipher::Blowfish 0.087 + Crypt::Cipher::CAST5 0.087 + Crypt::Cipher::Camellia 0.087 + Crypt::Cipher::DES 0.087 + Crypt::Cipher::DES_EDE 0.087 + Crypt::Cipher::IDEA 0.087 + Crypt::Cipher::KASUMI 0.087 + Crypt::Cipher::Khazad 0.087 + Crypt::Cipher::MULTI2 0.087 + Crypt::Cipher::Noekeon 0.087 + Crypt::Cipher::RC2 0.087 + Crypt::Cipher::RC5 0.087 + Crypt::Cipher::RC6 0.087 + Crypt::Cipher::SAFERP 0.087 + Crypt::Cipher::SAFER_K128 0.087 + Crypt::Cipher::SAFER_K64 0.087 + Crypt::Cipher::SAFER_SK128 0.087 + Crypt::Cipher::SAFER_SK64 0.087 + Crypt::Cipher::SEED 0.087 + Crypt::Cipher::Serpent 0.087 + Crypt::Cipher::Skipjack 0.087 + Crypt::Cipher::Twofish 0.087 + Crypt::Cipher::XTEA 0.087 + Crypt::Digest 0.087 + Crypt::Digest::BLAKE2b_160 0.087 + Crypt::Digest::BLAKE2b_256 0.087 + Crypt::Digest::BLAKE2b_384 0.087 + Crypt::Digest::BLAKE2b_512 0.087 + Crypt::Digest::BLAKE2s_128 0.087 + Crypt::Digest::BLAKE2s_160 0.087 + Crypt::Digest::BLAKE2s_224 0.087 + Crypt::Digest::BLAKE2s_256 0.087 + Crypt::Digest::CHAES 0.087 + Crypt::Digest::Keccak224 0.087 + Crypt::Digest::Keccak256 0.087 + Crypt::Digest::Keccak384 0.087 + Crypt::Digest::Keccak512 0.087 + Crypt::Digest::MD2 0.087 + Crypt::Digest::MD4 0.087 + Crypt::Digest::MD5 0.087 + Crypt::Digest::RIPEMD128 0.087 + Crypt::Digest::RIPEMD160 0.087 + Crypt::Digest::RIPEMD256 0.087 + Crypt::Digest::RIPEMD320 0.087 + Crypt::Digest::SHA1 0.087 + Crypt::Digest::SHA224 0.087 + Crypt::Digest::SHA256 0.087 + Crypt::Digest::SHA384 0.087 + Crypt::Digest::SHA3_224 0.087 + Crypt::Digest::SHA3_256 0.087 + Crypt::Digest::SHA3_384 0.087 + Crypt::Digest::SHA3_512 0.087 + Crypt::Digest::SHA512 0.087 + Crypt::Digest::SHA512_224 0.087 + Crypt::Digest::SHA512_256 0.087 + Crypt::Digest::SHAKE 0.087 + Crypt::Digest::Tiger192 0.087 + Crypt::Digest::Whirlpool 0.087 + Crypt::KeyDerivation 0.087 + Crypt::Mac 0.087 + Crypt::Mac::BLAKE2b 0.087 + Crypt::Mac::BLAKE2s 0.087 + Crypt::Mac::F9 0.087 + Crypt::Mac::HMAC 0.087 + Crypt::Mac::OMAC 0.087 + Crypt::Mac::PMAC 0.087 + Crypt::Mac::Pelican 0.087 + Crypt::Mac::Poly1305 0.087 + Crypt::Mac::XCBC 0.087 + Crypt::Misc 0.087 + Crypt::Mode 0.087 + Crypt::Mode::CBC 0.087 + Crypt::Mode::CFB 0.087 + Crypt::Mode::CTR 0.087 + Crypt::Mode::ECB 0.087 + Crypt::Mode::OFB 0.087 + Crypt::PK 0.087 + Crypt::PK::DH 0.087 + Crypt::PK::DSA 0.087 + Crypt::PK::ECC 0.087 + Crypt::PK::Ed25519 0.087 + Crypt::PK::RSA 0.087 + Crypt::PK::X25519 0.087 + Crypt::PRNG 0.087 + Crypt::PRNG::ChaCha20 0.087 + Crypt::PRNG::Fortuna 0.087 + Crypt::PRNG::RC4 0.087 + Crypt::PRNG::Sober128 0.087 + Crypt::PRNG::Yarrow 0.087 + Crypt::Stream::ChaCha 0.087 + Crypt::Stream::RC4 0.087 + Crypt::Stream::Rabbit 0.087 + Crypt::Stream::Salsa20 0.087 + Crypt::Stream::Sober128 0.087 + Crypt::Stream::Sosemanuk 0.087 + CryptX 0.087 + Math::BigInt::LTM 0.087 requirements: ExtUtils::MakeMaker 0 + Math::BigInt 0 perl 5.006 Data-Inspect-0.05 pathname: O/OW/OWL/Data-Inspect-0.05.tar.gz @@ -259,22 +264,25 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 6.17 perl 5.006001 - ExtUtils-Config-0.008 - pathname: L/LE/LEONT/ExtUtils-Config-0.008.tar.gz + ExtUtils-Config-0.010 + pathname: L/LE/LEONT/ExtUtils-Config-0.010.tar.gz provides: - ExtUtils::Config 0.008 + ExtUtils::Config 0.010 + ExtUtils::Config::MakeMaker 0.010 requirements: Data::Dumper 0 - ExtUtils::MakeMaker 6.30 + ExtUtils::MakeMaker 0 + ExtUtils::MakeMaker::Config 0 + perl 5.006 strict 0 warnings 0 - ExtUtils-Helpers-0.026 - pathname: L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz + ExtUtils-Helpers-0.028 + pathname: L/LE/LEONT/ExtUtils-Helpers-0.028.tar.gz provides: - ExtUtils::Helpers 0.026 - ExtUtils::Helpers::Unix 0.026 - ExtUtils::Helpers::VMS 0.026 - ExtUtils::Helpers::Windows 0.026 + ExtUtils::Helpers 0.028 + ExtUtils::Helpers::Unix 0.028 + ExtUtils::Helpers::VMS 0.028 + ExtUtils::Helpers::Windows 0.028 requirements: Carp 0 Exporter 5.57 @@ -283,19 +291,18 @@ DISTRIBUTIONS File::Copy 0 File::Spec::Functions 0 Text::ParseWords 3.24 - perl 5.006 strict 0 warnings 0 - ExtUtils-InstallPaths-0.012 - pathname: L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz + ExtUtils-InstallPaths-0.015 + pathname: L/LE/LEONT/ExtUtils-InstallPaths-0.015.tar.gz provides: - ExtUtils::InstallPaths 0.012 + ExtUtils::InstallPaths 0.015 requirements: Carp 0 - ExtUtils::Config 0.002 + ExtUtils::Config 0.009 ExtUtils::MakeMaker 0 File::Spec 0 - perl 5.006 + perl 5.008 strict 0 warnings 0 File-Listing-6.04 @@ -430,10 +437,10 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 HTTP::Headers 6 perl 5.008001 - HTTP-Tinyish-0.15 - pathname: M/MI/MIYAGAWA/HTTP-Tinyish-0.15.tar.gz + HTTP-Tinyish-0.19 + pathname: M/MI/MIYAGAWA/HTTP-Tinyish-0.19.tar.gz provides: - HTTP::Tinyish 0.15 + HTTP::Tinyish 0.19 HTTP::Tinyish::Base undef HTTP::Tinyish::Curl undef HTTP::Tinyish::HTTPTiny undef @@ -455,10 +462,10 @@ DISTRIBUTIONS Encode 2.10 Exporter 5.57 ExtUtils::MakeMaker 6.30 - IPC-Run3-0.048 - pathname: R/RJ/RJBS/IPC-Run3-0.048.tar.gz + IPC-Run3-0.049 + pathname: R/RJ/RJBS/IPC-Run3-0.049.tar.gz provides: - IPC::Run3 0.048 + IPC::Run3 0.049 requirements: ExtUtils::MakeMaker 0 Test::More 0.31 @@ -630,11 +637,11 @@ DISTRIBUTIONS strict 0 vars 0 warnings 0 - Path-Tiny-0.108 - pathname: D/DA/DAGOLDEN/Path-Tiny-0.108.tar.gz + Path-Tiny-0.150 + pathname: D/DA/DAGOLDEN/Path-Tiny-0.150.tar.gz provides: - Path::Tiny 0.108 - Path::Tiny::Error 0.108 + Path::Tiny 0.150 + Path::Tiny::Error 0.150 requirements: Carp 0 Cwd 0 @@ -644,6 +651,7 @@ DISTRIBUTIONS Exporter 5.57 ExtUtils::MakeMaker 6.17 Fcntl 0 + File::Compare 0 File::Copy 0 File::Glob 0 File::Path 2.07 @@ -943,7 +951,7 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 LWP::UserAgent 0 - perl 5.00405 + perl 5.004050 XML-SAX-1.02 pathname: G/GR/GRANTM/XML-SAX-1.02.tar.gz provides: diff --git a/spec/resty/http_ng/backend/async_resty_spec.lua b/spec/resty/http_ng/backend/async_resty_spec.lua index 8eb7b7e3b..c9e822a04 100755 --- a/spec/resty/http_ng/backend/async_resty_spec.lua +++ b/spec/resty/http_ng/backend/async_resty_spec.lua @@ -56,9 +56,8 @@ describe('resty backend', function() local req = { method = method, url = 'https://untrusted-root.badssl.com/', options = { ssl = { verify = true } } } local response = backend:send(req) - assert.truthy(response) - assert.match('self signed certificate in certificate chain', response.error) + assert.is_same('19: self-signed certificate in certificate chain', response.error) assert.equal(req, response.request) assert.falsy(response.ok) end) diff --git a/t/management.t b/t/management.t index 495171382..4488a7776 100644 --- a/t/management.t +++ b/t/management.t @@ -268,7 +268,7 @@ env APICAST_MANAGEMENT_API=debug; lua_package_path "$TEST_NGINX_LUA_PATH"; init_by_lua_block { ngx.now = function() return 0 end - local cache = require('resty.resolver.cache').shared():save({ { + local cache = require('resty.resolver.cache').shared():save("127.0.0.1.xip.io", 1, { { address = "127.0.0.1", class = 1, name = "127.0.0.1.xip.io", @@ -285,8 +285,13 @@ GET /dns/cache Content-Type: application/json; charset=utf-8 --- expected_response_body_like_multiple eval [[ + qr/"127.0.0.1.xip.io:1":\{/, + qr/"value":\{"1":\{/, qr/"name":"127.0.0.1.xip.io"/, - qr/\{"127.0.0.1.xip.io":\{"value":{"1":{"address":"127.0.0.1","class":1,"ttl":199/, + qr/"type":1/, + qr/"class":1/, + qr/"address":"127.0.0.1"/, + qr/"ttl":199/, ]] --- no_error_log [error]