go-exercises-manager
The utility for managing users.
Features
- commands:
- add a user:
- parameters:
- username;
- password;
- password hashing cost;
- flag indicating the need to generate a password;
- generated password length;
- flag indicating whether the user is disabled or not;
- update a user:
- parameters:
- username;
- new username;
- password;
- password hashing cost;
- flag indicating the need to generate a password;
- generated password length;
- flag indicating whether the user is disabled or not;
- flag indicating whether the user is enabled or not;
- can update the user fields individually.
Installation
Prepare the directory:
$ mkdir --parents "$(go env GOPATH)/src/github.com/thewizardplusplus/"
$ cd "$(go env GOPATH)/src/github.com/thewizardplusplus/"
Clone this repository:
$ git clone https://github.com/thewizardplusplus/go-exercises-backend.git
$ cd go-exercises-backend
Install dependencies with the dep tool:
$ dep ensure -vendor-only
Build the utility:
$ go install ./cmd/go-exercises-manager
Usage
$ go-exercises-manager -h | --help
$ go-exercises-manager add-user [options]
$ go-exercises-manager update-user [options]
Commands:
add-user — add the user;
update-user — update the user.
Options:
-h, --help — show the context-sensitive help message and exit;
-u STRING, --username STRING — username;
-U STRING, --new-username STRING — new username (applies only to the update-user command);
-p STRING, --password STRING — user password;
-c INTEGER, --cost INTEGER — cost of the user password hashing (range: from 4 to 31 inclusive; default: 10);
-g, --generate — generate the user password;
-l INTEGER, --length INTEGER — length of the user password to be generated (minimum: 6; default: 6);
-d, --disable — disable the user;
-e, --enable — enable the user (applies only to the update-user command).
Environment variables:
STORAGE_ADDRESS — PostgreSQL connection URI (default: postgres://postgres:postgres@localhost:5432/postgres?sslmode=disable).