A Golang CLI for safe export, import, and bulk update of configuration data across environments.
seed is a configuration governance tool designed to support multiple configuration management systems. Currently it includes a zookeeper module; future modules (e.g. nacos) can be added as additional subcommands.
seed is built for teams who still rely on configuration backends like Zookeeper but want to move away from fragile manual edits, temporary scripts, and one-off operational workflows.
It turns repetitive configuration operations into a more controlled, repeatable, and automation-friendly CLI workflow.
In many real production-like environments, configuration changes are still handled through:
- manual console edits
- temporary migration scripts
- Excel-driven batch changes
- environment-specific ad-hoc commands
This creates familiar problems:
- low repeatability
- high operator risk
- weak auditability
- environment migration friction
- inconsistent update behavior across teams
seed was created to reduce that operational overhead and make configuration workflows safer and more standardized.
seed focuses on a practical platform/DevOps problem:
How do you safely move, restore, and bulk-update configuration data without turning every change into a custom script or a risky manual operation?
The zookeeper module currently supports three core workflows:
- Export — extract Zookeeper configuration data into a portable file
- Import — restore or migrate configuration data into a target environment
- Update — apply structured updates from Excel or JSON into existing Zookeeper nodes
This makes it useful for scenarios such as:
- environment migration
- backup / restore of config data
- batch updates across many nodes
- configuration standardization in platform workflows
- replacing hand-edited operations with a reusable CLI process
seed is not just a small utility script.
A better way to understand it is:
- Configuration Governance CLI
- Platform Operations Utility
- Config Migration / Update Tool
- DevOps Automation Tooling
It reflects a platform-engineering mindset:
- reduce manual edits
- standardize repeated operations
- make risky workflows scriptable
- improve consistency across environments
seed
└── zookeeper # Zookeeper configuration management
├── export
├── import
└── update
Future modules (e.g. nacos) will be added as top-level subcommands alongside zookeeper.
See zookeeper/README.md for detailed documentation on the Zookeeper module.
Before touching live Zookeeper data, export the current config state so the team has a recovery point.
Move configuration data from one environment to another using a structured import/export workflow instead of manual recreation.
When configuration updates are maintained in Excel or JSON, use seed zookeeper update to standardize bulk writes instead of editing nodes one by one.
bash build.shThis builds binaries for:
linux/amd64windows/amd64darwin/amd64darwin/arm64
Artifacts are written into the build/ directory.
Run the full test suite with:
go test ./...A typical safe workflow looks like this:
- Export current configuration
- Review or prepare the update input
- Update or Import into the target environment
- Validate that target nodes match expectations
- Keep export files as rollback references when appropriate
Because seed changes live configuration data, it should be used with environment-aware review and backup practices.
Recommended precautions:
- export before high-risk updates
- validate target environment carefully
- avoid treating Excel input as inherently correct
- test structured updates in a lower-risk environment first
This repository is useful not only as a configuration CLI, but also as an example of how platform/DevOps work can be turned into reusable tooling.
It shows a transition from:
- manual operations
- environment-specific scripts
- one-off fixes
into:
- repeatable workflows
- structured input/output
- reusable operational tooling
That is the real value of seed.
Possible future improvements:
nacosmodule for Nacos configuration management- dry-run mode for updates
- diff preview before import/update
- validation rules for Excel / JSON input
- audit-friendly output / change summary
- safer rollback helpers based on exported snapshots
seed is a practical configuration governance tool for teams working with configuration-backed systems.
Its value is not just that it can export, import, and update data. Its real value is that it turns risky, repetitive configuration work into a more repeatable and automation-friendly platform operation.