Kroki¶
With Kroki, users can generate amazing graphs with various syntax types. When the Ansible stack detects any number of Kroki nodes in your inventory, it will automatically enable Kroki in the GitLab application settings as well. The application settings are not removed when you remove the Kroki nodes, in case you want to manage Kroki externally.
When enabled, a custom rule is added to the load balancer to forward all traffic for the /-/kroki path to the correct
nodes.
Enabled by default: Kroki uses the existing _gitlab_session cookie to check with GitLab if the user is logged in.
This is to prevent public access and usage of the Kroki graph engine.
The following relevant Ansible variables are available. It's not recommended you change these, but you can:
| Name | Default | Description |
|---|---|---|
kroki_docker_image |
"yuzutech/kroki:0.21.3" |
The docker image to use when deploying Kroki. |
kroki_require_auth |
true |
Have the Kroki daemons check for a valid _gitlab_session cookie. |
The following relevant Terraform variables are available:
| Name | Default | Description |
|---|---|---|
kroki_node_count |
0 |
Number of Kroki nodes to create |
kroki_instance_type |
"" |
Instance type of the Kroki node(s) |
kroki_disk_type |
gp3 |
Optional |
kroki_disk_size |
50 |
Optional |
kroki_disk_encrypt |
true |
Optional |
kroki_disk_delete_on_termination |
true |
Optional |
kroki_disk_kms_key_arn |
null |
Optional |
kroki_data_disks |
[] |
Optional |
kroki_iam_instance_policy_arns |
[] |
Optional |
Most of these settings are entirely optional, or can be configured through default variables. The following example is enough to get started:
module "gitlab_cluster" {
# [...]
kroki_node_count = 2
kroki_instance_type = "t3a.medium"
}