From 40a86e439eb3ee18cf5b71fb0a1150cd3000676a Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Mon, 29 Jun 2026 09:55:20 +0530 Subject: [PATCH 01/19] Adding buildscript and Dockerfile for agentstackv0.4.3 --- a/agentstack/Dockerfiles/v0.4.3/Dockerfile | 315 ++++++++++ a/agentstack/LICENSE | 201 ++++++ a/agentstack/agentstack_v0.4.3.patch | 39 ++ a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 681 +++++++++++++++++++++ a/agentstack/build_info.json | 24 + 5 files changed, 1260 insertions(+) create mode 100644 a/agentstack/Dockerfiles/v0.4.3/Dockerfile create mode 100644 a/agentstack/LICENSE create mode 100644 a/agentstack/agentstack_v0.4.3.patch create mode 100644 a/agentstack/agentstack_v0.4.3_ubi9.7.sh create mode 100644 a/agentstack/build_info.json diff --git a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile new file mode 100644 index 0000000000..f93820eb15 --- /dev/null +++ b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile @@ -0,0 +1,315 @@ +############################################################ +# STAGE 1 - Builder +############################################################ + +FROM registry.access.redhat.com/ubi9/ubi:9.7 AS builder + +ARG AGENTSTACK_VERSION=v0.4.3 +ARG POSTGRES_VERSION=16.4 +ARG PGVECTOR_VERSION=v0.7.4 +ARG GO_VERSION=1.24.4 + +ENV POSTGRES_INSTALL_DIR=/local/apps/postgresql/pgsql164 +ENV POSTGRES_DATA_DIR=/local/apps/postgresql/pgsql164/data +ENV WORKDIR=/root/agentstack + +ENV PACKAGE_NAME=agentstack +ENV PACKAGE_VERSION=v0.4.3 + +WORKDIR /root + +############################################################ +# System packages +############################################################ + +RUN mkdir -p /tmp && chmod 1777 /tmp + +RUN dnf install -y dnf-plugins-core wget && \ + if ! dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms; then \ + echo "CodeReady Builder not available. Falling back to CentOS Stream repositories."; \ + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ + rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; \ + fi + +RUN dnf install -y \ + wget \ + git \ + gcc \ + gcc-c++ \ + make \ + cmake \ + patch \ + clang \ + clang-devel \ + llvm-devel \ + curl-devel \ + readline-devel \ + openssl-devel \ + pkgconfig \ + ca-certificates \ + python3 \ + python3-devel \ + libpq-devel \ + postgresql \ + postgresql-devel \ + zlib-devel \ + libicu-devel \ + libjpeg-turbo-devel \ + freetype-devel \ + libpng-devel \ + dnf-plugins-core \ + && dnf clean all + +############################################################ +# Docker CLI +############################################################ + +RUN dnf config-manager \ + --add-repo=https://download.docker.com/linux/centos/docker-ce.repo || true && \ + dnf install -y \ + docker-ce-cli \ + docker-buildx-plugin \ + docker-compose-plugin + +############################################################ +# Rust +############################################################ + +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y + +ENV PATH="/root/.cargo/bin:${PATH}" + +############################################################ +# uv +############################################################ + +RUN curl -LsSf https://astral.sh/uv/install.sh | sh + +ENV PATH="/root/.local/bin:${PATH}" + +############################################################ +# Go +############################################################ + +RUN wget https://go.dev/dl/go${GO_VERSION}.linux-ppc64le.tar.gz && \ + tar -C /usr/local -xzf go${GO_VERSION}.linux-ppc64le.tar.gz && \ + rm -f go${GO_VERSION}.linux-ppc64le.tar.gz + +ENV GOROOT=/usr/local/go +ENV GOPATH=/root/go +ENV PATH="${GOROOT}/bin:${GOPATH}/bin:${PATH}" + +############################################################ +# gRPC Build Environment +############################################################ + +ENV GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 +ENV GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 + +############################################################ +# PostgreSQL +############################################################ + +WORKDIR /tmp + +RUN wget https://ftp.postgresql.org/pub/source/v${POSTGRES_VERSION}/postgresql-${POSTGRES_VERSION}.tar.gz && \ + tar xf postgresql-${POSTGRES_VERSION}.tar.gz + +WORKDIR /tmp/postgresql-${POSTGRES_VERSION} + +RUN ./configure \ + --without-readline \ + --prefix=${POSTGRES_INSTALL_DIR} \ + --with-pgport=5433 && \ + make -j"$(nproc)" && \ + make install + +############################################################ +# pgvector +############################################################ + +WORKDIR /tmp + +RUN git clone https://github.com/pgvector/pgvector.git + +WORKDIR /tmp/pgvector + +RUN git checkout ${PGVECTOR_VERSION} + +RUN sed -i \ + "s|pg_config|${POSTGRES_INSTALL_DIR}/bin/pg_config|g" \ + Makefile + +RUN make -j"$(nproc)" && \ + make install + +############################################################ +# Clone AgentStack +############################################################ + +WORKDIR /root + +RUN git clone https://github.com/i-am-bee/agentstack.git + +WORKDIR /root/agentstack + +RUN wget https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_${PACKAGE_VERSION}.patch -O /root/agentstack.patch +#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/master/a/agentstack/agentstack_${PACKAGE_VERSION}.patch -O /root/agentstack.patch + + +RUN git fetch --all --tags && \ + git checkout ${AGENTSTACK_VERSION} && \ + git apply /root/agentstack.patch + +############################################################ +# Build SDK +############################################################ + +WORKDIR /root/agentstack/apps/agentstack-sdk-py + +RUN uv python install 3.13 && \ + uv sync --all-groups + +############################################################ +# Build CLI +############################################################ + +WORKDIR /root/agentstack/apps/agentstack-cli + +RUN uv python install 3.13 && \ + uv sync --all-groups + +############################################################ +# Build Server +############################################################ + +WORKDIR /root/agentstack/apps/agentstack-server + +RUN uv python install 3.13 && \ + uv sync --all-groups && \ + uv add "pydantic==2.11.7" && \ + uv sync + +############################################################ +# Build Chat Agent +############################################################ + +WORKDIR /root/agentstack/agents/chat + +RUN uv python install 3.13 && \ + uv sync --all-groups + +############################################################ +# Build Form Agent +############################################################ + +WORKDIR /root/agentstack/agents/form + +RUN uv python install 3.13 && \ + uv sync --all-groups + +############################################################ +# Build RAG Agent +############################################################ + +WORKDIR /root/agentstack/agents/rag + +RUN uv python install 3.13 && \ + uv sync --all-groups + +############################################################ +# Server configuration +############################################################ + +WORKDIR /root/agentstack/apps/agentstack-server + +RUN cp template.env .env && \ + echo "AUTH__DISABLE_AUTH=true" >> .env && \ + echo "OIDC__DISABLE_OIDC=true" >> .env && \ + echo "PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack" >> .env + +ENV DATABASE_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack +ENV PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack + +############################################################ +# STAGE 2 - Runtime image +############################################################ + +FROM registry.access.redhat.com/ubi9/ubi:9.7 + +ARG POSTGRES_VERSION=16.4 + +ENV POSTGRES_INSTALL_DIR=/local/apps/postgresql/pgsql164 +ENV POSTGRES_DATA_DIR=/local/apps/postgresql/pgsql164/data +ENV WORKDIR=/root/agentstack + +WORKDIR /root + +############################################################ +# Runtime dependencies only +############################################################ + +RUN mkdir -p /tmp && chmod 1777 /tmp + +RUN dnf install -y dnf-plugins-core wget && \ + if ! dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms; then \ + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ + rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; \ + fi + +RUN dnf install -y \ + python3 \ + python3-devel \ + git \ + wget \ + curl-devel \ + libpq-devel \ + postgresql \ + postgresql-devel \ + openssl-devel \ + readline-devel \ + zlib-devel \ + libicu-devel \ + libjpeg-turbo-devel \ + freetype-devel \ + libpng-devel \ + && dnf clean all + +############################################################ +# Copy tools +############################################################ + +COPY --from=builder /root/.cargo /root/.cargo +COPY --from=builder /root/.local /root/.local +COPY --from=builder /usr/local/go /usr/local/go + +ENV PATH="/root/.cargo/bin:/root/.local/bin:/usr/local/go/bin:/root/go/bin:${PATH}" +ENV GOROOT=/usr/local/go +ENV GOPATH=/root/go + +############################################################ +# Copy PostgreSQL + pgvector +############################################################ + +COPY --from=builder ${POSTGRES_INSTALL_DIR} ${POSTGRES_INSTALL_DIR} + +############################################################ +# Copy AgentStack +############################################################ + +COPY --from=builder /root/agentstack /root/agentstack + +############################################################ +# Runtime environment +############################################################ + +ENV DATABASE_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack +ENV PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack + +WORKDIR /root/agentstack/apps/agentstack-server + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/a/agentstack/LICENSE b/a/agentstack/LICENSE new file mode 100644 index 0000000000..980a15ac24 --- /dev/null +++ b/a/agentstack/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. diff --git a/a/agentstack/agentstack_v0.4.3.patch b/a/agentstack/agentstack_v0.4.3.patch new file mode 100644 index 0000000000..9802cf99b7 --- /dev/null +++ b/a/agentstack/agentstack_v0.4.3.patch @@ -0,0 +1,39 @@ +diff --git a/agents/chat/pyproject.toml b/agents/chat/pyproject.toml +index 83cfeaf2..a3acc468 100644 +--- a/agents/chat/pyproject.toml ++++ b/agents/chat/pyproject.toml +@@ -7,7 +7,7 @@ authors = [ + ] + requires-python = ">=3.13,<3.14" + dependencies = [ +- "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", ++ "beeai-framework[wikipedia,a2a]>=0.1.70", + "tiktoken>=0.12.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) + "fastuuid>=0.14.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) + "openai>=1.107.1", +diff --git a/agents/rag/pyproject.toml b/agents/rag/pyproject.toml +index 8b8c3867..c6dc9e9a 100644 +--- a/agents/rag/pyproject.toml ++++ b/agents/rag/pyproject.toml +@@ -7,7 +7,7 @@ authors = [ + ] + requires-python = ">=3.13,<3.14" + dependencies = [ +- "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", ++ "beeai-framework[wikipedia,a2a]>=0.1.70", + "tiktoken>=0.12.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) + "fastuuid>=0.14.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) + "agentstack-sdk", +diff --git a/apps/agentstack-sdk-py/pyproject.toml b/apps/agentstack-sdk-py/pyproject.toml +index 36544359..b275fb3f 100644 +--- a/apps/agentstack-sdk-py/pyproject.toml ++++ b/apps/agentstack-sdk-py/pyproject.toml +@@ -26,7 +26,7 @@ dependencies = [ + + [dependency-groups] + dev = [ +- "beeai-framework[duckduckgo,wikipedia]>=0.1.70", ++ "beeai-framework[wikipedia]>=0.1.70", + "pyright>=1.1.403", + "pytest>=8.4.1", + "pytest-asyncio>=1.1.0", diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh new file mode 100644 index 0000000000..2350c7ad9b --- /dev/null +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -0,0 +1,681 @@ +#!/bin/bash -e +# ----------------------------------------------------------------------------- +# +# Package : agentstack +# Version : v0.4.3 +# Source repo : https://github.com/i-am-bee/agentstack.git +# Tested on : UBI 9.7 +# Language : Python +# Ci-Check : True +# Script License: Apache License, Version 2 or later +# Maintainer : Simran Sirsat +# +# Disclaimer: This script has been tested in root mode on given +# ========== platform using the mentioned version of the package. +# It may not work as expected with newer versions of the +# package and/or distribution. In such case, please +# contact "Maintainer" of this script. +# +# ---------------------------------------------------------------------------- + +set -euo pipefail + +############################################################################### +# CONFIG +############################################################################### + +PACKAGE_NAME=agentstack +PACKAGE_URL=https://github.com/i-am-bee/agentstack.git + +SCRIPT_PACKAGE_VERSION="v0.4.3" +PACKAGE_VERSION="${1:-${SCRIPT_PACKAGE_VERSION}}" + +PGVECTOR_VERSION="${PGVECTOR_VERSION:-v0.7.4}" +POSTGRES_VERSION="${POSTGRES_VERSION:-16.4}" + +WORKDIR="${WORKDIR:-/root/agentstack}" +BUILD_HOME="${BUILD_HOME:-$(pwd)}" + +POSTGRES_INSTALL_DIR="${POSTGRES_INSTALL_DIR:-/local/apps/postgresql/pgsql164}" +POSTGRES_DATA_DIR="${POSTGRES_DATA_DIR:-${POSTGRES_INSTALL_DIR}/data}" + +POSTGRES_SOURCE_URL="https://ftp.postgresql.org/pub/source/v${POSTGRES_VERSION}/postgresql-${POSTGRES_VERSION}.tar.gz" +POSTGRES_SOURCE_TAR="postgresql-${POSTGRES_VERSION}.tar.gz" +POSTGRES_SRC_DIR="postgresql-${POSTGRES_VERSION}" + +PGVECTOR_REPO_URL="https://github.com/pgvector/pgvector.git" + +RUN_KIND_SETUP="${RUN_KIND_SETUP:-true}" +RUN_UNIT_TESTS="${RUN_UNIT_TESTS:-true}" +RUN_INTEGRATION_TESTS="${RUN_INTEGRATION_TESTS:-true}" + +KIND_CLUSTER_NAME="${KIND_CLUSTER_NAME:-mkpod}" +KIND_IMAGE="${KIND_IMAGE:-quay.io/powercloud/kind-node}" +KUBECTL_VERSION="${KUBECTL_VERSION:-v1.36.0}" + +OS_NAME=$(grep ^PRETTY_NAME /etc/os-release | cut -d= -f2) +SOURCE=Github + + +############################################################################### +# SYSTEM DEPENDENCIES +############################################################################### + +echo "==============================================================================" +echo "Installing system dependencies" +echo "==============================================================================" + +# Ensure /tmp has correct permissions +mkdir -p /tmp +chmod 1777 /tmp + +dnf install -y wget + +ret=0 +dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms || ret=$? + +if [ $ret -ne 0 ]; then + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os + + rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256 +fi + +dnf install -y \ + git \ + curl-devel \ + wget \ + gcc \ + gcc-c++ \ + make \ + cmake \ + patch \ + clang \ + llvm-devel \ + clang \ + clang-devel \ + readline \ + readline-devel \ + openssl-devel \ + pkgconfig \ + ca-certificates \ + dnf-plugins-core \ + libpq-devel \ + python3 \ + python3-devel \ + zlib-devel \ + libicu-devel \ + libjpeg-turbo-devel \ + libjpeg-turbo \ + postgresql \ + postgresql-devel + +dnf install -y \ + libjpeg-turbo-devel \ + freetype-devel \ + freetype \ + libpng-devel + +############################################################################### +# DOCKER +############################################################################### + +echo "==============================================================================" +echo "Installing Docker" +echo "==============================================================================" + +dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo || true +dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + +docker --version + +############################################################################### +# RUST +############################################################################### + +echo "==============================================================================" +echo "Installing Rust" +echo "==============================================================================" + +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +source "$HOME/.cargo/env" + +rustc --version +cargo --version + +############################################################################### +# PYTHON / UV +############################################################################### + +echo "==============================================================================" +echo "Installing uv" +echo "==============================================================================" + +curl -LsSf https://astral.sh/uv/install.sh | sh +export PATH="$HOME/.local/bin:$PATH" + +uv --version + +############################################################################### +# GO +############################################################################### + +echo "==============================================================================" +echo "Installing Go" +echo "==============================================================================" + +GO_VERSION="1.24.4" +GO_TAR="go${GO_VERSION}.linux-ppc64le.tar.gz" + +cd "$BUILD_HOME" +wget "https://go.dev/dl/${GO_TAR}" +rm -rf /usr/local/go +tar -C /usr/local -xzf "${GO_TAR}" +rm -f "${GO_TAR}" + +export GOROOT="/usr/local/go" +export GOPATH="$HOME/go" +export PATH="$GOROOT/bin:$GOPATH/bin:$PATH" + +go version + +############################################################################### +# BUILD POSTGRESQL FROM SOURCE +############################################################################### + +echo "==============================================================================" +echo "Building PostgreSQL ${POSTGRES_VERSION}" +echo "==============================================================================" + +cd "$BUILD_HOME" + +if [ ! -f "${POSTGRES_SOURCE_TAR}" ]; then + wget "${POSTGRES_SOURCE_URL}" +fi + +rm -rf "${POSTGRES_SRC_DIR}" +tar xf "${POSTGRES_SOURCE_TAR}" +cd "${POSTGRES_SRC_DIR}" + +./configure --without-readline --prefix="${POSTGRES_INSTALL_DIR}" --with-pgport=5433 +make -j"$(nproc)" +make install + +############################################################################### +# SETUP POSTGRES USER / DATA / SERVER +############################################################################### + +echo "==============================================================================" +echo "Setting up PostgreSQL" +echo "==============================================================================" + +id postgres >/dev/null 2>&1 || useradd -d /home/postgres/ postgres +echo "postgres:lormipsum" | chpasswd || true + +mkdir -p "${POSTGRES_DATA_DIR}" +chown -R postgres:postgres "${POSTGRES_INSTALL_DIR}" + +if [ ! -f "${POSTGRES_DATA_DIR}/PG_VERSION" ]; then + su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/initdb -D ${POSTGRES_DATA_DIR}" +fi + +su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/pg_ctl -D ${POSTGRES_DATA_DIR} -l /home/postgres/logfile start" || true + +until su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/pg_isready -h localhost -p 5433" >/dev/null 2>&1; do + sleep 2 +done + +su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/psql -v ON_ERROR_STOP=1 postgres <<'SQL' +DO +\$do\$ +BEGIN + IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'agentstack-user') THEN + CREATE ROLE \"agentstack-user\" LOGIN PASSWORD 'agentstack'; + END IF; +END +\$do\$; +SQL" + +su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/psql -tAc \"SELECT 1 FROM pg_database WHERE datname='agentstack'\"" | grep -q 1 \ + || su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/createdb -O agentstack-user agentstack" + +############################################################################### +# BUILD PGVECTOR +############################################################################### + +echo "==============================================================================" +echo "Building pgvector ${PGVECTOR_VERSION}" +echo "==============================================================================" + +cd "$BUILD_HOME" +rm -rf pgvector +git clone "${PGVECTOR_REPO_URL}" +cd pgvector +git checkout "${PGVECTOR_VERSION}" + +sed -i "s|pg_config|${POSTGRES_INSTALL_DIR}/bin/pg_config|g" Makefile + +make -j"$(nproc)" +make install + +export PGVECTOR_Build="${POSTGRES_INSTALL_DIR}/lib/vector.so" + +echo "PostgreSQL and pgvector installation completed." +echo "pgvector binary is available at [${PGVECTOR_Build}]." + +############################################################################### +# ENABLE PGVECTOR EXTENSION +############################################################################### + +echo "==============================================================================" +echo "Enabling pgvector extension" +echo "==============================================================================" + +su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/psql -d agentstack -c 'CREATE EXTENSION IF NOT EXISTS vector;'" + +echo "==============================================================================" +echo "Resetting PostgreSQL credentials" +echo "==============================================================================" + +su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/psql postgres <<'SQL' +ALTER ROLE "agentstack-user" +WITH LOGIN PASSWORD 'agentstack'; +SQL +" + +echo "==============================================================================" +echo "Verifying PostgreSQL login" +echo "==============================================================================" + +PGPASSWORD=agentstack \ +${POSTGRES_INSTALL_DIR}/bin/psql \ +-h localhost \ +-p 5433 \ +-U agentstack-user \ +-d agentstack \ +-c "select version();" + + +############################################################################### +# CLONE AGENTSTACK +############################################################################### + +echo "==============================================================================" +echo "Cloning AgentStack" +echo "==============================================================================" + +mkdir -p "${WORKDIR}" +cd "${WORKDIR}" + +if [ ! -d agentstack ]; then + git clone "${PACKAGE_URL}" +fi + +cd $PACKAGE_NAME +git fetch --all --tags +git checkout "${PACKAGE_VERSION}" + +wget https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch +#wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch + +git apply agentstack_v0.4.3.patch +AGENTSTACK_ROOT="${WORKDIR}/agentstack" + +export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 +export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 + +############################################################################### +# BUILD AGENTSTACK SDK (PYTHON) +############################################################################### + +echo "==============================================================================" +echo "Setting up AgentStack SDK Python" +echo "==============================================================================" + +cd "${AGENTSTACK_ROOT}/apps/agentstack-sdk-py" + +if ! ( + uv python install 3.13 && + uv sync --all-groups +); then + echo "------------------${PACKAGE_NAME}:agentstack_sdk_build_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | AgentStack_SDK_Build_Fails" + exit 1 +fi + +############################################################################### +# BUILD AGENTSTACK CLI +############################################################################### + +echo "==============================================================================" +echo "Setting up AgentStack CLI" +echo "==============================================================================" + +cd "${AGENTSTACK_ROOT}/apps/agentstack-cli" + +if ! ( + uv python install 3.13 && + uv sync --all-groups +); then + echo "------------------${PACKAGE_NAME}:agentstack_cli_build_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | AgentStack_CLI_Build_Fails" + exit 1 +fi + +############################################################################### +# BUILD AGENTSTACK SERVER +############################################################################### + +echo "==============================================================================" +echo "Setting up AgentStack Server" +echo "==============================================================================" + +cd "${AGENTSTACK_ROOT}/apps/agentstack-server" + +if ! ( + uv python install 3.13 && + uv sync --all-groups && + uv add "pydantic==2.11.7" && + uv sync +); then + echo "------------------${PACKAGE_NAME}:agentstack_server_build_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | AgentStack_Server_Build_Fails" + exit 1 +fi + +############################################################################### +# BUILD CHAT AGENT +############################################################################### + +echo "==============================================================================" +echo "Setting up chat agent" +echo "==============================================================================" + +cd "${AGENTSTACK_ROOT}/agents/chat" + +if ! ( + uv python install 3.13 && + uv sync --all-groups +); then + echo "------------------${PACKAGE_NAME}:chat_agent_build_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | Chat_Agent_Build_Fails" + exit 1 +fi + +############################################################################### +# BUILD FORM AGENT +############################################################################### + +echo "==============================================================================" +echo "Setting up form agent" +echo "==============================================================================" + +cd "${AGENTSTACK_ROOT}/agents/form" + +if ! ( + uv python install 3.13 && + uv sync --all-groups +); then + echo "------------------${PACKAGE_NAME}:form_agent_build_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | Form_Agent_Build_Fails" + exit 1 +fi + +############################################################################### +# BUILD RAG AGENT +############################################################################### + +echo "==============================================================================" +echo "Setting up rag agent" +echo "==============================================================================" + +cd "${AGENTSTACK_ROOT}/agents/rag" + +if ! ( + uv python install 3.13 && + uv sync --all-groups +); then + echo "------------------${PACKAGE_NAME}:rag_agent_build_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | Rag_Agent_Build_Fails" + exit 1 +fi + + +############################################################################### +# SERVER ENVIRONMENT +############################################################################### + +echo "==============================================================================" +echo "Configuring AgentStack Server environment" +echo "==============================================================================" + +SERVER_DIR="${AGENTSTACK_ROOT}/apps/agentstack-server" +cd "${SERVER_DIR}" + +if [ -f template.env ]; then + cp template.env .env +elif [ ! -f .env ]; then + touch .env +fi + +sed -i '/^AUTH__DISABLE_AUTH=/d' .env || true +sed -i '/^OIDC__DISABLE_OIDC=/d' .env || true +sed -i '/^PERSISTENCE__DB_URL=/d' .env || true + +cat >> .env < /root/kind-config.yaml < \ +"$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" + +export KUBECONFIG="$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" + +echo "Using kubeconfig:" +echo "$KUBECONFIG" + +kubectl cluster-info + +kubectl wait \ + --for=condition=Ready \ + node \ + --all \ + --timeout=300s + +kubectl get nodes + +echo "Using kubeconfig: $KUBECONFIG" + +kubectl cluster-info + +echo "Waiting for Kubernetes nodes to become Ready..." + +kubectl wait \ + --for=condition=Ready \ + node \ + --all \ + --timeout=300s + +kubectl get nodes + +python3 - <<'EOF' +import os +print("KUBECONFIG =", os.environ.get("KUBECONFIG")) +EOF +fi + +mkdir -p "$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest" + +kind get kubeconfig --name "${KIND_CLUSTER_NAME}" > \ +"$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" + +export KUBECONFIG="$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" + +echo "KUBECONFIG=$KUBECONFIG" + +kubectl cluster-info +kubectl get nodes + +############################################################################### +# UNIT TESTS +############################################################################### + +echo "==============================================================================" +echo "Running Unit Tests" +echo "==============================================================================" + +cd "${SERVER_DIR}" + +if [ "${RUN_UNIT_TESTS}" = "true" ]; then + if ! uv run pytest tests/unit -v; then + echo "------------------${PACKAGE_NAME}:install_success_but_test_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | Unit_Test_Fails" + exit 2 + fi +fi + +############################################################################### +# INTEGRATION TESTS +############################################################################### + +echo "==============================================================================" +echo "Checking database connectivity before tests" +echo "==============================================================================" + +PGPASSWORD=agentstack \ +${POSTGRES_INSTALL_DIR}/bin/psql \ +-h localhost \ +-p 5433 \ +-U agentstack-user \ +-d agentstack \ +-c "select current_database(), current_user;" + +uv run python - <<'EOF' +import asyncio +import asyncpg + +async def main(): + conn = await asyncpg.connect( + host="localhost", + port=5433, + user="agentstack-user", + password="agentstack", + database="agentstack", + ) + print(await conn.fetchval("select version()")) + await conn.close() + +asyncio.run(main()) +EOF + +############################################################################### +# INTEGRATION TESTS +############################################################################### + +echo "==============================================================================" +echo "Running Integration Tests" +echo "==============================================================================" + +if [ "${RUN_INTEGRATION_TESTS}" = "true" ]; then + if ! uv run pytest tests/integration -v -m integration; then + echo "------------------${PACKAGE_NAME}:install_success_but_test_fails---------------------" + echo "${PACKAGE_URL} ${PACKAGE_NAME}" + echo "${PACKAGE_NAME} | ${PACKAGE_URL} | ${PACKAGE_VERSION} | ${OS_NAME} | ${SOURCE} | Fail | Integration_Test_Fails" + exit 2 + fi +fi + +############################################################################### +# SUMMARY +############################################################################### + +echo "==============================================================================" +echo "AgentStack build/setup completed successfully" +echo "AgentStack version : ${PACKAGE_VERSION}" +echo "PostgreSQL version : ${POSTGRES_VERSION}" +echo "pgvector version : ${PGVECTOR_VERSION}" +echo "KinD setup : ${RUN_KIND_SETUP}" +echo "Unit tests : ${RUN_UNIT_TESTS}" +echo "Integration tests : ${RUN_INTEGRATION_TESTS}" +echo "==============================================================================" \ No newline at end of file diff --git a/a/agentstack/build_info.json b/a/agentstack/build_info.json new file mode 100644 index 0000000000..108b3fb353 --- /dev/null +++ b/a/agentstack/build_info.json @@ -0,0 +1,24 @@ +{ + "maintainer": "Simran.Sirsat@ibm.com", + "package_name": "agentstack", + "github_url": "https://github.com/i-am-bee/agentstack", + "version": "v0.4.3", + "required_versions":{"Releases": ["*"], "Tags": ["*"]}, + "default_branch": "master", + "build_script": "agentstack_v0.4.3_ubi9.7.sh", + "package_dir": "a/agentstack", + "use_non_root_user": false, + "validate_build_script":true, + "docker_build": true, + "docker_cmd": "docker build -f ${dir}/Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", + "wheel_build" : true, + "v0.4.3": { + "build_script": "agentstack_v0.4.3_ubi9.7.sh", + "dir": "v0.4.3", + "base_docker_image": "ubi", + "base_docker_variant": "9.7" + }, + "*": { + "build_script": "agentstack_v0.4.3_ubi9.7.sh" + } +} \ No newline at end of file From f6f129c23c4f69c1ccdd8cc1cf391acaba3954e1 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Tue, 30 Jun 2026 11:35:48 +0530 Subject: [PATCH 02/19] Added ddgs support --- a/agentstack/Dockerfiles/v0.4.3/Dockerfile | 38 +++-- a/agentstack/agentstack_v0.4.3.patch | 168 ++++++++++++++++++--- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 29 +++- 3 files changed, 192 insertions(+), 43 deletions(-) diff --git a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile index f93820eb15..c4930d08f4 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile @@ -169,8 +169,17 @@ RUN git fetch --all --tags && \ WORKDIR /root/agentstack/apps/agentstack-sdk-py -RUN uv python install 3.13 && \ - uv sync --all-groups +RUN uv python install 3.12 && \ + deactivate 2>/dev/null || true && \ + unset VIRTUAL_ENV && \ + hash -r && \ + rm -rf .venv && \ + uv venv .venv --python 3.12 && \ + source .venv/bin/activate && \ + rm -f uv.lock + +RUN uv lock && \ + uv sync ############################################################ # Build CLI @@ -178,8 +187,9 @@ RUN uv python install 3.13 && \ WORKDIR /root/agentstack/apps/agentstack-cli -RUN uv python install 3.13 && \ - uv sync --all-groups +RUN rm -f uv.lock && \ + uv lock && \ + uv sync ############################################################ # Build Server @@ -187,8 +197,9 @@ RUN uv python install 3.13 && \ WORKDIR /root/agentstack/apps/agentstack-server -RUN uv python install 3.13 && \ - uv sync --all-groups && \ +RUN rm -f uv.lock && \ + uv lock && \ + uv sync && \ uv add "pydantic==2.11.7" && \ uv sync @@ -198,8 +209,9 @@ RUN uv python install 3.13 && \ WORKDIR /root/agentstack/agents/chat -RUN uv python install 3.13 && \ - uv sync --all-groups +RUN rm -f uv.lock && \ + uv lock && \ + uv sync ############################################################ # Build Form Agent @@ -207,8 +219,9 @@ RUN uv python install 3.13 && \ WORKDIR /root/agentstack/agents/form -RUN uv python install 3.13 && \ - uv sync --all-groups +RUN rm -f uv.lock && \ + uv lock && \ + uv sync ############################################################ # Build RAG Agent @@ -216,8 +229,9 @@ RUN uv python install 3.13 && \ WORKDIR /root/agentstack/agents/rag -RUN uv python install 3.13 && \ - uv sync --all-groups +RUN rm -f uv.lock && \ + uv lock && \ + uv sync ############################################################ # Server configuration diff --git a/a/agentstack/agentstack_v0.4.3.patch b/a/agentstack/agentstack_v0.4.3.patch index 9802cf99b7..c2e9495a7f 100644 --- a/a/agentstack/agentstack_v0.4.3.patch +++ b/a/agentstack/agentstack_v0.4.3.patch @@ -1,39 +1,159 @@ diff --git a/agents/chat/pyproject.toml b/agents/chat/pyproject.toml -index 83cfeaf2..a3acc468 100644 +index 83cfeaf2..c1d6ac99 100644 --- a/agents/chat/pyproject.toml +++ b/agents/chat/pyproject.toml -@@ -7,7 +7,7 @@ authors = [ +@@ -5,7 +5,7 @@ description = "AI-powered conversational system with memory and tools." + authors = [ + { name = "IBM Corp." }, ] - requires-python = ">=3.13,<3.14" +-requires-python = ">=3.13,<3.14" ++requires-python = ">=3.12,<3.14" dependencies = [ -- "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", -+ "beeai-framework[wikipedia,a2a]>=0.1.70", + "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", "tiktoken>=0.12.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) - "fastuuid>=0.14.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) - "openai>=1.107.1", +@@ -20,8 +20,17 @@ dependencies = [ + [tool.ruff] + line-length = 120 + ++[[tool.uv.index]] ++name = "pypi" ++url = "https://pypi.org/simple" ++ ++[[tool.uv.index]] ++name = "ibm" ++url = "https://wheels.developerfirst.ibm.com/ppc64le/linux" ++ + [tool.uv.sources] + agentstack-sdk = { path = "../../apps/agentstack-sdk-py", editable = true } ++primp = { index = "ibm" } + + [project.scripts] + server = "chat.agent:serve" +diff --git a/agents/form/pyproject.toml b/agents/form/pyproject.toml +index b97e2d8a..efa4dc75 100644 +--- a/agents/form/pyproject.toml ++++ b/agents/form/pyproject.toml +@@ -5,7 +5,7 @@ description = "Agent with structured input." + authors = [ + { name = "IBM Corp." }, + ] +-requires-python = ">=3.13,<3.14" ++requires-python = ">=3.12,<3.14" + dependencies = [ + "agentstack-sdk", + "openinference-instrumentation-beeai>=0.1.13", diff --git a/agents/rag/pyproject.toml b/agents/rag/pyproject.toml -index 8b8c3867..c6dc9e9a 100644 +index 8b8c3867..fe2526e0 100644 --- a/agents/rag/pyproject.toml +++ b/agents/rag/pyproject.toml -@@ -7,7 +7,7 @@ authors = [ +@@ -5,7 +5,7 @@ description = "TBD" + authors = [ + { name = "IBM Corp." }, ] - requires-python = ">=3.13,<3.14" +-requires-python = ">=3.13,<3.14" ++requires-python = ">=3.12,<3.14" dependencies = [ -- "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", -+ "beeai-framework[wikipedia,a2a]>=0.1.70", + "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", "tiktoken>=0.12.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) - "fastuuid>=0.14.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) - "agentstack-sdk", +@@ -22,8 +22,17 @@ dependencies = [ + [tool.ruff] + line-length = 120 + ++[[tool.uv.index]] ++name = "pypi" ++url = "https://pypi.org/simple" ++ ++[[tool.uv.index]] ++name = "ibm" ++url = "https://wheels.developerfirst.ibm.com/ppc64le/linux" ++ + [tool.uv.sources] + agentstack-sdk = { path = "../../apps/agentstack-sdk-py", editable = true } ++primp = { index = "ibm" } + + [project.scripts] + server = "rag.agent:serve" +diff --git a/apps/agentstack-cli/pyproject.toml b/apps/agentstack-cli/pyproject.toml +index 3d152a7c..4053b86d 100644 +--- a/apps/agentstack-cli/pyproject.toml ++++ b/apps/agentstack-cli/pyproject.toml +@@ -4,7 +4,7 @@ version = "0.4.3" + description = "Agent Stack CLI" + readme = "README.md" + authors = [{ name = "IBM Corp." }] +-requires-python = ">=3.13,<3.14" ++requires-python = ">=3.12,<3.14" + dependencies = [ + "anyio~=4.10.0", + "pydantic~=2.11.7", +@@ -33,8 +33,17 @@ dev = [ + "wheel>=0.45.1", + ] + ++[[tool.uv.index]] ++name = "pypi" ++url = "https://pypi.org/simple" ++ ++[[tool.uv.index]] ++name = "ibm" ++url = "https://wheels.developerfirst.ibm.com/ppc64le/linux" ++ + [tool.uv.sources] + agentstack-sdk = { path = "../agentstack-sdk-py", editable = true } ++primp = { index = "ibm" } + + [project.scripts] + agentstack = "agentstack_cli:app" diff --git a/apps/agentstack-sdk-py/pyproject.toml b/apps/agentstack-sdk-py/pyproject.toml -index 36544359..b275fb3f 100644 +index 36544359..68cd62cd 100644 --- a/apps/agentstack-sdk-py/pyproject.toml +++ b/apps/agentstack-sdk-py/pyproject.toml -@@ -26,7 +26,7 @@ dependencies = [ - - [dependency-groups] - dev = [ -- "beeai-framework[duckduckgo,wikipedia]>=0.1.70", -+ "beeai-framework[wikipedia]>=0.1.70", - "pyright>=1.1.403", - "pytest>=8.4.1", - "pytest-asyncio>=1.1.0", +@@ -38,6 +38,17 @@ dev = [ + requires = ["uv_build>=0.9.0,<0.10.0"] + build-backend = "uv_build" + ++[[tool.uv.index]] ++name = "pypi" ++url = "https://pypi.org/simple" ++ ++[[tool.uv.index]] ++name = "ibm" ++url = "https://wheels.developerfirst.ibm.com/ppc64le/linux" ++ ++[tool.uv.sources] ++primp = { index = "ibm" } ++ + [tool.ruff] + line-length = 120 + target-version = "py311" +diff --git a/apps/agentstack-server/pyproject.toml b/apps/agentstack-server/pyproject.toml +index 4e294d97..5d613ac2 100644 +--- a/apps/agentstack-server/pyproject.toml ++++ b/apps/agentstack-server/pyproject.toml +@@ -4,7 +4,7 @@ version = "0.4.3" + description = "Agent Stack server" + readme = "README.md" + authors = [{ name = "IBM Corp." }] +-requires-python = "==3.13.*" ++requires-python = "==3.12.*" + dependencies = [ + "a2a-sdk~=0.3.9", + "aiohttp>=3.11.11", +@@ -62,8 +62,17 @@ dev = [ + "agentstack-sdk", + ] + ++[[tool.uv.index]] ++name = "pypi" ++url = "https://pypi.org/simple" ++ ++[[tool.uv.index]] ++name = "ibm" ++url = "https://wheels.developerfirst.ibm.com/ppc64le/linux" ++ + [tool.uv.sources] + agentstack-sdk = { path = "../agentstack-sdk-py", editable = true } ++primp = { index = "ibm" } + + [project.scripts] + agentstack-server = "agentstack_server:serve" diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 2350c7ad9b..75103c8c7e 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -72,7 +72,6 @@ chmod 1777 /tmp dnf install -y wget ret=0 -dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms || ret=$? if [ $ret -ne 0 ]; then dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os @@ -335,8 +334,19 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/apps/agentstack-sdk-py" +uv python install 3.12 +deactivate 2>/dev/null || true +unset VIRTUAL_ENV +hash -r + +rm -rf .venv +uv venv .venv --python 3.12 +source .venv/bin/activate +rm -f uv.lock +uv pip install primp==0.15.0 --index-url=https://wheels.developerfirst.ibm.com/ppc64le/linux + if ! ( - uv python install 3.13 && + uv lock && uv sync --all-groups ); then echo "------------------${PACKAGE_NAME}:agentstack_sdk_build_fails---------------------" @@ -356,7 +366,8 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/apps/agentstack-cli" if ! ( - uv python install 3.13 && + rm -f uv.lock && + uv lock && uv sync --all-groups ); then echo "------------------${PACKAGE_NAME}:agentstack_cli_build_fails---------------------" @@ -376,7 +387,8 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/apps/agentstack-server" if ! ( - uv python install 3.13 && + rm -f uv.lock && + uv lock && uv sync --all-groups && uv add "pydantic==2.11.7" && uv sync @@ -398,7 +410,8 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/agents/chat" if ! ( - uv python install 3.13 && + rm -f uv.lock && + uv lock && uv sync --all-groups ); then echo "------------------${PACKAGE_NAME}:chat_agent_build_fails---------------------" @@ -418,7 +431,8 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/agents/form" if ! ( - uv python install 3.13 && + rm -f uv.lock && + uv lock && uv sync --all-groups ); then echo "------------------${PACKAGE_NAME}:form_agent_build_fails---------------------" @@ -438,7 +452,8 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/agents/rag" if ! ( - uv python install 3.13 && + rm -f uv.lock && + uv lock && uv sync --all-groups ); then echo "------------------${PACKAGE_NAME}:rag_agent_build_fails---------------------" From 5028a403cba7054c0f9eebc3dce4a32aa5790252 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Thu, 2 Jul 2026 11:23:48 +0530 Subject: [PATCH 03/19] Changes for CVE report --- a/agentstack/Dockerfiles/v0.4.3/Dockerfile | 90 +++++++++++++--------- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 14 ++-- 2 files changed, 59 insertions(+), 45 deletions(-) diff --git a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile index c4930d08f4..f59c1b3c05 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile @@ -7,7 +7,7 @@ FROM registry.access.redhat.com/ubi9/ubi:9.7 AS builder ARG AGENTSTACK_VERSION=v0.4.3 ARG POSTGRES_VERSION=16.4 ARG PGVECTOR_VERSION=v0.7.4 -ARG GO_VERSION=1.24.4 +ARG GO_VERSION=1.26.4 ENV POSTGRES_INSTALL_DIR=/local/apps/postgresql/pgsql164 ENV POSTGRES_DATA_DIR=/local/apps/postgresql/pgsql164/data @@ -24,14 +24,12 @@ WORKDIR /root RUN mkdir -p /tmp && chmod 1777 /tmp -RUN dnf install -y dnf-plugins-core wget && \ - if ! dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms; then \ - echo "CodeReady Builder not available. Falling back to CentOS Stream repositories."; \ - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ - rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; \ - fi +#RUN dnf update -y && \ + # dnf install -y dnf-plugins-core wget && \ + # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ + # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ + # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ + # rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; RUN dnf install -y \ wget \ @@ -45,7 +43,7 @@ RUN dnf install -y \ clang-devel \ llvm-devel \ curl-devel \ - readline-devel \ + readline \ openssl-devel \ pkgconfig \ ca-certificates \ @@ -60,8 +58,14 @@ RUN dnf install -y \ freetype-devel \ libpng-devel \ dnf-plugins-core \ + rust \ + cargo \ && dnf clean all +RUN dnf update -y acl attr expat glib2 gnutls libcap openssl && \ + dnf remove -y vim-minimal java-17-openjdk-headless 2>/dev/null || true && \ + dnf clean all + ############################################################ # Docker CLI ############################################################ @@ -77,9 +81,9 @@ RUN dnf config-manager \ # Rust ############################################################ -RUN curl https://sh.rustup.rs -sSf | sh -s -- -y +#RUN curl https://sh.rustup.rs -sSf | sh -s -- -y -ENV PATH="/root/.cargo/bin:${PATH}" +#ENV PATH="/root/.cargo/bin:${PATH}" ############################################################ # uv @@ -163,22 +167,29 @@ RUN git fetch --all --tags && \ git checkout ${AGENTSTACK_VERSION} && \ git apply /root/agentstack.patch + +############################################################ +# Create ONE shared virtual environment +############################################################ + +WORKDIR /root/agentstack + +# Create single venv for entire project +RUN uv python install 3.12 && \ + uv venv /root/.venv --python 3.12 + +# Activate it globally +ENV VIRTUAL_ENV=/root/.venv +ENV PATH="/root/.venv/bin:$PATH" + ############################################################ # Build SDK ############################################################ WORKDIR /root/agentstack/apps/agentstack-sdk-py -RUN uv python install 3.12 && \ - deactivate 2>/dev/null || true && \ - unset VIRTUAL_ENV && \ - hash -r && \ - rm -rf .venv && \ - uv venv .venv --python 3.12 && \ - source .venv/bin/activate && \ - rm -f uv.lock - -RUN uv lock && \ +RUN rm -f uv.lock && \ + uv lock && \ uv sync ############################################################ @@ -233,6 +244,13 @@ RUN rm -f uv.lock && \ uv lock && \ uv sync +############################################################ +# FIX VULNERABILITIES ONCE FOR ALL COMPONENTS +############################################################ + +RUN uv pip install --upgrade pip>=24.3.1 urllib3>=2.7.0 && \ + (uv pip list | grep -q pyo3 && uv pip install --upgrade pyo3>=0.29.0 || true) + ############################################################ # Server configuration ############################################################ @@ -246,7 +264,7 @@ RUN cp template.env .env && \ ENV DATABASE_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack ENV PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack - +RUN rm -rf /var/cache/dnf /var/tmp/* ############################################################ # STAGE 2 - Runtime image ############################################################ @@ -267,25 +285,21 @@ WORKDIR /root RUN mkdir -p /tmp && chmod 1777 /tmp -RUN dnf install -y dnf-plugins-core wget && \ - if ! dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms; then \ - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ - rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; \ - fi +#RUN dnf install -y dnf-plugins-core wget && \ + # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ + # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ + # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ + # rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; -RUN dnf install -y \ + +RUN dnf update -y && \ + dnf install -y \ python3 \ - python3-devel \ - git \ - wget \ - curl-devel \ libpq-devel \ postgresql \ postgresql-devel \ openssl-devel \ - readline-devel \ + readline \ zlib-devel \ libicu-devel \ libjpeg-turbo-devel \ @@ -293,6 +307,8 @@ RUN dnf install -y \ libpng-devel \ && dnf clean all +RUN rm -rf /var/cache/dnf /var/tmp/* + ############################################################ # Copy tools ############################################################ @@ -301,6 +317,8 @@ COPY --from=builder /root/.cargo /root/.cargo COPY --from=builder /root/.local /root/.local COPY --from=builder /usr/local/go /usr/local/go +COPY --from=builder /root/.venv /root/.venv + ENV PATH="/root/.cargo/bin:/root/.local/bin:/usr/local/go/bin:/root/go/bin:${PATH}" ENV GOROOT=/usr/local/go ENV GOPATH=/root/go diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 75103c8c7e..2a2eac807d 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -70,16 +70,12 @@ mkdir -p /tmp chmod 1777 /tmp dnf install -y wget +dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os +dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os +dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os -ret=0 +rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256 -if [ $ret -ne 0 ]; then - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os - dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os - - rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256 -fi dnf install -y \ git \ @@ -164,7 +160,7 @@ echo "========================================================================== echo "Installing Go" echo "==============================================================================" -GO_VERSION="1.24.4" +GO_VERSION="1.26.4" GO_TAR="go${GO_VERSION}.linux-ppc64le.tar.gz" cd "$BUILD_HOME" From 9c87ce168834fa251d31b0893807df19b3183e4b Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Fri, 10 Jul 2026 15:04:24 +0530 Subject: [PATCH 04/19] Adding images for separate components --- a/agentstack/Dockerfiles/.DS_Store | Bin 0 -> 8196 bytes a/agentstack/Dockerfiles/v0.4.3/Dockerfile | 347 ------------------ .../v0.4.3/agentstack-chat.Dockerfile | 138 +++++++ .../v0.4.3/agentstack-form.Dockerfile | 136 +++++++ .../v0.4.3/agentstack-rag.Dockerfile | 139 +++++++ .../v0.4.3/agentstack-server.Dockerfile | 226 ++++++++++++ a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 127 ++++--- 7 files changed, 706 insertions(+), 407 deletions(-) create mode 100644 a/agentstack/Dockerfiles/.DS_Store delete mode 100644 a/agentstack/Dockerfiles/v0.4.3/Dockerfile create mode 100644 a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile create mode 100644 a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile create mode 100644 a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile create mode 100644 a/agentstack/Dockerfiles/v0.4.3/agentstack-server.Dockerfile diff --git a/a/agentstack/Dockerfiles/.DS_Store b/a/agentstack/Dockerfiles/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..01977cbfebbfe8dd965ffd75bb77f6b12468c68a GIT binary patch literal 8196 zcmeHMU2GIp6u#fIw0G%1r_f4akX^ed1X|dZ0wNl>?V^A!Eo@7FD75=C!oYNskXXfXOD{w6*d1$k02zKAgp^ihijV|*~t`12q}Urc!L%-mV9E%;!J5uKaNJ@=k_ z&%O7Y`M#Mwvy3sc=Ch5A)iTC7U9MCrsJcdR$K7j2k$g=lNsv8btJs?Km_3>{tn`f8 zfg*@N5P={9K?H&b1QGZ*M1bDeZsFH??~Bo(4k8dl;C~qb_xTW^%aw6oP6+8eI;iqe z0FrJB;1z099^lzTd>QxUgpi&ottqkx_@?kv3e|?lQr%{mPD(emoM)hCHJUQmtD9MCtkue!S=+Ns ziUA(tp&@0#_;_P;ePm7J`Xlv`@eNI}`bhJdbw`ebcujQm#vMZkj1kj1D!hRIBw%x< zdG+LUmkhhmCO%1&B#SP6QFJLZyF#9$_V)D;$b&=5yaJuQbJWo-)847&Y?4DtrA~c=V%8VcWlN` z-+*o9oHlQDCUAU-HU92uC z4vC3Z4Y?BKefhNhKwftaP0mxQDrL1U8sf^^gIPLYhn01A%6cQJTDOezU9P?@r%^4` zvbwUK3{u@T`5~5&V~wGZVs{@PBnVS^?K&P(vOPvBtr@=Rj*XE&n}_-` z*2oAsX$zg&mf&1DzsKFUJ!Lzcqndf;NNt-rAF%hOa$4sY;jn1Y&bfC}N$;9$%Ic1l z6Va$syEyN67i-C8X`RZ2i)wcyRh4d!ZWeSxJ>60Pe&rL+d9-+IqVW}?89k#7do2;@ zXguam;p}GC#1gEX4YM2@XUEuac7nad&a!jt0{e=6&wgRQ0VqQ`W}^btSd2Qe z-M&A*kPcB}$`gd>=6?Z{PFjA~{SQ^Y1LQ<&lmGw# literal 0 HcmV?d00001 diff --git a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile deleted file mode 100644 index f59c1b3c05..0000000000 --- a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile +++ /dev/null @@ -1,347 +0,0 @@ -############################################################ -# STAGE 1 - Builder -############################################################ - -FROM registry.access.redhat.com/ubi9/ubi:9.7 AS builder - -ARG AGENTSTACK_VERSION=v0.4.3 -ARG POSTGRES_VERSION=16.4 -ARG PGVECTOR_VERSION=v0.7.4 -ARG GO_VERSION=1.26.4 - -ENV POSTGRES_INSTALL_DIR=/local/apps/postgresql/pgsql164 -ENV POSTGRES_DATA_DIR=/local/apps/postgresql/pgsql164/data -ENV WORKDIR=/root/agentstack - -ENV PACKAGE_NAME=agentstack -ENV PACKAGE_VERSION=v0.4.3 - -WORKDIR /root - -############################################################ -# System packages -############################################################ - -RUN mkdir -p /tmp && chmod 1777 /tmp - -#RUN dnf update -y && \ - # dnf install -y dnf-plugins-core wget && \ - # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ - # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ - # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ - # rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; - -RUN dnf install -y \ - wget \ - git \ - gcc \ - gcc-c++ \ - make \ - cmake \ - patch \ - clang \ - clang-devel \ - llvm-devel \ - curl-devel \ - readline \ - openssl-devel \ - pkgconfig \ - ca-certificates \ - python3 \ - python3-devel \ - libpq-devel \ - postgresql \ - postgresql-devel \ - zlib-devel \ - libicu-devel \ - libjpeg-turbo-devel \ - freetype-devel \ - libpng-devel \ - dnf-plugins-core \ - rust \ - cargo \ - && dnf clean all - -RUN dnf update -y acl attr expat glib2 gnutls libcap openssl && \ - dnf remove -y vim-minimal java-17-openjdk-headless 2>/dev/null || true && \ - dnf clean all - -############################################################ -# Docker CLI -############################################################ - -RUN dnf config-manager \ - --add-repo=https://download.docker.com/linux/centos/docker-ce.repo || true && \ - dnf install -y \ - docker-ce-cli \ - docker-buildx-plugin \ - docker-compose-plugin - -############################################################ -# Rust -############################################################ - -#RUN curl https://sh.rustup.rs -sSf | sh -s -- -y - -#ENV PATH="/root/.cargo/bin:${PATH}" - -############################################################ -# uv -############################################################ - -RUN curl -LsSf https://astral.sh/uv/install.sh | sh - -ENV PATH="/root/.local/bin:${PATH}" - -############################################################ -# Go -############################################################ - -RUN wget https://go.dev/dl/go${GO_VERSION}.linux-ppc64le.tar.gz && \ - tar -C /usr/local -xzf go${GO_VERSION}.linux-ppc64le.tar.gz && \ - rm -f go${GO_VERSION}.linux-ppc64le.tar.gz - -ENV GOROOT=/usr/local/go -ENV GOPATH=/root/go -ENV PATH="${GOROOT}/bin:${GOPATH}/bin:${PATH}" - -############################################################ -# gRPC Build Environment -############################################################ - -ENV GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 -ENV GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 - -############################################################ -# PostgreSQL -############################################################ - -WORKDIR /tmp - -RUN wget https://ftp.postgresql.org/pub/source/v${POSTGRES_VERSION}/postgresql-${POSTGRES_VERSION}.tar.gz && \ - tar xf postgresql-${POSTGRES_VERSION}.tar.gz - -WORKDIR /tmp/postgresql-${POSTGRES_VERSION} - -RUN ./configure \ - --without-readline \ - --prefix=${POSTGRES_INSTALL_DIR} \ - --with-pgport=5433 && \ - make -j"$(nproc)" && \ - make install - -############################################################ -# pgvector -############################################################ - -WORKDIR /tmp - -RUN git clone https://github.com/pgvector/pgvector.git - -WORKDIR /tmp/pgvector - -RUN git checkout ${PGVECTOR_VERSION} - -RUN sed -i \ - "s|pg_config|${POSTGRES_INSTALL_DIR}/bin/pg_config|g" \ - Makefile - -RUN make -j"$(nproc)" && \ - make install - -############################################################ -# Clone AgentStack -############################################################ - -WORKDIR /root - -RUN git clone https://github.com/i-am-bee/agentstack.git - -WORKDIR /root/agentstack - -RUN wget https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_${PACKAGE_VERSION}.patch -O /root/agentstack.patch -#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/master/a/agentstack/agentstack_${PACKAGE_VERSION}.patch -O /root/agentstack.patch - - -RUN git fetch --all --tags && \ - git checkout ${AGENTSTACK_VERSION} && \ - git apply /root/agentstack.patch - - -############################################################ -# Create ONE shared virtual environment -############################################################ - -WORKDIR /root/agentstack - -# Create single venv for entire project -RUN uv python install 3.12 && \ - uv venv /root/.venv --python 3.12 - -# Activate it globally -ENV VIRTUAL_ENV=/root/.venv -ENV PATH="/root/.venv/bin:$PATH" - -############################################################ -# Build SDK -############################################################ - -WORKDIR /root/agentstack/apps/agentstack-sdk-py - -RUN rm -f uv.lock && \ - uv lock && \ - uv sync - -############################################################ -# Build CLI -############################################################ - -WORKDIR /root/agentstack/apps/agentstack-cli - -RUN rm -f uv.lock && \ - uv lock && \ - uv sync - -############################################################ -# Build Server -############################################################ - -WORKDIR /root/agentstack/apps/agentstack-server - -RUN rm -f uv.lock && \ - uv lock && \ - uv sync && \ - uv add "pydantic==2.11.7" && \ - uv sync - -############################################################ -# Build Chat Agent -############################################################ - -WORKDIR /root/agentstack/agents/chat - -RUN rm -f uv.lock && \ - uv lock && \ - uv sync - -############################################################ -# Build Form Agent -############################################################ - -WORKDIR /root/agentstack/agents/form - -RUN rm -f uv.lock && \ - uv lock && \ - uv sync - -############################################################ -# Build RAG Agent -############################################################ - -WORKDIR /root/agentstack/agents/rag - -RUN rm -f uv.lock && \ - uv lock && \ - uv sync - -############################################################ -# FIX VULNERABILITIES ONCE FOR ALL COMPONENTS -############################################################ - -RUN uv pip install --upgrade pip>=24.3.1 urllib3>=2.7.0 && \ - (uv pip list | grep -q pyo3 && uv pip install --upgrade pyo3>=0.29.0 || true) - -############################################################ -# Server configuration -############################################################ - -WORKDIR /root/agentstack/apps/agentstack-server - -RUN cp template.env .env && \ - echo "AUTH__DISABLE_AUTH=true" >> .env && \ - echo "OIDC__DISABLE_OIDC=true" >> .env && \ - echo "PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack" >> .env - -ENV DATABASE_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack -ENV PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack -RUN rm -rf /var/cache/dnf /var/tmp/* -############################################################ -# STAGE 2 - Runtime image -############################################################ - -FROM registry.access.redhat.com/ubi9/ubi:9.7 - -ARG POSTGRES_VERSION=16.4 - -ENV POSTGRES_INSTALL_DIR=/local/apps/postgresql/pgsql164 -ENV POSTGRES_DATA_DIR=/local/apps/postgresql/pgsql164/data -ENV WORKDIR=/root/agentstack - -WORKDIR /root - -############################################################ -# Runtime dependencies only -############################################################ - -RUN mkdir -p /tmp && chmod 1777 /tmp - -#RUN dnf install -y dnf-plugins-core wget && \ - # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os && \ - # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os && \ - # dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os && \ - # rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256; - - -RUN dnf update -y && \ - dnf install -y \ - python3 \ - libpq-devel \ - postgresql \ - postgresql-devel \ - openssl-devel \ - readline \ - zlib-devel \ - libicu-devel \ - libjpeg-turbo-devel \ - freetype-devel \ - libpng-devel \ - && dnf clean all - -RUN rm -rf /var/cache/dnf /var/tmp/* - -############################################################ -# Copy tools -############################################################ - -COPY --from=builder /root/.cargo /root/.cargo -COPY --from=builder /root/.local /root/.local -COPY --from=builder /usr/local/go /usr/local/go - -COPY --from=builder /root/.venv /root/.venv - -ENV PATH="/root/.cargo/bin:/root/.local/bin:/usr/local/go/bin:/root/go/bin:${PATH}" -ENV GOROOT=/usr/local/go -ENV GOPATH=/root/go - -############################################################ -# Copy PostgreSQL + pgvector -############################################################ - -COPY --from=builder ${POSTGRES_INSTALL_DIR} ${POSTGRES_INSTALL_DIR} - -############################################################ -# Copy AgentStack -############################################################ - -COPY --from=builder /root/agentstack /root/agentstack - -############################################################ -# Runtime environment -############################################################ - -ENV DATABASE_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack -ENV PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack - -WORKDIR /root/agentstack/apps/agentstack-server - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile new file mode 100644 index 0000000000..4378118008 --- /dev/null +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile @@ -0,0 +1,138 @@ +############################################################ +# STAGE 1 - Builder +############################################################ + +ARG BASE_UBI_IMAGE_TAG=9.8 + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} AS builder + +ARG AGENTSTACK_VERSION=v0.4.3 +ARG RELEASE_VERSION=v0.4.3 + +ENV PATH="/root/.local/bin:${PATH}" \ + GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \ + GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \ + CXXFLAGS="-std=c++17" + +############################################################ +# Build dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + git \ + tar \ + gcc \ + gcc-c++ \ + cmake \ + make \ + python3.12 \ + python3.12-devel \ + openssl-devel \ + libffi-devel \ + zlib-devel \ + rust \ + cargo \ + pkgconfig \ + findutils \ + ca-certificates && \ + microdnf clean all + +############################################################ +# Install uv +############################################################ + +RUN curl -LsSf https://astral.sh/uv/install.sh | sh + +############################################################ +# Clone AgentStack +############################################################ + +WORKDIR /app + +RUN git clone https://github.com/i-am-bee/agentstack.git . + +RUN git fetch --all --tags && \ + git checkout ${AGENTSTACK_VERSION} + +############################################################ +# Apply patch +############################################################ + +#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch + +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ + git apply /tmp/agentstack.patch + +############################################################ +# Build Chat Agent +############################################################ + +WORKDIR /app/agents/chat + +RUN uv lock --upgrade + +RUN UV_COMPILE_BYTECODE=1 \ + HOME=/tmp \ + uv sync + +############################################################ +# Cleanup builder +############################################################ + +RUN rm -rf \ + /root/.cache \ + /root/.cargo/registry \ + /root/.cargo/git \ + /app/.git \ + /tmp/* + +############################################################ +# STAGE 2 - Runtime +############################################################ + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} + +ARG RELEASE_VERSION=v0.4.3 + +ENV PRODUCTION_MODE=True \ + RELEASE_VERSION=${RELEASE_VERSION} + +############################################################ +# Runtime dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + python3.12 \ + ca-certificates && \ + microdnf clean all + +############################################################ +# Copy application +############################################################ + +COPY --from=builder \ + /app/apps/agentstack-sdk-py \ + /app/apps/agentstack-sdk-py + +COPY --from=builder \ + /app/agents/chat \ + /app/agents/chat + +############################################################ +# Remove non-runtime files +############################################################ + +RUN rm -rf \ + /app/apps/agentstack-sdk-py/tests \ + /app/apps/agentstack-sdk-py/examples \ + /tmp/* + +############################################################ +# Runtime +############################################################ + +WORKDIR /app/agents/chat + +CMD ["/app/agents/chat/.venv/bin/server"] \ No newline at end of file diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile new file mode 100644 index 0000000000..d2cfe044b2 --- /dev/null +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile @@ -0,0 +1,136 @@ +############################################################ +# STAGE 1 - Builder +############################################################ + +ARG BASE_UBI_IMAGE_TAG=9.8 + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} AS builder + +ARG AGENTSTACK_VERSION=v0.4.3 +ARG RELEASE_VERSION=main + +ENV PATH="/root/.local/bin:${PATH}" \ + UV_HTTP_TIMEOUT=300 \ + UV_HTTP_RETRIES=5 + +############################################################ +# Build dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + git \ + tar \ + gcc \ + gcc-c++ \ + make \ + python3.12 \ + python3.12-devel \ + openssl-devel \ + libffi-devel \ + rust \ + cargo \ + findutils && \ + microdnf clean all + +############################################################ +# Install uv +############################################################ + +RUN curl -LsSf https://astral.sh/uv/install.sh | sh + +############################################################ +# Clone AgentStack +############################################################ + +WORKDIR /app + +RUN git clone https://github.com/i-am-bee/agentstack.git . + +RUN git fetch --all --tags && \ + git checkout ${AGENTSTACK_VERSION} + +COPY agentstack_v0.4.3.patch /tmp/agentstack.patch + +RUN git apply /tmp/agentstack.patch || true + +############################################################ +# Apply your patch +############################################################ + +#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch + +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ + git apply /tmp/agentstack.patch + + +############################################################ +# Build Form Agent +############################################################ + +WORKDIR /app/agents/form + +RUN UV_COMPILE_BYTECODE=1 \ + HOME=/tmp \ + uv sync + +############################################################ +# Cleanup builder +############################################################ + +RUN rm -rf \ + /root/.cache \ + /root/.cargo/registry \ + /root/.cargo/git \ + /root/agentstack/.git \ + /tmp/* + +############################################################ +# STAGE 2 - Runtime +############################################################ + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} + +ARG RELEASE_VERSION=main + +ENV PRODUCTION_MODE=True \ + RELEASE_VERSION=${RELEASE_VERSION} + +############################################################ +# Runtime dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + python3.12 \ + ca-certificates && \ + microdnf clean all + +############################################################ +# Copy application +############################################################ + +COPY --from=builder \ + /app/apps/agentstack-sdk-py /app/apps/agentstack-sdk-py \ + /app/apps/agentstack-sdk-py + +COPY --from=builder \ + /app/agents/form \ + /app/agents/form + +############################################################ +# Remove non-runtime files +############################################################ + +RUN rm -rf \ + /app/apps/agentstack-sdk-py/tests \ + /app/apps/agentstack-sdk-py/examples \ + /tmp/* + +############################################################ +# Runtime +############################################################ + +WORKDIR /app/agents/form + +CMD ["/app/agents/form/.venv/bin/server"] \ No newline at end of file diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile new file mode 100644 index 0000000000..d88075adc6 --- /dev/null +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile @@ -0,0 +1,139 @@ +############################################################ +# STAGE 1 - Builder +############################################################ + +ARG BASE_UBI_IMAGE_TAG=9.8 + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} AS builder + +ARG AGENTSTACK_VERSION=v0.4.3 +ARG RELEASE_VERSION=v0.4.3 + +ENV PATH="/root/.local/bin:${PATH}" \ + UV_HTTP_TIMEOUT=300 \ + UV_HTTP_RETRIES=5 \ + GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \ + GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 + +############################################################ +# Build dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + git \ + tar \ + gcc \ + gcc-c++ \ + cmake \ + make \ + python3.12 \ + python3.12-devel \ + openssl-devel \ + libffi-devel \ + zlib-devel \ + rust \ + cargo \ + pkgconfig \ + findutils \ + ca-certificates && \ + microdnf clean all + +############################################################ +# Install uv +############################################################ + +RUN curl -LsSf https://astral.sh/uv/install.sh | sh + +############################################################ +# Clone AgentStack +############################################################ + +WORKDIR /app + +RUN git clone https://github.com/i-am-bee/agentstack.git . + +RUN git fetch --all --tags && \ + git checkout ${AGENTSTACK_VERSION} + +############################################################ +# Apply patch +############################################################ + +#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch + +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ + git apply /tmp/agentstack.patch + +############################################################ +# Build RAG Agent +############################################################ + +WORKDIR /app/agents/rag + +RUN uv lock --upgrade + +RUN UV_COMPILE_BYTECODE=1 \ + HOME=/tmp \ + uv sync + +############################################################ +# Cleanup builder +############################################################ + +RUN rm -rf \ + /root/.cache \ + /root/.cargo/registry \ + /root/.cargo/git \ + /app/.git \ + /tmp/* + +############################################################ +# STAGE 2 - Runtime +############################################################ + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} + +ARG RELEASE_VERSION=v0.4.3 + +ENV PRODUCTION_MODE=True \ + RELEASE_VERSION=${RELEASE_VERSION} + +############################################################ +# Runtime dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + python3.12 \ + ca-certificates && \ + microdnf clean all + +############################################################ +# Copy only required application +############################################################ + +COPY --from=builder \ + /app/apps/agentstack-sdk-py \ + /app/apps/agentstack-sdk-py + +COPY --from=builder \ + /app/agents/rag \ + /app/agents/rag + +############################################################ +# Remove non-runtime files +############################################################ + +RUN rm -rf \ + /app/apps/agentstack-sdk-py/tests \ + /app/apps/agentstack-sdk-py/examples \ + /tmp/* + +############################################################ +# Runtime +############################################################ + +WORKDIR /app/agents/rag + +CMD ["/app/agents/rag/.venv/bin/server"] \ No newline at end of file diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-server.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-server.Dockerfile new file mode 100644 index 0000000000..e456d24d4a --- /dev/null +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-server.Dockerfile @@ -0,0 +1,226 @@ +############################################################ +# STAGE 1 - Builder +############################################################ + +ARG BASE_UBI_IMAGE_TAG=9.8 + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} AS builder + +ARG AGENTSTACK_VERSION=v0.4.3 +ARG POSTGRES_VERSION=16.4 +ARG PGVECTOR_VERSION=v0.7.4 +ARG RELEASE_VERSION=v0.4.3 + +ENV POSTGRES_INSTALL_DIR=/local/apps/postgresql/pgsql164 +ENV POSTGRES_DATA_DIR=/local/apps/postgresql/pgsql164/data + +ENV PATH="/root/.local/bin:${PATH}" \ + UV_HTTP_TIMEOUT=300 \ + UV_HTTP_RETRIES=5 \ + GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \ + GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 + +############################################################ +# Build dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + git \ + tar \ + wget \ + gcc \ + gcc-c++ \ + make \ + cmake \ + clang \ + rust \ + cargo \ + python3.12 \ + python3.12-devel \ + openssl-devel \ + libffi-devel \ + zlib-devel \ + readline \ + postgresql \ + postgresql-devel \ + libpq-devel \ + libicu \ + libicu-devel \ + libjpeg-turbo \ + libjpeg-turbo-devel \ + freetype-devel \ + libpng-devel \ + pkgconfig \ + findutils \ + ca-certificates && \ + microdnf clean all + +############################################################ +# Install uv +############################################################ + +RUN curl -LsSf https://astral.sh/uv/install.sh | sh + +############################################################ +# Build PostgreSQL +############################################################ + +WORKDIR /tmp + +RUN wget https://ftp.postgresql.org/pub/source/v${POSTGRES_VERSION}/postgresql-${POSTGRES_VERSION}.tar.gz && \ + tar xf postgresql-${POSTGRES_VERSION}.tar.gz + +WORKDIR /tmp/postgresql-${POSTGRES_VERSION} + +RUN ./configure \ + --without-readline \ + --prefix=${POSTGRES_INSTALL_DIR} \ + --with-pgport=5433 && \ + make -j"$(nproc)" && \ + make install + +############################################################ +# Build pgvector +############################################################ + +WORKDIR /tmp + +RUN git clone https://github.com/pgvector/pgvector.git + +WORKDIR /tmp/pgvector + +RUN git checkout ${PGVECTOR_VERSION} + +RUN sed -i \ + "s|pg_config|${POSTGRES_INSTALL_DIR}/bin/pg_config|g" \ + Makefile + +RUN make -j"$(nproc)" && \ + make install + +############################################################ +# Clone AgentStack +############################################################ + +WORKDIR /app + +RUN git clone https://github.com/i-am-bee/agentstack.git . + +RUN git fetch --all --tags && \ + git checkout ${AGENTSTACK_VERSION} + +############################################################ +# Apply patch +############################################################ + +#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch + +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ + git apply /tmp/agentstack.patch + +############################################################ +# Build AgentStack Server +############################################################ + +WORKDIR /app/apps/agentstack-server + +RUN uv lock --upgrade + +RUN UV_COMPILE_BYTECODE=1 \ + HOME=/tmp \ + uv sync + +############################################################ +# Configure Server +############################################################ + +RUN cp template.env .env && \ + echo "AUTH__DISABLE_AUTH=true" >> .env && \ + echo "OIDC__DISABLE_OIDC=true" >> .env && \ + echo "PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack" >> .env + +############################################################ +# Cleanup builder +############################################################ + +RUN rm -rf \ + /root/.cache \ + /root/.cargo/registry \ + /root/.cargo/git \ + /app/.git \ + /tmp/* + +############################################################ +# STAGE 2 - Runtime +############################################################ + +FROM registry.access.redhat.com/ubi9/ubi-minimal:${BASE_UBI_IMAGE_TAG} + +ARG RELEASE_VERSION=v0.4.3 + +ENV POSTGRES_INSTALL_DIR=/local/apps/postgresql/pgsql164 +ENV POSTGRES_DATA_DIR=/local/apps/postgresql/pgsql164/data + +ENV DATABASE_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack +ENV PERSISTENCE__DB_URL=postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack + +ENV PRODUCTION_MODE=True \ + RELEASE_VERSION=${RELEASE_VERSION} \ + PATH="${POSTGRES_INSTALL_DIR}/bin:${PATH}" + +############################################################ +# Runtime dependencies +############################################################ + +RUN microdnf update -y && \ + microdnf install -y \ + python3.12 \ + postgresql \ + libpq \ + openssl \ + readline \ + zlib \ + libicu \ + libjpeg-turbo \ + freetype \ + libpng \ + ca-certificates && \ + microdnf clean all + +############################################################ +# Copy PostgreSQL +############################################################ + +COPY --from=builder \ + ${POSTGRES_INSTALL_DIR} \ + ${POSTGRES_INSTALL_DIR} + +############################################################ +# Copy only required application +############################################################ + +COPY --from=builder \ + /app/apps/agentstack-sdk-py \ + /app/apps/agentstack-sdk-py + +COPY --from=builder \ + /app/apps/agentstack-server \ + /app/apps/agentstack-server + +############################################################ +# Remove non-runtime files +############################################################ + +RUN rm -rf \ + /app/apps/agentstack-sdk-py/tests \ + /app/apps/agentstack-sdk-py/examples \ + /tmp/* + +############################################################ +# Runtime +############################################################ + +WORKDIR /app/apps/agentstack-server + +CMD ["/app/apps/agentstack-server/.venv/bin/agentstack-server"] \ No newline at end of file diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 2a2eac807d..634915612b 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -70,23 +70,26 @@ mkdir -p /tmp chmod 1777 /tmp dnf install -y wget -dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os -dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os -dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os -rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256 +ret=0 +dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms || ret=$? +if [ $ret -ne 0 ]; then + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/AppStream/ppc64le/os + dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/BaseOS/ppc64le/os + + rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official-SHA256 +fi dnf install -y \ git \ curl-devel \ - wget \ gcc \ gcc-c++ \ make \ cmake \ patch \ - clang \ llvm-devel \ clang \ clang-devel \ @@ -104,10 +107,9 @@ dnf install -y \ libjpeg-turbo-devel \ libjpeg-turbo \ postgresql \ - postgresql-devel - -dnf install -y \ - libjpeg-turbo-devel \ + postgresql-devel \ + python3.12-devel \ + python3.12-pip \ freetype-devel \ freetype \ libpng-devel @@ -160,7 +162,7 @@ echo "========================================================================== echo "Installing Go" echo "==============================================================================" -GO_VERSION="1.26.4" +GO_VERSION="1.24.4" GO_TAR="go${GO_VERSION}.linux-ppc64le.tar.gz" cd "$BUILD_HOME" @@ -310,12 +312,12 @@ fi cd $PACKAGE_NAME git fetch --all --tags git checkout "${PACKAGE_VERSION}" +AGENTSTACK_ROOT="${WORKDIR}/agentstack" wget https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch #wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch git apply agentstack_v0.4.3.patch -AGENTSTACK_ROOT="${WORKDIR}/agentstack" export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 @@ -331,6 +333,8 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/apps/agentstack-sdk-py" uv python install 3.12 +#uv venv --python 3.12 +#source .venv/bin/activate deactivate 2>/dev/null || true unset VIRTUAL_ENV hash -r @@ -339,11 +343,10 @@ rm -rf .venv uv venv .venv --python 3.12 source .venv/bin/activate rm -f uv.lock -uv pip install primp==0.15.0 --index-url=https://wheels.developerfirst.ibm.com/ppc64le/linux if ! ( uv lock && - uv sync --all-groups + uv sync ); then echo "------------------${PACKAGE_NAME}:agentstack_sdk_build_fails---------------------" echo "${PACKAGE_URL} ${PACKAGE_NAME}" @@ -364,7 +367,7 @@ cd "${AGENTSTACK_ROOT}/apps/agentstack-cli" if ! ( rm -f uv.lock && uv lock && - uv sync --all-groups + uv sync ); then echo "------------------${PACKAGE_NAME}:agentstack_cli_build_fails---------------------" echo "${PACKAGE_URL} ${PACKAGE_NAME}" @@ -385,7 +388,7 @@ cd "${AGENTSTACK_ROOT}/apps/agentstack-server" if ! ( rm -f uv.lock && uv lock && - uv sync --all-groups && + uv sync && uv add "pydantic==2.11.7" && uv sync ); then @@ -408,7 +411,7 @@ cd "${AGENTSTACK_ROOT}/agents/chat" if ! ( rm -f uv.lock && uv lock && - uv sync --all-groups + uv sync ); then echo "------------------${PACKAGE_NAME}:chat_agent_build_fails---------------------" echo "${PACKAGE_URL} ${PACKAGE_NAME}" @@ -429,7 +432,7 @@ cd "${AGENTSTACK_ROOT}/agents/form" if ! ( rm -f uv.lock && uv lock && - uv sync --all-groups + uv sync ); then echo "------------------${PACKAGE_NAME}:form_agent_build_fails---------------------" echo "${PACKAGE_URL} ${PACKAGE_NAME}" @@ -450,7 +453,7 @@ cd "${AGENTSTACK_ROOT}/agents/rag" if ! ( rm -f uv.lock && uv lock && - uv sync --all-groups + uv sync ); then echo "------------------${PACKAGE_NAME}:rag_agent_build_fails---------------------" echo "${PACKAGE_URL} ${PACKAGE_NAME}" @@ -532,54 +535,72 @@ if [ "${RUN_KIND_SETUP}" = "true" ]; then mv kubectl /usr/local/bin/ kubectl version --client - cat > /root/kind-config.yaml < /root/kind-config.yaml apiVersion: kind.x-k8s.io/v1alpha4 kind: Cluster name: ${KIND_CLUSTER_NAME} +networking: + apiServerAddress: "${VSI_IP}" + apiServerPort: 6443 nodes: -- image: ${KIND_IMAGE}:${KUBECTL_VERSION} +- extraMounts: + - containerPath: /var/lib/kubelet/config.json + hostPath: /root/config.json + image: ${KIND_IMAGE}:${KUBECTL_VERSION} role: control-plane - extraPortMappings: - - containerPort: 6443 - hostPort: 6443 - listenAddress: "127.0.0.1" - protocol: TCP -- image: ${KIND_IMAGE}:${KUBECTL_VERSION} + kubeadmConfigPatches: + - | + kind: ClusterConfiguration + apiServer: + certSANs: + - "127.0.0.1" + - "${VSI_IP}" + - "localhost" +- extraMounts: + - containerPath: /var/lib/kubelet/config.json + hostPath: /root/config.json + image: ${KIND_IMAGE}:${KUBECTL_VERSION} role: worker YAML + kind delete cluster --name "${KIND_CLUSTER_NAME}" || true kind create cluster --config=/root/kind-config.yaml -# ------------------------------------------------------------------ -# Configure kubeconfig -# ------------------------------------------------------------------ +############################################################################### +# Export kubeconfig +############################################################################### mkdir -p "$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest" - -kind get kubeconfig --name "${KIND_CLUSTER_NAME}" > \ -"$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" - export KUBECONFIG="$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" +kind get kubeconfig --name "${KIND_CLUSTER_NAME}" > "$KUBECONFIG" +kubectl config use-context "kind-${KIND_CLUSTER_NAME}" + echo "Using kubeconfig:" echo "$KUBECONFIG" -kubectl cluster-info - -kubectl wait \ - --for=condition=Ready \ - node \ - --all \ - --timeout=300s +kubectl config current-context -kubectl get nodes +############################################################################### +# Wait for cluster +############################################################################### -echo "Using kubeconfig: $KUBECONFIG" +echo "Waiting for Kubernetes API..." -kubectl cluster-info +for i in $(seq 1 60); do + if kubectl cluster-info >/dev/null 2>&1; then + break + fi + sleep 5 +done -echo "Waiting for Kubernetes nodes to become Ready..." +echo "Waiting for nodes..." kubectl wait \ --for=condition=Ready \ @@ -587,25 +608,11 @@ kubectl wait \ --all \ --timeout=300s +kubectl cluster-info kubectl get nodes -python3 - <<'EOF' -import os -print("KUBECONFIG =", os.environ.get("KUBECONFIG")) -EOF fi -mkdir -p "$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest" - -kind get kubeconfig --name "${KIND_CLUSTER_NAME}" > \ -"$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" - -export KUBECONFIG="$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" - -echo "KUBECONFIG=$KUBECONFIG" - -kubectl cluster-info -kubectl get nodes ############################################################################### # UNIT TESTS From a31469ed9f64fd7a9c84bb759fd349ad47c02843 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Fri, 10 Jul 2026 19:43:21 +0530 Subject: [PATCH 05/19] Fix GHA build failures --- a/agentstack/agentstack_v0.4.3.patch | 26 +++++++++++++++++---- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 29 ++++-------------------- 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/a/agentstack/agentstack_v0.4.3.patch b/a/agentstack/agentstack_v0.4.3.patch index c2e9495a7f..ea7abd12ac 100644 --- a/a/agentstack/agentstack_v0.4.3.patch +++ b/a/agentstack/agentstack_v0.4.3.patch @@ -1,5 +1,5 @@ diff --git a/agents/chat/pyproject.toml b/agents/chat/pyproject.toml -index 83cfeaf2..c1d6ac99 100644 +index 83cfeaf2..3f0c5761 100644 --- a/agents/chat/pyproject.toml +++ b/agents/chat/pyproject.toml @@ -5,7 +5,7 @@ description = "AI-powered conversational system with memory and tools." @@ -11,7 +11,14 @@ index 83cfeaf2..c1d6ac99 100644 dependencies = [ "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", "tiktoken>=0.12.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) -@@ -20,8 +20,17 @@ dependencies = [ +@@ -15,13 +15,26 @@ dependencies = [ + "openinference-instrumentation-beeai>=0.1.12", + "pydantic-settings>=2.9.0", + "uvicorn>=0.35.0", ++ "grpcio==1.80.0", ++ "grpcio-tools==1.80.0", + ] + [tool.ruff] line-length = 120 @@ -26,6 +33,8 @@ index 83cfeaf2..c1d6ac99 100644 [tool.uv.sources] agentstack-sdk = { path = "../../apps/agentstack-sdk-py", editable = true } +primp = { index = "ibm" } ++grpcio = { index = "ibm" } ++grpcio-tools = { index = "ibm" } [project.scripts] server = "chat.agent:serve" @@ -43,7 +52,7 @@ index b97e2d8a..efa4dc75 100644 "agentstack-sdk", "openinference-instrumentation-beeai>=0.1.13", diff --git a/agents/rag/pyproject.toml b/agents/rag/pyproject.toml -index 8b8c3867..fe2526e0 100644 +index 8b8c3867..f4cfbb5f 100644 --- a/agents/rag/pyproject.toml +++ b/agents/rag/pyproject.toml @@ -5,7 +5,7 @@ description = "TBD" @@ -55,7 +64,14 @@ index 8b8c3867..fe2526e0 100644 dependencies = [ "beeai-framework[duckduckgo,wikipedia,a2a]>=0.1.70", "tiktoken>=0.12.0", # constraint for beeai-framework dependency (first version with musl arm64 wheel) -@@ -22,8 +22,17 @@ dependencies = [ +@@ -17,13 +17,26 @@ dependencies = [ + "tenacity>=9.1.2", + "langchain-text-splitters>=0.3.0", + "uvicorn>=0.35.0", ++ "grpcio==1.80.0", ++ "grpcio-tools==1.80.0", + ] + [tool.ruff] line-length = 120 @@ -70,6 +86,8 @@ index 8b8c3867..fe2526e0 100644 [tool.uv.sources] agentstack-sdk = { path = "../../apps/agentstack-sdk-py", editable = true } +primp = { index = "ibm" } ++grpcio = { index = "ibm" } ++grpcio-tools = { index = "ibm" } [project.scripts] server = "rag.agent:serve" diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 634915612b..6baf698a07 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -33,8 +33,7 @@ PACKAGE_VERSION="${1:-${SCRIPT_PACKAGE_VERSION}}" PGVECTOR_VERSION="${PGVECTOR_VERSION:-v0.7.4}" POSTGRES_VERSION="${POSTGRES_VERSION:-16.4}" -WORKDIR="${WORKDIR:-/root/agentstack}" -BUILD_HOME="${BUILD_HOME:-$(pwd)}" +BUILD_HOME=$(pwd) POSTGRES_INSTALL_DIR="${POSTGRES_INSTALL_DIR:-/local/apps/postgresql/pgsql164}" POSTGRES_DATA_DIR="${POSTGRES_DATA_DIR:-${POSTGRES_INSTALL_DIR}/data}" @@ -65,14 +64,7 @@ echo "========================================================================== echo "Installing system dependencies" echo "==============================================================================" -# Ensure /tmp has correct permissions -mkdir -p /tmp -chmod 1777 /tmp - -dnf install -y wget - ret=0 -dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms || ret=$? if [ $ret -ne 0 ]; then dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os @@ -83,6 +75,7 @@ if [ $ret -ne 0 ]; then fi dnf install -y \ + wget \ git \ curl-devel \ gcc \ @@ -100,16 +93,12 @@ dnf install -y \ ca-certificates \ dnf-plugins-core \ libpq-devel \ - python3 \ - python3-devel \ zlib-devel \ libicu-devel \ libjpeg-turbo-devel \ libjpeg-turbo \ postgresql \ postgresql-devel \ - python3.12-devel \ - python3.12-pip \ freetype-devel \ freetype \ libpng-devel @@ -302,17 +291,11 @@ echo "========================================================================== echo "Cloning AgentStack" echo "==============================================================================" -mkdir -p "${WORKDIR}" -cd "${WORKDIR}" - -if [ ! -d agentstack ]; then - git clone "${PACKAGE_URL}" -fi - +cd "${BUILD_HOME}" +git clone "${PACKAGE_URL}" cd $PACKAGE_NAME -git fetch --all --tags git checkout "${PACKAGE_VERSION}" -AGENTSTACK_ROOT="${WORKDIR}/agentstack" +AGENTSTACK_ROOT="${BUILD_HOME}/agentstack" wget https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch #wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch @@ -333,8 +316,6 @@ echo "========================================================================== cd "${AGENTSTACK_ROOT}/apps/agentstack-sdk-py" uv python install 3.12 -#uv venv --python 3.12 -#source .venv/bin/activate deactivate 2>/dev/null || true unset VIRTUAL_ENV hash -r From 457886454ce8d994b5c10d6d86ce5c5f014be163 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Fri, 10 Jul 2026 20:24:18 +0530 Subject: [PATCH 06/19] Update agentstack_v0.4.3_ubi9.7.sh --- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 6baf698a07..96620edcfe 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -65,6 +65,7 @@ echo "Installing system dependencies" echo "==============================================================================" ret=0 +dnf config-manager --set-enabled codeready-builder-for-rhel-9-$(arch)-rpms || ret=$? if [ $ret -ne 0 ]; then dnf config-manager --add-repo https://mirror.stream.centos.org/9-stream/CRB/ppc64le/os @@ -677,4 +678,4 @@ echo "pgvector version : ${PGVECTOR_VERSION}" echo "KinD setup : ${RUN_KIND_SETUP}" echo "Unit tests : ${RUN_UNIT_TESTS}" echo "Integration tests : ${RUN_INTEGRATION_TESTS}" -echo "==============================================================================" \ No newline at end of file +echo "==============================================================================" From 93e9863783ccf7477a25fe8bb7a8d540cc13b625 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Mon, 13 Jul 2026 10:39:55 +0530 Subject: [PATCH 07/19] Update agentstack_v0.4.3_ubi9.7.sh --- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 6baf698a07..fc5e7b4423 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -265,7 +265,7 @@ echo "Resetting PostgreSQL credentials" echo "==============================================================================" su - postgres -c "${POSTGRES_INSTALL_DIR}/bin/psql postgres <<'SQL' -ALTER ROLE "agentstack-user" +ALTER ROLE \"agentstack-user\" WITH LOGIN PASSWORD 'agentstack'; SQL " @@ -477,7 +477,8 @@ EOF ############################################################################### export PERSISTENCE__DB_URL="postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack" export DATABASE_URL="$PERSISTENCE__DB_URL" -export DB_URL="postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack" +#export DB_URL="postgresql+asyncpg://agentstack-user:agentstack@localhost:5433/agentstack" +export DB_URL="postgresql+asyncpg://agentstack-user:agentstack@127.0.0.1:5433/agentstack" python3 - <<'EOF' import os From e8824aeb1881e30246f3a33d247aa3a296b61898 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Mon, 13 Jul 2026 22:35:50 +0530 Subject: [PATCH 08/19] Update agentstack_v0.4.3_ubi9.7.sh --- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 53ace6b32f..033b975708 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -552,7 +552,7 @@ nodes: YAML - kind delete cluster --name "${KIND_CLUSTER_NAME}" || true + # kind delete cluster --name "${KIND_CLUSTER_NAME}" || true kind create cluster --config=/root/kind-config.yaml ############################################################################### From d0799500b497c15cd1c501941b9549d3fb08408d Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Tue, 14 Jul 2026 17:33:01 +0530 Subject: [PATCH 09/19] Update agentstack_v0.4.3_ubi9.7.sh updating the kind, unit and integration test cases setup flags --- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 033b975708..8df5f48cc3 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -44,9 +44,9 @@ POSTGRES_SRC_DIR="postgresql-${POSTGRES_VERSION}" PGVECTOR_REPO_URL="https://github.com/pgvector/pgvector.git" -RUN_KIND_SETUP="${RUN_KIND_SETUP:-true}" -RUN_UNIT_TESTS="${RUN_UNIT_TESTS:-true}" -RUN_INTEGRATION_TESTS="${RUN_INTEGRATION_TESTS:-true}" +RUN_KIND_SETUP="${RUN_KIND_SETUP:-false}" +RUN_UNIT_TESTS="${RUN_UNIT_TESTS:-false}" +RUN_INTEGRATION_TESTS="${RUN_INTEGRATION_TESTS:-false}" KIND_CLUSTER_NAME="${KIND_CLUSTER_NAME:-mkpod}" KIND_IMAGE="${KIND_IMAGE:-quay.io/powercloud/kind-node}" From a893c53790d44f1562aec1464fa7882746bb6a08 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Tue, 14 Jul 2026 17:44:14 +0530 Subject: [PATCH 10/19] Update agentstack_v0.4.3_ubi9.7.sh --- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 168 ++++++++++++----------- 1 file changed, 85 insertions(+), 83 deletions(-) diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index 8df5f48cc3..eec70fc0b4 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -44,6 +44,7 @@ POSTGRES_SRC_DIR="postgresql-${POSTGRES_VERSION}" PGVECTOR_REPO_URL="https://github.com/pgvector/pgvector.git" +# These parameters have been set to false as the setup requires the usage of docker socket which is currently not working on GHA container RUN_KIND_SETUP="${RUN_KIND_SETUP:-false}" RUN_UNIT_TESTS="${RUN_UNIT_TESTS:-false}" RUN_INTEGRATION_TESTS="${RUN_INTEGRATION_TESTS:-false}" @@ -499,9 +500,9 @@ uv run migrate ############################################################################### if [ "${RUN_KIND_SETUP}" = "true" ]; then - echo "==============================================================================" - echo "Setting up KinD cluster" - echo "==============================================================================" + # echo "==============================================================================" + # echo "Setting up KinD cluster" + # echo "==============================================================================" cd "${BUILD_HOME}" @@ -520,36 +521,36 @@ if [ "${RUN_KIND_SETUP}" = "true" ]; then VSI_IP=$(ip -4 route show default | awk '{print $3}') -KIND_IMAGE='quay.io/powercloud/kind-node' -KIND_CLUSTER_NAME='mkpod' - -cat < /root/kind-config.yaml -apiVersion: kind.x-k8s.io/v1alpha4 -kind: Cluster -name: ${KIND_CLUSTER_NAME} -networking: - apiServerAddress: "${VSI_IP}" - apiServerPort: 6443 -nodes: -- extraMounts: - - containerPath: /var/lib/kubelet/config.json - hostPath: /root/config.json - image: ${KIND_IMAGE}:${KUBECTL_VERSION} - role: control-plane - kubeadmConfigPatches: - - | - kind: ClusterConfiguration - apiServer: - certSANs: - - "127.0.0.1" - - "${VSI_IP}" - - "localhost" -- extraMounts: - - containerPath: /var/lib/kubelet/config.json - hostPath: /root/config.json - image: ${KIND_IMAGE}:${KUBECTL_VERSION} - role: worker -YAML + KIND_IMAGE='quay.io/powercloud/kind-node' + KIND_CLUSTER_NAME='mkpod' + + cat < /root/kind-config.yaml + apiVersion: kind.x-k8s.io/v1alpha4 + kind: Cluster + name: ${KIND_CLUSTER_NAME} + networking: + apiServerAddress: "${VSI_IP}" + apiServerPort: 6443 + nodes: + - extraMounts: + - containerPath: /var/lib/kubelet/config.json + hostPath: /root/config.json + image: ${KIND_IMAGE}:${KUBECTL_VERSION} + role: control-plane + kubeadmConfigPatches: + - | + kind: ClusterConfiguration + apiServer: + certSANs: + - "127.0.0.1" + - "${VSI_IP}" + - "localhost" + - extraMounts: + - containerPath: /var/lib/kubelet/config.json + hostPath: /root/config.json + image: ${KIND_IMAGE}:${KUBECTL_VERSION} + role: worker + YAML # kind delete cluster --name "${KIND_CLUSTER_NAME}" || true @@ -574,25 +575,25 @@ kubectl config current-context # Wait for cluster ############################################################################### -echo "Waiting for Kubernetes API..." +# echo "Waiting for Kubernetes API..." -for i in $(seq 1 60); do - if kubectl cluster-info >/dev/null 2>&1; then - break - fi - sleep 5 -done +# for i in $(seq 1 60); do +# if kubectl cluster-info >/dev/null 2>&1; then +# break +# fi +# sleep 5 +# done -echo "Waiting for nodes..." +# echo "Waiting for nodes..." -kubectl wait \ - --for=condition=Ready \ - node \ - --all \ - --timeout=300s +#kubectl wait \ +# --for=condition=Ready \ +# node \ +# --all \ +# --timeout=300s -kubectl cluster-info -kubectl get nodes +# kubectl cluster-info +# kubectl get nodes fi @@ -601,11 +602,11 @@ fi # UNIT TESTS ############################################################################### -echo "==============================================================================" -echo "Running Unit Tests" -echo "==============================================================================" +# echo "==============================================================================" +# echo "Running Unit Tests" +# echo "==============================================================================" -cd "${SERVER_DIR}" +# cd "${SERVER_DIR}" if [ "${RUN_UNIT_TESTS}" = "true" ]; then if ! uv run pytest tests/unit -v; then @@ -620,43 +621,43 @@ fi # INTEGRATION TESTS ############################################################################### -echo "==============================================================================" -echo "Checking database connectivity before tests" -echo "==============================================================================" +# echo "==============================================================================" +# echo "Checking database connectivity before tests" +# echo "==============================================================================" -PGPASSWORD=agentstack \ -${POSTGRES_INSTALL_DIR}/bin/psql \ --h localhost \ --p 5433 \ --U agentstack-user \ --d agentstack \ --c "select current_database(), current_user;" - -uv run python - <<'EOF' -import asyncio -import asyncpg - -async def main(): - conn = await asyncpg.connect( - host="localhost", - port=5433, - user="agentstack-user", - password="agentstack", - database="agentstack", - ) - print(await conn.fetchval("select version()")) - await conn.close() - -asyncio.run(main()) -EOF +# PGPASSWORD=agentstack \ +# ${POSTGRES_INSTALL_DIR}/bin/psql \ +# -h localhost \ +# -p 5433 \ +# -U agentstack-user \ +# -d agentstack \ +# -c "select current_database(), current_user;" + +# uv run python - <<'EOF' +# import asyncio +# import asyncpg + +# async def main(): +# conn = await asyncpg.connect( +# host="localhost", +# port=5433, +# user="agentstack-user", +# password="agentstack", +# database="agentstack", +# ) +# print(await conn.fetchval("select version()")) +# await conn.close() + +# asyncio.run(main()) +# EOF ############################################################################### # INTEGRATION TESTS ############################################################################### -echo "==============================================================================" -echo "Running Integration Tests" -echo "==============================================================================" +# echo "==============================================================================" +# echo "Running Integration Tests" +# echo "==============================================================================" if [ "${RUN_INTEGRATION_TESTS}" = "true" ]; then if ! uv run pytest tests/integration -v -m integration; then @@ -676,6 +677,7 @@ echo "AgentStack build/setup completed successfully" echo "AgentStack version : ${PACKAGE_VERSION}" echo "PostgreSQL version : ${POSTGRES_VERSION}" echo "pgvector version : ${PGVECTOR_VERSION}" +echo "These parameters have been set to false as the setup requires the usage of docker socket which is currently not working on GHA container. PFA logs in the GHtask." echo "KinD setup : ${RUN_KIND_SETUP}" echo "Unit tests : ${RUN_UNIT_TESTS}" echo "Integration tests : ${RUN_INTEGRATION_TESTS}" From 6eceee5a4c34c05853248efd9b54f40b28c74857 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Wed, 15 Jul 2026 11:04:57 +0530 Subject: [PATCH 11/19] Update agentstack_v0.4.3_ubi9.7.sh --- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 110 +++++++++++------------ 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index eec70fc0b4..ae60452d50 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -499,62 +499,62 @@ uv run migrate # KIND SETUP ############################################################################### -if [ "${RUN_KIND_SETUP}" = "true" ]; then +# if [ "${RUN_KIND_SETUP}" = "true" ]; then # echo "==============================================================================" # echo "Setting up KinD cluster" # echo "==============================================================================" - cd "${BUILD_HOME}" - - rm -rf kind - git clone https://github.com/kubernetes-sigs/kind.git - cd kind - make build - cp "${BUILD_HOME}/kind/bin/kind" /usr/local/bin/kind - chmod +x /usr/local/bin/kind - - cd "${BUILD_HOME}" - curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/ppc64le/kubectl" - chmod +x kubectl - mv kubectl /usr/local/bin/ - kubectl version --client - - VSI_IP=$(ip -4 route show default | awk '{print $3}') - - KIND_IMAGE='quay.io/powercloud/kind-node' - KIND_CLUSTER_NAME='mkpod' - - cat < /root/kind-config.yaml - apiVersion: kind.x-k8s.io/v1alpha4 - kind: Cluster - name: ${KIND_CLUSTER_NAME} - networking: - apiServerAddress: "${VSI_IP}" - apiServerPort: 6443 - nodes: - - extraMounts: - - containerPath: /var/lib/kubelet/config.json - hostPath: /root/config.json - image: ${KIND_IMAGE}:${KUBECTL_VERSION} - role: control-plane - kubeadmConfigPatches: - - | - kind: ClusterConfiguration - apiServer: - certSANs: - - "127.0.0.1" - - "${VSI_IP}" - - "localhost" - - extraMounts: - - containerPath: /var/lib/kubelet/config.json - hostPath: /root/config.json - image: ${KIND_IMAGE}:${KUBECTL_VERSION} - role: worker - YAML + # cd "${BUILD_HOME}" + + # rm -rf kind + # git clone https://github.com/kubernetes-sigs/kind.git + # cd kind + # make build + # cp "${BUILD_HOME}/kind/bin/kind" /usr/local/bin/kind + # chmod +x /usr/local/bin/kind + + # cd "${BUILD_HOME}" + # curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/ppc64le/kubectl" + # chmod +x kubectl + # mv kubectl /usr/local/bin/ + # kubectl version --client + + # VSI_IP=$(ip -4 route show default | awk '{print $3}') + + # KIND_IMAGE='quay.io/powercloud/kind-node' + # KIND_CLUSTER_NAME='mkpod' + + # cat < /root/kind-config.yaml + # apiVersion: kind.x-k8s.io/v1alpha4 + # kind: Cluster + # name: ${KIND_CLUSTER_NAME} + # networking: + # apiServerAddress: "${VSI_IP}" + # apiServerPort: 6443 + # nodes: + # - extraMounts: + # - containerPath: /var/lib/kubelet/config.json + # hostPath: /root/config.json + # image: ${KIND_IMAGE}:${KUBECTL_VERSION} + # role: control-plane + # kubeadmConfigPatches: + # - | + # kind: ClusterConfiguration + # apiServer: + # certSANs: + # - "127.0.0.1" + # - "${VSI_IP}" + # - "localhost" + # - extraMounts: + # - containerPath: /var/lib/kubelet/config.json + # hostPath: /root/config.json + # image: ${KIND_IMAGE}:${KUBECTL_VERSION} + # role: worker + # YAML # kind delete cluster --name "${KIND_CLUSTER_NAME}" || true - kind create cluster --config=/root/kind-config.yaml + # kind create cluster --config=/root/kind-config.yaml ############################################################################### # Export kubeconfig @@ -563,13 +563,13 @@ if [ "${RUN_KIND_SETUP}" = "true" ]; then mkdir -p "$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest" export KUBECONFIG="$HOME/.agentstack/docker/agentstack-local-test/copied-from-guest/kubeconfig.yaml" -kind get kubeconfig --name "${KIND_CLUSTER_NAME}" > "$KUBECONFIG" -kubectl config use-context "kind-${KIND_CLUSTER_NAME}" +# kind get kubeconfig --name "${KIND_CLUSTER_NAME}" > "$KUBECONFIG" +# kubectl config use-context "kind-${KIND_CLUSTER_NAME}" -echo "Using kubeconfig:" -echo "$KUBECONFIG" +# echo "Using kubeconfig:" +# echo "$KUBECONFIG" -kubectl config current-context +# kubectl config current-context ############################################################################### # Wait for cluster @@ -595,7 +595,7 @@ kubectl config current-context # kubectl cluster-info # kubectl get nodes -fi +# fi ############################################################################### From d625a5aff4f46f80f29e96474b730c6c50930f94 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Wed, 15 Jul 2026 12:40:13 +0530 Subject: [PATCH 12/19] Update build_info.json --- a/agentstack/build_info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/a/agentstack/build_info.json b/a/agentstack/build_info.json index 108b3fb353..4272752528 100644 --- a/a/agentstack/build_info.json +++ b/a/agentstack/build_info.json @@ -10,7 +10,7 @@ "use_non_root_user": false, "validate_build_script":true, "docker_build": true, - "docker_cmd": "docker build -f ${dir}/Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", + "docker_cmd": "docker build -f ${dir}/${package_name}-server.Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", "wheel_build" : true, "v0.4.3": { "build_script": "agentstack_v0.4.3_ubi9.7.sh", @@ -21,4 +21,4 @@ "*": { "build_script": "agentstack_v0.4.3_ubi9.7.sh" } -} \ No newline at end of file +} From 4e23794583454f26381f3138c99424b85554a0f8 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Thu, 16 Jul 2026 10:43:35 +0530 Subject: [PATCH 13/19] Update build_info.json --- a/agentstack/build_info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/a/agentstack/build_info.json b/a/agentstack/build_info.json index 4272752528..b94ecfc779 100644 --- a/a/agentstack/build_info.json +++ b/a/agentstack/build_info.json @@ -11,7 +11,7 @@ "validate_build_script":true, "docker_build": true, "docker_cmd": "docker build -f ${dir}/${package_name}-server.Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", - "wheel_build" : true, + "wheel_build" : false, "v0.4.3": { "build_script": "agentstack_v0.4.3_ubi9.7.sh", "dir": "v0.4.3", From e4fe743b7244836ba3395f7354eb274eb6e88c45 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Thu, 16 Jul 2026 15:45:44 +0530 Subject: [PATCH 14/19] Delete a/agentstack/Dockerfiles/.DS_Store --- a/agentstack/Dockerfiles/.DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 a/agentstack/Dockerfiles/.DS_Store diff --git a/a/agentstack/Dockerfiles/.DS_Store b/a/agentstack/Dockerfiles/.DS_Store deleted file mode 100644 index 01977cbfebbfe8dd965ffd75bb77f6b12468c68a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMU2GIp6u#fIw0G%1r_f4akX^ed1X|dZ0wNl>?V^A!Eo@7FD75=C!oYNskXXfXOD{w6*d1$k02zKAgp^ihijV|*~t`12q}Urc!L%-mV9E%;!J5uKaNJ@=k_ z&%O7Y`M#Mwvy3sc=Ch5A)iTC7U9MCrsJcdR$K7j2k$g=lNsv8btJs?Km_3>{tn`f8 zfg*@N5P={9K?H&b1QGZ*M1bDeZsFH??~Bo(4k8dl;C~qb_xTW^%aw6oP6+8eI;iqe z0FrJB;1z099^lzTd>QxUgpi&ottqkx_@?kv3e|?lQr%{mPD(emoM)hCHJUQmtD9MCtkue!S=+Ns ziUA(tp&@0#_;_P;ePm7J`Xlv`@eNI}`bhJdbw`ebcujQm#vMZkj1kj1D!hRIBw%x< zdG+LUmkhhmCO%1&B#SP6QFJLZyF#9$_V)D;$b&=5yaJuQbJWo-)847&Y?4DtrA~c=V%8VcWlN` z-+*o9oHlQDCUAU-HU92uC z4vC3Z4Y?BKefhNhKwftaP0mxQDrL1U8sf^^gIPLYhn01A%6cQJTDOezU9P?@r%^4` zvbwUK3{u@T`5~5&V~wGZVs{@PBnVS^?K&P(vOPvBtr@=Rj*XE&n}_-` z*2oAsX$zg&mf&1DzsKFUJ!Lzcqndf;NNt-rAF%hOa$4sY;jn1Y&bfC}N$;9$%Ic1l z6Va$syEyN67i-C8X`RZ2i)wcyRh4d!ZWeSxJ>60Pe&rL+d9-+IqVW}?89k#7do2;@ zXguam;p}GC#1gEX4YM2@XUEuac7nad&a!jt0{e=6&wgRQ0VqQ`W}^btSd2Qe z-M&A*kPcB}$`gd>=6?Z{PFjA~{SQ^Y1LQ<&lmGw# From c1bc0192f1f095607db88d1b3f5aea1dfeb51bc5 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Thu, 16 Jul 2026 15:48:30 +0530 Subject: [PATCH 15/19] Update build_info.json --- a/agentstack/build_info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/a/agentstack/build_info.json b/a/agentstack/build_info.json index b94ecfc779..c996856830 100644 --- a/a/agentstack/build_info.json +++ b/a/agentstack/build_info.json @@ -10,13 +10,13 @@ "use_non_root_user": false, "validate_build_script":true, "docker_build": true, - "docker_cmd": "docker build -f ${dir}/${package_name}-server.Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", + "docker_cmd": "docker build -f ${dir}/agentstack-server.Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", "wheel_build" : false, "v0.4.3": { "build_script": "agentstack_v0.4.3_ubi9.7.sh", "dir": "v0.4.3", - "base_docker_image": "ubi", - "base_docker_variant": "9.7" + "base_docker_image": "ubi-minimal", + "base_docker_variant": "9.8" }, "*": { "build_script": "agentstack_v0.4.3_ubi9.7.sh" From 01c3504075b20f3d1f8ad19cad39e61446a499e3 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Thu, 16 Jul 2026 17:52:32 +0530 Subject: [PATCH 16/19] Update and rename agentstack-server.Dockerfile to Dockerfile --- .../v0.4.3/{agentstack-server.Dockerfile => Dockerfile} | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename a/agentstack/Dockerfiles/v0.4.3/{agentstack-server.Dockerfile => Dockerfile} (98%) diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-server.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile similarity index 98% rename from a/agentstack/Dockerfiles/v0.4.3/agentstack-server.Dockerfile rename to a/agentstack/Dockerfiles/v0.4.3/Dockerfile index e456d24d4a..08b4d687a1 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/agentstack-server.Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile @@ -1,3 +1,4 @@ +# Agentstack Server Dockerfile ############################################################ # STAGE 1 - Builder ############################################################ @@ -223,4 +224,4 @@ RUN rm -rf \ WORKDIR /app/apps/agentstack-server -CMD ["/app/apps/agentstack-server/.venv/bin/agentstack-server"] \ No newline at end of file +CMD ["/app/apps/agentstack-server/.venv/bin/agentstack-server"] From b59a5f750df5c04d579da41f731517fcda973298 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Thu, 16 Jul 2026 17:53:18 +0530 Subject: [PATCH 17/19] Update build_info.json --- a/agentstack/build_info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/a/agentstack/build_info.json b/a/agentstack/build_info.json index c996856830..1d91f42725 100644 --- a/a/agentstack/build_info.json +++ b/a/agentstack/build_info.json @@ -10,7 +10,7 @@ "use_non_root_user": false, "validate_build_script":true, "docker_build": true, - "docker_cmd": "docker build -f ${dir}/agentstack-server.Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", + "docker_cmd": "docker build -f ${dir}/Dockerfile -t ${package_name}-ppc64le:${PACKAGE_VERSION} .", "wheel_build" : false, "v0.4.3": { "build_script": "agentstack_v0.4.3_ubi9.7.sh", From e33a00a15c35b561a2ed7d8d40c12761a96aaaf2 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Fri, 17 Jul 2026 09:58:46 +0530 Subject: [PATCH 18/19] Final changes --- a/agentstack/Dockerfiles/v0.4.3/Dockerfile | 4 +--- a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile | 4 +--- a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile | 4 +--- a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile | 4 +--- a/agentstack/agentstack_v0.4.3_ubi9.7.sh | 3 +-- 5 files changed, 5 insertions(+), 14 deletions(-) diff --git a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile index 08b4d687a1..128b8a75d8 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/Dockerfile @@ -115,9 +115,7 @@ RUN git fetch --all --tags && \ # Apply patch ############################################################ -#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch - -RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch && \ git apply /tmp/agentstack.patch ############################################################ diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile index 4378118008..a1c0200186 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile @@ -59,9 +59,7 @@ RUN git fetch --all --tags && \ # Apply patch ############################################################ -#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch - -RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch && \ git apply /tmp/agentstack.patch ############################################################ diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile index d2cfe044b2..61e93a4b1c 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile @@ -58,9 +58,7 @@ RUN git apply /tmp/agentstack.patch || true # Apply your patch ############################################################ -#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch - -RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch && \ git apply /tmp/agentstack.patch diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile index d88075adc6..f2835b1cf2 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile @@ -60,9 +60,7 @@ RUN git fetch --all --tags && \ # Apply patch ############################################################ -#RUN wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch - -RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch && \ +RUN wget -O /tmp/agentstack.patch https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch && \ git apply /tmp/agentstack.patch ############################################################ diff --git a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh index ae60452d50..23bb20d552 100644 --- a/a/agentstack/agentstack_v0.4.3_ubi9.7.sh +++ b/a/agentstack/agentstack_v0.4.3_ubi9.7.sh @@ -299,8 +299,7 @@ cd $PACKAGE_NAME git checkout "${PACKAGE_VERSION}" AGENTSTACK_ROOT="${BUILD_HOME}/agentstack" -wget https://raw.githubusercontent.com/Simran-Sirsat/build-scripts/agentstack/a/agentstack/agentstack_v0.4.3.patch -#wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/agentstack/agentstack_v0.4.3.patch git apply agentstack_v0.4.3.patch From cdef6a7efdea9833b7403d9a0e741ce638f18c96 Mon Sep 17 00:00:00 2001 From: Simran Sirsat Date: Thu, 23 Jul 2026 17:28:54 +0530 Subject: [PATCH 19/19] fixing errors after Dockerfile verification --- a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile | 1 + a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile | 5 +---- a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile | 1 + 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile index a1c0200186..0b4943c1a9 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-chat.Dockerfile @@ -23,6 +23,7 @@ RUN microdnf update -y && \ git \ tar \ gcc \ + wget \ gcc-c++ \ cmake \ make \ diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile index 61e93a4b1c..b13ba802f1 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-form.Dockerfile @@ -21,6 +21,7 @@ RUN microdnf update -y && \ microdnf install -y \ git \ tar \ + wget \ gcc \ gcc-c++ \ make \ @@ -50,10 +51,6 @@ RUN git clone https://github.com/i-am-bee/agentstack.git . RUN git fetch --all --tags && \ git checkout ${AGENTSTACK_VERSION} -COPY agentstack_v0.4.3.patch /tmp/agentstack.patch - -RUN git apply /tmp/agentstack.patch || true - ############################################################ # Apply your patch ############################################################ diff --git a/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile b/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile index f2835b1cf2..616a61a9cb 100644 --- a/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile +++ b/a/agentstack/Dockerfiles/v0.4.3/agentstack-rag.Dockerfile @@ -24,6 +24,7 @@ RUN microdnf update -y && \ git \ tar \ gcc \ + wget \ gcc-c++ \ cmake \ make \