Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uniget-org/cli
The universal installer and updater for (container) tools
https://github.com/uniget-org/cli
Last synced: about 1 month ago
JSON representation
The universal installer and updater for (container) tools
- Host: GitHub
- URL: https://github.com/uniget-org/cli
- Owner: uniget-org
- License: mit
- Created: 2023-06-30T18:33:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-21T15:52:36.000Z (8 months ago)
- Last Synced: 2024-04-22T13:03:46.716Z (8 months ago)
- Language: Go
- Homepage:
- Size: 4.33 MB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-docker - uniget - uni(versal)get, the installer and updater for container tools and beyond (formerly docker-setup). By [@nicholasdille](https://github.com/nicholasdille) (Development with Docker / Development Environment)
README
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7946/badge)](https://www.bestpractices.dev/projects/7946) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/uniget-org/cli/badge)](https://securityscorecards.dev/viewer/?uri=github.com/uniget-org/cli)
# uniget
```plaintext
_ _
_ _ _ __ (_) __ _ ___| |_
| | | | '_ \| |/ _` |/ _ \ __|
| |_| | | | | | (_| | __/ |_
\__,_|_| |_|_|\__, |\___|\__|
|___/
```The universal installer and updater to (container) tools
⚠️ uniget is in the process of being migrated [to GitLab](https://gitlab.com/uniget-org). The migration is being tracked [here](https://gitlab.com/uniget-org/migration-gh2gl). There is only one thing, you need to do: regularly update the uniget CLI using `uniget self-update`. ⚠️
## Purpose
`uniget` is inspired by the [convenience script](https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script) to install the Docker daemon. But the scope is much larger.
`uniget` is meant to bootstrap a new box with Docker as well as install useful tools from the container ecosystem and beyond. It can also be used to update these tools. It aims to be distribution-agnostic and provide reasonable default configurations. Personally, I am using it to prepare virtual machines for my own experiments as well as training environments.
Tools are downloaded, installed and updated automatically.
## Quickstart
Download and run `uniget`:
```bash
curl -sLf https://github.com/uniget-org/cli/releases/latest/download/uniget_linux_$(uname -m).tar.gz \
| sudo tar -xzC /usr/local/bin uniget
```## Docs
See the [documentation site](https://docs.uniget.dev).
## Quickstart
The `uniget` CLI comes with help included. The following scenarios are meant as quickstart tutorials.
## You want the default set of tools
By default, `uniget` will only install a small set of tools.
```bash
uniget install --default
```### You want to investigate which tools are available
List which tools are available in `uniget`:
```bash
uniget list
```### You want to install a specific tool
It is possible to install individual tools:
```bash
uniget install gojq
uniget install kubectl helm
```### You want to search for tools
You can search for the specified term in names, tags and dependencies:
```bash
uniget search jq
```### You want to update installed tools
Updated tools which are already installed:
```bash
uniget update
uniget upgrade
```### You want to see what will happen
Show which tools will be processed and updated:
```bash
uniget install containerd --plan
uniget upgrade --plan
```### Reinstall tool(s)
By adding the `--reinstall` parameter, the selected tools can be reinstalled regardless if they are outdated:
```bash
uniget install gojq --reinstall
```