a170493d341eab16cba895e9f8cfb599b0173fdf
[aaf/authz.git] / auth / docker / dbuild.sh
1 #!/bin/bash
2 #
3 # Docker Building Script.  Reads all the components generated by install, on per-version basis
4 #
5 # Pull in Variables from d.props
6 if [ ! -e ./d.props ]; then
7     cp d.props.init d.props
8 fi
9
10 . ./d.props
11
12 DOCKER=${DOCKER:=docker}
13
14 echo "Building Containers for aaf components, version $VERSION"
15
16 # AAF_cass now needs a version...
17 cd ../auth-cass/docker
18 bash ./dbuild.sh
19 cd -
20
21 # Create the AAF Config (Security) Images
22 cd ..
23 cp auth-cmd/target/aaf-auth-cmd-$VERSION-full.jar sample/bin
24 cp -Rf ../conf/CA sample
25
26 # AAF Config image (for AAF itself)
27 sed -e 's/${AAF_VERSION}/'${VERSION}'/g' -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' docker/Dockerfile.config > sample/Dockerfile
28 $DOCKER build -t ${ORG}/${PROJECT}/aaf_config:${VERSION} sample
29 $DOCKER tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_config:${VERSION}
30 $DOCKER tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/latest
31
32 cp ../cadi/servlet-sample/target/aaf-cadi-servlet-sample-${VERSION}-sample.jar sample/bin
33 # AAF Agent Image (for Clients)
34 sed -e 's/${AAF_VERSION}/'${VERSION}'/g' -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' docker/Dockerfile.client > sample/Dockerfile
35 $DOCKER build -t ${ORG}/${PROJECT}/aaf_agent:${VERSION} sample
36 $DOCKER tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:${VERSION}
37 $DOCKER tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:latest
38
39 # Clean up 
40 rm sample/Dockerfile sample/bin/aaf-auth-cmd-${VERSION}-full.jar sample/bin/aaf-cadi-servlet-sample-${VERSION}-sample.jar 
41 rm -Rf sample/CA
42 cd -
43
44 ########
45 # Second, build a core Docker Image
46 echo Building aaf_$AAF_COMPONENT...
47 # Apply currrent Properties to Docker file, and put in place.
48 sed -e 's/${AAF_VERSION}/'${VERSION}'/g' -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' Dockerfile.core >../aaf_${VERSION}/Dockerfile
49 cd ..
50 $DOCKER build -t ${ORG}/${PROJECT}/aaf_core:${VERSION} aaf_${VERSION}
51 $DOCKER tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:${VERSION}
52 $DOCKER tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:latest
53 rm aaf_${VERSION}/Dockerfile
54 cd -
55
56 #######
57 # Do all the Containers related to AAF Services
58 #######
59 if ["$1" == ""]; then
60     AAF_COMPONENTS=$(ls ../aaf_${VERSION}/bin | grep -v '\.')
61 else
62     AAF_COMPONENTS=$1
63 fi
64
65 mkdir -p ../aaf_${VERSION}/pod
66 cp ../sample/bin/pod_wait.sh  ../aaf_${VERSION}/pod
67 for AAF_COMPONENT in ${AAF_COMPONENTS}; do
68     echo Building aaf_$AAF_COMPONENT...
69     sed -e 's/${AAF_VERSION}/'${VERSION}'/g' -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' Dockerfile.ms >../aaf_${VERSION}/Dockerfile
70     cd ..
71     $DOCKER build -t ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} aaf_${VERSION}
72     $DOCKER tag ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION}
73     $DOCKER tag ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:latest
74     rm aaf_${VERSION}/Dockerfile
75     cd -
76
77 done
78 rm ../aaf_${VERSION}/pod/*
79 rmdir ../aaf_${VERSION}/pod