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
 | 
			
		||||
 | 
			
		||||
[](https://github.com/fluxcd/toolkit/actions)
 | 
			
		||||
[](https://goreportcard.com/report/github.com/fluxcd/toolkit)
 | 
			
		||||
[](https://github.com/fluxcd/toolkit/blob/master/LICENSE)
 | 
			
		||||
[](https://github.com/fluxcd/toolkit/releases)
 | 
			
		||||
 | 
			
		||||
Experimental toolkit for assembling CD pipelines the GitOps way.
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
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