In this folder are configuration manifests for deploying GrimoireLab using Kubernetes. You will need a functional Kubernetes cluster, and you should be able to deploy both versions on k8s, kind, or minikube. There are certainly other options out there as well.
- Git client
- Kubernetes 1.17+ (managed or local, including kind, minikube, or k3s)
- kubectl client and admin credentials to aforementioned Kubernetes cluster
- Clone this project:
git clone https://github.com/chaoss/grimoirelab
- Since it's impossible to reference external files from within yaml, the configuration templates provided in
default-grimoirelab-settings
are copied to various config/secret maps.
- [
30-hatstall-config.yml
] - Containsapache-hatstall.conf
- [
31-hatstall-secret.yml
] - Containsshdb.cfg
- [
50-mordred-config.yml
] - Containsprojects.json
andidentities.yml
- [
51-mordred-config-aliases.yml
] - Containsaliases.json
- [
52-mordred-config-identities.yml
] - Containsidentities.yml
- [
53-mordred-secret.yml
] - Containssetup.cfg
The two files you'll likely want to modify at first are 50-mordred-config.yml
, which includes the relevant project locations in projects.json
in addition to 53-mordred-secret.yml
, which contains all the configuration settings for collecting the data for your projects. This includes api keys, passwords, and other important artifacts.
See below more information about these files format.
- Launch the project and use
port-forward
as shown in this example to access the dashboard.
cd grimoirelab/kubernetes/secure
kubectl apply -f .
kubectl port-forward service/kibiter 5601 -n grimoire
Launch your browser and navigate to http://localhost:5601
, and login with the user name admin
and password admin
.
To manage the contributors identities, you may port-forward the Hatstall application as well.
kubectl port-forward service/hatstall 8000:80 -n grimoire
Once forwarded, access your browser at http://localhost:8000
, and login using the user name admin
, and password admin
Follow the same steps as above, but use the manifests in the insecure
folder.
- The
projects.json
file format - The
setup.cfg
file format - Getting API tokens for different services: