Skip to content

Commit 1a9e104

Browse files
authored
Merge pull request #37 from sparkfabrik/task/pdb
refs platform/1731: Gitaly PDB MaxUnavailable
2 parents 0565341 + b68f083 commit 1a9e104

File tree

4 files changed

+40
-31
lines changed

4 files changed

+40
-31
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ Then perform the following commands on the root folder:
5959
| gitlab\_enable\_restore\_pv | Enable additional storage for TAR Restoration creation of any appreciable size | `bool` | `false` | no |
6060
| gitlab\_enable\_smtp | Setup Gitlab email address to send email. | `bool` | `false` | no |
6161
| gitlab\_gitaly\_disk\_size | Setup persistent disk size for gitaly data in GB. Default 100 GB | `number` | `100` | no |
62+
| gitlab\_gitaly\_max\_unavailable | For PodDisruptionBudget, how many pods can be unavailable at one time for Gitaly StatefulSet | `number` | `0` | no |
6263
| gitlab\_hpa\_max\_replicas\_kas | Set the maximum hpa pod replicas for the Gitlab Kas. | `number` | `10` | no |
6364
| gitlab\_hpa\_max\_replicas\_registry | Set the maximum hpa pod replicas for the Gitlab Registry. | `number` | `10` | no |
6465
| gitlab\_hpa\_max\_replicas\_shell | Set the maximum hpa pod replicas for the Gitlab Shell. | `number` | `10` | no |

main.tf

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -528,37 +528,38 @@ locals {
528528
gitlab_release_helm_values = templatefile(
529529
"${path.module}/values.yaml",
530530
{
531-
DOMAIN = local.domain
532-
INGRESS_IP = local.gitlab_address
533-
DB_PRIVATE_IP = google_sql_database_instance.gitlab_db.private_ip_address
534-
REDIS_PRIVATE_IP = google_redis_instance.gitlab.host
535-
PROJECT_ID = var.project_id
536-
ENABLE_CERT_MANAGER = var.gitlab_enable_certmanager
537-
CERT_MANAGER_EMAIL = var.certmanager_email
538-
INSTALL_RUNNER = var.gitlab_install_runner
539-
INSTALL_INGRESS_NGINX = var.gitlab_install_ingress_nginx
540-
INSTALL_PROMETHEUS = var.gitlab_install_prometheus
541-
INSTALL_GRAFANA = var.gitlab_install_grafana
542-
INSTALL_KAS = var.gitlab_install_kas
543-
ENABLE_REGISTRY = var.gitlab_enable_registry
544-
ENABLE_CRON_BACKUP = var.gitlab_enable_cron_backup
545-
SCHEDULE_CRON_BACKUP = var.gitlab_schedule_cron_backup
546-
GITALY_PV_SIZE = var.gitlab_gitaly_disk_size
547-
PV_STORAGE_CLASS = var.gke_storage_class
548-
ENABLE_SMTP = var.gitlab_enable_smtp
549-
SMTP_USER = local.gitlab_smtp_user
550-
BACKUP_EXTRA = var.gitlab_backup_extra_args
551-
TIMEZONE = var.gitlab_time_zone
552-
ENABLE_OMNIAUTH = var.gitlab_enable_omniauth
553-
ENABLE_BACKUP_PV = var.gitlab_enable_backup_pv
554-
BACKUP_PV_SIZE = var.gitlab_backup_pv_size
555-
ENABLE_RESTORE_PV = var.gitlab_enable_restore_pv
556-
RESTORE_PV_SIZE = var.gitlab_restore_pv_size
557-
BACKUP_PV_SC = var.gke_sc_gitlab_backup_disk
558-
RESTORE_PV_SC = var.gke_sc_gitlab_restore_disk
559-
PV_MATCH_LABEL = var.gke_gitaly_pv_labels
560-
ENABLE_MIGRATIONS = var.gitab_enable_migrations
561-
ENABLE_PROM_EXPORTER = var.gitab_enable_prom_exporter
531+
DOMAIN = local.domain
532+
INGRESS_IP = local.gitlab_address
533+
DB_PRIVATE_IP = google_sql_database_instance.gitlab_db.private_ip_address
534+
REDIS_PRIVATE_IP = google_redis_instance.gitlab.host
535+
PROJECT_ID = var.project_id
536+
ENABLE_CERT_MANAGER = var.gitlab_enable_certmanager
537+
CERT_MANAGER_EMAIL = var.certmanager_email
538+
INSTALL_RUNNER = var.gitlab_install_runner
539+
INSTALL_INGRESS_NGINX = var.gitlab_install_ingress_nginx
540+
INSTALL_PROMETHEUS = var.gitlab_install_prometheus
541+
INSTALL_GRAFANA = var.gitlab_install_grafana
542+
INSTALL_KAS = var.gitlab_install_kas
543+
ENABLE_REGISTRY = var.gitlab_enable_registry
544+
ENABLE_CRON_BACKUP = var.gitlab_enable_cron_backup
545+
SCHEDULE_CRON_BACKUP = var.gitlab_schedule_cron_backup
546+
GITALY_PV_SIZE = var.gitlab_gitaly_disk_size
547+
PV_STORAGE_CLASS = var.gke_storage_class
548+
ENABLE_SMTP = var.gitlab_enable_smtp
549+
SMTP_USER = local.gitlab_smtp_user
550+
BACKUP_EXTRA = var.gitlab_backup_extra_args
551+
TIMEZONE = var.gitlab_time_zone
552+
ENABLE_OMNIAUTH = var.gitlab_enable_omniauth
553+
ENABLE_BACKUP_PV = var.gitlab_enable_backup_pv
554+
BACKUP_PV_SIZE = var.gitlab_backup_pv_size
555+
ENABLE_RESTORE_PV = var.gitlab_enable_restore_pv
556+
RESTORE_PV_SIZE = var.gitlab_restore_pv_size
557+
BACKUP_PV_SC = var.gke_sc_gitlab_backup_disk
558+
RESTORE_PV_SC = var.gke_sc_gitlab_restore_disk
559+
PV_MATCH_LABEL = var.gke_gitaly_pv_labels
560+
ENABLE_MIGRATIONS = var.gitab_enable_migrations
561+
ENABLE_PROM_EXPORTER = var.gitab_enable_prom_exporter
562+
GITALY_MAX_UNAVAILABLE = var.gitlab_gitaly_max_unavailable
562563

563564
#Bucket Names
564565
ARTIFACTS_BCKT = google_storage_bucket.gitlab_bucket["artifacts"].name

values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ gitlab:
244244
size: "${RESTORE_PV_SIZE}Gi"
245245
## https://docs.gitlab.com/charts/charts/gitlab/gitaly
246246
gitaly:
247+
maxUnavailable: ${GITALY_MAX_UNAVAILABLE}
247248
persistence:
248249
size: "${GITALY_PV_SIZE}Gi"
249250
storageClass: ${PV_STORAGE_CLASS}

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -565,3 +565,9 @@ variable "gitlab_monitoring_allowed_cidrs" {
565565
description = "Set the list of the allowed CIDRs for the Gitlab monitoring paths (readiness, liveness and metrics)."
566566
default = []
567567
}
568+
569+
variable "gitlab_gitaly_max_unavailable" {
570+
type = number
571+
description = "For PodDisruptionBudget, how many pods can be unavailable at one time for Gitaly StatefulSet"
572+
default = 0
573+
}

0 commit comments

Comments
 (0)