mirror of https://github.com/fluxcd/flux2.git
Merge pull request #15 from fluxcd/install-script
Add CLI install instruction and scriptpull/17/head
commit
8aa3750279
@ -1,10 +1,17 @@
|
||||
# toolkit
|
||||
|
||||
[![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.
|
||||
|
||||
![overview](docs/diagrams/tk-overview.png)
|
||||
|
||||
Components:
|
||||
* [Toolkit CLI](docs/cmd/tk.md)
|
||||
* [Source Controller](https://github.com/fluxcd/source-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…
Reference in New Issue