opsilon

command module
v0.3.0-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2022 License: GPL-3.0 Imports: 1 Imported by: 0

README

Opsilon

Test golangci-lint Go Report Card Go Reference codecov

A customizable CLI for collaboratively running container-native workflows

opsilon

For full usage, please refer to the: Docs.

This project serves the purpose of giving developers, operations and other personal the ability to run custom workflows on their personal computer using a container environment, without them writing code and having to understand the meaning behind the script.

Download

Quickstart

Download the latest release for your os: (this example uses version v0.3.0). For Mac:

$ curl -L https://github.com/jatalocks/opsilon/releases/download/v0.3.0-alpha/opsilon_0.3.0-alpha_Darwin_x86_64.tar.gz \
 | tar -xz opsilon | chmod u+x opsilon

Test if the Opsilon CLI works: (When it doesn't work, you may have downloaded the wrong file or your device/os isn't supported)

$ ./opsilon version

Move the executable to a folder on your $PATH:

$ mv opsilon /usr/local/bin/opsilon # or /usr/bin/opsilon

Usage

Make sure you have Docker installed on your computer (Or Connected to a kubernetes cluster --kubernetes). EITHER

  1. Connect to the examples folder present in this repository
$ opsilon repo add --git -n examples -d examples -s examples/workflows -p https://github.com/jatalocks/opsilon.git -b main
# For private repositories, use https://myuser:github_token@github.com/myprivateorg/>myprivaterepo.git
  1. List available workflows
$ opsilon list
  1. Run a workflow!
$ opsilon run # --kubernetes (kubernetes instead of docker)

OR

  1. Start the web server
$ opsilon server -p 8080 # --kubernetes (kubernetes instead of docker) --database (update results in mongodb) --consul (connect to a remote configuration)
  1. List available API actions
$ Go to http://localhost:8080/api/v1/docs

Demo

$> opsilon
A customizable CLI for collaboratively running container-native workflows

Usage:
  opsilon [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  list        List all workflows available in your repositories
  repo        Operate on workflow repositories
  run         Run an available workflow
  server      Runs an api server that functions the same as the CLI
  version     Displays opsilon version

Flags:
      --config string   config file (default is $HOME/.opsilon.yaml)
  -h, --help            help for opsilon

Use "opsilon [command] --help" for more information about a command.

Contribution

I would always welcome an issue or a PR! Every contribution is welcome. Below is some information to help you get started.

Development Features
Project Layout
  • assets/ => docs
  • cmd/ => commandline configurartions (flags, subcommands)
  • pkg/ => the entrypoints of the CLI commands
  • internal/ => packages that are the main core function of the project
Makefile Targets
$> make
bootstrap                      install build deps
build                          build golang binary
clean                          clean up environment
cover                          display test coverage
docker-build                   dockerize golang application
fmt                            format go files
help                           list makefile targets
install                        install golang binary
lint                           lint go files
pre-commit                     run pre-commit hooks
run                            run the app
test                           display test coverage
Thanks

This project was made possible by https://github.com/FalcoSuessgott/golang-cli-template

Documentation

Overview

Copyright © 2022 NAME HERE <EMAIL ADDRESS>

Directories

Path Synopsis
internal
db
get
pkg
run
web

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL