etcd-terminal — a console client for etcd v3+ with a convenient TUI based on Spectre.Console.
- Support for multiple etcd instances with switching on startup
- SSL/TLS and non-secure (HTTP) connections
- Login/password authentication for secured instances
- Configuration from
~/.config/etcd-terminal/config.json
- Browse — key overview with prefix-based navigation (Tree view)
- Search — global search across keys and their values (text is searched in both key names and values)
- Create — add new keys
- Edit — modify existing key values
- Delete — delete keys with confirmation
- Users — list, create, delete, change password
- Roles — list, create, delete
- Role assignment — grant/revoke roles to/from users
- Permissions — view permissions bound to roles (read, write, readwrite)
- Access grants — assign/revoke key permissions for roles
- Info — view the full picture: which users have which roles and their permissions
Configuration files are stored at ~/.config/etcd-terminal/config.json.
Example configuration:
{
"Instances": [
{
"Name": "Local etcd",
"ConnectionString": "http://localhost:2379",
"UseSsl": false
},
{
"Name": "Production cluster",
"ConnectionString": "https://etcd.example.com:2379",
"UseSsl": true,
"Username": "admin",
"Password": "secret"
}
]
}Requires .NET 10.0 SDK.
dotnet build src/EtcdTerminal.slnxdotnet run --project src/EtcdTerminal.App/EtcdTerminal.App.csprojCreate a self-contained deployment:
dotnet publish src/EtcdTerminal.App/EtcdTerminal.App.csproj -c Release --self-contained false -o outRun the published binary:
./out/etcd-terminal