Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shappy0/ntui
A terminal based UI to manage your Nomad Clusters.
https://github.com/shappy0/ntui
go golang hashicorp-nomad nomad nomad-cli nomad-cluster nomad-tui ntui ntui-cli
Last synced: about 1 month ago
JSON representation
A terminal based UI to manage your Nomad Clusters.
- Host: GitHub
- URL: https://github.com/shappy0/ntui
- Owner: SHAPPY0
- License: mit
- Created: 2024-02-23T05:43:59.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-10T14:57:58.000Z (5 months ago)
- Last Synced: 2024-10-31T09:05:27.430Z (2 months ago)
- Topics: go, golang, hashicorp-nomad, nomad, nomad-cli, nomad-cluster, nomad-tui, ntui, ntui-cli
- Language: Go
- Homepage:
- Size: 4.77 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ntui - A Terminal Based UI To Manage Nomad Clusters.
This is an unofficial open source terminal UI tool to manage your [Hashicorp Nomad](https://www.nomadproject.io/) clusters. The purpose of this tui is to just make it easy to access Nomad services like Jobs, Allocations, Deployments, TaskGroups, Tasks, Logs, Restart/Delete resources.
`ntui` is free to use and currently at its `BETA` stage. We are continuously working on adding more features of ntui, so stay tune and keep using `ntui`.
## Screens:
#### 1. Regions/Namespaces:![ntui Regions/Namespaces](https://github.com/SHAPPY0/ntui/blob/main/assets/images/regions_namespace.png)
#### 2. Jobs:
![ntui Jobs](https://github.com/SHAPPY0/ntui/blob/main/assets/images/jobs.png)
#### 3. Allocations:
![ntui Allocations](https://github.com/SHAPPY0/ntui/blob/main/assets/images/allocations.png)#### 4. Versions:
![ntui Versions](https://github.com/SHAPPY0/ntui/blob/main/assets/images/versions.png)## Installations:
`ntui` can be installed through shell script or `make` through source code.#### Install By Make:
1. Clone this git repository.
2. Run `make install`
3. Run `make build`.
4. Make sure to set all the configurations inside `config.toml`
5. Run `ntui` to start the tui.#### Install By shell script:
1. Clone this git repository.
2. Run setup script using `bash ./setup.sh`. It will setup a home directory(`.ntui`) with configs. Make sure to set all the configurations inside `config.toml`.
3. Run build script using `bash ./build.sh`. It will build the code in local system.
4. Run it using `./bin/ntui`. More options can be viewed using `./bin/ntui --help`## How To Use It:
`ntui` requires some configurations to be set, the default config file should be at user's root home diretory.
Default config file looks like below -
```toml
#Home Directory of ntui
Home_Dir = ""#Set the config path from where all configs should be read
#Config_Path = ""#Set log levels, default: info (info|error|warn)
#Log_Level = "info"#Set custom log directory for storing ntui app logs
#Log_Dir = ""#Set ntui screen table data refresh rate, default: 5
#Refresh_Rate = 5#Set Nomad HTTP authentication credentials, format username:password
#Nomad_Http_Auth = ""#Set Nomad Server URL
Nomad_Server_Base_Url = ""#Set Nomad ACL Token
#Nomad_Token = ""#Set Default Nomad Cluster Region
Nomad_Region = ""#Set Default Nomad Region's Namespace
Nomad_Namespace = ""#Set Nomad CA certificate
#Nomad_Cacert = ""#Set Nomad CA path
#Nomad_Capath = ""#Set Nomad Client Certificate
#Nomad_Client_Cert = ""#Set Nomad Client Certificate Key
#Nomad_Client_Key = ""#Set Nomad TLS server
#Nomad_Tls_Server = ""#Set If skip certificate verify
#Nomad_Skip_Verify = false
```### Commands:
```shell
# Run ntui
ntui# View Help options
ntui help# View current ntui version
ntui version# View config values.
ntui config
```
### Flags:Below are the falgs which can be passed while running ntui -
`-c or --config-path` to set ntui config path.
`--home-dir` to set home directory of ntui app.
`--host` to set nomad host.
`-l or --log-level` to set the ntui log level.
`--region` to set the nomad region.
`-n or --namespace` to set the nomad namespace.
`-r or --refresh` to set refresh rate to refresh the screen data.
`--skip-verify` to set if skip cetificate verification.
`-t or --token` to set nomad token to perform actions, which requires it.
#### Keys:
##### Global Keys
`<1>`: To view Nomad Nodes`<2>`: To view/change regions and namespaces
``: To go back to previous screen
``: To select the row
##### Jobs Screen
``: To stop job``: To start job
``: View job's definition
``: Run new job
##### TaskGroups Screen
``: To view job versions##### Versions Screen
``: To revert the selected job versions##### Allocations Screen
``: To restart selected task.``: View logs of selected alloc.
##### Tasks Screen
``: To restart selected task.``: To view logs of selected task.
##### Logs Screen
``: To view stderr logs.``: To view stdout logs.