https://github.com/edosrecki/oopsiee-cli
A CLI tool for oopsiee-server. Simplifies daily operations and on-call duty by letting you run repeated and cumbersome tasks with one-liners.
https://github.com/edosrecki/oopsiee-cli
cli devops on-call operations
Last synced: 2 months ago
JSON representation
A CLI tool for oopsiee-server. Simplifies daily operations and on-call duty by letting you run repeated and cumbersome tasks with one-liners.
- Host: GitHub
- URL: https://github.com/edosrecki/oopsiee-cli
- Owner: edosrecki
- Created: 2019-10-26T11:18:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T23:29:28.000Z (over 2 years ago)
- Last Synced: 2024-12-22T18:39:10.469Z (6 months ago)
- Topics: cli, devops, on-call, operations
- Language: TypeScript
- Homepage:
- Size: 1.04 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 38
-
Metadata Files:
- Readme: README.adoc
Awesome Lists containing this project
README
:toc: macro
:toc-title:
:toclevels: 10= oOPSiee 🙈
image:https://img.shields.io/github/package-json/v/edosrecki/oopsiee-cli/release?color=blue&label=oopsiee-cli["oOPSiee CLI Version"]
image:https://img.shields.io/github/workflow/status/edosrecki/oopsiee-cli/Continuous Integration["Build Status", link="https://github.com/edosrecki/oopsiee-cli/actions"]
image:https://img.shields.io/david/edosrecki/oopsiee-cli["Dependencies Status"]A CLI tool for link:https://github.com/edosrecki/oopsiee-server[oopsiee-server]. Simplifies **daily operations** and
**on-call** duty by letting you run repeated and cumbersome tasks with one-liners.* Supports **synchronous** commands
* Supports **asynchronous** jobs
* Easily **extensible**
* **Simple** installation and configuration
* Comes with **help** entries
* Runs on all **platforms**
* Uses **private/public key** authentication
** Supports **encrypted** private keys and integrates with **ssh-agent**
* Written in **TypeScript**
* Semi-automatic **dependency updates** with Dependabot---
toc::[]
== Installation
=== Homebrew
```shell
brew install edosrecki/tools/oopsiee# To update:
brew upgrade oopsiee
```=== Releases
Download a corresponding distribution from https://github.com/edosrecki/oopsiee-cli/releases[Releases] and add
the executable to your `PATH`.=== Build from source
Optionally, you can also build it from source by building and packaging it manually - see _Build_ and
_Package_ sections.== Usage
=== Configure
1. https://github.com/edosrecki/oopsiee-server#adding-your-public-key[Add your public key] to `oopsiee-server`.
2. Log into `oopsiee-cli`:```shell
> oopsiee login
? Username: foobar
? Private key file path: ~/.ssh/id_rsa
```==== Encrypted private key?
Encrypted private keys are supported via `ssh-agent`, which needs to be configured:
```shell
oopsiee config set user.ssh-agent-socket
```=== Help
```shell
oopsiee help
oopsiee help
```=== Run command
```shell
# Run synchronously/asynchronously (whichever is default for command)
oopsiee [ARGS] [OPTS]# Force command to run synchronously
oopsiee [ARGS] [OPTS] --sync# Force command to run asynchronously
oopsiee [ARGS] [OPTS] --async# Fetch results of asynchronous command execution
oopsiee job
```== Run
=== Development mode
```shell
npm run exec:dev -- [ARGS] [OPTS]
```=== Distribution mode
```shell
npm run exec:dist -- [ARGS] [OPTS]
```== Build
```shell
npm run clean
npm run build
```== Package
=== Pre-configured
```shell
# Packages for Node.JS 12 on MacOS, Linux, and Windows
npm run bundle
```=== Manual
See https://www.npmjs.com/package/pkg#targets[pkg] for details.```shell
npx pkg --# Examples
npx pkg node8-macos-x64
npx pkg node10-linux-x86
npx pkg node6-win-x64
```== Test
```shell
npm test
npm run test:watch
```== Deploy
To deploy a new version of `oopsiee-cli`, merge `master` branch into `release` branch.
New version will automatically get released by CI system.