From 903d1210271096c8a8c6910ee040b3b024d8e0cb Mon Sep 17 00:00:00 2001 From: Ryan Ashcraft Date: Fri, 19 Jul 2024 12:06:49 -0400 Subject: [PATCH] #221 :rocket: improve build performance --- build-parent/pom.xml | 70 ++++++++++++++++--- .../aissemble-airflow/LICENSE.txt | 49 ------------- .../aissemble-airflow/pom.xml | 18 ----- .../src/main/resources/docker/Dockerfile | 52 -------------- .../src/main/resources/scripts/entrypoint.sh | 26 ------- .../aissemble-configuration-store/pom.xml | 5 +- .../pom.xml | 4 ++ .../aissemble-fastapi/pom.xml | 9 +++ .../aissemble-hive-mysql/pom.xml | 9 +++ .../aissemble-hive-service/pom.xml | 4 +- .../aissemble-jenkins-agent/pom.xml | 9 +++ .../src/main/resources/docker/Dockerfile | 22 +++++- .../aissemble-jenkins-controller/pom.xml | 10 +++ .../src/main/resources/docker/Dockerfile | 60 +--------------- .../aissemble-kafka/LICENSE.txt | 49 ------------- .../extensions-docker/aissemble-kafka/pom.xml | 17 ----- .../resources/config/connect-log4j.properties | 54 -------------- .../config/connect-standalone.properties | 51 -------------- .../src/main/resources/docker/Dockerfile | 20 ------ .../aissemble-metadata/pom.xml | 4 ++ .../aissemble-mlflow/LICENSE.txt | 49 ------------- .../aissemble-mlflow/pom.xml | 17 ----- .../src/main/resources/docker/Dockerfile | 13 ---- .../pom.xml | 4 ++ .../aissemble-model-training-api/pom.xml | 4 ++ .../aissemble-nvidia/pom.xml | 10 +++ .../aissemble-pipeline-invocation/pom.xml | 4 ++ .../aissemble-policy-decision-point/pom.xml | 4 ++ .../aissemble-quarkus/pom.xml | 9 +++ .../aissemble-spark-infrastructure/pom.xml | 17 ++++- .../aissemble-spark-operator/pom.xml | 4 ++ .../extensions-docker/aissemble-spark/pom.xml | 4 ++ .../extensions-docker/aissemble-vault/pom.xml | 9 +++ .../aissemble-versioning/pom.xml | 4 ++ extensions/extensions-docker/pom.xml | 60 ++++++---------- .../values.template.yaml | 5 +- .../values.template.yaml | 4 +- .../values.template.yaml | 4 +- .../__rootArtifactId__-docker/pom.xml | 4 +- .../__rootArtifactId__-tests-docker/pom.xml | 4 +- .../__rootArtifactId__-tests-java/pom.xml | 2 +- .../deployment/kafka/kafka.values.yaml.vm | 6 +- .../general-docker/airflow.docker.file.vm | 4 +- .../general-docker/mlflow.docker.file.vm | 4 +- .../sagemaker-training.docker.pom.xml.vm | 2 +- pom.xml | 2 +- 46 files changed, 256 insertions(+), 539 deletions(-) delete mode 100644 extensions/extensions-docker/aissemble-airflow/LICENSE.txt delete mode 100644 extensions/extensions-docker/aissemble-airflow/pom.xml delete mode 100644 extensions/extensions-docker/aissemble-airflow/src/main/resources/docker/Dockerfile delete mode 100755 extensions/extensions-docker/aissemble-airflow/src/main/resources/scripts/entrypoint.sh delete mode 100644 extensions/extensions-docker/aissemble-kafka/LICENSE.txt delete mode 100644 extensions/extensions-docker/aissemble-kafka/pom.xml delete mode 100644 extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-log4j.properties delete mode 100644 extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-standalone.properties delete mode 100644 extensions/extensions-docker/aissemble-kafka/src/main/resources/docker/Dockerfile delete mode 100644 extensions/extensions-docker/aissemble-mlflow/LICENSE.txt delete mode 100644 extensions/extensions-docker/aissemble-mlflow/pom.xml delete mode 100644 extensions/extensions-docker/aissemble-mlflow/src/main/resources/docker/Dockerfile diff --git a/build-parent/pom.xml b/build-parent/pom.xml index 33aee9945..524eae1eb 100644 --- a/build-parent/pom.xml +++ b/build-parent/pom.xml @@ -75,7 +75,7 @@ 7.4.1 - 0.44.0 + 0.45-tb-0.1.0 linux/amd64,linux/arm64 @@ -546,27 +546,54 @@ - io.fabric8 + + org.technologybrewery.fabric8 docker-maven-plugin ${version.fabric8.docker.maven.plugin} true + + + default-push + deploy + + push + + + + + + + maven + type=local,dest=~/.docker/cache . + type=local,src=~/.docker/cache . + + + + + + + ${docker.baseline.repo.id}/${dockerImageName}:${dockerImageVersion} + + ${docker.baseline.repo.id}/ + ${version.aissemble} + ${version.spark} + - + default ~/.docker ${docker.platforms} - - ${docker.baseline.repo.id}/ - ${version.aissemble} - ${version.spark} - ${project.basedir} ./src/main/resources/docker/Dockerfile @@ -992,6 +1019,33 @@ To suppress enforce-helm-version rule, you must add following plugin to the root true + + org.technologybrewery.fabric8 + docker-maven-plugin + ${version.fabric8.docker.maven.plugin} + + + default-build + package + + build + + + + true + + + + + maven + + + + + + + + diff --git a/extensions/extensions-docker/aissemble-airflow/LICENSE.txt b/extensions/extensions-docker/aissemble-airflow/LICENSE.txt deleted file mode 100644 index a9bd80cda..000000000 --- a/extensions/extensions-docker/aissemble-airflow/LICENSE.txt +++ /dev/null @@ -1,49 +0,0 @@ -Booz Allen Public License v1.0 ------------------------------- - -INTRODUCTION -The Booz Allen Public License allows government, non-profit academic, other non-profit, and commercial entities access to distinctive, disruptive, and robust code with the goal of Empowering People to Change the World(SM). Products licensed under the Booz Allen Public License are founded on the basis that collective ingenuity can make the largest impact in the community. - -DEFINITIONS -* **Commercial Entity.** “Commercial Entity” means any individual or entity other than a government, non-profit academic, or other non-profit entity. -* **Derivative.** “Derivative” means any work of authorship in Source Code or Object Code form that results from an addition to, deletion from, or modification of the Source Code of the Product. -* **License.** “License” means this Booz Allen Public License. -* **Object Code.** “Object Code” means the form resulting from transformation or translation of Source Code into machine readable code, including but not limited to, compiled object code. -* **Originator.** “Originator” means each individual or legal entity that creates, contributes to the creation of, or owns the Product. -* **Patent Claims.** “Patent Claims” means any patent claim(s) in any patent to which Originator has a right to grant a license that would be infringed by Your making, using, selling, offering for sale, having made, or importing of the Product, but for the grant of this License. -* **Product.** “Product” means the Source Code of the software which the initial Originator made available under this License, and any Derivative of such Source Code. -* **Source Code.** “Source Code” means software in human-readable form. -* **You.** “You” means either an individual or an entity (if you are taking this license on behalf of an entity) that exercises the rights granted under this License. - -LICENSE -**Government/Non-Profit Academic/Other Non-Profit.** -This Section applies if You are not a Commercial Entity. - -* **License.** Subject to the terms and conditions of this License, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license to reproduce, display, perform, modify, distribute and otherwise use the Product and Derivatives, in Source Code and Object Code form, in accordance with the terms and conditions of this License in order to support the general public good and for your internal business purposes. -* **Distribution.** You may distribute to third parties copies of the Product, including any Derivative that You create, in Source Code or Object Code form. If You distribute copies of the Product, including any Derivative that You create, in Source Code form, such distribution must be under the terms of this License and You must inform recipients of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. You may distribute to third parties copies of the Product, including any Derivative that You create, in Object Code form, or allow third parties to access or use the Product, including any Derivative that You create, under a license of Your choice. -* **Commercial Sales.** You may not distribute, or allow third parties to access or use, the Product or any Derivative for a fee, unless You first obtain permission from the Originator. If Booz Allen Hamilton is the Originator, please contact Booz Allen Hamilton at . - -**Commercial Entities**. -This Section applies if You are a Commercial Entity. - -* **License.** Subject to the terms and conditions of this License, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license to reproduce, display, perform, modify, distribute and otherwise use the Product and Derivatives, in Source Code and Object Code form, in accordance with the terms and conditions of this License for the sole purpose of Your internal business purposes and the provision of services to government, non-profit academic, and other non-profit entities. -* **Distribution and Derivatives.** You may distribute to third parties copies of the Product, including any Derivative that You create, in Source Code or Object Code form. If You distribute copies of the Product, including any Derivative that You create, in Source Code form, such distribution must be under the terms of this License and You must inform recipients of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. You may distribute to third parties copies of the Product, including any Derivative that You create, in Object Code form, or allow third parties to access or use the Product, including any Derivative that You create, under a license of Your choice, provided that You make available, and inform the recipient of such distribution how they can obtain, a copy of the Source Code thereof, at no charge, and inform the recipient of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. -* **Commercial Sales.** You may not distribute, or allow third parties to access or use, the Product or any Derivative for a fee, unless You first obtain permission from the Originator. If Booz Allen Hamilton, please contact Booz Allen Hamilton at . - - -**Patent Claim(s)**. -This Section applies regardless of whether You are a government, non-profit academic, or other non-profit entity or a Commercial Entity. - -* **Patent License.** Subject to the limitations in the Sections above, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license under Patent Claims of such Originator to make, use, sell, offer for sale, have made, and import the Product. The foregoing patent license does not apply (a) to any code that an Originator has removed from the Product, or (b) for infringement caused by Your modifications of the Product or the combination of any Derivative created by You or on Your behalf with other software. - -GENERAL TERMS -This Section applies regardless of whether You are a government, non-profit academic, or other non-profit entity or a Commercial Entity. - -* **Required Notices.** If You distribute the Product or a Derivative, in Object Code or Source Code form, You shall not remove or otherwise modify any proprietary markings or notices contained within or placed upon the Product or any Derivative. Any distribution of the Product or a Derivative, in Object Code or Source Code form, shall contain a clear and conspicuous Originator copyright and license reference in accordance with the below: - * *Unmodified Product Notice*: “This software package is licensed under the Booz Allen Public License. Copyright © 20__ [Copyright Holder Name]. All Rights Reserved.” - * *Derivative Notice*: “This software package is licensed under the Booz Allen Public License. Portions of this code are Copyright © 20__ [Copyright Holder Name]. All Rights Reserved.” -* **Compliance with Laws.** You agree that You shall not reproduce, display, perform, modify, distribute and otherwise use the Product in any way that violates applicable law or regulation or infringes or violates the rights of others, including, but not limited to, third party intellectual property, privacy, and publicity rights. -* **Disclaimer.** You understand that the Product is licensed to You, and not sold. The Product is provided on an “As Is” basis, without any warranties, representations, and guarantees, whether oral or written, express, implied or statutory, with regard to the Product, including without limitation, warranties of merchantability, fitness for a particular purpose, title, non-infringement, non-interference, and warranties arising from course of dealing or usage of trade, to the maximum extent permitted by applicable law. Originator does not warrant that (i) the Product will meet your needs; (ii) the Product will be error-free or accessible at all times; or (iii) the use or the results of the use of the Product will be correct, accurate, timely, or otherwise reliable. You acknowledge that the Product has not been prepared to meet Your individual requirements, whether or not such requirements have been communicated to Originator. You assume all responsibility for use of the Product. -* **Limitation of Liability.** Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Originator, or anyone who distributes the Product in accordance with this License, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if informed of the possibility of such damages. -* **Export Control.** The Product is subject to U.S. export control laws and may be subject to export or import regulations in other countries. You agree to strictly comply with all such laws and regulations and acknowledges that You are responsible for obtaining such licenses to export, re-export, or import as may be required. -* **Severability.** If the application of any provision of this License to any particular facts or circumstances shall be held to be invalid or unenforceable, then the validity and enforceability of other provisions of this License shall not in any way be affected or impaired thereby. diff --git a/extensions/extensions-docker/aissemble-airflow/pom.xml b/extensions/extensions-docker/aissemble-airflow/pom.xml deleted file mode 100644 index 177f69595..000000000 --- a/extensions/extensions-docker/aissemble-airflow/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - 4.0.0 - - - com.boozallen.aissemble - extensions-docker - 1.8.0-SNAPSHOT - - - aissemble-airflow - aiSSEMBLE::Extensions::Docker::Airflow - A base image of an Airflow service - - docker-build - - \ No newline at end of file diff --git a/extensions/extensions-docker/aissemble-airflow/src/main/resources/docker/Dockerfile b/extensions/extensions-docker/aissemble-airflow/src/main/resources/docker/Dockerfile deleted file mode 100644 index c319ddfd6..000000000 --- a/extensions/extensions-docker/aissemble-airflow/src/main/resources/docker/Dockerfile +++ /dev/null @@ -1,52 +0,0 @@ -# Script for creating base Airflow Docker image -FROM apache/airflow:2.7.0-python3.11 - -LABEL org.opencontainers.image.source="https://github.com/boozallen/aissemble" - -USER root - -RUN apt-get update && apt-get install -y --no-install-recommends apt-utils -RUN apt-get update && apt-get install -y \ - ant \ - fontconfig \ - g++ \ - gcc \ - git \ - libpq-dev \ - openjdk-11-jdk \ - python3-dev \ - unzip \ - && rm -rf /var/lib/apt/lists/* \ - && apt-get clean - -# Airflow variables -ARG AIRFLOW_USER_HOME=/opt/airflow -ARG AIRFLOW_VERSION=2.7.0 -ARG PYTHON_VERSION=3.11 - -USER airflow - -# Configure Airflow with PostgreSql so we can use LocalExecutor (run more than one DAG at a time) -RUN pip install "apache-airflow[postgres]==${AIRFLOW_VERSION}" \ - --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt" -RUN pip install --no-cache-dir psycopg2 \ - && pip install --no-cache-dir apache-airflow-providers-apache-spark apache-airflow-providers-cncf-kubernetes - -USER root - -RUN mkdir -p /tmp/mlruns /tmp/model -RUN chown airflow:0 -R /tmp/mlruns /tmp/model - -ENV JAVA_HOME=/usr/lib/jvm/default-java -RUN export JAVA_HOME - -ENV DEBIAN_FRONTEND=noninteractive -ENV TERM=linux - -# Airflow UID is 50000 -USER airflow - -# Copy custom entrypoint script to start Airflow -ADD ./src/main/resources/scripts/entrypoint.sh ${AIRFLOW_USER_HOME}/entrypoint.sh - -ENTRYPOINT ["/opt/airflow/entrypoint.sh"] diff --git a/extensions/extensions-docker/aissemble-airflow/src/main/resources/scripts/entrypoint.sh b/extensions/extensions-docker/aissemble-airflow/src/main/resources/scripts/entrypoint.sh deleted file mode 100755 index 4a4582fda..000000000 --- a/extensions/extensions-docker/aissemble-airflow/src/main/resources/scripts/entrypoint.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -### -# #%L -# AIOps Docker Baseline::Airflow -# %% -# Copyright (C) 2021 Booz Allen -# %% -# This software package is licensed under the Booz Allen Public License. All Rights Reserved. -# #L% -### - -# shellcheck disable=SC1091 - -set -o errexit -set -o nounset -set -o pipefail -#set -o xtrace - -# Start Airflow -echo "** Starting Airflow **" - -# Default entrypoint for airflow server. Useful if running with Helm or Docker compose. -#exec /entrypoint "${@}" -# Execute the command -"${@}" diff --git a/extensions/extensions-docker/aissemble-configuration-store/pom.xml b/extensions/extensions-docker/aissemble-configuration-store/pom.xml index 7f9250d0a..9b96aaa81 100644 --- a/extensions/extensions-docker/aissemble-configuration-store/pom.xml +++ b/extensions/extensions-docker/aissemble-configuration-store/pom.xml @@ -39,10 +39,13 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + - ${project.groupId} diff --git a/extensions/extensions-docker/aissemble-data-lineage-http-consumer/pom.xml b/extensions/extensions-docker/aissemble-data-lineage-http-consumer/pom.xml index 53ea19d7d..28ce8e5fa 100644 --- a/extensions/extensions-docker/aissemble-data-lineage-http-consumer/pom.xml +++ b/extensions/extensions-docker/aissemble-data-lineage-http-consumer/pom.xml @@ -50,6 +50,10 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-fastapi/pom.xml b/extensions/extensions-docker/aissemble-fastapi/pom.xml index 7d8528988..3c5e92561 100644 --- a/extensions/extensions-docker/aissemble-fastapi/pom.xml +++ b/extensions/extensions-docker/aissemble-fastapi/pom.xml @@ -14,4 +14,13 @@ docker-build + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + diff --git a/extensions/extensions-docker/aissemble-hive/aissemble-hive-mysql/pom.xml b/extensions/extensions-docker/aissemble-hive/aissemble-hive-mysql/pom.xml index de64194fe..8890bd800 100644 --- a/extensions/extensions-docker/aissemble-hive/aissemble-hive-mysql/pom.xml +++ b/extensions/extensions-docker/aissemble-hive/aissemble-hive-mysql/pom.xml @@ -14,4 +14,13 @@ docker-build + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + diff --git a/extensions/extensions-docker/aissemble-hive/aissemble-hive-service/pom.xml b/extensions/extensions-docker/aissemble-hive/aissemble-hive-service/pom.xml index c9448c6d8..efaf1aecf 100644 --- a/extensions/extensions-docker/aissemble-hive/aissemble-hive-service/pom.xml +++ b/extensions/extensions-docker/aissemble-hive/aissemble-hive-service/pom.xml @@ -15,7 +15,7 @@ docker-build - target/dockerbuild/jars/ + target/dockerbuild/jars 4.0.0 @@ -35,7 +35,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin diff --git a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/pom.xml b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/pom.xml index 004c15694..ab85a0aae 100644 --- a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/pom.xml +++ b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/pom.xml @@ -14,4 +14,13 @@ docker-build + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + diff --git a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/src/main/resources/docker/Dockerfile b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/src/main/resources/docker/Dockerfile index a67402b3a..1f502edf3 100644 --- a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/src/main/resources/docker/Dockerfile +++ b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-agent/src/main/resources/docker/Dockerfile @@ -1,3 +1,21 @@ -FROM jenkins/ssh-agent:latest-jdk11 +FROM jenkins/ssh-agent:latest-debian-jdk11 -LABEL org.opencontainers.image.source="https://github.com/boozallen/aissemble" \ No newline at end of file +LABEL org.opencontainers.image.source="https://github.com/boozallen/aissemble" + +USER root +RUN apt --yes update && apt install --yes pipx && pipx ensurepath && apt clean +RUN pipx install poetry + +RUN mkdir /var/pyenv +RUN ls -l -a /var/pyenv +RUN git clone https://github.com/pyenv/pyenv.git /var/pyenv + +RUN echo 'export PYENV_ROOT=$(echo "/var/pyenv")' >> /etc/bash.bashrc +RUN echo 'command -v pyenv >/dev/null || export PATH=$(echo "$PYENV_ROOT/bin:$PATH")' >> /etc/bash.bashrc +RUN echo 'eval "$(pyenv init -)"' >> /etc/bash.bashrc + +RUN echo 'export PYENV_ROOT=$(echo "/var/pyenv")' >> /etc/profile +RUN echo 'command -v pyenv >/dev/null || export PATH=$(echo "$PYENV_ROOT/bin:$PATH")' >> /etc/profile +RUN echo 'eval "$(pyenv init -)"' >> /etc/profile + +RUN chown -R jenkins:jenkins /var/pyenv \ No newline at end of file diff --git a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/pom.xml b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/pom.xml index 8e7b49f8e..0016016c1 100644 --- a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/pom.xml +++ b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/pom.xml @@ -13,4 +13,14 @@ A base image for a Jenkins Controller docker-build + + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + diff --git a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/src/main/resources/docker/Dockerfile b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/src/main/resources/docker/Dockerfile index e48e9c016..1932638c7 100644 --- a/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/src/main/resources/docker/Dockerfile +++ b/extensions/extensions-docker/aissemble-jenkins/aissemble-jenkins-controller/src/main/resources/docker/Dockerfile @@ -5,11 +5,11 @@ LABEL org.opencontainers.image.source="https://github.com/boozallen/aissemble" USER root USER jenkins -RUN jenkins-plugin-cli --plugins git:4.11.2 -RUN jenkins-plugin-cli --plugins github:1.34.3 +RUN jenkins-plugin-cli --plugins git:5.2.2 +RUN jenkins-plugin-cli --plugins github:1.39.0 RUN jenkins-plugin-cli --plugins templating-engine:2.4 RUN jenkins-plugin-cli --plugins adoptopenjdk:1.4 -RUN jenkins-plugin-cli --plugins pipeline-maven:3.10.0 +RUN jenkins-plugin-cli --plugins pipeline-maven:1421.v610fa_b_e2d60e RUN jenkins-plugin-cli --plugins slack:608.v19e3b_44b_b_9ff # these can likely be removed once the Jenkins instnace in the docker container is updated: @@ -21,58 +21,4 @@ COPY ./src/main/resources/jenkins/ "$REF" ENV TZ="EST" RUN date -# 5/12/2022 the following should be on the jenkins-agent, but we won't start using that until we get to a follow-on -# task of making jenkins agents use Kubernetes. Prior tickets are being worked that will smooth this approach, -# so it will be handled once that work is completed. - -# Install the libraries needed on Debian Bullseye (base Jenkins image) to run Jenkins -# python-is-python3 is used to workaround nothing being mapped to python on Bullseye, which messes w/ pyenv - -USER root -RUN apt-get update && apt-get remove libssl-dev && apt-get install -y \ - build-essential \ - libbz2-dev \ - libedit-dev \ - libffi-dev \ - libglib2.0-0 \ - liblzma-dev \ - libncursesw5-dev \ - libreadline-dev \ - libsm6 \ - libsndfile1-dev \ - libsqlite3-dev \ - libssl-dev \ - libxml2-dev \ - libxmlsec1-dev \ - llvm \ - make \ - python-is-python3 \ - python3-distutils \ - tk-dev \ - xz-utils \ - zlib1g-dev \ - && rm -rf /var/lib/apt/lists/* \ - && apt-get clean - -RUN mkdir /var/pyenv -RUN ls -l -a /var/pyenv -RUN git clone https://github.com/pyenv/pyenv.git /var/pyenv - -USER root -RUN echo 'export PYENV_ROOT=$(echo "/var/pyenv")' >> /etc/bash.bashrc -RUN echo 'command -v pyenv >/dev/null || export PATH=$(echo "$PYENV_ROOT/bin:$PATH")' >> /etc/bash.bashrc -RUN echo 'eval "$(pyenv init -)"' >> /etc/bash.bashrc - -RUN echo 'export PYENV_ROOT=$(echo "/var/pyenv")' >> /etc/profile -RUN echo 'command -v pyenv >/dev/null || export PATH=$(echo "$PYENV_ROOT/bin:$PATH")' >> /etc/profile -RUN echo 'eval "$(pyenv init -)"' >> /etc/profile - -RUN chown -R jenkins:jenkins /var/pyenv - -RUN mkdir /var/poetry && \ - export POETRY_HOME=/var/poetry && \ - curl -sSL https://install.python-poetry.org -o /tmp/install-poetry.py && \ - python3 /tmp/install-poetry.py --version 1.2.2 && \ - echo 'export PATH="/var/poetry/bin:$PATH"' >> /etc/bash.bashrc - USER jenkins \ No newline at end of file diff --git a/extensions/extensions-docker/aissemble-kafka/LICENSE.txt b/extensions/extensions-docker/aissemble-kafka/LICENSE.txt deleted file mode 100644 index a9bd80cda..000000000 --- a/extensions/extensions-docker/aissemble-kafka/LICENSE.txt +++ /dev/null @@ -1,49 +0,0 @@ -Booz Allen Public License v1.0 ------------------------------- - -INTRODUCTION -The Booz Allen Public License allows government, non-profit academic, other non-profit, and commercial entities access to distinctive, disruptive, and robust code with the goal of Empowering People to Change the World(SM). Products licensed under the Booz Allen Public License are founded on the basis that collective ingenuity can make the largest impact in the community. - -DEFINITIONS -* **Commercial Entity.** “Commercial Entity” means any individual or entity other than a government, non-profit academic, or other non-profit entity. -* **Derivative.** “Derivative” means any work of authorship in Source Code or Object Code form that results from an addition to, deletion from, or modification of the Source Code of the Product. -* **License.** “License” means this Booz Allen Public License. -* **Object Code.** “Object Code” means the form resulting from transformation or translation of Source Code into machine readable code, including but not limited to, compiled object code. -* **Originator.** “Originator” means each individual or legal entity that creates, contributes to the creation of, or owns the Product. -* **Patent Claims.** “Patent Claims” means any patent claim(s) in any patent to which Originator has a right to grant a license that would be infringed by Your making, using, selling, offering for sale, having made, or importing of the Product, but for the grant of this License. -* **Product.** “Product” means the Source Code of the software which the initial Originator made available under this License, and any Derivative of such Source Code. -* **Source Code.** “Source Code” means software in human-readable form. -* **You.** “You” means either an individual or an entity (if you are taking this license on behalf of an entity) that exercises the rights granted under this License. - -LICENSE -**Government/Non-Profit Academic/Other Non-Profit.** -This Section applies if You are not a Commercial Entity. - -* **License.** Subject to the terms and conditions of this License, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license to reproduce, display, perform, modify, distribute and otherwise use the Product and Derivatives, in Source Code and Object Code form, in accordance with the terms and conditions of this License in order to support the general public good and for your internal business purposes. -* **Distribution.** You may distribute to third parties copies of the Product, including any Derivative that You create, in Source Code or Object Code form. If You distribute copies of the Product, including any Derivative that You create, in Source Code form, such distribution must be under the terms of this License and You must inform recipients of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. You may distribute to third parties copies of the Product, including any Derivative that You create, in Object Code form, or allow third parties to access or use the Product, including any Derivative that You create, under a license of Your choice. -* **Commercial Sales.** You may not distribute, or allow third parties to access or use, the Product or any Derivative for a fee, unless You first obtain permission from the Originator. If Booz Allen Hamilton is the Originator, please contact Booz Allen Hamilton at . - -**Commercial Entities**. -This Section applies if You are a Commercial Entity. - -* **License.** Subject to the terms and conditions of this License, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license to reproduce, display, perform, modify, distribute and otherwise use the Product and Derivatives, in Source Code and Object Code form, in accordance with the terms and conditions of this License for the sole purpose of Your internal business purposes and the provision of services to government, non-profit academic, and other non-profit entities. -* **Distribution and Derivatives.** You may distribute to third parties copies of the Product, including any Derivative that You create, in Source Code or Object Code form. If You distribute copies of the Product, including any Derivative that You create, in Source Code form, such distribution must be under the terms of this License and You must inform recipients of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. You may distribute to third parties copies of the Product, including any Derivative that You create, in Object Code form, or allow third parties to access or use the Product, including any Derivative that You create, under a license of Your choice, provided that You make available, and inform the recipient of such distribution how they can obtain, a copy of the Source Code thereof, at no charge, and inform the recipient of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. -* **Commercial Sales.** You may not distribute, or allow third parties to access or use, the Product or any Derivative for a fee, unless You first obtain permission from the Originator. If Booz Allen Hamilton, please contact Booz Allen Hamilton at . - - -**Patent Claim(s)**. -This Section applies regardless of whether You are a government, non-profit academic, or other non-profit entity or a Commercial Entity. - -* **Patent License.** Subject to the limitations in the Sections above, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license under Patent Claims of such Originator to make, use, sell, offer for sale, have made, and import the Product. The foregoing patent license does not apply (a) to any code that an Originator has removed from the Product, or (b) for infringement caused by Your modifications of the Product or the combination of any Derivative created by You or on Your behalf with other software. - -GENERAL TERMS -This Section applies regardless of whether You are a government, non-profit academic, or other non-profit entity or a Commercial Entity. - -* **Required Notices.** If You distribute the Product or a Derivative, in Object Code or Source Code form, You shall not remove or otherwise modify any proprietary markings or notices contained within or placed upon the Product or any Derivative. Any distribution of the Product or a Derivative, in Object Code or Source Code form, shall contain a clear and conspicuous Originator copyright and license reference in accordance with the below: - * *Unmodified Product Notice*: “This software package is licensed under the Booz Allen Public License. Copyright © 20__ [Copyright Holder Name]. All Rights Reserved.” - * *Derivative Notice*: “This software package is licensed under the Booz Allen Public License. Portions of this code are Copyright © 20__ [Copyright Holder Name]. All Rights Reserved.” -* **Compliance with Laws.** You agree that You shall not reproduce, display, perform, modify, distribute and otherwise use the Product in any way that violates applicable law or regulation or infringes or violates the rights of others, including, but not limited to, third party intellectual property, privacy, and publicity rights. -* **Disclaimer.** You understand that the Product is licensed to You, and not sold. The Product is provided on an “As Is” basis, without any warranties, representations, and guarantees, whether oral or written, express, implied or statutory, with regard to the Product, including without limitation, warranties of merchantability, fitness for a particular purpose, title, non-infringement, non-interference, and warranties arising from course of dealing or usage of trade, to the maximum extent permitted by applicable law. Originator does not warrant that (i) the Product will meet your needs; (ii) the Product will be error-free or accessible at all times; or (iii) the use or the results of the use of the Product will be correct, accurate, timely, or otherwise reliable. You acknowledge that the Product has not been prepared to meet Your individual requirements, whether or not such requirements have been communicated to Originator. You assume all responsibility for use of the Product. -* **Limitation of Liability.** Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Originator, or anyone who distributes the Product in accordance with this License, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if informed of the possibility of such damages. -* **Export Control.** The Product is subject to U.S. export control laws and may be subject to export or import regulations in other countries. You agree to strictly comply with all such laws and regulations and acknowledges that You are responsible for obtaining such licenses to export, re-export, or import as may be required. -* **Severability.** If the application of any provision of this License to any particular facts or circumstances shall be held to be invalid or unenforceable, then the validity and enforceability of other provisions of this License shall not in any way be affected or impaired thereby. diff --git a/extensions/extensions-docker/aissemble-kafka/pom.xml b/extensions/extensions-docker/aissemble-kafka/pom.xml deleted file mode 100644 index f52f3fab6..000000000 --- a/extensions/extensions-docker/aissemble-kafka/pom.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - 4.0.0 - - - com.boozallen.aissemble - extensions-docker - 1.8.0-SNAPSHOT - - - aissemble-kafka - aiSSEMBLE::Extensions::Docker::Kafka - A base image for a Kafka service - - docker-build - - \ No newline at end of file diff --git a/extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-log4j.properties b/extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-log4j.properties deleted file mode 100644 index 4f1b91281..000000000 --- a/extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-log4j.properties +++ /dev/null @@ -1,54 +0,0 @@ -### -# #%L -# AIOps Docker Baseline::Kafka 2.7 -# %% -# Copyright (C) 2021 Booz Allen -# %% -# This software package is licensed under the Booz Allen Public License. All Rights Reserved. -# #L% -### -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -log4j.rootLogger=INFO, stdout, connectAppender - -# Send the logs to the console. -# -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout - -# Send the logs to a file, rolling the file at midnight local time. For example, the `File` option specifies the -# location of the log files (e.g. ${kafka.logs.dir}/connect.log), and at midnight local time the file is closed -# and copied in the same directory but with a filename that ends in the `DatePattern` option. -# -log4j.appender.connectAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.connectAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.connectAppender.File=${kafka.logs.dir}/connect.log -log4j.appender.connectAppender.layout=org.apache.log4j.PatternLayout - -# The `%X{connector.context}` parameter in the layout includes connector-specific and task-specific information -# in the log message, where appropriate. This makes it easier to identify those log messages that apply to a -# specific connector. Simply add this parameter to the log layout configuration below to include the contextual information. -# -connect.log.pattern=[%d] %p %m (%c:%L)%n -#connect.log.pattern=[%d] %p %X{connector.context}%m (%c:%L)%n - -log4j.appender.stdout.layout.ConversionPattern=${connect.log.pattern} -log4j.appender.connectAppender.layout.ConversionPattern=${connect.log.pattern} - -log4j.logger.org.apache.zookeeper=ERROR -log4j.logger.org.reflections=ERROR - -log4j.logger.com.github.jcustenborder.kafka.connect.spooldir.InputFileDequeue=WARN diff --git a/extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-standalone.properties b/extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-standalone.properties deleted file mode 100644 index 13a851a12..000000000 --- a/extensions/extensions-docker/aissemble-kafka/src/main/resources/config/connect-standalone.properties +++ /dev/null @@ -1,51 +0,0 @@ -### -# #%L -# AIOps Docker Baseline::Kafka 2.7 -# %% -# Copyright (C) 2021 Booz Allen -# %% -# This software package is licensed under the Booz Allen Public License. All Rights Reserved. -# #L% -### -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -# These are defaults. This file just demonstrates how to override some settings. -#bootstrap.servers=localhost:9092 -bootstrap.servers=kafka:9093 - -# The converters specify the format of data in Kafka and how to translate it into Connect data. Every Connect user will -# need to configure these based on the format they want their data in when loaded from or stored into Kafka -key.converter=org.apache.kafka.connect.json.JsonConverter -value.converter=org.apache.kafka.connect.json.JsonConverter -# Converter-specific settings can be passed in by prefixing the Converter's setting with the converter we want to apply -# it to -key.converter.schemas.enable=false -value.converter.schemas.enable=false - -offset.storage.file.filename=/tmp/connect.offsets -# Flush much faster than normal, which is useful for testing/debugging -offset.flush.interval.ms=10000 - -# Set to a list of filesystem paths separated by commas (,) to enable class loading isolation for plugins -# (connectors, converters, transformations). The list should consist of top level directories that include -# any combination of: -# a) directories immediately containing jars with plugins and their dependencies -# b) uber-jars with plugins and their dependencies -# c) directories immediately containing the package directory structure of classes of plugins and their dependencies -# Note: symlinks will be followed to discover dependencies or plugins. -# Examples: -# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors, -plugin.path=/opt/connectors diff --git a/extensions/extensions-docker/aissemble-kafka/src/main/resources/docker/Dockerfile b/extensions/extensions-docker/aissemble-kafka/src/main/resources/docker/Dockerfile deleted file mode 100644 index 7e545943d..000000000 --- a/extensions/extensions-docker/aissemble-kafka/src/main/resources/docker/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -#Script for creating base Kafka Docker image -FROM bitnami/kafka:3.5 - -LABEL org.opencontainers.image.source="https://github.com/boozallen/aissemble" - -USER root -RUN apt-get update -y \ - && apt-get install unzip \ - && rm -rf /var/lib/apt/lists/* \ - && apt-get clean - -RUN addgroup --gid 1001 kafka && adduser --system --uid 1001 --gid 1001 kafka -RUN mkdir /opt/connectors && \ - chown -R kafka:kafka /opt/connectors && \ - chown -R kafka:kafka /opt/bitnami/kafka - -USER kafka - -# Copy over configs -COPY ./src/main/resources/config/ /opt/bitnami/kafka/config/ diff --git a/extensions/extensions-docker/aissemble-metadata/pom.xml b/extensions/extensions-docker/aissemble-metadata/pom.xml index e6443d4c8..6589e7fbe 100644 --- a/extensions/extensions-docker/aissemble-metadata/pom.xml +++ b/extensions/extensions-docker/aissemble-metadata/pom.xml @@ -40,6 +40,10 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-mlflow/LICENSE.txt b/extensions/extensions-docker/aissemble-mlflow/LICENSE.txt deleted file mode 100644 index a9bd80cda..000000000 --- a/extensions/extensions-docker/aissemble-mlflow/LICENSE.txt +++ /dev/null @@ -1,49 +0,0 @@ -Booz Allen Public License v1.0 ------------------------------- - -INTRODUCTION -The Booz Allen Public License allows government, non-profit academic, other non-profit, and commercial entities access to distinctive, disruptive, and robust code with the goal of Empowering People to Change the World(SM). Products licensed under the Booz Allen Public License are founded on the basis that collective ingenuity can make the largest impact in the community. - -DEFINITIONS -* **Commercial Entity.** “Commercial Entity” means any individual or entity other than a government, non-profit academic, or other non-profit entity. -* **Derivative.** “Derivative” means any work of authorship in Source Code or Object Code form that results from an addition to, deletion from, or modification of the Source Code of the Product. -* **License.** “License” means this Booz Allen Public License. -* **Object Code.** “Object Code” means the form resulting from transformation or translation of Source Code into machine readable code, including but not limited to, compiled object code. -* **Originator.** “Originator” means each individual or legal entity that creates, contributes to the creation of, or owns the Product. -* **Patent Claims.** “Patent Claims” means any patent claim(s) in any patent to which Originator has a right to grant a license that would be infringed by Your making, using, selling, offering for sale, having made, or importing of the Product, but for the grant of this License. -* **Product.** “Product” means the Source Code of the software which the initial Originator made available under this License, and any Derivative of such Source Code. -* **Source Code.** “Source Code” means software in human-readable form. -* **You.** “You” means either an individual or an entity (if you are taking this license on behalf of an entity) that exercises the rights granted under this License. - -LICENSE -**Government/Non-Profit Academic/Other Non-Profit.** -This Section applies if You are not a Commercial Entity. - -* **License.** Subject to the terms and conditions of this License, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license to reproduce, display, perform, modify, distribute and otherwise use the Product and Derivatives, in Source Code and Object Code form, in accordance with the terms and conditions of this License in order to support the general public good and for your internal business purposes. -* **Distribution.** You may distribute to third parties copies of the Product, including any Derivative that You create, in Source Code or Object Code form. If You distribute copies of the Product, including any Derivative that You create, in Source Code form, such distribution must be under the terms of this License and You must inform recipients of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. You may distribute to third parties copies of the Product, including any Derivative that You create, in Object Code form, or allow third parties to access or use the Product, including any Derivative that You create, under a license of Your choice. -* **Commercial Sales.** You may not distribute, or allow third parties to access or use, the Product or any Derivative for a fee, unless You first obtain permission from the Originator. If Booz Allen Hamilton is the Originator, please contact Booz Allen Hamilton at . - -**Commercial Entities**. -This Section applies if You are a Commercial Entity. - -* **License.** Subject to the terms and conditions of this License, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license to reproduce, display, perform, modify, distribute and otherwise use the Product and Derivatives, in Source Code and Object Code form, in accordance with the terms and conditions of this License for the sole purpose of Your internal business purposes and the provision of services to government, non-profit academic, and other non-profit entities. -* **Distribution and Derivatives.** You may distribute to third parties copies of the Product, including any Derivative that You create, in Source Code or Object Code form. If You distribute copies of the Product, including any Derivative that You create, in Source Code form, such distribution must be under the terms of this License and You must inform recipients of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. You may distribute to third parties copies of the Product, including any Derivative that You create, in Object Code form, or allow third parties to access or use the Product, including any Derivative that You create, under a license of Your choice, provided that You make available, and inform the recipient of such distribution how they can obtain, a copy of the Source Code thereof, at no charge, and inform the recipient of the Source Code that the Product is governed under this License and how they can obtain a copy of this License. -* **Commercial Sales.** You may not distribute, or allow third parties to access or use, the Product or any Derivative for a fee, unless You first obtain permission from the Originator. If Booz Allen Hamilton, please contact Booz Allen Hamilton at . - - -**Patent Claim(s)**. -This Section applies regardless of whether You are a government, non-profit academic, or other non-profit entity or a Commercial Entity. - -* **Patent License.** Subject to the limitations in the Sections above, each Originator hereby grants You a perpetual, worldwide, non-exclusive, royalty-free license under Patent Claims of such Originator to make, use, sell, offer for sale, have made, and import the Product. The foregoing patent license does not apply (a) to any code that an Originator has removed from the Product, or (b) for infringement caused by Your modifications of the Product or the combination of any Derivative created by You or on Your behalf with other software. - -GENERAL TERMS -This Section applies regardless of whether You are a government, non-profit academic, or other non-profit entity or a Commercial Entity. - -* **Required Notices.** If You distribute the Product or a Derivative, in Object Code or Source Code form, You shall not remove or otherwise modify any proprietary markings or notices contained within or placed upon the Product or any Derivative. Any distribution of the Product or a Derivative, in Object Code or Source Code form, shall contain a clear and conspicuous Originator copyright and license reference in accordance with the below: - * *Unmodified Product Notice*: “This software package is licensed under the Booz Allen Public License. Copyright © 20__ [Copyright Holder Name]. All Rights Reserved.” - * *Derivative Notice*: “This software package is licensed under the Booz Allen Public License. Portions of this code are Copyright © 20__ [Copyright Holder Name]. All Rights Reserved.” -* **Compliance with Laws.** You agree that You shall not reproduce, display, perform, modify, distribute and otherwise use the Product in any way that violates applicable law or regulation or infringes or violates the rights of others, including, but not limited to, third party intellectual property, privacy, and publicity rights. -* **Disclaimer.** You understand that the Product is licensed to You, and not sold. The Product is provided on an “As Is” basis, without any warranties, representations, and guarantees, whether oral or written, express, implied or statutory, with regard to the Product, including without limitation, warranties of merchantability, fitness for a particular purpose, title, non-infringement, non-interference, and warranties arising from course of dealing or usage of trade, to the maximum extent permitted by applicable law. Originator does not warrant that (i) the Product will meet your needs; (ii) the Product will be error-free or accessible at all times; or (iii) the use or the results of the use of the Product will be correct, accurate, timely, or otherwise reliable. You acknowledge that the Product has not been prepared to meet Your individual requirements, whether or not such requirements have been communicated to Originator. You assume all responsibility for use of the Product. -* **Limitation of Liability.** Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Originator, or anyone who distributes the Product in accordance with this License, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if informed of the possibility of such damages. -* **Export Control.** The Product is subject to U.S. export control laws and may be subject to export or import regulations in other countries. You agree to strictly comply with all such laws and regulations and acknowledges that You are responsible for obtaining such licenses to export, re-export, or import as may be required. -* **Severability.** If the application of any provision of this License to any particular facts or circumstances shall be held to be invalid or unenforceable, then the validity and enforceability of other provisions of this License shall not in any way be affected or impaired thereby. diff --git a/extensions/extensions-docker/aissemble-mlflow/pom.xml b/extensions/extensions-docker/aissemble-mlflow/pom.xml deleted file mode 100644 index 804c07286..000000000 --- a/extensions/extensions-docker/aissemble-mlflow/pom.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - 4.0.0 - - - com.boozallen.aissemble - extensions-docker - 1.8.0-SNAPSHOT - - - aissemble-mlflow - aiSSEMBLE::Extensions::Docker::MLflow - A base image of an MLflow service - - docker-build - - \ No newline at end of file diff --git a/extensions/extensions-docker/aissemble-mlflow/src/main/resources/docker/Dockerfile b/extensions/extensions-docker/aissemble-mlflow/src/main/resources/docker/Dockerfile deleted file mode 100644 index 1d28693be..000000000 --- a/extensions/extensions-docker/aissemble-mlflow/src/main/resources/docker/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM python:3.11 - -LABEL org.opencontainers.image.source="https://github.com/boozallen/aissemble" - -RUN pip install \ - mlflow==2.3.1 \ - psycopg2 \ - protobuf \ - boto3 && \ - mkdir /mlflow/ - -ENV PYTHONUNBUFFERED="1" -ENV GIT_PYTHON_REFRESH="quiet" \ No newline at end of file diff --git a/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api-sagemaker/pom.xml b/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api-sagemaker/pom.xml index 1cd65617f..6ec935023 100644 --- a/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api-sagemaker/pom.xml +++ b/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api-sagemaker/pom.xml @@ -20,6 +20,10 @@ org.technologybrewery.habushu habushu-maven-plugin + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api/pom.xml b/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api/pom.xml index 9b7bd90e5..65d3e3b6a 100644 --- a/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api/pom.xml +++ b/extensions/extensions-docker/aissemble-model-training-api-containers/aissemble-model-training-api/pom.xml @@ -20,6 +20,10 @@ org.technologybrewery.habushu habushu-maven-plugin + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-nvidia/pom.xml b/extensions/extensions-docker/aissemble-nvidia/pom.xml index f4890f248..ad362bdd6 100644 --- a/extensions/extensions-docker/aissemble-nvidia/pom.xml +++ b/extensions/extensions-docker/aissemble-nvidia/pom.xml @@ -13,4 +13,14 @@ A base image for a Nvidia Cuda implementation docker-build + + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + diff --git a/extensions/extensions-docker/aissemble-pipeline-invocation/pom.xml b/extensions/extensions-docker/aissemble-pipeline-invocation/pom.xml index 29f50f4f5..373f4ffb6 100644 --- a/extensions/extensions-docker/aissemble-pipeline-invocation/pom.xml +++ b/extensions/extensions-docker/aissemble-pipeline-invocation/pom.xml @@ -54,6 +54,10 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-policy-decision-point/pom.xml b/extensions/extensions-docker/aissemble-policy-decision-point/pom.xml index a108157fb..4fb8865a6 100644 --- a/extensions/extensions-docker/aissemble-policy-decision-point/pom.xml +++ b/extensions/extensions-docker/aissemble-policy-decision-point/pom.xml @@ -37,6 +37,10 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-quarkus/pom.xml b/extensions/extensions-docker/aissemble-quarkus/pom.xml index 263a33c74..5c59110f2 100644 --- a/extensions/extensions-docker/aissemble-quarkus/pom.xml +++ b/extensions/extensions-docker/aissemble-quarkus/pom.xml @@ -14,4 +14,13 @@ docker-build + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + diff --git a/extensions/extensions-docker/aissemble-spark-infrastructure/pom.xml b/extensions/extensions-docker/aissemble-spark-infrastructure/pom.xml index db86f3500..781580a5d 100644 --- a/extensions/extensions-docker/aissemble-spark-infrastructure/pom.xml +++ b/extensions/extensions-docker/aissemble-spark-infrastructure/pom.xml @@ -56,7 +56,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin @@ -88,6 +88,21 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + + + ${version.delta.hive.connector} + + + + + + diff --git a/extensions/extensions-docker/aissemble-spark-operator/pom.xml b/extensions/extensions-docker/aissemble-spark-operator/pom.xml index 639a54c2b..7f9d11175 100644 --- a/extensions/extensions-docker/aissemble-spark-operator/pom.xml +++ b/extensions/extensions-docker/aissemble-spark-operator/pom.xml @@ -55,6 +55,10 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-spark/pom.xml b/extensions/extensions-docker/aissemble-spark/pom.xml index 292c3834b..2f875cf78 100644 --- a/extensions/extensions-docker/aissemble-spark/pom.xml +++ b/extensions/extensions-docker/aissemble-spark/pom.xml @@ -61,6 +61,10 @@ + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/aissemble-vault/pom.xml b/extensions/extensions-docker/aissemble-vault/pom.xml index 87fd1b112..8f8c2e47f 100644 --- a/extensions/extensions-docker/aissemble-vault/pom.xml +++ b/extensions/extensions-docker/aissemble-vault/pom.xml @@ -14,4 +14,13 @@ docker-build + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + diff --git a/extensions/extensions-docker/aissemble-versioning/pom.xml b/extensions/extensions-docker/aissemble-versioning/pom.xml index 22d1ecb9d..c077bda3c 100644 --- a/extensions/extensions-docker/aissemble-versioning/pom.xml +++ b/extensions/extensions-docker/aissemble-versioning/pom.xml @@ -20,6 +20,10 @@ org.technologybrewery.habushu habushu-maven-plugin + + org.technologybrewery.fabric8 + docker-maven-plugin + diff --git a/extensions/extensions-docker/pom.xml b/extensions/extensions-docker/pom.xml index 6fe7b05b2..3854db2b4 100644 --- a/extensions/extensions-docker/pom.xml +++ b/extensions/extensions-docker/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 @@ -20,24 +21,25 @@ ci - - - io.fabric8 - docker-maven-plugin - - - - - - - /etc/buildkitd.toml - - - - - - - + + + + org.technologybrewery.fabric8 + docker-maven-plugin + + + + + + /etc/buildkitd.toml + + + + + + + + @@ -56,11 +58,9 @@ aissemble-quarkus - aissemble-airflow aissemble-fastapi aissemble-hive aissemble-jenkins - aissemble-kafka aissemble-metadata aissemble-nvidia aissemble-policy-decision-point @@ -69,7 +69,6 @@ aissemble-spark-operator aissemble-vault aissemble-versioning - aissemble-mlflow aissemble-model-training-api-containers aissemble-data-lineage-http-consumer aissemble-pipeline-invocation @@ -118,22 +117,5 @@ - - - io.fabric8 - docker-maven-plugin - - - - - - ${version.delta.hive.connector} - - - - - - - diff --git a/extensions/extensions-helm/aissemble-airflow-chart/values.template.yaml b/extensions/extensions-helm/aissemble-airflow-chart/values.template.yaml index 86e98d371..32ebe1a84 100644 --- a/extensions/extensions-helm/aissemble-airflow-chart/values.template.yaml +++ b/extensions/extensions-helm/aissemble-airflow-chart/values.template.yaml @@ -4,8 +4,11 @@ airflow: airflowVersion: 2.6.2 + + # NB: 1.7.0 is the last version to include airflow support. It is being frozen there until it is removed or pulled + # into an extension project. TODO in https://github.com/boozallen/aissemble/issues/227 defaultAirflowRepository: ghcr.io/boozallen/aissemble-airflow - defaultAirflowTag: @version.aissemble@ + defaultAirflowTag: 1.7.0 images: airflow: diff --git a/extensions/extensions-helm/aissemble-kafka-chart/values.template.yaml b/extensions/extensions-helm/aissemble-kafka-chart/values.template.yaml index d3b881047..8f011a77e 100644 --- a/extensions/extensions-helm/aissemble-kafka-chart/values.template.yaml +++ b/extensions/extensions-helm/aissemble-kafka-chart/values.template.yaml @@ -2,10 +2,12 @@ ## CONFIG | Kafka Configs ######################################## kafka: + # NB: 1.7.0 is the last version to include kafka support. It is being frozen there while we + # align it to use a community image. TODO in https://github.com/boozallen/aissemble/issues/228 image: registry: ghcr.io repository: boozallen/aissemble-kafka - tag: "@version.aissemble@" + tag: 1.7.0 fullnameOverride: kafka-cluster # Container Ports Configuration containerPorts: diff --git a/extensions/extensions-helm/aissemble-mlflow-chart/values.template.yaml b/extensions/extensions-helm/aissemble-mlflow-chart/values.template.yaml index de7210341..806d8f6ec 100644 --- a/extensions/extensions-helm/aissemble-mlflow-chart/values.template.yaml +++ b/extensions/extensions-helm/aissemble-mlflow-chart/values.template.yaml @@ -1,8 +1,10 @@ mlflow: image: + # NB: will soon be updated to public mlflow image - but waiting to upgrade across the application, so point to the + # 2.3.1 image that was part of aissemble 1.7.0 in the meantime. TODO in https://github.com/boozallen/aissemble/issues/226 registry: ghcr.io repository: boozallen/aissemble-mlflow - tag: @version.aissemble@ + tag: 1.7.0 postgresql: enabled: false minio: diff --git a/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-docker/pom.xml b/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-docker/pom.xml index e29ff6b72..16282440f 100644 --- a/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-docker/pom.xml +++ b/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-docker/pom.xml @@ -61,7 +61,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin true @@ -81,7 +81,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin false diff --git a/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-docker/pom.xml b/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-docker/pom.xml index 3da6a2aac..e2fb84df5 100644 --- a/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-docker/pom.xml +++ b/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-docker/pom.xml @@ -28,7 +28,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin true @@ -56,7 +56,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin false diff --git a/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-java/pom.xml b/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-java/pom.xml index 522249e85..fcb71f973 100644 --- a/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-java/pom.xml +++ b/foundation/foundation-archetype/src/main/resources/archetype-resources/__rootArtifactId__-tests/__rootArtifactId__-tests-java/pom.xml @@ -160,7 +160,7 @@ 2.10.0 - io.fabric8 + org.technologybrewery.fabric8 kubernetes-client ${kubernetes.client.version} diff --git a/foundation/foundation-mda/src/main/resources/templates/deployment/kafka/kafka.values.yaml.vm b/foundation/foundation-mda/src/main/resources/templates/deployment/kafka/kafka.values.yaml.vm index a39a68b3b..deafc3908 100644 --- a/foundation/foundation-mda/src/main/resources/templates/deployment/kafka/kafka.values.yaml.vm +++ b/foundation/foundation-mda/src/main/resources/templates/deployment/kafka/kafka.values.yaml.vm @@ -5,12 +5,14 @@ replicaCount: 1 hostname: kafka-cluster + + # NB: 1.7.0 is the last version to include kafka support. It is being frozen there while we + # align it to use a community image. TODO in https://github.com/boozallen/aissemble/issues/228 image: name: boozallen/aissemble-kafka imagePullPolicy: Always dockerRepo: ghcr.io/ - # Overrides the image tag whose default is the chart appVersion. - tag: "${versionTag}" + tag: "1.7.0" deployment: ports: diff --git a/foundation/foundation-mda/src/main/resources/templates/general-docker/airflow.docker.file.vm b/foundation/foundation-mda/src/main/resources/templates/general-docker/airflow.docker.file.vm index 82716e1fa..ef0c8269f 100644 --- a/foundation/foundation-mda/src/main/resources/templates/general-docker/airflow.docker.file.vm +++ b/foundation/foundation-mda/src/main/resources/templates/general-docker/airflow.docker.file.vm @@ -7,7 +7,9 @@ ARG DOCKER_BASELINE_REPO_ID ARG VERSION_AISSEMBLE -FROM ${DOCKER_BASELINE_REPO_ID}boozallen/aissemble-airflow:${VERSION_AISSEMBLE} +# NB: 1.7.0 is the last version to include kafka support. It is being frozen there while we +# align it to use a community image. TODO in https://github.com/boozallen/aissemble/issues/227 +FROM ${DOCKER_BASELINE_REPO_ID}boozallen/aissemble-airflow:1.7.0 # Airflow variables ARG AIRFLOW_USER_HOME=/home/airflow diff --git a/foundation/foundation-mda/src/main/resources/templates/general-docker/mlflow.docker.file.vm b/foundation/foundation-mda/src/main/resources/templates/general-docker/mlflow.docker.file.vm index ab151b40b..3200a4e35 100644 --- a/foundation/foundation-mda/src/main/resources/templates/general-docker/mlflow.docker.file.vm +++ b/foundation/foundation-mda/src/main/resources/templates/general-docker/mlflow.docker.file.vm @@ -7,7 +7,9 @@ ARG DOCKER_BASELINE_REPO_ID ARG VERSION_AISSEMBLE -FROM ${DOCKER_BASELINE_REPO_ID}boozallen/aissemble-mlflow:${VERSION_AISSEMBLE} +# NB: will soon be updated to public mlflow image - but waiting to upgrade across the application, so point to the +# 2.3.1 image that was part of aissemble 1.7.0 in the meantime. TODO in https://github.com/boozallen/aissemble/issues/226 +FROM ${DOCKER_BASELINE_REPO_ID}boozallen/aissemble-mlflow:1.7.0 RUN mkdir -p /mlflow/startup COPY ./src/main/resources/start.sh /mlflow/startup/ diff --git a/foundation/foundation-mda/src/main/resources/templates/general-docker/sagemaker-training.docker.pom.xml.vm b/foundation/foundation-mda/src/main/resources/templates/general-docker/sagemaker-training.docker.pom.xml.vm index 17a1cedf4..9630b93d9 100755 --- a/foundation/foundation-mda/src/main/resources/templates/general-docker/sagemaker-training.docker.pom.xml.vm +++ b/foundation/foundation-mda/src/main/resources/templates/general-docker/sagemaker-training.docker.pom.xml.vm @@ -64,7 +64,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin diff --git a/pom.xml b/pom.xml index fed1a00a9..5fb174810 100644 --- a/pom.xml +++ b/pom.xml @@ -243,7 +243,7 @@ - io.fabric8 + org.technologybrewery.fabric8 docker-maven-plugin true