Browse Source

Merge pull request #496 from srvrco/debian-nslookup-error

Use default awk on most images, add debian:latest and ubuntu:latest
pull/500/head
Tim Kimber 6 years ago
committed by GitHub
parent
commit
86af888827
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 134 additions and 85 deletions
  1. +87
    -48
      docker-compose.yml
  2. +0
    -24
      test/5-old-awk-error.bats
  3. +6
    -4
      test/Dockerfile-alpine
  4. +2
    -0
      test/Dockerfile-centos6
  5. +8
    -2
      test/Dockerfile-debian
  6. +23
    -0
      test/Dockerfile-ubuntu
  7. +4
    -5
      test/Dockerfile-ubuntu18
  8. +3
    -1
      test/run-all-tests.sh
  9. +1
    -1
      test/test_helper.bash

+ 87
- 48
docker-compose.yml View File

@ -21,33 +21,33 @@ services:
networks:
acmenet:
ipv4_address: 10.30.50.3
getssl-ubuntu18:
getssl-alpine:
build:
context: .
dockerfile: test/Dockerfile-ubuntu18
container_name: getssl-ubuntu18
dockerfile: test/Dockerfile-alpine
container_name: getssl-alpine
volumes:
- .:/getssl
environment:
GETSSL_HOST: ubuntu18.getssl.test
GETSSL_IP: 10.30.50.4
NGINX_CONFIG: /etc/nginx/sites-enabled/default
GETSSL_HOST: alpine.getssl.test
GETSSL_IP: 10.30.50.10
NGINX_CONFIG: /etc/nginx/conf.d/default.conf
networks:
acmenet:
ipv4_address: 10.30.50.4
ipv4_address: 10.30.50.10
aliases:
- ubuntu18.getssl.test
- a.ubuntu18.getssl.test
- b.ubuntu18.getssl.test
- c.ubuntu18.getssl.test
- d.ubuntu18.getssl.test
- e.ubuntu18.getssl.test
- f.ubuntu18.getssl.test
- g.ubuntu18.getssl.test
- h.ubuntu18.getssl.test
- i.ubuntu18.getssl.test
- j.ubuntu18.getssl.test
- k.ubuntu18.getssl.test
- alpine.getssl.test
- a.alpine.getssl.test
- b.alpine.getssl.test
- c.alpine.getssl.test
- d.alpine.getssl.test
- e.alpine.getssl.test
- f.alpine.getssl.test
- g.alpine.getssl.test
- h.alpine.getssl.test
- i.alpine.getssl.test
- j.alpine.getssl.test
- k.alpine.getssl.test
getssl-centos6:
build:
context: .
@ -57,11 +57,11 @@ services:
- .:/getssl
environment:
GETSSL_HOST: centos6.getssl.test
GETSSL_IP: 10.30.50.5
GETSSL_IP: 10.30.50.11
NGINX_CONFIG: /etc/nginx/conf.d/default.conf
networks:
acmenet:
ipv4_address: 10.30.50.5
ipv4_address: 10.30.50.11
aliases:
- centos6.getssl.test
- a.centos6.getssl.test
@ -75,50 +75,89 @@ services:
- i.centos6.getssl.test
- j.centos6.getssl.test
- k.centos6.getssl.test
getssl-alpine:
getssl-debian:
build:
context: .
dockerfile: test/Dockerfile-alpine
container_name: getssl-alpine
dockerfile: test/Dockerfile-debian
container_name: getssl-debian
volumes:
- .:/getssl
environment:
GETSSL_HOST: alpine.getssl.test
GETSSL_IP: 10.30.50.6
NGINX_CONFIG: /etc/nginx/conf.d/default.conf
GETSSL_HOST: debian.getssl.test
GETSSL_IP: 10.30.50.12
NGINX_CONFIG: /etc/nginx/sites-enabled/default
networks:
acmenet:
ipv4_address: 10.30.50.6
ipv4_address: 10.30.50.12
aliases:
- alpine.getssl.test
- a.alpine.getssl.test
- b.alpine.getssl.test
- c.alpine.getssl.test
- d.alpine.getssl.test
- e.alpine.getssl.test
- f.alpine.getssl.test
- g.alpine.getssl.test
- h.alpine.getssl.test
- i.alpine.getssl.test
- j.alpine.getssl.test
- k.alpine.getssl.test
getssl-ubuntu18-no-gawk:
- debian.getssl.test
- a.debian.getssl.test
- b.debian.getssl.test
- c.debian.getssl.test
- d.debian.getssl.test
- e.debian.getssl.test
- f.debian.getssl.test
- g.debian.getssl.test
- h.debian.getssl.test
- i.debian.getssl.test
- j.debian.getssl.test
- k.debian.getssl.test
getssl-ubuntu:
build:
context: .
dockerfile: test/Dockerfile-ubuntu18-no-gawk
container_name: getssl-ubuntu18-no-gawk
dockerfile: test/Dockerfile-ubuntu
container_name: getssl-ubuntu
volumes:
- .:/getssl
environment:
GETSSL_HOST: ubuntu18-no-gawk.getssl.test
GETSSL_IP: 10.30.50.7
GETSSL_HOST: ubuntu.getssl.test
GETSSL_IP: 10.30.50.13
NGINX_CONFIG: /etc/nginx/sites-enabled/default
TEST_AWK: "yes"
networks:
acmenet:
ipv4_address: 10.30.50.7
ipv4_address: 10.30.50.13
aliases:
- ubuntu18-no-gawk.getssl.test
- ubuntu.getssl.test
- a.ubuntu.getssl.test
- b.ubuntu.getssl.test
- c.ubuntu.getssl.test
- d.ubuntu.getssl.test
- e.ubuntu.getssl.test
- f.ubuntu.getssl.test
- g.ubuntu.getssl.test
- h.ubuntu.getssl.test
- i.ubuntu.getssl.test
- j.ubuntu.getssl.test
- k.ubuntu.getssl.test
getssl-ubuntu18:
build:
context: .
dockerfile: test/Dockerfile-ubuntu18
container_name: getssl-ubuntu18
volumes:
- .:/getssl
environment:
GETSSL_HOST: ubuntu18.getssl.test
GETSSL_IP: 10.30.50.14
NGINX_CONFIG: /etc/nginx/sites-enabled/default
networks:
acmenet:
ipv4_address: 10.30.50.14
aliases:
- ubuntu18.getssl.test
- a.ubuntu18.getssl.test
- b.ubuntu18.getssl.test
- c.ubuntu18.getssl.test
- d.ubuntu18.getssl.test
- e.ubuntu18.getssl.test
- f.ubuntu18.getssl.test
- g.ubuntu18.getssl.test
- h.ubuntu18.getssl.test
- i.ubuntu18.getssl.test
- j.ubuntu18.getssl.test
- k.ubuntu18.getssl.test
networks:
acmenet:


+ 0
- 24
test/5-old-awk-error.bats View File

@ -1,24 +0,0 @@
#! /usr/bin/env bats
load '/bats-support/load.bash'
load '/bats-assert/load.bash'
load '/getssl/test/test_helper.bash'
# This is run for every test
setup() {
export CURL_CA_BUNDLE=/root/pebble-ca-bundle.crt
}
@test "Check getssl fails if an old version of awk is installed" {
CONFIG_FILE="getssl-http01.cfg"
# Make sure this test only runs on an image running an old version of awk
if [[ "$TEST_AWK" != "" ]]; then
setup_environment
init_getssl
create_certificate
assert_failure
assert_output "getssl: Your version of awk does not work with json_awk (see http://github.com/step-/JSON.awk/issues/6), please install a newer version of mawk or gawk"
fi
}

+ 6
- 4
test/Dockerfile-alpine View File

@ -1,14 +1,15 @@
FROM alpine:latest
RUN apk --no-cache add supervisor openssl git curl bind-tools wget gawk nginx bash
# RUN apk --no-cache add vim dos2unix # for debugging
# Note this image uses busybox awk instead of gawk
RUN apk --no-cache add supervisor openssl git curl bind-tools wget nginx bash
WORKDIR /root
# Create nginx directories in standard places
RUN mkdir /run/nginx
RUN mkdir /etc/nginx/pki
RUN mkdir /etc/nginx/pki/private
COPY ./test/test-config/nginx-ubuntu-no-ssl /etc/nginx/sites-enabled/default
COPY ./test/alpine-supervisord.conf /etc/supervisord.conf
# BATS (Bash Automated Testings)
RUN git clone https://github.com/bats-core/bats-core.git /bats-core
@ -17,4 +18,5 @@ RUN git clone https://github.com/jasonkarns/bats-assert-1 /bats-assert
RUN /bats-core/install.sh /usr/local
# Use supervisord to run nginx in the background
COPY ./test/alpine-supervisord.conf /etc/supervisord.conf
ENTRYPOINT /usr/bin/supervisord -c /etc/supervisord.conf

+ 2
- 0
test/Dockerfile-centos6 View File

@ -1,5 +1,7 @@
FROM centos:centos6
# Note this image uses gawk
# Update and install required software
RUN yum -y update
RUN yum -y install epel-release


test/Dockerfile-ubuntu18-no-gawk → test/Dockerfile-debian View File


+ 23
- 0
test/Dockerfile-ubuntu View File

@ -0,0 +1,23 @@
FROM ubuntu:latest
# Note this image uses mawk1.3
# Update and install required software
RUN apt-get update --fix-missing
RUN apt-get install -y git curl dnsutils wget nginx-light
RUN apt-get install -y vim dos2unix # for debugging
# TODO test with drill, dig, host
WORKDIR /root
# Prevent "Can't load /root/.rnd into RNG" error from openssl
RUN touch /root/.rnd
# BATS (Bash Automated Testings)
RUN git clone https://github.com/bats-core/bats-core.git /bats-core
RUN git clone https://github.com/jasonkarns/bats-support /bats-support
RUN git clone https://github.com/jasonkarns/bats-assert-1 /bats-assert
RUN /bats-core/install.sh /usr/local
# Run eternal loop - for testing
CMD tail -f /dev/null

+ 4
- 5
test/Dockerfile-ubuntu18 View File

@ -1,12 +1,11 @@
FROM ubuntu:bionic
# bionic = latest 18 version
# bionic = 18 LTS (long term support)
# Note this image uses gawk
# Update and install required software
RUN apt-get update --fix-missing
# TODO work out why default version of awk fails
RUN apt-get install -y git curl dnsutils wget gawk nginx-light # linux-libc-dev make gcc binutils
RUN apt-get install -y vim dos2unix # for debugging
# TODO test with drill, dig, host
RUN apt-get install -y git curl dnsutils wget gawk nginx-light
WORKDIR /root
RUN mkdir /etc/nginx/pki


+ 3
- 1
test/run-all-tests.sh View File

@ -1,5 +1,7 @@
#!/usr/bin/env bash
docker exec -it getssl-alpine bats /getssl/test
docker exec -it getssl-centos6 bats /getssl/test
docker exec -it getssl-debian bats /getssl/test
docker exec -it getssl-ubuntu bats /getssl/test
docker exec -it getssl-ubuntu18 bats /getssl/test
docker exec -it getssl-ubuntu18-no-gawk bats /getssl/test/5-old-awk-error.bats

+ 1
- 1
test/test_helper.bash View File

@ -18,7 +18,7 @@ setup_environment() {
fi
curl -X POST -d '{"host":"'"$GETSSL_HOST"'", "addresses":["'"$GETSSL_IP"'"]}' http://10.30.50.3:8055/add-a
cp ${CODE_DIR}/test/test-config/nginx-ubuntu-no-ssl ${NGINX_CONFIG}
cp ${CODE_DIR}/test/test-config/nginx-ubuntu-no-ssl "${NGINX_CONFIG}"
/getssl/test/restart-nginx
}


Loading…
Cancel
Save