Skip to content

Commit 22905b9

Browse files
authored
Merge pull request TeslaGov#7 from TeslaGov/joefitz/docker-build
Joefitz/docker build
2 parents 539fe7b + 6a98f0e commit 22905b9

File tree

5 files changed

+40
-33
lines changed

5 files changed

+40
-33
lines changed

Dockerfile

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@ FROM centos:7
22

33
LABEL maintainer="TeslaGov" email="[email protected]"
44

5+
COPY resources/nginx.repo /etc/yum.repos.d/nginx.repo
6+
57
ENV LD_LIBRARY_PATH=/usr/local/lib
68

79
RUN yum -y update && \
810
yum -y groupinstall 'Development Tools' && \
9-
yum -y install pcre-devel pcre zlib-devel openssl-devel wget cmake check-devel check
11+
yum -y install pcre-devel pcre zlib-devel openssl-devel wget cmake check-devel check && \
12+
yum -y install nginx-1.12.0
1013

1114
RUN mkdir -p /root/dl
1215
WORKDIR /root/dl
@@ -47,4 +50,15 @@ RUN wget http://nginx.org/download/nginx-1.12.0.tar.gz && \
4750
ln -sf nginx-1.12.0 nginx && \
4851
cd /root/dl/nginx && \
4952
./configure --with-compat --add-dynamic-module=../ngx-http-auth-jwt-module --with-cc-opt='-std=gnu99' && \
50-
make modules
53+
make modules && \
54+
cp /root/dl/nginx/objs/ngx_http_auth_jwt_module.so /etc/nginx/modules/.
55+
56+
# Get nginx ready to run
57+
COPY resources/nginx.conf /etc/nginx/nginx.conf
58+
COPY resources/test-jwt-nginx.conf /etc/nginx/conf.d/test-jwt-nginx.conf
59+
RUN cp -r /usr/share/nginx/html /usr/share/nginx/secure
60+
61+
WORKDIR /etc/nginx
62+
CMD ["nginx"]
63+
64+
EXPOSE 8000

build.sh

100644100755
Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,31 @@
33
# build
44
DOCKER_IMAGE_NAME=jwt-nginx
55
docker build -t ${DOCKER_IMAGE_NAME} .
6-
CONTAINER_ID=$(docker run -itd ${DOCKER_IMAGE_NAME} sh)
6+
CONTAINER_ID=$(docker run -d -p 8000:8000 ${DOCKER_IMAGE_NAME})
77

8-
# setup test
9-
rm -rf ./lib
10-
rm -rf ./modules
11-
mkdir modules
12-
DOCKER_TEST_IMAGE_NAME=jwt-nginx-test
13-
docker build -t ${DOCKER_TEST_IMAGE_NAME} test/.
14-
CONTAINER_TEST_ID=$(docker run -p 8000:8000 -itd ${DOCKER_TEST_IMAGE_NAME} sh)
15-
docker cp ${CONTAINER_ID}:/usr/local/lib .
16-
docker cp lib ${CONTAINER_TEST_ID}:/usr/local
17-
docker cp ${CONTAINER_ID}:/root/dl/nginx/objs/ngx_http_auth_jwt_module.so modules/.
18-
docker cp modules/ngx_http_auth_jwt_module.so ${CONTAINER_TEST_ID}:/usr/lib64/nginx/modules/.
19-
docker cp resources/test-jwt-nginx.conf ${CONTAINER_TEST_ID}:/etc/nginx/conf.d/test-jwt-nginx.conf
20-
docker cp resources/nginx.conf ${CONTAINER_TEST_ID}:/etc/nginx/.
21-
22-
docker exec -d ${CONTAINER_TEST_ID} /bin/bash -c "export LD_LIBRARY_PATH=/usr/local/lib && nginx"
8+
MACHINE_IP=`docker-machine ip`
239

10+
RED='\033[01;31m'
11+
GREEN='\033[01;32m'
12+
NONE='\033[00m'
2413

14+
TEST_INSECURE_EXPECT_200=`curl -o /dev/null --silent --head --write-out '%{http_code}\n' http://${MACHINE_IP}:8000`
15+
if [ "$TEST_INSECURE_EXPECT_200" -eq "200" ];then
16+
echo -e "${GREEN}Insecure test pass ${TEST_INSECURE_EXPECT_200}${NONE}";
17+
else
18+
echo -e "${RED}Insecure test fail ${TEST_INSECURE_EXPECT_200}${NONE}";
19+
fi
2520

21+
TEST_SECURE_EXPECT_302=`curl -o /dev/null --silent --head --write-out '%{http_code}\n' http://${MACHINE_IP}:8000/secure/index.html`
22+
if [ "$TEST_SECURE_EXPECT_302" -eq "302" ];then
23+
echo -e "${GREEN}Secure test without jwt pass ${TEST_SECURE_EXPECT_302}${NONE}";
24+
else
25+
echo -e "${RED}Secure test without jwt fail ${TEST_SECURE_EXPECT_302}${NONE}";
26+
fi
2627

28+
TEST_SECURE_EXPECT_200=`curl -o /dev/null --silent --head --write-out '%{http_code}\n' http://${MACHINE_IP}:8000/secure/index.html -H 'cache-control: no-cache' --cookie "rampartjwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJzb21lLWxvbmctdXVpZCIsImZpcnN0TmFtZSI6ImhlbGxvIiwgImxhc3ROYW1lIjoid29ybGQiLCJlbWFpbEFkZHJlc3MiOiJoZWxsb3dvcmxkQGV4YW1wbGUuY29tIiwgInJvbGVzIjpbInRoaXMiLCJ0aGF0IiwidGhlb3RoZXIiXSwgImlzcyI6Imlzc3VlciIsInBlcnNvbklkIjoiNzViYjNjYzctYjkzMy00NGYwLTkzYzYtMTQ3YjA4MmZhZGI1IiwgImV4cCI6MTkwODgzNTIwMCwiaWF0IjoxNDg4ODE5NjAwLCJ1c2VybmFtZSI6ImhlbGxvLndvcmxkIn0.TvDD63ZOqFKgE-uxPDdP5aGIsbl5xPKz4fMul3Zlti4;PassportKey=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJzb21lLWxvbmctdXVpZCIsImZpcnN0TmFtZSI6ImhlbGxvIiwgImxhc3ROYW1lIjoid29ybGQiLCJlbWFpbEFkZHJlc3MiOiJoZWxsb3dvcmxkQGV4YW1wbGUuY29tIiwgInJvbGVzIjpbInRoaXMiLCJ0aGF0IiwidGhlb3RoZXIiXSwgImlzcyI6Imlzc3VlciIsInBlcnNvbklkIjoiNzViYjNjYzctYjkzMy00NGYwLTkzYzYtMTQ3YjA4MmZhZGI1IiwgImV4cCI6MTkwODgzNTIwMCwiaWF0IjoxNDg4ODE5NjAwLCJ1c2VybmFtZSI6ImhlbGxvLndvcmxkIn0.TvDD63ZOqFKgE-uxPDdP5aGIsbl5xPKz4fMul3Zlti4"`
29+
if [ "$TEST_SECURE_EXPECT_200" -eq "200" ];then
30+
echo -e "${GREEN}Secure test with jwt pass ${TEST_SECURE_EXPECT_200}${NONE}";
31+
else
32+
echo -e "${RED}Secure test with jwt fail ${TEST_SECURE_EXPECT_200}${NONE}";
33+
fi

resources/nginx.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ http {
3232
include /etc/nginx/conf.d/*.conf;
3333
}
3434

35+
daemon off;
File renamed without changes.

test/Dockerfile

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)