A demo to show how to develop a golang App regarding the go-clean-arch philosophy, then deploy it with the k8s toolchain.
- Modify the
hostAliases
section in both k8s-pod.yaml and k8s-metrics.yaml, replace theip
field with the actual value on your machine. - Run Elasticsearch and Kibana (you may need to install them first).
- Start the docker engine.
- Start the minikube.
- Create the secrets needed by your app.
- Choose a dev tool to start.
- Populate the database by using the scripts under
config/migrate
kubectl create secret generic go-boilerplate-secret \
--from-literal=jwt_secret=your_secret \
--from-literal=db_password=your_password \
--from-literal=kv_password=your_password
It reads the Tiltfile
file in the current directory and brings up the services accordingly.
Run tilt up
installation:
curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash
$ tilt down
The command will trigger the Tilt to delete any k8s resources it allocated before.
The same with the Tilt but with the remote debugging support.
dev:
$ skaffold dev --port-forward
debug:
$ skaffold debug --port-forward
It reads the service definitions and automatically forwards the ports defined in the portForward
section. Add your own port-forward rules if necessary.
It automatically cleans the resources upon exit
It's not enabled by default, to enable it, please run:
$ kubectl apply -f k8s-metrics.yaml
Now you can check the metrics data in the Kibana dashboard.