Merge pull request #15 from fluxcd/install-script

Add CLI install instruction and script
pull/17/head
Stefan Prodan 5 years ago committed by GitHub
commit 8aa3750279
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,10 +1,17 @@
# toolkit # toolkit
[![e2e](https://github.com/fluxcd/toolkit/workflows/e2e/badge.svg)](https://github.com/fluxcd/toolkit/actions) [![e2e](https://github.com/fluxcd/toolkit/workflows/e2e/badge.svg)](https://github.com/fluxcd/toolkit/actions)
[![report](https://goreportcard.com/badge/github.com/fluxcd/toolkit)](https://goreportcard.com/report/github.com/fluxcd/toolkit)
[![license](https://img.shields.io/github/license/fluxcd/toolkit.svg)](https://github.com/fluxcd/toolkit/blob/master/LICENSE)
[![release](https://img.shields.io/github/release/fluxcd/toolkit/all.svg)](https://github.com/fluxcd/toolkit/releases)
Experimental toolkit for assembling CD pipelines the GitOps way. Experimental toolkit for assembling CD pipelines the GitOps way.
![overview](docs/diagrams/tk-overview.png)
Components: Components:
* [Toolkit CLI](docs/cmd/tk.md) * [Toolkit CLI](docs/cmd/tk.md)
* [Source Controller](https://github.com/fluxcd/source-controller) * [Source Controller](https://github.com/fluxcd/source-controller)
* [Kustomize Controller](https://github.com/fluxcd/kustomize-controller) * [Kustomize Controller](https://github.com/fluxcd/kustomize-controller)
To install the toolkit CLI, follow the [instructions](install/README.md).

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

@ -0,0 +1,37 @@
# TK CLI Installation
Binaries for macOS and Linux AMD64 are available for download on the
[release page](https://github.com/fluxcd/toolkit/releases).
To install the latest release run:
```bash
curl -s https://raw.githubusercontent.com/fluxcd/toolkit/master/install/tk.sh | sudo bash
```
The install script does the following:
* attempts to detect your OS
* downloads and unpacks the release tar file in a temporary directory
* copies the tk binary to `/usr/local/bin`
* removes the temporary directory
## Build from source
Clone the repository:
```bash
git clone https://github.com/fluxcd/toolkit
cd toolkit
```
Build the tk binary (requires go >= 1.14):
```bash
make build
```
Run the binary:
```bash
./bin/tk -h
```

@ -0,0 +1,51 @@
#!/usr/bin/env bash
set -e
DEFAULT_BIN_DIR="/usr/local/bin"
BIN_DIR=${1:-"$DEFAULT_BIN_DIR"}
opsys=""
if [[ "$OSTYPE" == linux* ]]; then
opsys=linux
elif [[ "$OSTYPE" == darwin* ]]; then
opsys=darwin
fi
if [[ "$opsys" == "" ]]; then
echo "OS $OSTYPE not supported"
exit 1
fi
if [[ ! -x "$(command -v curl)" ]]; then
echo "curl not found"
exit 1
fi
tmpDir=`mktemp -d`
if [[ ! "$tmpDir" || ! -d "$tmpDir" ]]; then
echo "could not create temp dir"
exit 1
fi
function cleanup {
rm -rf "$tmpDir"
}
trap cleanup EXIT
pushd $tmpDir >& /dev/null
curl -s https://api.github.com/repos/fluxcd/toolkit/releases/latest |\
grep browser_download |\
grep $opsys |\
cut -d '"' -f 4 |\
xargs curl -sL -o tk.tar.gz
tar xzf ./tk.tar.gz
mv ./tk $BIN_DIR
popd >& /dev/null
echo "$(tk --version) installed"
Loading…
Cancel
Save