id = "dolphie" name = "Dolphie" homepage = "https://github.com/charles-001/dolphie" description = "A real-time analytics TUI for MySQL, MariaDB, and ProxySQL." executables = ["dolphie"] [dotfiles] # Dolphie's official README lists ~/.dolphie.cnf as the final default config # file, and documents credential profiles (including passwords) in that file. # https://github.com/charles-001/dolphie#usage paths = [] secret = ["~/.dolphie.cnf"] [commands] format = 1 label = "Monitor MySQL" description = "Start Dolphie against a MySQL or ProxySQL host, optionally recording or replaying data. Passwords (use a credential profile, .my.cnf or DOLPHIE_PASSWORD), URIs, hostgroups, daemon mode and filters are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "help" kind = "help" url = "https://github.com/charles-001/dolphie" revision = "dolphie --help" evidence = """ --tab-setup Start Dolphie by showing the Tab Setup modal instead of automatically connecting with the specified options -C, --cred-profile Credential profile to use. See below for more information -u, --user Username -h, --host Hostname/IP address -P, --port Port (socket has precedence) -S, --socket Socket file -c, --config-file Dolphie's config file to use, takes precedence over DOLPHIE_CONFIG environment variable. -r, --refresh-interval The time, in seconds, between each data collection and processing cycle [default: 1] --ssl-mode Desired security state of the connection to the host. Supports: REQUIRED/VERIFY_CA/VERIFY_IDENTITY [default: OFF] --panels What panels to display on startup separated by a comma. Supports: ['dashboard', 'processlist', 'graphs', 'replication', 'metadata_locks', 'ddl', 'pfs_metrics', 'statements_summary', 'proxysql_hostgroup_summary', 'proxysql_mysql_query_rules', 'proxysql_command_stats'], [default: ['dashboard', 'processlist']] -R, --record Enables recording of Dolphie's data to a replay file. Note: This can use significant disk space. Monitor accordingly! --replay-file Specify the full path of the replay file to load and enable replay mode --show-trxs-only (MySQL only) Start with only showing threads that have an active transaction --additional-columns Start with additional columns in Processlist panel """ [[commands.field]] id = "host" label = "Host" type = "string" option = ["--host", "-h"] sources = ["help"] [[commands.field]] id = "port" label = "Port" type = "integer" option = ["--port", "-P"] sources = ["help"] [[commands.field]] id = "user" label = "User" type = "string" option = ["--user", "-u"] sources = ["help"] [[commands.field]] id = "socket" label = "Socket file" type = "path" option = ["--socket", "-S"] path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "cred_profile" label = "Credential profile" description = "A [credential_profile_] section in Dolphie's config file." type = "string" option = ["--cred-profile", "-C"] sources = ["help"] [[commands.field]] id = "config_file" label = "Config file" type = "path" option = ["--config-file", "-c"] path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "refresh_interval" label = "Refresh interval (seconds)" type = "integer" option = ["--refresh-interval", "-r"] sources = ["help"] [[commands.field]] id = "ssl_mode" label = "SSL mode" type = "enum" option = ["--ssl-mode"] choices = [{ value = "REQUIRED", label = "Required" }, { value = "VERIFY_CA", label = "Verify CA" }, { value = "VERIFY_IDENTITY", label = "Verify identity" }] sources = ["help"] [[commands.field]] id = "panels" label = "Startup panels" description = "Comma-separated panel names." type = "string" option = ["--panels"] suggestions = [{ value = "dashboard,processlist", label = "Dashboard and processlist" }, { value = "dashboard,processlist,graphs", label = "With graphs" }, { value = "dashboard,processlist,replication", label = "With replication" }] sources = ["help"] [[commands.field]] id = "record" label = "Record to a replay file" description = "Can use significant disk space." type = "boolean" option = ["--record", "-R"] sources = ["help"] [[commands.field]] id = "replay_file" label = "Replay file" type = "path" option = ["--replay-file"] path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "show_trxs_only" label = "Only threads with a transaction" type = "boolean" option = ["--show-trxs-only"] sources = ["help"] [[commands.field]] id = "additional_columns" label = "Extra processlist columns" type = "boolean" option = ["--additional-columns"] sources = ["help"] [[commands.task]] id = "monitor" label = "Monitor a host" fields = ["host", "port", "user", "ssl_mode", "panels"] required = ["host"] [[commands.task]] id = "profile" label = "Use a credential profile" fields = ["cred_profile", "panels"] required = ["cred_profile"] [[commands.task]] id = "replay" label = "Replay a recording" fields = ["replay_file"] required = ["replay_file"] [[commands.group]] id = "basic" label = "Basic" fields = ["host", "port", "user", "cred_profile", "socket", "ssl_mode"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["config_file", "refresh_interval", "panels", "record", "replay_file", "show_trxs_only", "additional_columns"]