Skip to content

Commit f41f2aa

Browse files
lucarligjonpspri
andauthored
chore: remove alpine container references (#4170)
* test: remove alpine redis fixture Signed-off-by: lucarlig <luca.carlig@ibm.com> * chore: remove alpine container references Signed-off-by: lucarlig <luca.carlig@ibm.com> (cherry picked from commit 8f04cda) * ci: smoke test changed dockerfiles Signed-off-by: lucarlig <luca.carlig@ibm.com> * .secrets.baseline Signed-off-by: Jonathan Springer <jps@s390x.com> --------- Signed-off-by: lucarlig <luca.carlig@ibm.com> Signed-off-by: Jonathan Springer <jps@s390x.com> Co-authored-by: Jonathan Springer <jps@s390x.com>
1 parent 6d05d70 commit f41f2aa

File tree

21 files changed

+191
-81
lines changed

21 files changed

+191
-81
lines changed

.github/workflows/docker-scan.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,16 @@ on:
1818
push:
1919
branches: ["main"]
2020
paths:
21+
- 'Containerfile'
2122
- 'Containerfile.lite'
2223
- 'crates/**'
2324
- 'Cargo.toml'
2425
- 'Cargo.lock'
26+
- 'a2a-agents/go/a2a-echo-agent/**'
27+
- 'mcp-servers/python/python_sandbox_server/docker/**'
28+
- 'docker-compose.yml'
29+
- 'docker-compose-embedded.yml'
30+
- 'docker-compose-verbose-logging.yml'
2531
- 'mcpgateway/**'
2632
- 'plugins/**'
2733
- 'pyproject.toml'
@@ -30,10 +36,16 @@ on:
3036
types: [opened, synchronize, ready_for_review]
3137
branches: ["main"]
3238
paths:
39+
- 'Containerfile'
3340
- 'Containerfile.lite'
3441
- 'crates/**'
3542
- 'Cargo.toml'
3643
- 'Cargo.lock'
44+
- 'a2a-agents/go/a2a-echo-agent/**'
45+
- 'mcp-servers/python/python_sandbox_server/docker/**'
46+
- 'docker-compose.yml'
47+
- 'docker-compose-embedded.yml'
48+
- 'docker-compose-verbose-logging.yml'
3749
- 'mcpgateway/**'
3850
- 'plugins/**'
3951
- 'pyproject.toml'
@@ -51,6 +63,47 @@ env:
5163
IMAGE_NAME: mcp-context-forge-scan
5264

5365
jobs:
66+
container-smoke:
67+
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
68+
name: Container Smoke (${{ matrix.name }})
69+
runs-on: ubuntu-latest
70+
timeout-minutes: 30
71+
strategy:
72+
fail-fast: false
73+
matrix:
74+
include:
75+
- name: main
76+
context: .
77+
file: Containerfile
78+
tag: mcp-context-forge-main-smoke:scan
79+
- name: a2a-echo-agent
80+
context: a2a-agents/go/a2a-echo-agent
81+
file: a2a-agents/go/a2a-echo-agent/Dockerfile
82+
tag: mcp-context-forge-a2a-echo-agent:scan
83+
- name: python-sandbox
84+
context: mcp-servers/python/python_sandbox_server
85+
file: mcp-servers/python/python_sandbox_server/docker/Dockerfile.sandbox
86+
tag: mcp-context-forge-python-sandbox:scan
87+
88+
steps:
89+
- name: Checkout code
90+
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
91+
with:
92+
persist-credentials: false
93+
94+
- name: Set up Docker Buildx
95+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
96+
97+
- name: Build container locally
98+
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
99+
with:
100+
context: ${{ matrix.context }}
101+
file: ${{ matrix.file }}
102+
platforms: linux/amd64
103+
push: false
104+
load: true
105+
tags: ${{ matrix.tag }}
106+
54107
# ---------------------------------------------------------------
55108
# Build image and generate SBOM
56109
# ---------------------------------------------------------------

.secrets.baseline

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "^.secrets.baseline|package-lock.json|Cargo.lock|scripts/sign_image.sh|scripts/zap|sonar-project.properties|uv.lock|go.sum|mcpgateway/sri_hashes.json|^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2026-04-15T09:12:27Z",
6+
"generated_at": "2026-04-15T13:04:45Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -691,58 +691,58 @@
691691
{
692692
"hashed_secret": "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684",
693693
"is_secret": false,
694-
"is_verified": true,
694+
"is_verified": false,
695695
"line_number": 10521,
696696
"type": "Basic Auth Credentials",
697-
"verified_result": false
697+
"verified_result": null
698698
}
699699
],
700700
"crates/mcp_runtime/src/observability.rs": [
701701
{
702702
"hashed_secret": "b7dd0ec3dc49487982011219e66db3716b6669c6",
703703
"is_secret": false,
704-
"is_verified": true,
704+
"is_verified": false,
705705
"line_number": 598,
706706
"type": "Secret Keyword",
707-
"verified_result": false
707+
"verified_result": null
708708
}
709709
],
710710
"crates/mcp_runtime/tests/runtime.rs": [
711711
{
712712
"hashed_secret": "5b204323030835cdda5d258742d1452e812988de",
713713
"is_secret": false,
714-
"is_verified": true,
714+
"is_verified": false,
715715
"line_number": 1643,
716716
"type": "Secret Keyword",
717-
"verified_result": false
717+
"verified_result": null
718718
},
719719
{
720720
"hashed_secret": "d6c1622f5e897dac7dcc4fab2cded03cb8240caa",
721721
"is_secret": false,
722-
"is_verified": true,
722+
"is_verified": false,
723723
"line_number": 5296,
724724
"type": "Secret Keyword",
725-
"verified_result": false
725+
"verified_result": null
726726
}
727727
],
728728
"crates/wrapper/scripts/test-fast-time-wrapper.sh": [
729729
{
730730
"hashed_secret": "5546721ffdfc2e5b0e4c0da38f10774f9ad50b09",
731731
"is_secret": false,
732-
"is_verified": true,
732+
"is_verified": false,
733733
"line_number": 12,
734734
"type": "Secret Keyword",
735-
"verified_result": false
735+
"verified_result": null
736736
}
737737
],
738738
"crates/wrapper/src/config.rs": [
739739
{
740740
"hashed_secret": "c8190eb36807e51dd78086805a24539885edda6b",
741741
"is_secret": false,
742-
"is_verified": true,
742+
"is_verified": false,
743743
"line_number": 9,
744744
"type": "Secret Keyword",
745-
"verified_result": false
745+
"verified_result": null
746746
}
747747
],
748748
"docker-compose-debug.yml": [
@@ -1138,31 +1138,31 @@
11381138
"hashed_secret": "fa9beb99e4029ad5a6615399e7bbae21356086b3",
11391139
"is_secret": false,
11401140
"is_verified": false,
1141-
"line_number": 2632,
1141+
"line_number": 2635,
11421142
"type": "Secret Keyword",
11431143
"verified_result": null
11441144
},
11451145
{
11461146
"hashed_secret": "12be9f7db42eb4a2d881a99fa9ba847e1f83677f",
11471147
"is_secret": false,
11481148
"is_verified": false,
1149-
"line_number": 2653,
1149+
"line_number": 2656,
11501150
"type": "Secret Keyword",
11511151
"verified_result": null
11521152
},
11531153
{
11541154
"hashed_secret": "c3de40d5e3fc71ed62771c2127a8e42585026c97",
11551155
"is_secret": false,
11561156
"is_verified": false,
1157-
"line_number": 2661,
1157+
"line_number": 2664,
11581158
"type": "Secret Keyword",
11591159
"verified_result": null
11601160
},
11611161
{
11621162
"hashed_secret": "ce53277317aa3cd27c1619d7d371306ded2ddd1e",
11631163
"is_secret": false,
11641164
"is_verified": false,
1165-
"line_number": 2666,
1165+
"line_number": 2669,
11661166
"type": "Secret Keyword",
11671167
"verified_result": null
11681168
}

Containerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
###########################
22
# Frontend builder stage
33
###########################
4-
FROM node:lts-alpine AS frontend-builder
4+
FROM node:lts-bookworm-slim AS frontend-builder
55
WORKDIR /app
66

77
# Copy package.json and package-lock.json

a2a-agents/go/a2a-echo-agent/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ RUN go mod download
99
COPY . .
1010
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags "-s -w" -o /usr/local/bin/a2a-echo-agent .
1111

12-
# Use alpine so basic tooling (busybox/wget) exists for container healthchecks.
13-
FROM alpine:3.20
14-
RUN adduser -D -u 1001 app
12+
# Use Debian slim so basic tooling exists without Alpine.
13+
FROM debian:bookworm-slim
14+
RUN apt-get update && \
15+
apt-get install -y --no-install-recommends ca-certificates tzdata && \
16+
rm -rf /var/lib/apt/lists/* && \
17+
useradd --uid 1001 --create-home --shell /usr/sbin/nologin app
1518
COPY --from=builder /usr/local/bin/a2a-echo-agent /usr/local/bin/a2a-echo-agent
1619
USER 1001:1001
1720
EXPOSE 9100

docker-compose-embedded.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ services:
132132
# Access: http://localhost:8889
133133
# ──────────────────────────────────────────────────────────────────────
134134
iframe_harness:
135-
image: nginx:alpine
135+
image: nginx:stable-bookworm
136136
restart: unless-stopped
137137
networks: [mcpnet]
138138
ports:

docker-compose-verbose-logging.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1630,12 +1630,15 @@ services:
16301630
# Certificate Initialization - Auto-generates self-signed certs if missing
16311631
# ──────────────────────────────────────────────────────────────────────
16321632
cert_init:
1633-
image: alpine/openssl:latest
1633+
image: debian:bookworm-slim
16341634
volumes:
16351635
- ./certs:/certs
16361636
entrypoint: ["/bin/sh", "-c"]
16371637
command:
16381638
- |
1639+
apt-get update
1640+
apt-get install -y --no-install-recommends openssl
1641+
rm -rf /var/lib/apt/lists/*
16391642
if [ -f /certs/cert.pem ] && [ -f /certs/key.pem ]; then
16401643
echo "✅ Certificates found in ./certs - using existing"
16411644
exit 0

docker-compose.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2483,14 +2483,17 @@ services:
24832483
# Supports passphrase-protected keys via KEY_FILE_PASSWORD
24842484
# ──────────────────────────────────────────────────────────────────────
24852485
cert_init:
2486-
image: alpine/openssl:latest
2486+
image: debian:bookworm-slim
24872487
volumes:
24882488
- ./certs:/certs
24892489
environment:
24902490
- KEY_FILE_PASSWORD=${KEY_FILE_PASSWORD:-}
24912491
entrypoint: ["/bin/sh", "-c"]
24922492
command:
24932493
- |
2494+
apt-get update
2495+
apt-get install -y --no-install-recommends openssl
2496+
rm -rf /var/lib/apt/lists/*
24942497
# Check if we have an encrypted key that needs decryption
24952498
if [ -f /certs/key-encrypted.pem ] && [ -n "${KEY_FILE_PASSWORD}" ]; then
24962499
# Validate: encrypted key requires matching certificate

docs/docs/deployment/proxy-auth.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Find the completed guide on how to use the [HyprContextForge](https://github.com
5353
# docker-compose.yaml
5454
services:
5555
hyprmcp-dex:
56-
image: ghcr.io/dexidp/dex:v2.43.1-alpine
56+
image: ghcr.io/dexidp/dex:v2.43.1
5757
command: ["dex", "serve", "/config.yaml"]
5858
ports:
5959

docs/docs/tutorials/dcr-hyprmcp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ Create a `docker-compose.yaml` file with the following content:
9090
```yaml
9191
services:
9292
hyprmcp-dex:
93-
image: ghcr.io/dexidp/dex:v2.43.1-alpine
93+
image: ghcr.io/dexidp/dex:v2.43.1
9494
command: ["dex", "serve", "/config.yaml"]
9595
ports:
9696

@@ -305,7 +305,7 @@ Choose a tool from the list and run it via the right side panel.
305305
```yaml
306306
services:
307307
hyprmcp-dex:
308-
image: ghcr.io/dexidp/dex:v2.43.1-alpine
308+
image: ghcr.io/dexidp/dex:v2.43.1
309309
command: ["dex", "serve", "/config.yaml"]
310310
ports:
311311

docs/docs/tutorials/openwebui-tutorial.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ docker run -d \
9292
-e POSTGRES_PASSWORD=changeme \
9393
-v postgres_data:/var/lib/postgresql/data \
9494
-p 5432:5432 \
95-
postgres:15-alpine
95+
postgres:15-bookworm
9696

9797
# Verify PostgreSQL is running
9898
docker logs postgres
@@ -472,7 +472,7 @@ docker exec postgres pg_dump -U openwebui openwebui > backup.sql
472472

473473
# Backup volumes
474474
docker run --rm -v postgres_data:/data -v $(pwd):/backup \
475-
alpine tar czf /backup/postgres_backup.tar.gz -C /data .
475+
debian:bookworm-slim tar czf /backup/postgres_backup.tar.gz -C /data .
476476

477477
# Restore PostgreSQL
478478
docker exec -i postgres psql -U openwebui openwebui < backup.sql
@@ -552,7 +552,7 @@ version: '3.8'
552552

553553
services:
554554
postgres:
555-
image: postgres:15-alpine
555+
image: postgres:15-bookworm
556556
environment:
557557
POSTGRES_DB: openwebui
558558
POSTGRES_USER: openwebui

0 commit comments

Comments
 (0)