release-installer

command module
v1.2.16 Latest Latest
Warning

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

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

README

release-installer

What is it ?

Many "devops" tools are single, statically linked, binary. Package managers are not always up to date and brew is almost made for Mac users. This tools ri is, it-self, a single binary, easy to install and esay to use to install binaries found on github for exemple.

Descriptions

By default, the known descriptions will be put in ~/.release-installer/releases. You can add yours, it will be taken into account. But, if a software you use is not available, don't hesitate to propose a yaml description here.

How to use it

For the first run, download the needed binary file from the release page and run the init command. Once installed, ri will be able to auto update (binary and yaml definitions).

$ ri -h

A tool to download and install binaries

Usage:
  ri [command]

Available Commands:
  help        Help about any command
  init        Initialize release-installer
  install     Install one release
  list        List available releases or versions
  remove      Remove a specific release version
  update      Update the releases definitions
  version     Show the ro=i version

Flags:
      --config string   config file (default is $HOME/.release-installer/release-installer.yaml)
      --debug           debug
  -h, --help            help for ri

Use "ri [command] --help" for more information about a command.
Install a release
$ ri install -h

Install one release

Usage:
  ri install [release] [flags]

Flags:
      --apiVersion string   Set this install apiVersion (default "install/v1")
  -a, --arch string         Release binary architecture (default "amd64")
  -d, --default             Set this install as default
  -h, --help                help for install
  -o, --os string           Release binary OS (default "linux")
  -p, --path string         Destination to install binary in, should be set in your "$PATH" (default "~/bin")
  -v, --version string      Release version

Global Flags:
      --config string   config file (default is $HOME/.release-installer/release-installer.yaml)
      --debug           debug

Exemple:

ri install terrafom -v 0.13.2 -d

Result:


 Installing release "terraform"

» Version: 0.13.2
» OS:      linux
» Arch:    amd64
» Default: true
» Path:    ~/bin

 Release files

» Checksum file: https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_SHA256SUMS
» Archive file:  https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip

 Downloading files

√ [==================================================] terraform_0.13.2_SHA256SUMS (731.43 KB/s)
√ [=============================================] terraform_0.13.2_linux_amd64.zip (543.31 KB/s)

√ File saved as: /home/david/bin/terraform_0.13.2

» Creating symlink: /home/david/bin/terraform

√ Done

 √ Release installed
list releases
$ ri list -h

Usage:
  ri list [release name] [flags]

Flags:
  -h, --help         help for list
  -i, --installed    Show installed releases only
  -n, --number int   Number of releases or versions to show (default 5)

Global Flags:
      --config string   config file (default is $HOME/.release-installer/release-installer.yaml)
      --debug           debug
list all known releases
$ ri list

 Available releases

√ dive (v0.9.2)
» eksctl
√ gitcomm (v0.3.4)
» github-cli
√ goreleaser (v0.147.2)
√ helm (v3.4.0)
√ istioctl (1.7.4)
» kubectl-argo-rollouts
» skaffold
√ stern (v1.13.1)
√ terraform (0.13.5)
list all versions for one releases
$ ri list terraform

 Available versions for release "terraform"

» v0.14.6
» v0.15.0-alpha20210127
» v0.14.5
» v0.15.0-alpha20210107
» v0.14.4
Update myself
$ ri update -h

Update the releases definitions

Usage:
  ri update [flags]

Flags:
  -f, --force         Force update
  -h, --help          help for update
  -p, --path string   Destination to install binary in, should be set in your "$PATH" (default "~/bin")

Global Flags:
      --config string   config file (default is $HOME/.release-installer/release-installer.yaml)
      --debug           debug

Documentation

Overview

Copyright © 2020 David Sabatie <david.sabatie@notrenet.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Directories

Path Synopsis
Package cmd ...
Package cmd ...
Package configs ...
Package configs ...
internal
config
Package config ...
Package config ...
pkg
install
Package install ...
Package install ...
log
Package log ...
Package log ...
output
Package output ...
Package output ...
progressbar
Package progressbar ...
Package progressbar ...
reference
Package reference ...
Package reference ...
release
Package release ...
Package release ...

Jump to

Keyboard shortcuts

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