Skip to content

failk8s-packages/educates-cluster-essentials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

educates-cluster-essentials-package

This package provides educates-cluster-essentials functionality using educates-cluster-essentials.

Components

  • contour
  • kyverno
  • metacontroller
  • external-dns
  • cert-manager
  • certs
  • TODO: registry

Develop

This is some information useful for developing this package:

How to test scenarios

./scenarios/test-scenarios.sh

### How to test in real cluster

On kind

Create cluster:

kind create custer --config kind-templates/<KIND_TEMPLATE_FOR_SCENARIO>

Deploy scenario:

ytt --data-value-yaml debug=false --data-values-file <SCENARIO> -f src/bundle/config | kapp deploy -a educates -f - -c -y

Deploy a workshop and test:

educates deploy-workshop -f https://github.com/vmware-tanzu-labs/lab-k8s-fundamentals/releases/latest/download/workshop.yaml
educates browse-workshops

Delete scenario:

kapp delete -a educates -c -y

Delete cluster:

kind delete cluster --name test-educates

Configuration

The following configuration values can be set to customize the educates-cluster-essentials installation.

Global

Value Required/Optional Description
namespace Optional The namespace in which to deploy educates-cluster-essentials.

Test locally

If you want to get the output of the configuration to be applied, use:

ytt --data-values-file test.yaml  -f src/bundle/config

But if you want the internal configuration that is going to be used for specific infrastructure, use instead:

ytt --data-values-file test.yaml  -f src/bundle/config --data-value-yaml debug=True

NOTE: --data-value-yaml debug=True does enable output of the internal configuration to be used for the specific infra type.

Usage Example

This walkthrough guides you through using educates-cluster-essentials...

NOTE: develop version of the package needs to comply with semver, hence the package will be versioned as 0.0.0+develop

Test in minikube

Start minikube:

minikube start

Install kapp-controller 0.20+

kubectl apply -f https://github.com/vmware-tanzu/carvel-kapp-controller/releases/latest/download/release.yml

Install the Package Metadata:

kubectl apply -f target/k8s

Install the Required RBAC for the package install (create the control NS):

kubectl apply -f target/test/packageinstall-ns-rbac.yaml

Create the configuration file for your cluster:

kubectl create secret generic educates-cluster-essentials -n educates-cluster-essentials-package --from-file=values.yaml=src/examples-values/minikube.yaml -o yaml --dry-run=client | kubectl apply -f -

Create the package:

kubectl apply -f target/test/packageinstall.yaml

Verify the installation:

watch kubectl get packageinstall -A

If there's an issue, you can verify the problem with:

kubectl get packageinstall educates-cluster-essentials -n educates-cluster-essentials-package -o yaml

Develop

Upgrade packages

Edit vendir.yml file and update versions of components. The run:

vendir sync --chdir=src/bundle

Develop checklist

  1. Update your config.json with the package info
  2. Add overlays and values
  3. Test your bundle: ytt --data-values-file scenarios/test-kind-scenario-3.yaml -f src/bundle/config providing a sample values file from example-values
  4. Build your bundle ./hack/build.sh
  5. Add it to the failk8s-repo and publish the new repo and test the package from there, or test with local files

NOTE: develop versions will not be image locked and will have a version of 0.0.0+develop to comply with semver.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published