mirror of https://github.com/fluxcd/flux2.git
				
				
				
			Add CLI install instruction and script
							parent
							
								
									4c6dba2f39
								
							
						
					
					
						commit
						7739d84fa7
					
				@ -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