Skip to content

Commit b39056f

Browse files
authored
Merge pull request #99 from zspitzer/LDEV-5882-workflow
LDEV-5882 add placeholder workflow for read only docker root
2 parents 9516aa8 + 7e0f0f8 commit b39056f

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Test Read-Only Filesystem Support
2+
3+
# This workflow tests Lucee Docker images with read-only root filesystem enabled
4+
# for security compliance (Kubernetes security best practices)
5+
6+
on:
7+
# Allows manual triggering from Actions tab
8+
workflow_dispatch:
9+
inputs:
10+
LUCEE_VERSION:
11+
description: 'Lucee version to test (e.g., 7.0.0.395)'
12+
required: false
13+
default: '7.0.0.395'
14+
type: string
15+
LUCEE_MINOR:
16+
description: 'Lucee minor version (e.g., 7.0)'
17+
required: false
18+
default: '7.0'
19+
type: string
20+
# Can be triggered by other workflows
21+
workflow_call:
22+
inputs:
23+
LUCEE_VERSION:
24+
required: true
25+
type: string
26+
LUCEE_MINOR:
27+
required: true
28+
type: string
29+
30+
jobs:
31+
test-readonly-filesystem:
32+
runs-on: ubuntu-latest
33+
34+
steps:
35+
- name: Checkout repository
36+
uses: actions/checkout@v4
37+
38+
- name: Set up Docker Buildx
39+
uses: docker/[email protected]
40+
41+
- name: Placeholder - Build test image
42+
run: |
43+
echo "TODO: Build Docker image without prewarm"
44+
echo "LUCEE_VERSION: ${{ inputs.LUCEE_VERSION || '7.0.0.395' }}"
45+
echo "LUCEE_MINOR: ${{ inputs.LUCEE_MINOR || '7.0' }}"
46+
echo ""
47+
echo "This will:"
48+
echo " 1. Build image with USER directive (non-root)"
49+
echo " 2. Skip prewarm step"
50+
echo " 3. Test with --read-only flag"
51+
echo " 4. Verify volume mounts work"
52+
echo " 5. Check Lucee starts and responds"
53+
54+
- name: Placeholder - Test read-only filesystem
55+
run: |
56+
echo "TODO: Test with read-only root filesystem"
57+
echo ""
58+
echo "Tests will include:"
59+
echo " - Verify container runs as non-root (uid=1000)"
60+
echo " - Verify root filesystem is read-only"
61+
echo " - Verify writable volumes work"
62+
echo " - Verify Lucee initializes correctly"
63+
echo " - Verify HTTP requests work"
64+
echo " - Measure startup time"
65+
66+
- name: Placeholder - Security validation
67+
run: |
68+
echo "TODO: Run security checks"
69+
echo ""
70+
echo "Security checks will include:"
71+
echo " - Verify no writes to root filesystem"
72+
echo " - Verify running as non-root user"
73+
echo " - Verify no new privileges"
74+
echo " - Check for vulnerable permissions"

0 commit comments

Comments
 (0)