Skip to content

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

Merged
Gezi-lzq merged 1 commit into
1.6from
pick-3270
Apr 1, 2026
Merged

feat(devkit): rename devbox to devkit and overhaul local dev environment (#3270)#3273
Gezi-lzq merged 1 commit into
1.6from
pick-3270

Conversation

@Gezi-lzq

@Gezi-lzq Gezi-lzq commented Apr 1, 2026

Copy link
Copy Markdown
Contributor

cherry-pick: #3270 7c49292

…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
Gezi-lzq enabled auto-merge (squash) April 1, 2026 02:22
@Gezi-lzq
Gezi-lzq disabled auto-merge April 1, 2026 02:40
@Gezi-lzq
Gezi-lzq enabled auto-merge (squash) April 1, 2026 02:40
@Gezi-lzq
Gezi-lzq disabled auto-merge April 1, 2026 08:47
@Gezi-lzq
Gezi-lzq enabled auto-merge (squash) April 1, 2026 08:47
@Gezi-lzq
Gezi-lzq merged commit a4310a0 into 1.6 Apr 1, 2026
9 checks passed
@Gezi-lzq
Gezi-lzq deleted the pick-3270 branch April 1, 2026 08:47
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