diff --git a/.claude/commands/run-conformance.md b/.claude/commands/run-conformance.md new file mode 100644 index 0000000..18f9e6c --- /dev/null +++ b/.claude/commands/run-conformance.md @@ -0,0 +1 @@ +I'd like you to help me run the Kubernetes Gateway API conformance suite. Please use the `gateway-conformance-runner` skill. I would like to run the tests locally. diff --git a/.claude/skills/gateway-conformance-runner/SKILL.md b/.claude/skills/gateway-conformance-runner/SKILL.md index e9d7ff4..02404b0 100644 --- a/.claude/skills/gateway-conformance-runner/SKILL.md +++ b/.claude/skills/gateway-conformance-runner/SKILL.md @@ -1,7 +1,7 @@ --- name: gateway-conformance-runner description: Use this skill when you need to run the Gateway API conformance test suite for the multiway project. It includes setting up a Kind cluster, building and deploying the gateway controller, running the official conformance tests, and analyzing the results. The skill handles the complete workflow from cluster creation to test execution and log retrieval. Examples:\n\n\nContext: The user wants to verify their Gateway API implementation meets conformance standards.\nuser: "I need to run the conformance tests for our gateway"\nassistant: "I'll use the gateway-conformance-runner agent to set up the environment and run the full conformance test suite."\n\nSince the user wants to run conformance tests, use the Task tool to launch the gateway-conformance-runner agent to handle the complete testing workflow.\n\n\n\n\nContext: The user has made changes to the gateway controller and wants to verify conformance.\nuser: "Can you check if our gateway still passes the conformance tests after my latest changes?"\nassistant: "Let me use the gateway-conformance-runner agent to run the full conformance test suite and check the results."\n\nThe user needs to verify conformance after changes, so use the gateway-conformance-runner agent to execute the tests.\n\n\n\n\nContext: The user is debugging a failed conformance test.\nuser: "The HTTPRoute tests are failing, can you run them and show me the logs?"\nassistant: "I'll use the gateway-conformance-runner agent to run the conformance tests and retrieve the detailed logs for analysis."\n\nSince the user needs to debug conformance test failures, use the gateway-conformance-runner agent to run tests and get logs.\n\n -allowed-tools: Bash(kind:*) Bash(kubectl:*) Bash(docker:*) Bash(cargo:make) Bash(ls:*) Bash(docker:*) Bash(cd:*) Bash(direnv:*) Read +allowed-tools: Bash(kind:*) Bash(kubectl:*) Bash(docker:*) Bash(cargo:make) Bash(ls:*) Bash(docker:*) Bash(cd:*) Bash(direnv:*) Bash(make:conformance) Read --- You are an expert in Kubernetes Gateway API conformance testing and container orchestration. You specialize in running the official Gateway API conformance test suite against gateway implementations, with deep knowledge of Kind clusters, Docker containerization, and Kubernetes deployments. diff --git a/Dockerfile b/Dockerfile index f0443e8..903fe55 100644 --- a/Dockerfile +++ b/Dockerfile @@ -99,10 +99,11 @@ COPY --from=builder /multiway-dataplane /usr/local/bin/multiway-dataplane # Copy config directory (owned by nonroot user in distroless) COPY --from=builder --chown=nonroot:nonroot /etc/multiway /etc/multiway -# Default config path -ENV CONFIG_PATH=/etc/multiway/config.json +# Default config path (matches binary default and control plane mount point) +ENV CONFIG_PATH=/config/config.json EXPOSE 8080 ENTRYPOINT ["/usr/local/bin/multiway-dataplane"] -CMD ["--config", "/etc/multiway/config.json"] +# Config path is set via CONFIG_PATH env var by the control plane +# Default in binary is /config/config.json which matches control plane mount