diff options
-rwxr-xr-x | mvn-phase-script.sh | 4 | ||||
-rw-r--r-- | pnda-mirror-container/Dockerfile | 41 | ||||
-rw-r--r-- | pnda-mirror-container/README.md | 23 | ||||
-rw-r--r-- | pnda-mirror-container/pom.xml | 144 | ||||
-rw-r--r-- | pom.xml | 1 |
5 files changed, 211 insertions, 2 deletions
diff --git a/mvn-phase-script.sh b/mvn-phase-script.sh index 19a561a..de4d82d 100755 --- a/mvn-phase-script.sh +++ b/mvn-phase-script.sh @@ -83,11 +83,11 @@ deploy) upload_files_of_extension sh build_and_push_docker ;; - k8s-bootstrap-container|tca-cdap-container|cm-container|redis-cluster-container|healthcheck-container) + k8s-bootstrap-container|tca-cdap-container|cm-container|redis-cluster-container|healthcheck-container|pnda-mirror-container) build_and_push_docker ;; scripts|cloud_init|heat) - # upload all sh file under the root of module + # upload all sh file under the root of module upload_files_of_extension_recursively sh $MVN_PROJECT_MODULEID upload_files_of_extension_recursively py $MVN_PROJECT_MODULEID upload_files_of_extension_recursively yaml $MVN_PROJECT_MODULEID diff --git a/pnda-mirror-container/Dockerfile b/pnda-mirror-container/Dockerfile new file mode 100644 index 0000000..595463d --- /dev/null +++ b/pnda-mirror-container/Dockerfile @@ -0,0 +1,41 @@ +# ============LICENSE_START======================================================= +# org.onap.dcae +# ================================================================================ +# Copyright (c) 2018 Cisco Systems. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +FROM centos:7.5.1804 as build + +ARG PNDARELEASE=develop + +RUN yum clean all && rm -rf /var/cache/yum/* && yum install gettext git -y + +RUN git clone -b $PNDARELEASE https://github.com/pndaproject/pnda.git + +WORKDIR /pnda/mirror +RUN ./create_mirror.sh +RUN rm -rf /pnda/mirror/mirror-dist/mirror_cloudera + +WORKDIR /pnda/build +RUN ./install-build-tools.sh + +RUN yum install bzip2 make which -y +RUN source ./set-pnda-env.sh \ + && ./build-pnda.sh BRANCH $PNDARELEASE + +FROM nginx:alpine + +COPY --from=build /pnda/mirror/mirror-dist /usr/share/nginx/html/ +COPY --from=build /pnda/build/pnda-dist /usr/share/nginx/html/ diff --git a/pnda-mirror-container/README.md b/pnda-mirror-container/README.md new file mode 100644 index 0000000..6312439 --- /dev/null +++ b/pnda-mirror-container/README.md @@ -0,0 +1,23 @@ +# PNDA Mirror +## Purpose +The artifacts in this directory build a Docker image based public PNDA mirror +creation scripts. The container have all the needed offline resources to +deploy a PNDA platform. + +## Running the Container +The container is intended to be launched via a Helm chart as part +of the ONAP deployment process, guided by OOM. It can be run directly +into a native Docker environment, using: +``` +docker run --name pnda-mirror -d --restart unless-stopped \ + -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ + -p <some_external_port>:8080 \ + --tmpfs /run \ + --tmpfs /run/lock \ + --security-opt seccomp:unconfined + --cap-add SYS_ADMIN \ + <image_name> +``` + +We also expect that in a Kubernetes environment the external port mapping would not be +needed. diff --git a/pnda-mirror-container/pom.xml b/pnda-mirror-container/pom.xml new file mode 100644 index 0000000..7ccabb5 --- /dev/null +++ b/pnda-mirror-container/pom.xml @@ -0,0 +1,144 @@ +<?xml version="1.0"?> +<!-- +================================================================================ +Copyright (c) 2018 Cisco Systems. All rights reserved. +================================================================================ +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +============LICENSE_END========================================================= + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.onap.dcaegen2.deployments</groupId> + <artifactId>deployments</artifactId> + <version>1.2.0-SNAPSHOT</version> + </parent> + <groupId>org.onap.dcaegen2.deployments</groupId> + <artifactId>pnda-mirror-container</artifactId> + <name>dcaegen2-deployments-pnda-mirror-container</name> + <version>5.0.0</version> + <url>http://maven.apache.org</url> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <sonar.skip>true</sonar.skip> + <sonar.sources>.</sonar.sources> + <sonar.language>py</sonar.language> + <sonar.pluginName>Python</sonar.pluginName> + <sonar.inclusions>**/*.py</sonar.inclusions> + </properties> + <build> + <finalName>${project.artifactId}-${project.version}</finalName> + <plugins> + <!-- now we configure custom action (calling a script) at various lifecycle phases --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.2.1</version> + <executions> + <execution> + <id>clean phase script</id> + <phase>clean</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.artifactId}</argument> + <argument>clean</argument> + </arguments> + </configuration> + </execution> + <execution> + <id>generate-sources script</id> + <phase>generate-sources</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.artifactId}</argument> + <argument>generate-sources</argument> + </arguments> + </configuration> + </execution> + <execution> + <id>compile script</id> + <phase>compile</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.artifactId}</argument> + <argument>compile</argument> + </arguments> + </configuration> + </execution> + <execution> + <id>package script</id> + <phase>package</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.artifactId}</argument> + <argument>package</argument> + </arguments> + </configuration> + </execution> + <execution> + <id>test script</id> + <phase>test</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.artifactId}</argument> + <argument>test</argument> + </arguments> + </configuration> + </execution> + <execution> + <id>install script</id> + <phase>install</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.artifactId}</argument> + <argument>install</argument> + </arguments> + </configuration> + </execution> + <execution> + <id>deploy script</id> + <phase>deploy</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.artifactId}</argument> + <argument>deploy</argument> + </arguments> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> @@ -45,6 +45,7 @@ limitations under the License. <module>k8s-bootstrap-container</module> <module>tca-cdap-container</module> <module>healthcheck-container</module> + <module>pnda-mirror-container</module> </modules> <properties> |