tappr
makes it easy to create Kubernetes clusters on your local machine and some cloud providers as well as install/manage Tanzu Application Platform installs on it. The CLI can be used by developers to do local development as well as in the CI to run end-2-end tests on a Kubernetes cluster with TAP installed.
- Create/Delete k8s clusters suitable for TAP deployment using
tappr cluster create/tappr cluster delete
commands.kind
,minikube
, andGKE
are supported as of now. Other providers will be added in the future.- GKE cluster creation requires
gcloud
CLI installed and configured usinggcloud auth
orservice-accounts
.
- Install TAP on any K8s cluster using a single
tappr tap install
command. - Upgrade TAP using
tappr tap upgrade
command. - Setup Developer namespace for workloads creation on any TAP cluster using
tappr tap setup
command. This command will help setup your registry credentials, tekton test pipelines and scan policies for testing scanning supply chain. - Edit TAP installations on the fly using
tappr tap edit
- Easily connect your TAP GUI with other clusters in a multi-cluster environment using
tappr gui track/untrack
commands. - Check your local for useful utilities that are used by
tappr
. You can install missing ones usingtappr utils local setup
. - Store your credentials once, which are then seamlessly used throughout
tappr
commands.
- Install the latest Python 3.x.x from python.org
Recommended way to install tappr is by using pipx.
You can brew
install pipx
as follows:
brew install pipx
pipx ensurepath
To Install latest:
pipx install git+https://github.com/atmandhol/tappr.git
If you already have tappr
installed from latest, and want to pull in the new changes:
pipx reinstall tappr
To Install a specific version of tappr:
pipx install git+https://github.com/atmandhol/tappr.git@version
- Run
tappr
on your command line to confirm if its installed
- Start by running
tappr utils local check
command to see if all the required tools to usetappr
are installed or not.
- Run
tappr utils local setup
command and install the missing tools. All prompts defaults toNo
you can keep hitting enter till you get to the tool that is missing. - Run
tappr init
to set up credentials once.
Check the Full CLI Usage documentation for everything that is possible.
- Run
tappr cluster create/delete
commands to create K8s clusters on different providers. - Run
tappr tap install {profile} {version}
command to install TAP on it along with Cluster Essentials. You can skip the Cluster essential install using the--skip-cluster-essentials
flag. You can also install only Cluster Essentials usingtappr tap install-cluster-essentials
command. - Run
tappr tap edit --show
to update your TAP install with your custom settings. - Run
tappr tap upgrade {version}
command to install TAP on it.
Use the --help
global flag to see the options and possible values you can provide.
# Create a minikube cluster. You can use --help on this command to see more flags to customize the minikube cluster
tappr cluster create minikube tap-local
# Start a tunnel in a separate terminal using (requires sudo)
minikube tunnel --profile tap-local
# Install TAP. Only install full profile if your machine can handle it :D.
tappr tap install full 1.4.0
# After the install is complete, you can access TAP GUI on
# http://tap-gui.127.0.0.1.nip.io
# You can also set a different ingress-domain if you like
# using the --ingress-domain flag as long as it routes to a
# proper IP in your /etc/hosts file
- Mini test-framework that can be used to write
bash
based integration tests. - Auto generate
changelog
on a project using conventional commits standard usingtappr utils changelog
. - Auto generate
release
notes on any Git project usingtappr utils release
- Check/Set up your local environment for useful tools in life of a k8s developer/operator using
tappr utils local
commands.
- Install
poetry
on the system level using
pip3 install poetry
- Create a virtualenv
tappr
using virtualenvwrapper and run install
mkvirtualenv tappr -p python3
poetry install
Run the following poetry command
$ poetry build
This will generate a dist folder with a whl file and a tar.gz file.
Run the following poetry command
$ poetry update
Generate the usage docs automatically using the generate_paparwork
script in the hack folder.
$ ./hack/generate_paperwork.sh