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
28 changes: 28 additions & 0 deletions .github/workflows/build-and-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,34 @@ jobs:
image_name: "jira-issue-fetcher"
# tag: "staging"

build-and-push-redis-commander:
runs-on: ubuntu-latest
steps:
- name: Build and push redis-commander to quay.io registry
uses: sclorg/build-and-push-action@adf1dee2b786ccbb2e2a708c3510a90e2ab3392d # v4.1.5
with:
registry: "quay.io"
registry_namespace: "jotnar"
registry_username: ${{ secrets.REGISTRY_LOGIN }}
registry_token: ${{ secrets.REGISTRY_TOKEN }}
dockerfile: "Containerfile.redis-commander"
docker_context: "."
image_name: "redis-commander"

build-and-push-phoenix:
runs-on: ubuntu-latest
steps:
- name: Build and push phoenix to quay.io registry
uses: sclorg/build-and-push-action@adf1dee2b786ccbb2e2a708c3510a90e2ab3392d # v4.1.5
with:
registry: "quay.io"
registry_namespace: "jotnar"
registry_username: ${{ secrets.REGISTRY_LOGIN }}
registry_token: ${{ secrets.REGISTRY_TOKEN }}
dockerfile: "Containerfile.phoenix"
docker_context: "."
image_name: "phoenix"

build-and-push-supervisor:
runs-on: ubuntu-latest
steps:
Expand Down
9 changes: 9 additions & 0 deletions Containerfile.phoenix
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# we have our own image for phoenix because the upstream one has CVEs in it that our CVE scanner picks up
FROM fedora:44

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Fedora 44 is not yet a stable release (Fedora 41 is the current stable). Using an unreleased or rawhide version can lead to unpredictable build failures or unstable dependencies. It is recommended to use a stable version like 41.

FROM fedora:41

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

it is now

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Fedora 44 is a future release (expected around April 2026) and is likely not available as a stable container image yet. It is recommended to use a current stable version like fedora:41 or fedora:40 to ensure build reliability.

FROM fedora:41

RUN dnf install -y python3-pip python3-numpy python3-scipy \
Comment thread
TomasTomecek marked this conversation as resolved.
Resolved
&& dnf clean all \
&& pip3 install --no-cache-dir arize-phoenix \
&& useradd -u 1001 -g 0 -m -s /sbin/nologin phoenix
USER 1001
EXPOSE 6006 4317
Comment thread
TomasTomecek marked this conversation as resolved.
Resolved
CMD ["phoenix", "serve"]
13 changes: 13 additions & 0 deletions Containerfile.redis-commander
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM fedora:44

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Fedora 44 is a future release and may not be stable or available yet. Consider using a stable version like fedora:41.

FROM fedora:41

ENV NODE_ENV=production

# the tilde means to update to latest patch releases
RUN dnf install -y nodejs npm \
&& dnf clean all \
&& npm install -g redis-commander@~0.9.0 \
&& npm cache clean --force \
&& useradd -u 1001 -g 0 -m -s /sbin/nologin rediscommander

USER 1001
EXPOSE 8081
CMD exec redis-commander --redis-host $REDIS_HOST --redis-port $REDIS_PORT
Comment thread
TomasTomecek marked this conversation as resolved.
Resolved
14 changes: 14 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,27 @@ COMPOSE ?= $(shell if podman compose ls >/dev/null 2>&1; then echo "podman compo
COMPOSE_AGENTS=$(COMPOSE) -f $(COMPOSE_FILE) --profile=agents
COMPOSE_SUPERVISOR=$(COMPOSE) -f $(COMPOSE_FILE) --profile=supervisor

# Extract container tool (podman or docker) from COMPOSE
CONTAINER_TOOL ?= $(shell command -v podman >/dev/null 2>&1 && echo "podman" || echo "docker")
REGISTRY ?= quay.io/jotnar

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Exporting the REGISTRY variable ensures it is available to docker compose when building images, allowing the registry path to be synchronized between the Makefile and compose.yaml.

export REGISTRY ?= quay.io/jotnar


.PHONY: build
build:
if [ -f .secrets/build.env ]; then \
set -a && . ./.secrets/build.env && set +a; \
fi && \
$(COMPOSE) -f $(COMPOSE_FILE) --profile=agents --profile=supervisor build

.PHONY: push
push:
@echo "Pushing images to $(REGISTRY)..."
$(CONTAINER_TOOL) push $(REGISTRY)/phoenix:latest
$(CONTAINER_TOOL) push $(REGISTRY)/redis-commander:latest
@echo "All images pushed successfully!"

.PHONY: build-and-push
build-and-push: build push

.PHONY: run-beeai-bash
run-beeai-bash:
$(COMPOSE_AGENTS) run --rm triage-agent /bin/bash
Expand Down
13 changes: 10 additions & 3 deletions compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,10 @@ services:
profiles: ["agents", "supervisor", "e2e-test"]

phoenix:
image: docker.io/arizephoenix/phoenix:version-11.6.2
image: quay.io/jotnar/phoenix:latest

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Using the ${REGISTRY} environment variable (with a default) allows the registry to be overridden consistently across the Makefile and Compose, matching the logic introduced in the Makefile.

    image: ${REGISTRY:-quay.io/jotnar}/phoenix:latest

build:
context: .
dockerfile: Containerfile.phoenix
ports:
- "0.0.0.0:6006:6006"
environment:
Expand All @@ -133,9 +136,13 @@ services:
profiles: ["agents", "supervisor", "e2e-test"]

redis-commander:
image: ghcr.io/joeferner/redis-commander:0.9.0
image: quay.io/jotnar/redis-commander

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The redis-commander image is missing a tag, which defaults to latest but should be explicit for consistency. Additionally, using the ${REGISTRY} variable ensures consistency with the Makefile.

    image: ${REGISTRY:-quay.io/jotnar}/redis-commander:latest

Comment thread
TomasTomecek marked this conversation as resolved.
Resolved
build:
context: .
dockerfile: Containerfile.redis-commander
environment:
- REDIS_HOSTS=local:valkey:6379
- REDIS_HOST=valkey
- REDIS_PORT=6379
ports:
- "8081:8081"
depends_on:
Expand Down
13 changes: 12 additions & 1 deletion openshift/deployment-phoenix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: phoenix
annotations:
image.openshift.io/triggers: |
[
{
"from": {
"kind": "ImageStreamTag",
"name": "phoenix:prod"
},
"fieldPath": "spec.template.spec.containers[?(@.name==\"phoenix\")].image"
}
]
spec:
progressDeadlineSeconds: 600
replicas: 1
Expand All @@ -27,7 +38,7 @@ spec:
- name: PHOENIX_PORT
value: "6006"
image: phoenix:prod
imagePullPolicy: IfNotPresent
imagePullPolicy: Always
name: phoenix
ports:
- containerPort: 4317
Expand Down
19 changes: 16 additions & 3 deletions openshift/deployment-redis-commander.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: redis-commander
annotations:
image.openshift.io/triggers: |
[
{
"from": {
"kind": "ImageStreamTag",
"name": "redis-commander:prod"
},
"fieldPath": "spec.template.spec.containers[?(@.name==\"redis-commander\")].image"
}
]
spec:
progressDeadlineSeconds: 600
replicas: 1
Expand All @@ -22,10 +33,12 @@ spec:
spec:
containers:
- env:
- name: REDIS_HOSTS
value: local:valkey:6379
- name: REDIS_HOST
value: valkey
- name: REDIS_PORT
value: "6379"
image: redis-commander:prod
imagePullPolicy: IfNotPresent
imagePullPolicy: Always
name: redis-commander
ports:
- containerPort: 8081
Expand Down
2 changes: 1 addition & 1 deletion openshift/imagestream-redis-commander.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ spec:
- name: prod
from:
kind: DockerImage
name: ghcr.io/joeferner/redis-commander:0.9.0
name: quay.io/jotnar/redis-commander:latest
importPolicy:
# Periodically query registry to synchronize tag and image metadata.
scheduled: true
Expand Down
Loading