Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ config/
docs/
hack/
images/
!images/agent-base/goose-src/
skills/
test/
changes/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/image-build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ jobs:
registry: "quay.io/konveyor"
image_name: skills
containerfile: catalog/Containerfile
context: catalog
context: .
architectures: '["amd64"]'
secrets:
registry_username: ${{ vars.QUAY_USERNAME }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

- name: Build and upload agent-base artifact
uses: konveyor/ci/build-image@e45ec039d03d41be52ae0c9abef260ee3ae8172a # main
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "images/agent-base/goose-src"]
path = images/agent-base/goose-src
url = https://github.com/aaif-goose/goose
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ SKILL_IMAGE ?= quay.io/konveyor/skills:latest

.PHONY: skill-build
skill-build: ## Build the skill bundle image.
$(CONTAINER_TOOL) build -t $(SKILL_IMAGE) -f catalog/Containerfile catalog
$(CONTAINER_TOOL) build -t $(SKILL_IMAGE) -f catalog/Containerfile .

.PHONY: skill-push
skill-push: skill-build ## Build and push the skill bundle image.
Expand Down
4 changes: 2 additions & 2 deletions catalog/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# the single-skill shape live in catalog/examples/ and are deliberately
# outside this build context, so they never ship in the bundle.
#
# podman build -t quay.io/konveyor/skills:dev -f catalog/Containerfile catalog
# podman build -t quay.io/konveyor/skills:dev -f catalog/Containerfile .
#
# The repository's own maintainer workflow skills (grill-me, submit-pr, …)
# live in the top-level skills/ directory, not here, so they cannot leak
Expand All @@ -22,7 +22,7 @@ FROM scratch
# subdirectory (plan, execute, verify, javaee-to-quarkus) becomes one skill
# at /<name>/SKILL.md. Because catalog/skills holds only shipped skills,
# this needs no per-skill allowlist.
COPY skills/ /
COPY catalog/skills/ /

LABEL org.opencontainers.image.title="konveyor-skills" \
org.opencontainers.image.description="Konveyor migration skills (AgentSkills.io format)" \
Expand Down
34 changes: 14 additions & 20 deletions images/agent-base/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,28 @@
# --- Build stage ---
FROM golang:1.26 AS builder

# Goose CLI build deps
# Goose CLI build deps (Debian/Ubuntu for local builds; ocp-build-data replaces with dnf for RHEL)
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
&& apt-get update && apt-get install -y \
build-essential \
git \
cmake \
pkg-config \
libssl-dev \
libclang-dev \
clang \
libdbus-1-dev \
libxcb1-dev \
perl \
&& apt-get update && apt-get install -y build-essential git cmake pkg-config libssl-dev libclang-dev clang libdbus-1-dev libxcb1-dev perl \
&& rm -rf /var/lib/apt/lists/*

ENV PATH="/root/.cargo/bin:${PATH}"

# Build goose from source (BUILDING_LINUX.md)
ARG GOOSE_VERSION=v1.45.0
# Build goose from the submodule source (images/agent-base/goose-src/).
# Run `git submodule update --init images/agent-base/goose-src` before building locally.
WORKDIR /src/goose
RUN git clone https://github.com/aaif-goose/goose.git . \
&& git checkout ${GOOSE_VERSION} \
&& cargo build --release -p goose-cli --bin goose \
COPY images/agent-base/goose-src/ .
RUN cargo build --release -p goose-cli --bin goose \
&& mv target/release/goose /usr/local/bin/goose

# The harness replaces github.com/konveyor/agentic-controller/api with ../api,
# so that module has to be in the image at the path the replace names, laid out
# the same way it is in the repository. Manifests first, so the download layer
# still caches on go.mod alone.
WORKDIR /src/harness
COPY api/go.mod api/go.sum /src/api/
COPY harness/go.mod harness/go.sum ./
RUN go mod download
COPY api/ /src/api/
COPY harness/cmd/ cmd/
COPY harness/internal/ internal/
Expand All @@ -51,9 +42,12 @@ RUN dnf install -y \
ca-certificates \
bzip2 \
tar \
python3.11 \
python3.11-pip \
&& python3.11 -m pip install --no-cache-dir --no-index --find-links /cachi2/output/deps/pip/ graphifyy==0.7.17 \
python3-pip \
&& if [ -d /cachi2/output/deps/pip ]; then \
python3 -m pip install --no-cache-dir --no-index --find-links /cachi2/output/deps/pip/ graphifyy==0.7.17; \
else \
python3 -m pip install --no-cache-dir graphifyy==0.7.17; \
fi \
&& dnf clean all

ENV PYTHONUNBUFFERED=1
Expand Down
1 change: 1 addition & 0 deletions images/agent-base/goose-src
Submodule goose-src added at 4dc042
Loading