Instrumental | 4ad4763 | 2018-07-13 15:49:26 -0500 | [diff] [blame] | 1 | #!/bin/bash |
Instrumental | 7a1817b | 2018-11-05 11:11:15 -0600 | [diff] [blame] | 2 | ######### |
| 3 | # ============LICENSE_START==================================================== |
| 4 | # org.onap.aaf |
| 5 | # =========================================================================== |
| 6 | # Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. |
| 7 | # =========================================================================== |
| 8 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 9 | # you may not use this file except in compliance with the License. |
| 10 | # You may obtain a copy of the License at |
| 11 | # |
| 12 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 13 | # |
| 14 | # Unless required by applicable law or agreed to in writing, software |
| 15 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 17 | # See the License for the specific language governing permissions and |
| 18 | # limitations under the License. |
| 19 | # ============LICENSE_END==================================================== |
Sai Gandham | 6611834 | 2018-04-04 15:33:05 -0500 | [diff] [blame] | 20 | # |
| 21 | # Docker Building Script. Reads all the components generated by install, on per-version basis |
| 22 | # |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 23 | |
Instrumental | aae5c07 | 2019-03-29 15:42:37 -0500 | [diff] [blame] | 24 | # Pull in Variables from d.props |
| 25 | if [ ! -e ./d.props ]; then |
| 26 | cp d.props.init d.props |
| 27 | fi |
| 28 | |
| 29 | . ./d.props |
| 30 | |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 31 | # process input. originally, an optional positional parameter is used to designate a component. |
| 32 | # A flagged parameter has been added to optionally indicate docker pull registry. Ideally, options |
| 33 | # would be flagged but we're avoiding ripple effect of changing original usage |
| 34 | if [ $# -gt 0 ]; then |
| 35 | if [ "$1" == "-r" ]; then |
| 36 | DOCKER_PULL_REGISTRY=$2 |
| 37 | else |
| 38 | AAF_COMPONENTS=$1 |
| 39 | if [[ $# -gt 1 && $2 == "-r" ]]; then |
| 40 | # If docker.io is indicated, registry var is void as that is docker default |
| 41 | if [ $3 == "docker.io" ]; then |
| 42 | DOCKER_PULL_REGISTRY='' |
| 43 | else |
| 44 | DOCKER_PULL_REGISTRY=$3 |
| 45 | fi |
| 46 | fi |
| 47 | fi |
| 48 | fi |
| 49 | |
Instrumental | e9ae048 | 2019-08-02 14:46:27 -0500 | [diff] [blame^] | 50 | grep -v '#' d.props | grep '=' | grep -v -e "=$" |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 51 | |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 52 | DOCKER=${DOCKER:=docker} |
| 53 | |
Instrumental | bc299c0 | 2018-09-25 06:42:31 -0500 | [diff] [blame] | 54 | echo "Building Containers for aaf components, version $VERSION" |
Instrumental | 3019a28 | 2018-09-25 16:05:20 -0500 | [diff] [blame] | 55 | # AAF_cass now needs a version... |
Instrumental | 3505a52 | 2019-01-31 14:49:24 -0600 | [diff] [blame] | 56 | cd ../auth-cass/docker |
Instrumental | e9ae048 | 2019-08-02 14:46:27 -0500 | [diff] [blame^] | 57 | pwd |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 58 | bash ./dbuild.sh $DOCKER_PULL_REGISTRY |
Instrumental | 3505a52 | 2019-01-31 14:49:24 -0600 | [diff] [blame] | 59 | cd - |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 60 | |
Instrumental | 0e302ed | 2019-07-16 04:02:30 -0500 | [diff] [blame] | 61 | ######## |
| 62 | # First, build a AAF Base version - set the core image, etc |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 63 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 64 | -e 's/${DUSER}/'${DUSER}'/g' \ |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 65 | -e 's/${REGISTRY}/'${DOCKER_PULL_REGISTRY}'/g' \ |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 66 | Dockerfile.base > Dockerfile |
| 67 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_base:${VERSION} . |
| 68 | $DOCKER tag ${ORG}/${PROJECT}/aaf_base:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_base:${VERSION} |
| 69 | $DOCKER tag ${ORG}/${PROJECT}/aaf_base:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_base:latest |
| 70 | rm Dockerfile |
Instrumental | 3019a28 | 2018-09-25 16:05:20 -0500 | [diff] [blame] | 71 | |
Instrumental | 0e302ed | 2019-07-16 04:02:30 -0500 | [diff] [blame] | 72 | ######## |
| 73 | # Second, Create the AAF Config (Security) Images |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 74 | cd .. |
Instrumental | b3a6814 | 2019-07-24 14:42:22 -0500 | [diff] [blame] | 75 | # Note: only 2 jars each in Agent/Config |
Instrumental | 9fe1153 | 2018-10-23 17:40:47 -0500 | [diff] [blame] | 76 | cp auth-cmd/target/aaf-auth-cmd-$VERSION-full.jar sample/bin |
Instrumental | e2fa0e6 | 2019-02-07 11:09:32 -0600 | [diff] [blame] | 77 | cp auth-batch/target/aaf-auth-batch-$VERSION-full.jar sample/bin |
Instrumental | b3a6814 | 2019-07-24 14:42:22 -0500 | [diff] [blame] | 78 | cp ../cadi/aaf/target/aaf-cadi-aaf-${VERSION}-full.jar sample/bin |
| 79 | cp ../cadi/servlet-sample/target/aaf-cadi-servlet-sample-${VERSION}-sample.jar sample/bin |
Instrumental | bc299c0 | 2018-09-25 06:42:31 -0500 | [diff] [blame] | 80 | cp -Rf ../conf/CA sample |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 81 | |
| 82 | # AAF Config image (for AAF itself) |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 83 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 84 | -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' \ |
| 85 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 86 | -e 's/${DUSER}/'${DUSER}'/g' \ |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 87 | docker/Dockerfile.config > sample/Dockerfile |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 88 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_config:${VERSION} sample |
| 89 | $DOCKER tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_config:${VERSION} |
Instrumental | 3505a52 | 2019-01-31 14:49:24 -0600 | [diff] [blame] | 90 | $DOCKER tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_config:latest |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 91 | |
Instrumental | b3a6814 | 2019-07-24 14:42:22 -0500 | [diff] [blame] | 92 | |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 93 | # AAF Agent Image (for Clients) |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 94 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 95 | -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' \ |
| 96 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 97 | -e 's/${DUSER}/'${DUSER}'/g' \ |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 98 | docker/Dockerfile.agent > sample/Dockerfile |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 99 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_agent:${VERSION} sample |
| 100 | $DOCKER tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:${VERSION} |
| 101 | $DOCKER tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:latest |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 102 | |
| 103 | # Clean up |
Instrumental | b3a6814 | 2019-07-24 14:42:22 -0500 | [diff] [blame] | 104 | rm sample/Dockerfile sample/bin/aaf-*-${VERSION}*.jar |
Instrumental | bc299c0 | 2018-09-25 06:42:31 -0500 | [diff] [blame] | 105 | rm -Rf sample/CA |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 106 | cd - |
Instrumental | 365638c | 2018-10-01 15:26:03 -0500 | [diff] [blame] | 107 | |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 108 | ######## |
Instrumental | 0e302ed | 2019-07-16 04:02:30 -0500 | [diff] [blame] | 109 | # Third, build a core Docker Image to be used for all AAF Components |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 110 | echo Building aaf_$AAF_COMPONENT... |
Instrumental | 0e302ed | 2019-07-16 04:02:30 -0500 | [diff] [blame] | 111 | cp ../sample/bin/pod_wait.sh ../aaf_${VERSION}/bin |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 112 | # Apply currrent Properties to Docker file, and put in place. |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 113 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 114 | -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' \ |
| 115 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 116 | -e 's/${DUSER}/'${DUSER}'/g' \ |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 117 | Dockerfile.core >../aaf_${VERSION}/Dockerfile |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 118 | cd .. |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 119 | echo "#######" |
| 120 | pwd |
| 121 | echo "#######" |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 122 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_core:${VERSION} aaf_${VERSION} |
| 123 | $DOCKER tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:${VERSION} |
| 124 | $DOCKER tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:latest |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 125 | rm aaf_${VERSION}/Dockerfile |
Sai Gandham | 6611834 | 2018-04-04 15:33:05 -0500 | [diff] [blame] | 126 | |
Instrumental | 5b77b64 | 2019-07-17 11:50:16 -0500 | [diff] [blame] | 127 | ######## |
| 128 | # Fourth, do Hello |
| 129 | # Apply currrent Properties to Docker file, and put in place. |
| 130 | cd - |
| 131 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 132 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
| 133 | -e 's/${DUSER}/'${DUSER}'/g' \ |
| 134 | Dockerfile.hello >../aaf_${VERSION}/Dockerfile |
| 135 | cd .. |
| 136 | echo "#######" |
| 137 | pwd |
| 138 | echo "#######" |
| 139 | cp -Rf sample/etc aaf_${VERSION} |
Instrumental | b3a6814 | 2019-07-24 14:42:22 -0500 | [diff] [blame] | 140 | cp -Rf sample/logs aaf_${VERSION} |
Instrumental | 5b77b64 | 2019-07-17 11:50:16 -0500 | [diff] [blame] | 141 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_hello:${VERSION} aaf_${VERSION} |
| 142 | $DOCKER tag ${ORG}/${PROJECT}/aaf_hello:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_hello:${VERSION} |
| 143 | $DOCKER tag ${ORG}/${PROJECT}/aaf_hello:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_hello:latest |
| 144 | rm -Rf aaf_${VERSION}/Dockerfile aaf_${VERSION}/etc |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 145 | |
| 146 | # Final cleanup |
Instrumental | 0e302ed | 2019-07-16 04:02:30 -0500 | [diff] [blame] | 147 | rm aaf_${VERSION}/bin/pod_wait.sh |
| 148 | |
| 149 | cd - |