docs: readme.me updated

This commit is contained in:
Jack Wills
2025-02-22 09:23:47 +00:00
parent e9e033cc89
commit fabf29a5d5
3 changed files with 14 additions and 232 deletions
+14 -12
View File
@@ -32,13 +32,9 @@ cargo install oxker
### Docker ### Docker
Published on <a href='https://hub.docker.com/r/mrjackwills/oxker' target='_blank' rel='noopener noreferrer'>Docker Hub</a> and <a href='https://ghcr.io/mrjackwills/oxker' target='_blank' rel='noopener noreferrer'>ghcr.io</a>, Published on <a href='https://ghcr.io/mrjackwills/oxker' target='_blank' rel='noopener noreferrer'>ghcr.io</a> and <a href='https://hub.docker.com/r/mrjackwills/oxker' target='_blank' rel='noopener noreferrer'>Docker Hub</a>,
with images built for `linux/amd64`, `linux/arm64`, and `linux/arm/v6` with images built for `linux/amd64`, `linux/arm64`, and `linux/arm/v6`
**via Docker Hub**
```shell
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro --pull=always mrjackwills/oxker
```
**via ghcr.io** **via ghcr.io**
@@ -46,6 +42,11 @@ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro --pull=alway
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro --pull=always ghcr.io/mrjackwills/oxker docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro --pull=always ghcr.io/mrjackwills/oxker
``` ```
**via Docker Hub**
```shell
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro --pull=always mrjackwills/oxker
```
### Nix ### Nix
Using nix flakes, oxker can be ran directly with Using nix flakes, oxker can be ran directly with
@@ -126,7 +127,7 @@ Available command line arguments
|```-t```| Remove timestamps from each log entry.| |```-t```| Remove timestamps from each log entry.|
|```-s```| If running via Docker, will display the oxker container.| |```-s```| If running via Docker, will display the oxker container.|
|```-g```| No TUI, essentially a debugging mode with limited functionality, for now.| |```-g```| No TUI, essentially a debugging mode with limited functionality, for now.|
|```--config-file [string]```| Location of a `config.toml`/`config.json`/`config.jsonc`. By default will check the users local config figuration directory.| |```--config-file [string]```| Location of a `config.toml`/`config.json`/`config.jsonc`. By default will check the users local config directory.|
|```--host [string]```| Connect to Docker with a custom hostname. Defaults to `/var/run/docker.sock`. Will use `$DOCKER_HOST` environment variable if set.| |```--host [string]```| Connect to Docker with a custom hostname. Defaults to `/var/run/docker.sock`. Will use `$DOCKER_HOST` environment variable if set.|
|```--no-stderr```| Do not include stderr output in logs.| |```--no-stderr```| Do not include stderr output in logs.|
|```--save-dir [string]```| Save exported logs into a custom directory. Defaults to `$HOME`.| |```--save-dir [string]```| Save exported logs into a custom directory. Defaults to `$HOME`.|
@@ -136,18 +137,19 @@ Available command line arguments
### Config File ### Config File
A config file enables the user to persist settings, it also enables the user to create a custom keymap, and set the color scheme used by the application. A config file enables the user to persist settings, create a custom keymap, set the color scheme used by the application, and more.
<br> <br>
<br> <br>
By default, if not found, `oxker` will create a config file in the user's local config directory. Command line arguments take priority over values from the config file. Examples of the config file, alsong with explanations of each value, can be found in the [example_config](https://github.com/mrjackwills/oxker/tree/main/example_config) directory. `oxker` supports `.toml`,`.json`, and `.jsonc` file formats.
<br> <br>
<br> <br>
`oxker` supports `.toml`,`.json`, and `.jsonc` file formats. Examples of each can be found in the [example_config](https://github.com/mrjackwills/oxker/tree/main/example_config) directory. If not config file is found, `oxker` will create a `config.toml` in the user's local config directory. Command line arguments will take priority over values from the config file.
<br>
If running an `oxker` container, the default config location will be `/config.toml` rather than the automatically detected platform-specific local config directory. <br>
If running an `oxker` container, the default config location will be `/` rather than the automatically detected platform-specific local config directory, and can be mounted as follows;
```shell ```shell
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro -v /some/location/config.toml:/config.toml:ro oxker docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock:ro -v /some_location/config.toml:/config.toml:ro ghcr.io/mrjackwills/oxker
``` ```
## Build step ## Build step
-190
View File
@@ -1,190 +0,0 @@
{
"color_logs": false,
"docker_interval": 1000,
"gui": true,
"host": "/var/run/docker.sock",
"raw_logs": false,
"show_self": false,
"show_std_err": false,
"show_timestamp": true,
"timezone": "Etc/UTC",
"timestamp_format": "%Y-%m-%dT%H:%M:%S.%8f",
"use_cli": false,
"colors": {
"borders": {
"selected": "lightcyan",
"unselected": "grey"
},
"chart_cpu": {
"background": "reset",
"border": "white",
"max": "#FFB224",
"points": "magenta",
"title": "green",
"y_axis": "white"
},
"chart_memory": {
"background": "reset",
"border": "white",
"max": "#FFB224",
"points": "cyan",
"title": "green",
"y_axis": "white"
},
"chart_ports": {
"background": "reset",
"border": "white",
"headings": "yellow",
"text": "white",
"title": "green"
},
"commands": {
"background": "reset",
"delete": "gray",
"pause": "yellow",
"restart": "magenta",
"resume": "blue",
"start": "green",
"stop": "red"
},
"container_state": {
"dead": "red",
"exited": "red",
"paused": "yellow",
"removing": "lightred",
"restarting": "lightgreen",
"running_healthy": "green",
"running_unhealthy": "#FFB224",
"unknown": "red"
},
"containers": {
"background": "reset",
"icon": "white",
"text": "blue",
"text_rx": "#FFE9C1",
"text_tx": "#CD8C8C"
},
"filter": {
"background": "reset",
"text": "gray",
"selected_filter_background": "gray",
"selected_filter_text": "black",
"highlight": "magenta"
},
"headers_bar": {
"background": "magenta",
"loading_spinner": "white",
"text": "black",
"text_selected": "gray"
},
"logs": {
"background": "reset",
"text": "reset"
},
"popup_delete": {
"background": "white",
"text": "black",
"text_highlight": "red"
},
"popup_error": {
"background": "red",
"text": "white"
},
"popup_help": {
"background": "magenta",
"text": "black",
"text_highlight": "white"
},
"popup_info": {
"background": "blue",
"text": "white"
}
},
"keymap": {
"clear": [
"c",
"esc"
],
"delete_confirm": [
"y"
],
"delete_deny": [
"n"
],
"exec": [
"e"
],
"filter_mode": [
"/",
"F1"
],
"quit": [
"q"
],
"save_logs": [
"s"
],
"scroll_down_many": [
"pagedown"
],
"scroll_down_one": [
"down",
"j"
],
"scroll_end": [
"end"
],
"scroll_start": [
"home"
],
"scroll_up_many": [
"pageup"
],
"scroll_up_one": [
"up",
"k"
],
"select_next_panel": [
"tab"
],
"select_previous_panel": [
"backtab"
],
"sort_by_cpu": [
"4"
],
"sort_by_id": [
"6"
],
"sort_by_image": [
"7"
],
"sort_by_memory": [
"5"
],
"sort_by_name": [
"1"
],
"sort_by_rx": [
"8"
],
"sort_by_state": [
"2"
],
"sort_by_status": [
"3"
],
"sort_by_tx": [
"9"
],
"sort_reset": [
"0"
],
"toggle_help": [
"h"
],
"toggle_mouse_capture": [
"m"
]
}
}
-30
View File
@@ -224,15 +224,6 @@ mod tests {
assert_eq!(Keymap::from(result.keymap), Keymap::new()); assert_eq!(Keymap::from(result.keymap), Keymap::new());
} }
#[test]
/// make sure example.config.json matches the default keymap
fn test_parse_config_keymap_json() {
let example_json = include_str!("../../example_config/example.config.json");
let result = ConfigFile::parse(super::ConfigFileType::Json, example_json).unwrap();
assert!(result.keymap.is_some());
assert_eq!(Keymap::from(result.keymap), Keymap::new());
}
#[test] #[test]
/// All configs parsed and are equal /// All configs parsed and are equal
fn test_parse_config_keymap_all() { fn test_parse_config_keymap_all() {
@@ -241,11 +232,6 @@ mod tests {
assert!(result_jsonc.keymap.is_some()); assert!(result_jsonc.keymap.is_some());
let result_jsonc = result_jsonc.keymap.unwrap(); let result_jsonc = result_jsonc.keymap.unwrap();
let example_json = include_str!("../../example_config/example.config.json");
let result_json = ConfigFile::parse(super::ConfigFileType::Json, example_json).unwrap();
assert!(result_json.keymap.is_some());
let result_json = result_json.keymap.unwrap();
let example_toml = include_str!("./config.toml"); let example_toml = include_str!("./config.toml");
let result_toml = ConfigFile::parse(super::ConfigFileType::Toml, example_toml).unwrap(); let result_toml = ConfigFile::parse(super::ConfigFileType::Toml, example_toml).unwrap();
assert!(result_toml.keymap.is_some()); assert!(result_toml.keymap.is_some());
@@ -253,7 +239,6 @@ mod tests {
assert_eq!(Keymap::from(Some(result_toml.clone())), Keymap::new()); assert_eq!(Keymap::from(Some(result_toml.clone())), Keymap::new());
assert_eq!(result_toml, result_jsonc); assert_eq!(result_toml, result_jsonc);
assert_eq!(result_jsonc, result_json);
} }
#[test] #[test]
@@ -274,15 +259,6 @@ mod tests {
assert_eq!(AppColors::from(result.colors), AppColors::new()); assert_eq!(AppColors::from(result.colors), AppColors::new());
} }
#[test]
/// make sure config.toml matches the default app colors
fn test_parse_config_colors_json() {
let example_json = include_str!("../../example_config/example.config.json");
let result = ConfigFile::parse(super::ConfigFileType::Json, example_json).unwrap();
assert!(result.colors.is_some());
assert_eq!(AppColors::from(result.colors), AppColors::new());
}
#[test] #[test]
/// All configs parsed and are equal /// All configs parsed and are equal
fn test_parse_config_colors_all() { fn test_parse_config_colors_all() {
@@ -291,11 +267,6 @@ mod tests {
assert!(result_jsonc.colors.is_some()); assert!(result_jsonc.colors.is_some());
let result_jsonc = result_jsonc.colors.unwrap(); let result_jsonc = result_jsonc.colors.unwrap();
let example_json = include_str!("../../example_config/example.config.json");
let result_json = ConfigFile::parse(super::ConfigFileType::Json, example_json).unwrap();
assert!(result_json.colors.is_some());
let result_json = result_json.colors.unwrap();
let example_toml = include_str!("./config.toml"); let example_toml = include_str!("./config.toml");
let result_toml = ConfigFile::parse(super::ConfigFileType::Toml, example_toml).unwrap(); let result_toml = ConfigFile::parse(super::ConfigFileType::Toml, example_toml).unwrap();
assert!(result_toml.colors.is_some()); assert!(result_toml.colors.is_some());
@@ -303,6 +274,5 @@ mod tests {
assert_eq!(AppColors::from(Some(result_toml.clone())), AppColors::new()); assert_eq!(AppColors::from(Some(result_toml.clone())), AppColors::new());
assert_eq!(result_toml, result_jsonc); assert_eq!(result_toml, result_jsonc);
assert_eq!(result_jsonc, result_json);
} }
} }