Skip to content

PurpleBooth/readable-name-generator

Repository files navigation

Readable Name Generator

Generate a readable name for throwaway infrastructure

Usage

Basic Usage

readable-name-generator
capable_munson

Reproducing names

readable-name-generator --initial-seed 1
gregarious_pauli

Changing the separator

readable-name-generator --initial-seed 1 --separator "###"
gregarious###pauli

Full usage

readable-name-generator --help
Generate a readable name for throwaway infrastructure

Usage: readable-name-generator [OPTIONS]

Options:
  -s, --separator <SEPARATOR>
          The separator to use [env: READABLE_NAME_GENERATOR_SEPARATOR=] [default: _]
  -i, --initial-seed <INITIAL_SEED>
          Use a known seed to generate the readable name for repeatability [env:
          READABLE_NAME_GENERATOR_INITIAL_SEED=]
  -c, --completion-shell <COMPLETION_SHELL>
          Generate completion for your shell [env: COMPLETION_SHELL=] [possible values: bash,
          elvish, fish, powershell, zsh]
  -h, --help
          Print help
  -V, --version
          Print version

Docker

We also have a docker image

docker run --rm -it ghcr.io/purplebooth/readable-name-generator:latest -i 1
gregarious_pauli

Installing

Download the latest release and run it. I install it with homebrew. Or you could use docker.

Binaries

Binaries for Windows, Linux and MacOS are available on the releases page

Packages

Packages are available for various platforms, including Debian, Arch Linux, RPM-based distributions, Alpine, and Docker.

You can access them on the packages page.

Additionally, a Homebrew repository is provided:

brew install PurpleBooth/repo/readable-name-generator

Development

Testing

To run the tests, run

just test

To run the end-to-end tests, run

just specdown

Automatic Code Formatting

To automatically tidy up the code in whatever way possible run

just fmt

Building docker

We have a docker container

docker build -t "ghcr.io/purplebooth/readable-name-generator:latest"
docker run --rm -it ghcr.io/purplebooth/readable-name-generator:latest -i 1
gregarious_pauli

License

CC0 1.0 Universal.