Origin: https://github.com/lisy09/k8s-project-template
This project provides these features:
- document templates with VuePress/dev-docs-template
- k8s cluster in docker for local or CI/CD machine with kind
- ci/cd, gitops with Argo
- chatops with Jenkins X (lighthouse)
- source code scan with sonarqube
- code coverage:
- python: coverage.py
- golang: go tool cover
- java/scala: jacoco/sbt-jacoco
- examples for various test x various language
- unit test
- e2e test
- integration test/deployment test
- load test
- k8s observability
- monitoring/metrics
- alert to email/slack
- logging
- [TODO] tracing
The documentation of the project is located on Github Pages or in the docs/ directory.
To check the src markdown of docs, please check ./dev-docs/docs_src
- The environment for build needs to be linux/amd64 or macos/amd64
- The environemnt for build needs docker engine installed
- have docker-compose installed
- The environemnt for build needs GNU
make> 3.8 installed - The environemnt for build needs
bashshell
[optional]
- for unified IDE support without installing any programming language tools in the local environment, need
- Visual Studio Code to be installed
- Visual Studio Code Extension: Remote - Containers to be installed
Check the LICENSE file for license rights and limitations.
Please check CONTRIBUTING.md.
build/: Building/running entrypoint for the solutionservices/: parent dir for each components/serviceslocal-k8s-cluster: module to create a local k8s cluster using kind, which is using Docker container "nodes".cicd: ci/cd construction on k8sgitops: source for gitops. Please notice that in production practice, please seperate this module to another repository, to handle the deployment permission control separately.dev-docs: module to edit the docsdocs: generated static html docs fromdev-docsscripts/: scripts for building/runningMakefile: GNU Make Makefile as quick command entrypoint
Please maintain the local port binding list here for docker/docker-compose based development, to avoid port conflict for multiple modules
- 8080: dev-docs dev preview (with vscode remote container)
- 8081: dev-docs dev preview (run docker container locally)
- 53: dns proxy by dnsmasq
- 5380: http manage page for dnsmasq
- 2049: port for nfs server
make allmake docs-previewThen open http://localhost:8081 in browser.
make docsdocs/ will be updated.