Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Gitops module for Tanzu Application Platform

Are you bought-in to managing and auditing updates to Kubernetes resources via Git commits and merge requests? Would you like to be able to install Tanzu Application Platform without the tanzu CLI and necessary plugins? Are you invested in the Carvel toolset and CRDs?

Then, you've come to the right place.

What am I looking at? An opinionated directory structure containing templated k8s manifests.

Prerequisites

These CLIs must be installed

  • kubectl
  • kapp
  • ytt

You should also have pre-installed

Preparation

Copy the .env.sample file.

cp .env.sample .env

Edit and save the contents of the .env file.

Convert the .tpl files embedded in the directories underneath application-platform.

./to-yaml.sh

After executing this script, you should notice that for each occurrence of a .tpl file there should be a corresponding .yml file of the same name. Observe that place-holder values in a .tpl file are now substituted with real values in the corresponding .yml file. If upon review you see any un-substituted values in a resultant .yml file, go back and edit the .env file, then re-run the script.

Installation

You'll want to export APP_NAME, export DOMAIN, and export IAAS.

The values assigned to environment variables below should match what was previously defined in .env.

kubectl apply -f .prereq
kapp deploy --app $APP_NAME-ns-rbac --file <(ytt --file .init) --diff-changes --yes
kapp deploy --app $APP_NAME --file .install --diff-changes --yes
kapp deploy --app $APP_NAME-ancillary --file .post-install --diff-changes --yes

Verification

kubectl get app -A
kubectl get packageinstall -A

Removal

kapp delete --app $APP_NAME-ancillary --diff-changes --yes
kapp delete --app $APP_NAME --diff-changes --yes
kapp delete --app $APP_NAME-ns-rbac --diff-changes --yes
kubectl delete -f .prereq