Skip to content
Open
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
12 changes: 6 additions & 6 deletions .github/workflows/images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,19 @@ jobs:
if: github.event_name != 'pull_request'
run: make controller-agent-push

agent-java-goose:
agent-images:
permissions:
contents: read
name: Build Java migration agent image
name: Build stage agent images
runs-on: ubuntu-latest
steps:
- name: Clone the code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- name: Build image
run: make agent-java-goose-build
- name: Build images
run: make agent-images-build

- name: Log in to Quay.io
if: github.event_name != 'pull_request'
Expand All @@ -75,9 +75,9 @@ jobs:
username: ${{ vars.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }}

- name: Push image
- name: Push images
if: github.event_name != 'pull_request'
run: make agent-java-goose-push
run: make agent-images-push

controller:
permissions:
Expand Down
41 changes: 34 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,11 @@ lint-config: golangci-lint ## Verify golangci-lint linter configuration
##@ Build

CONTROLLER_AGENT_IMG ?= quay.io/konveyor/agentic-controller-agent:latest
AGENT_JAVA_GOOSE_IMG ?= quay.io/konveyor/agent-base-goose-java:latest
AGENT_BASE_IMG ?= quay.io/konveyor/agent-base:latest
AGENT_JAVA_IMG ?= quay.io/konveyor/agent-java:latest
AGENT_GO_IMG ?= quay.io/konveyor/agent-go:latest
AGENT_CSHARP_IMG ?= quay.io/konveyor/agent-csharp:latest
AGENT_NODEJS_IMG ?= quay.io/konveyor/agent-nodejs:latest

.PHONY: build
build: manifests generate fmt vet ## Build manager binary.
Expand All @@ -114,13 +118,36 @@ controller-agent-build: ## Build the controller's test/verification agent image.
controller-agent-push: controller-agent-build ## Build and push the controller's test/verification agent image.
$(CONTAINER_TOOL) push $(CONTROLLER_AGENT_IMG)

.PHONY: agent-java-goose-build
agent-java-goose-build: ## Build the Java migration agent image (Goose + JDK 21 + harness).
$(CONTAINER_TOOL) build -t $(AGENT_JAVA_GOOSE_IMG) -f images/agent-base-goose-java/Containerfile .
.PHONY: agent-base-build
agent-base-build: ## Build the base agent image (goose + git + Python + graphify + harness binary).
$(CONTAINER_TOOL) build -t $(AGENT_BASE_IMG) -f images/agent-base/Containerfile .

.PHONY: agent-java-goose-push
agent-java-goose-push: agent-java-goose-build ## Build and push the Java migration agent image.
$(CONTAINER_TOOL) push $(AGENT_JAVA_GOOSE_IMG)
.PHONY: agent-java-build
agent-java-build: agent-base-build ## Build the Java agent image (JDK 21 + Maven).
$(CONTAINER_TOOL) build -t $(AGENT_JAVA_IMG) -f images/agent-java/Containerfile .

.PHONY: agent-go-build
agent-go-build: agent-base-build ## Build the Go agent image.
$(CONTAINER_TOOL) build -t $(AGENT_GO_IMG) -f images/agent-go/Containerfile .

.PHONY: agent-csharp-build
agent-csharp-build: agent-base-build ## Build the C# agent image (.NET SDK).
$(CONTAINER_TOOL) build -t $(AGENT_CSHARP_IMG) -f images/agent-csharp/Containerfile .

.PHONY: agent-nodejs-build
agent-nodejs-build: agent-base-build ## Build the Node.js agent image.
$(CONTAINER_TOOL) build -t $(AGENT_NODEJS_IMG) -f images/agent-nodejs/Containerfile .

.PHONY: agent-images-build
agent-images-build: agent-java-build agent-go-build agent-csharp-build agent-nodejs-build ## Build all agent images.

.PHONY: agent-images-push
agent-images-push: agent-images-build ## Build and push all agent images.
$(CONTAINER_TOOL) push $(AGENT_BASE_IMG)
$(CONTAINER_TOOL) push $(AGENT_JAVA_IMG)
$(CONTAINER_TOOL) push $(AGENT_GO_IMG)
$(CONTAINER_TOOL) push $(AGENT_CSHARP_IMG)
$(CONTAINER_TOOL) push $(AGENT_NODEJS_IMG)

.PHONY: run
run: manifests generate fmt vet ## Run a controller from your host.
Expand Down
5 changes: 5 additions & 0 deletions changes/unreleased/53-harness-thin-runner.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
kind: enhancement

description: >
Rewrite harness as thin single-stage runner with SkillCard-based skills,
filesystem watcher for incremental commits, and per-stage container images.
2 changes: 2 additions & 0 deletions config/samples/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
# These provide out-of-the-box migration skills backed by
# OCI images pushed to quay.io/konveyor/skills/.
resources:
- skillcard_javax_to_jakarta_ee.yaml
- skillcard_maven_migration.yaml
- skillcard_no_javax_imports.yaml
- skillcard_ejb_to_cdi.yaml
- skillcard_javaee_to_quarkus.yaml
- skillcollection_java_migration.yaml
#+kubebuilder:scaffold:manifestskustomizesamples
18 changes: 18 additions & 0 deletions config/samples/skillcard_javaee_to_quarkus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: konveyor.io/v1alpha1
kind: SkillCard
metadata:
name: javaee-to-quarkus
spec:
image: quay.io/konveyor/skills:javaee-to-quarkus
displayName: Java EE to Quarkus Migration
version: "1.0.0"
description: >
Migrates Java EE 7/8 applications (WebLogic, JBoss, WildFly) to Quarkus 3.
Covers EJB-to-CDI, JMS/MDB-to-SmallRye Reactive Messaging, WAR-to-JAR packaging,
persistence.xml-to-application.properties, JNDI removal, and server lifecycle replacement.
type: skill
tags:
- java
- javaee
- quarkus
- migration
18 changes: 18 additions & 0 deletions config/samples/skillcard_javax_to_jakarta_ee.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: konveyor.io/v1alpha1
kind: SkillCard
metadata:
name: javax-to-jakarta-ee
spec:
image: quay.io/konveyor/skills:javax-to-jakarta-ee
displayName: javax to Jakarta EE Migration
version: "1.0.0"
description: >
Migrates Java EE 8 (javax) applications to Jakarta EE 9/10 (jakarta).
Covers dependency changes, package-level renames, XML namespace updates,
ServiceLoader file renames, and removed specifications.
type: skill
tags:
- java
- javaee
- jakarta
- migration
6 changes: 5 additions & 1 deletion config/samples/skillcollection_java_migration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@ kind: SkillCollection
metadata:
name: java-migration-skills
spec:
version: "1.0.0"
version: "2.0.0"
skills:
- name: javax-to-jakarta-ee
skillCardRef: javax-to-jakarta-ee
- name: maven-migration
skillCardRef: maven-migration
- name: no-javax-imports
skillCardRef: no-javax-imports
- name: ejb-to-cdi
skillCardRef: ejb-to-cdi
- name: javaee-to-quarkus
skillCardRef: javaee-to-quarkus
Loading
Loading