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
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ The adapter requires a running message broker and HyperFleet API. The [hyperflee
|---------|-----------------|
| `make local-up-gcp` | GKE cluster + images + API + adapters + Maestro |
| `make install-hyperfleet` | Everything on an existing K8s cluster using RabbitMQ (no GCP needed) |
| `make install-hyperfleet-adapters` | Install sample Hyperfleet Adapters |
| `make install-adapters` | Install sample Hyperfleet Adapters |
Comment thread
coderabbitai[bot] marked this conversation as resolved.
| `make status` | Verify the deployment |

Make sure you define the following environment variables:
* `HELMFILE_ENV`: accepted values : `kind`, `gcp`
* `NAMESPACE`: namespace where HyperFleet components will be deployed
* `REGISTRY`: The registry namespace from which to pull the images. `quay.io/openshift-hyperfleet` for released images
* `REGISTRY`: The registry namespace from which to pull the images. `quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet` for released images

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚖️ Poor tradeoff

Line 37: Registry mismatch between documented environment variable and Makefile test harness.

README documents REGISTRY: quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet, but the Makefile's test-helm target (lines 105–150) hardcodes --set image.repository=openshift-hyperfleet/hyperfleet-adapter (old registry path). This creates a contract violation: users following the new registry docs will use image references that the build pipeline never validated. Coordinate the Makefile test targets to use the documented registry.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 37, The README.md documents the REGISTRY as
quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet, but the Makefile's
test-helm target hardcodes the old registry path
openshift-hyperfleet/hyperfleet-adapter in the --set image.repository argument.
Update the test-helm target (lines 105-150) to replace the hardcoded
image.repository value with the documented registry path from README.md to
ensure consistency between documentation and test validation, preventing users
from using undocumented or untested image references.

* `API_IMAGE_TAG`: image tag for `hyperfleet-api` container image
* `SENTINEL_IMAGE_TAG`: image tag for `hyperfleet-sentinel` container image
* `ADAPTER_IMAGE_TAG`: image tag for `hyperfleet-adapter` container image
Comment on lines +31 to 40

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check what changed in README.md in this PR (get file size first)
wc -l README.md
head -50 README.md

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 2814


🏁 Script executed:

#!/bin/bash
# Verify hyperfleet-api Makefile still uses old registry
grep -n "IMAGE_REGISTRY" Makefile | head -5

Repository: openshift-hyperfleet/hyperfleet-api

Length of output: 417


🏁 Script executed:

#!/bin/bash
# Verify hyperfleet-sentinel Makefile still uses old registry
grep -n "IMAGE_REGISTRY" Makefile | head -5

Repository: openshift-hyperfleet/hyperfleet-sentinel

Length of output: 414


Supply chain inconsistency: Registry namespace mismatch across components will cause image pull/push failures post-merge.

Adapter documentation (line 39) instructs deployments to use quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet, but hyperfleet-api (Makefile:43) and hyperfleet-sentinel (Makefile:36) retain hardcoded IMAGE_REGISTRY ?= quay.io/openshift-hyperfleet. Adapters will deploy from the new registry while API and Sentinel default to building/pushing from the old registry. Coordinate Makefile updates in both components or explicitly document the staggered migration timeline to prevent inconsistent registry access across the platform.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 31 - 40, The README.md documentation specifies a
registry namespace for deployments that does not match the hardcoded registry
values in the Makefile for the hyperfleet-api and hyperfleet-sentinel
components. Update the REGISTRY environment variable documentation in README.md
(around line 36) to accurately reflect the actual registry namespaces used in
the Makefile by the hyperfleet-api, hyperfleet-sentinel, and hyperfleet-adapter
components, ensuring consistency across all component deployments to prevent
image pull/push failures.

Source: Linked repositories

Expand Down
12 changes: 7 additions & 5 deletions docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ This guide explains how to configure and deploy an adapter instance using the He

## Configuration Overview

The HyperFleet Adapter Helm chart is released as an oci artifact at : oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-adapter-chart.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check for Makefile and CI/CD configuration
echo "=== Makefile targets ===" 
cat -n Makefile | grep -i "chart\|helm" || echo "No chart/helm targets found"

echo -e "\n=== Repository structure ===" 
find . -type f -name "Makefile" -o -name ".konfluxci.yaml" -o -name ".tekton*" | head -20

echo -e "\n=== Tekton/Konflux pipeline files ===" 
if [ -d ".tekton" ]; then ls -la .tekton/; fi
if [ -f ".konfluxci.yaml" ]; then cat .konfluxci.yaml; fi

echo -e "\n=== Chart directory ===" 
if [ -d "charts" ] || [ -d "helm" ]; then find . -type d \( -name "charts" -o -name "helm" \) -exec ls -la {} \;; fi

echo -e "\n=== Build/push targets in Makefile ===" 
cat Makefile | grep -A 5 "\.PHONY.*push\|\.PHONY.*build" | head -50

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 3839


🏁 Script executed:

#!/bin/bash
echo "=== hyperfleet-adapter-chart-push.yaml ===" 
cat -n .tekton/hyperfleet-adapter-chart-push.yaml | head -200

echo -e "\n=== Checking for registry/image configuration in pipeline ===" 
grep -n "quay.io\|registry\|IMAGE\|ARTIFACT" .tekton/hyperfleet-adapter-chart-push.yaml | head -30

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 11067


🏁 Script executed:

#!/bin/bash
echo "=== hyperfleet-adapter-tag.yaml (check for promotion logic) ===" 
cat -n .tekton/hyperfleet-adapter-tag.yaml | grep -A 5 -B 5 "quay.io\|services-prod\|user-workloads" | head -100

echo -e "\n=== docs/deployment.md context around line 9 ===" 
cat -n docs/deployment.md | sed -n '1,30p'

echo -e "\n=== Checking for any promotion/release documentation ===" 
find . -type f \( -name "*.md" -o -name "*.yaml" \) | xargs grep -l "services-prod\|user-workloads" 2>/dev/null

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 6818


🏁 Script executed:

#!/bin/bash
echo "=== README.md (check for release/registry info) ===" 
cat README.md | grep -A 10 -B 2 "services-prod\|user-workloads\|registry\|release\|chart" | head -80

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 1606


🏁 Script executed:

#!/bin/bash
echo "=== Searching architecture repo for registry promotion/release patterns ===" 
grep -r "services-prod\|user-workloads" --include="*.md" hyperfleet/ 2>/dev/null | head -30

echo -e "\n=== Release process documentation ===" 
cat -n hyperfleet/docs/release/hyperfleet-release-process.md 2>/dev/null | grep -A 5 -B 5 "services-prod\|chart" | head -100

Repository: openshift-hyperfleet/architecture

Length of output: 11113


Line 9: Helm chart not published to documented registry — deployment will fail.

The Tekton build pipeline publishes the chart to quay.io/redhat-user-workloads/hyperfleet-tenant/hyperfleet/hyperfleet-adapter-chart (development registry), but docs/deployment.md directs users to oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-adapter-chart (production registry). Architecture documentation confirms charts should land at services-prod, but notes this is "pending a managed release pipeline for external registries from the Konflux team." Update docs/deployment.md to reflect the actual current registry, or add a note that the production registry path is not yet available. Operators following this guide will encounter artifact-not-found errors.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/deployment.md` at line 9, Update line 9 in docs/deployment.md to reflect
the actual registry where the HyperFleet Adapter Helm chart is currently
published. Replace the registry path from
`oci://quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-adapter-chart`
with the correct current registry
`oci://quay.io/redhat-user-workloads/hyperfleet-tenant/hyperfleet/hyperfleet-adapter-chart`
where the Tekton build pipeline actually publishes the chart, or add a
clarifying note indicating that the production registry path is pending
availability from the Konflux team and provide the working development registry
path that users should currently use.


An adapter deployment requires three pieces of configuration, all settable through Helm values:

| Config | Helm value | Purpose |
Expand Down Expand Up @@ -208,8 +210,8 @@ gcloud projects add-iam-policy-binding MY_PROJECT \
```yaml
image:
registry: quay.io
repository: openshift-hyperfleet/hyperfleet-adapter
tag: v0.2.0
repository: redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-adapter
tag: <version>

adapterConfig:
create: true
Expand Down Expand Up @@ -237,15 +239,15 @@ broker:
```yaml
image:
registry: quay.io
repository: openshift-hyperfleet/my-adapter
tag: v1.0.0
repository: redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-adapter
tag: <version>

adapterConfig:
create: true
yaml:
adapter:
name: my-adapter
version: "1.0.0"
version: "<version-no-v-prefix>"
clients:
hyperfleet_api:
base_url: http://hyperfleet-api:8000
Expand Down