The examples are meant to deploy an application and service it with one of the ingress controller types.
- nginx-ingress
- nginx-plus-ingress
- nginx-plus-nap
These examples assume you have a running Kubernetes cluster and valid administrative credentials.
The following sample applications are provided:
- arcadia
export KUBECONFIG=$HOME/.kube/myconfig
. init.sh
example local vault container requires docker
cd vault-dev
make vault && make test
get a new self signed cert for default ingress
. init.sh && new_cert
- building and pushing
build_kic nginx-ingress 1.11.3 registry.domain.com
- deploying
- examples
- building and pushing
build_kic nginx-plus-ingress 1.11.3 registry.domain.com
- deploying
assumes your KUBECONFIG is set.
deploy_kic 1.11.3 registry.domain.com
- examples
- building
build_kic nginx-plus-ingress-nap 1.11.3 registry.domain.com
- deploying
- examples
# public
kubectl run multitool --image=praqma/network-multitool
toolPod=$(kubectl get pods -o json | jq -r ".items[].metadata | select(.name | contains (\"multitool\")).name")
kubectl exec -it $toolPod -- sh
# redhat
kubectl run debug-dns --image registry.access.redhat.com/rhel7/rhel-tools -it --rm -- bash
delete finalizers
NAMESPACE=my-namespace
# check for resources
kubectl -n $NAMESPACE get all
# remove finalizers
kubectl proxy &
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize
includes:
- pre-commit
- go
- docker
- terraform
- terraform-docs
don't forget to add your git user config
git config --global user.name "myuser"
git config --global user.email "myuser@domain.com"
checking for secrets as well as linting is performed by git pre-commit with the module requirements handled in the devcontainer.
testing pre-commit hooks:
# test pre commit manually
pre-commit run -a -v