Khan - An interactive CLI management tool for Nomad

Khan

An interactive CLI management tool for Hashicorp's Nomad

Why

Nomad has a great CLI tool with a lot of features, but copy/pasting IDs around and wanting to see steady updates among multiple objects can be tricky. There are also great web UIs for working with Nomad, but these have overhead in setup. There is room for a middle ground for quick debugging/troubleshooting on the command line, similar to a tool like k9s.

Enter Khan!

Configuration

Khan uses the default Nomad configuration variables.

Developer Requirements

The following are required as global installs for development:

  • Python 3 (standard install for Linux/Mac should be fine)
  • Go 1.17+ (goenv is recommended)
  • Make (probably already installed)

Other tools will be handled automatically by the Makefile. These tools will be downloaded locally to the ./bin folder. For ease of use, you may want to use direnv with the supplied .envrc.example file to add this local path to your bin, so you can run these tools as if they were globally installed.

Running a Nomad test server

Any Nomad server can be used for testing, but for simplicity and self-contained development a quick development server can be brought up with make nomad-test-server in another terminal. This will start a Nomad agent in dev mode which brings up the server and a single client, itself.

More complicated setups will be added later via Vagrant, but this is enough for a starting point.

Owner
Comments
  • [Feature request] Include `nomad job inspect`

    [Feature request] Include `nomad job inspect`

    Hi, thanks for working on this tool! Great work and very handy.

    As one of the use cases, would it be possible to also support nomad job inspect? Usually the output that is returned by Nomad CLI is barely readable, so I think having beautiful format of that would be really helpful.

    Cheers!

  • [Feature Request] Timestamp column on Jobs table

    [Feature Request] Timestamp column on Jobs table

    I think it would be great if we can see timestamp column on the table of Jobs.

    The reason is sometimes there can be enormous amount of jobs showed up and it will be very helpful to easily point out which is the latest job.

    Thank you! 🙇

  • Job tab refactor

    Job tab refactor

    Break out the various subcomponents of the Job tab into their own bubbles for much clearer code organization. Still more work to do but this seems like a good checkpoint.

  • Better inspects

    Better inspects

    Show all of the inspected objects for both nodes and jobs, with a fun colorized view. Many more improvements to be done but this is a first workable version.

  • Sometimes logs fail with no alloc found, but allocs exist

    Sometimes logs fail with no alloc found, but allocs exist

    Not sure how to reproduce yet, but confirmed seeing it. Sometimes trying to follow logs for a job fails with the error that no allocs were found, but in checking with the Nomad CLI tool directly there are definitely allocs and the logs can be retrieved.

Zms - The Bhojpur ZMS is a software-as-a-service product applied in different risk management areas. It is a containment Zone Management System based on Bhojpur.NET Platform.

Bhojpur ZMS - Zone Management System The Bhojpur ZMS is a software-as-a-service product used as a Zone Management System based on Bhojpur.NET Platform

Sep 26, 2022
Trakt-cli - A CLI for trakt.tv using the trakt.tv API
Trakt-cli - A CLI for trakt.tv using the trakt.tv API

trakt-cli ████████╗██████╗ █████╗ ██╗ ██╗████████╗ ██████╗██╗ ██╗ ╚══

Dec 27, 2022
Identity & Access Management simplified and secure.
Identity & Access Management simplified and secure.

IAM Zero Identity & Access Management simplified and secure. ?? Get Started | ?? Support What is IAM Zero? IAM Zero detects identity and access manage

Dec 30, 2022
Open Cluster Management API

Open Cluster Management API Community, discussion, contribution, and support Getting Started Prerequisites Security Response The api repository define

Dec 23, 2022
RESTful based volume management framework for GlusterFS

Heketi Heketi provides a RESTful management interface which can be used to manage the life cycle of GlusterFS volumes. With Heketi, cloud services lik

Nov 18, 2020
💾 Wolke API is the API behind Wolke image storage and processing aswell as user management

?? Wolke API Wolke API is the API behind Wolke image storage and processing aswell as user management Deploying To deploy Wolke Bot you'll need podman

Dec 21, 2021
gRPC Network Management Interface

gNMI - gRPC Network Management Interface This repository contains reference Go implementations for gNMI. Note: This is not an official Google product.

Jan 8, 2023
lightweight, self-service AWS IAM management
lightweight, self-service AWS IAM management

Contents Overview Architecture Prerequisites Workflow What groups exist? Who do I ask for access? What groups am I in? How do I add group members? How

Jan 16, 2022
Redash-go-sdk - An SDK for the programmatic management of Redash, in Go
Redash-go-sdk - An SDK for the programmatic management of Redash, in Go

Redash Go SDK An SDK for the programmatic management of Redash. The main compone

Dec 13, 2022
GoDrive is a Go CLI tool written to wrap the Google Drive API.

GoDrive is a Go CLI tool written to wrap the Google Drive API.

Jan 10, 2022
EggContractor is a self-hosted contract monitoring web app + CLI client for Egg

EggContractor is a self-hosted contract monitoring web app + CLI client for Egg, Inc.. It allows you to easily monitor all your contract progress, as well as peeking into prospective coops you may want to join.

Nov 23, 2022
💻 Quotable.io API Wrapper + CLI App
💻 Quotable.io API Wrapper + CLI App

?? Quotable.io API Wrapper + CLI App

Sep 27, 2022
CLI timed quiz game parsed from CSV file in GOLANG
CLI timed quiz game parsed from CSV file in GOLANG

Quiz-Game-GO CLI timed quiz game parsed from csv file in GOLANG Read the quiz provided via a CSV file and will then give the quiz to a user keeping tr

Dec 3, 2021
Getting presigned urls for S3 with AWS SDK Go V2. Easy deploy with Velcel CLI.

S3-Presigned-Urls-Vercel-Serverless Setup yarn install && yarn setup Run(Local) yarn start You need to set environment variables with os.setenv for lo

Jan 14, 2022
🌺 cross-platform haste CLI client

haste haste is a cross-platform hastebin CLI client. installation go install github.com/x6r/haste@latest usage $ haste # interactively prompts you for

Jan 6, 2023
A cli HackerNews reader, using HackerNews API.

HackerReader STILL WIP A cli HackerNews reader, using the HackerNews API. I mainly created this as a way to play around with Bubble Tea, Lip Gloss, an

Feb 13, 2022
A GitHub CLI extension that displays collaboration-related information about a GitHub repository.
A GitHub CLI extension that displays collaboration-related information about a GitHub repository.

collab-scanner GitHub CLI extension A GitHub CLI extension that displays collaboration-related information on a repository. Install gh extension insta

Dec 30, 2022
Need an overpowered, automated spammer CLI to impress / unimpress your friends? This is it!
Need an overpowered, automated spammer CLI to impress / unimpress your friends? This is it!

spammer Need an overpowered, automated spammer CLI to impress / unimpress your friends? This is it! Install git clone https://github.com/quackduck/spa

Aug 10, 2022
Simple tool to search tagged resources between all AWS resouces

Welcome to Cloud Inventory Tags ?? Simple tool to search tagged resources around all AWS Account Installation MacOS / OSX

Jan 26, 2022