Skip to content

feat(devkit): rename devbox to devkit and overhaul local dev environment#3270

Merged
Gezi-lzq merged 8 commits intomainfrom
feat/devkit
Apr 1, 2026
Merged

feat(devkit): rename devbox to devkit and overhaul local dev environment#3270
Gezi-lzq merged 8 commits intomainfrom
feat/devkit

Conversation

@Gezi-lzq
Copy link
Copy Markdown
Contributor

  • Rename devbox/ → devkit/, .devbox/ → .devkit/ across all files
  • Refactor config generation: 5-layer template system with envsubst replacing hardcoded sed chains; role/node templates in config/role/
  • Extract S3 variables (region, endpoint, buckets, pathStyle) to justfile
  • Add chaos testing: S3 fault injection (delay/loss/partition/down), node-to-node partition via iptables DEVKIT chain
  • Add shortcuts: group-list/describe/members/reset, broker-list/config, perf-produce/consume, arthas
  • Add just wait command; auto-called by start
  • Split stop (keep data) from clean (remove volumes)
  • Replace hand-written help with [doc] attributes + just --list
  • Pin schema-registry to 7.7.8, spark-iceberg to 3.5.5_1.8.1
  • Add iptables to Dockerfile; pre-install Arthas
  • Update CI to use just wait instead of manual polling loops
  • Rewrite README for AI and human readability

- Rename devbox/ → devkit/, .devbox/ → .devkit/ across all files
- Refactor config generation: 5-layer template system with envsubst
  replacing hardcoded sed chains; role/node templates in config/role/
- Extract S3 variables (region, endpoint, buckets, pathStyle) to justfile
- Add chaos testing: S3 fault injection (delay/loss/partition/down),
  node-to-node partition via iptables DEVKIT chain
- Add shortcuts: group-list/describe/members/reset, broker-list/config,
  perf-produce/consume, arthas
- Add just wait command; auto-called by start
- Split stop (keep data) from clean (remove volumes)
- Replace hand-written help with [doc] attributes + just --list
- Pin schema-registry to 7.7.8, spark-iceberg to 3.5.5_1.8.1
- Add iptables to Dockerfile; pre-install Arthas
- Update CI to use just wait instead of manual polling loops
- Rewrite README for AI and human readability
- produce/consume: replace docker exec -it + eval/bash -c with direct
  docker exec -i + env, use array arg passing to safely handle special
  characters (key.separator=:, etc.)
- bin: remove eval + $*, use array-based arg passing
- logs: add tail param (default 100), split into logs (snapshot) and
  logs-follow (blocking)
- exec: new command for one-shot container commands
- arthas-exec: new command for non-interactive arthas via --select kafka.Kafka
- Filter SLF4J noise from stderr on produce/consume/bin
…emetry endpoint

- Add logs-follow for streaming logs, logs with line count parameter
- Add exec for one-shot container commands
- Add arthas-exec for non-interactive Arthas commands
- Update telemetry endpoint to host.docker.internal for macOS compatibility
- Expand produce/consume examples with key:value and client-id usage
- Update README to document new commands
…, and add JAVA_BUILD_CMD override

- smoke/full jobs now respect workflow_dispatch level input
- full job adds cleanup step with if: always()
- just build supports JAVA_BUILD_CMD env var to override the Gradle command
@Gezi-lzq Gezi-lzq merged commit 7c49292 into main Apr 1, 2026
9 checks passed
@Gezi-lzq Gezi-lzq deleted the feat/devkit branch April 1, 2026 02:19
Gezi-lzq added a commit that referenced this pull request Apr 1, 2026
…ent (#3270)

* feat(devkit): rename devbox to devkit and overhaul local dev environment

- Rename devbox/ → devkit/, .devbox/ → .devkit/ across all files
- Refactor config generation: 5-layer template system with envsubst
  replacing hardcoded sed chains; role/node templates in config/role/
- Extract S3 variables (region, endpoint, buckets, pathStyle) to justfile
- Add chaos testing: S3 fault injection (delay/loss/partition/down),
  node-to-node partition via iptables DEVKIT chain
- Add shortcuts: group-list/describe/members/reset, broker-list/config,
  perf-produce/consume, arthas
- Add just wait command; auto-called by start
- Split stop (keep data) from clean (remove volumes)
- Replace hand-written help with [doc] attributes + just --list
- Pin schema-registry to 7.7.8, spark-iceberg to 3.5.5_1.8.1
- Add iptables to Dockerfile; pre-install Arthas
- Update CI to use just wait instead of manual polling loops
- Rewrite README for AI and human readability

* feat(devkit): improve AI-friendliness of justfile commands

- produce/consume: replace docker exec -it + eval/bash -c with direct
  docker exec -i + env, use array arg passing to safely handle special
  characters (key.separator=:, etc.)
- bin: remove eval + $*, use array-based arg passing
- logs: add tail param (default 100), split into logs (snapshot) and
  logs-follow (blocking)
- exec: new command for one-shot container commands
- arthas-exec: new command for non-interactive arthas via --select kafka.Kafka
- Filter SLF4J noise from stderr on produce/consume/bin

* feat(devkit): enhance logs, exec, arthas-exec commands and update telemetry endpoint

- Add logs-follow for streaming logs, logs with line count parameter
- Add exec for one-shot container commands
- Add arthas-exec for non-interactive Arthas commands
- Update telemetry endpoint to host.docker.internal for macOS compatibility
- Expand produce/consume examples with key:value and client-id usage
- Update README to document new commands

* fix(devkit): use just shortcuts in CI produce/consume test

* fix(devkit): fix workflow_dispatch level conditions, full job cleanup, and add JAVA_BUILD_CMD override

- smoke/full jobs now respect workflow_dispatch level input
- full job adds cleanup step with if: always()
- just build supports JAVA_BUILD_CMD env var to override the Gradle command

* fix(devkit): rename JAVA_BUILD_CMD to DEVKIT_BUILD_CMD

* fix(devkit): add envsubst install and Gradle cache to CI

* test(devkit): expand CI coverage for consumer group, chaos, perf, arthas
Gezi-lzq added a commit that referenced this pull request Apr 1, 2026
…ent (#3270) (#3273)

* feat(devkit): rename devbox to devkit and overhaul local dev environment

- Rename devbox/ → devkit/, .devbox/ → .devkit/ across all files
- Refactor config generation: 5-layer template system with envsubst
  replacing hardcoded sed chains; role/node templates in config/role/
- Extract S3 variables (region, endpoint, buckets, pathStyle) to justfile
- Add chaos testing: S3 fault injection (delay/loss/partition/down),
  node-to-node partition via iptables DEVKIT chain
- Add shortcuts: group-list/describe/members/reset, broker-list/config,
  perf-produce/consume, arthas
- Add just wait command; auto-called by start
- Split stop (keep data) from clean (remove volumes)
- Replace hand-written help with [doc] attributes + just --list
- Pin schema-registry to 7.7.8, spark-iceberg to 3.5.5_1.8.1
- Add iptables to Dockerfile; pre-install Arthas
- Update CI to use just wait instead of manual polling loops
- Rewrite README for AI and human readability

* feat(devkit): improve AI-friendliness of justfile commands

- produce/consume: replace docker exec -it + eval/bash -c with direct
  docker exec -i + env, use array arg passing to safely handle special
  characters (key.separator=:, etc.)
- bin: remove eval + $*, use array-based arg passing
- logs: add tail param (default 100), split into logs (snapshot) and
  logs-follow (blocking)
- exec: new command for one-shot container commands
- arthas-exec: new command for non-interactive arthas via --select kafka.Kafka
- Filter SLF4J noise from stderr on produce/consume/bin

* feat(devkit): enhance logs, exec, arthas-exec commands and update telemetry endpoint

- Add logs-follow for streaming logs, logs with line count parameter
- Add exec for one-shot container commands
- Add arthas-exec for non-interactive Arthas commands
- Update telemetry endpoint to host.docker.internal for macOS compatibility
- Expand produce/consume examples with key:value and client-id usage
- Update README to document new commands

* fix(devkit): use just shortcuts in CI produce/consume test

* fix(devkit): fix workflow_dispatch level conditions, full job cleanup, and add JAVA_BUILD_CMD override

- smoke/full jobs now respect workflow_dispatch level input
- full job adds cleanup step with if: always()
- just build supports JAVA_BUILD_CMD env var to override the Gradle command

* fix(devkit): rename JAVA_BUILD_CMD to DEVKIT_BUILD_CMD

* fix(devkit): add envsubst install and Gradle cache to CI

* test(devkit): expand CI coverage for consumer group, chaos, perf, arthas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants