Commit ac52c7ee authored by Kyle Wiebers's avatar Kyle Wiebers

Refine the review-app config variables

Add base-config.yaml to define non-environment
variable config for review app deploy. Define
resource requests and limits for all used apps
parent b13e18da
global:
appConfig:
enableUsagePing: false
imagePullPolicy: Always
ingress:
annotations:
external-dns.alpha.kubernetes.io/ttl: 10
configureCertmanager: false
tls:
secretName: tls-cert
certmanager:
install: false
gitlab:
gitaly:
resources:
requests:
cpu: 300m
memory: 200M
limits:
cpu: 600m
memory: 420M
persistence:
size: 10G
gitlab-exporter:
enabled: false
mailroom:
enabled: false
migrations:
resources:
requests:
cpu: 350m
memory: 200M
limits:
cpu: 700m
gitlab-shell:
resources:
requests:
cpu: 70m
memory: 20M
limits:
cpu: 140m
memory: 40M
sidekiq:
resources:
requests:
cpu: 300m
memory: 800M
limits:
cpu: 400m
memory: 1.6G
task-runner:
resources:
requests:
cpu: 50m
memory: 350M
limits:
cpu: 100m
memory: 700M
unicorn:
resources:
requests:
cpu: 600m
memory: 1.4G
limits:
cpu: 1.2G
memory: 2.8G
workhorse:
resources:
requests:
cpu: 100m
memory: 100M
limits:
cpu: 200m
memory: 200M
gitlab-runner:
resources:
requests:
cpu: 300m
memory: 300M
limits:
cpu: 600m
memory: 600M
minio:
resources:
requests:
cpu: 100m
memory: 128M
limits:
cpu: 200m
memory: 280M
nginx-ingress:
controller:
config:
ssl-ciphers: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
replicaCount: 2
resources:
requests:
cpu: 150m
memory: 250M
limits:
cpu: 300m
memory: 500M
minAvailable: 1
service:
enableHttp: false
livenessProbe:
timeoutSeconds: 5
readinessProbe:
timeoutSeconds: 5
defaultBackend:
resources:
requests:
cpu: 5m
memory: 12M
limits:
cpu: 10m
memory: 24M
replicaCount: 1
postgresql:
metrics:
enabled: false
resources:
requests:
cpu: 250m
memory: 256M
limits:
cpu: 500m
prometheus:
install: false
redis:
metrics:
resources:
enabled: false
resources:
requests:
cpu: 100m
memory: 60M
limits:
cpu: 200m
memory: 130M
redis-ha:
enabled: false
registry:
minReplicas: 1
resources:
requests:
cpu: 50m
memory: 32M
limits:
cpu: 100m
memory: 64M
......@@ -196,19 +196,13 @@ HELM_CMD=$(cat << EOF
--force \
--wait \
--timeout 900 \
--set ci.branch="$CI_COMMIT_REF_NAME" \
--set ci.commit.sha="$CI_COMMIT_SHORT_SHA" \
--set ci.job.url="$CI_JOB_URL" \
--set ci.pipeline.url="$CI_PIPELINE_URL" \
--set releaseOverride="$CI_ENVIRONMENT_SLUG" \
--set global.appConfig.enableUsagePing=false \
--set global.imagePullPolicy=Always \
--set global.hosts.hostSuffix="$HOST_SUFFIX" \
--set global.hosts.domain="$REVIEW_APPS_DOMAIN" \
--set global.ingress.configureCertmanager=false \
--set global.ingress.tls.secretName=tls-cert \
--set global.ingress.annotations."external-dns\.alpha\.kubernetes\.io/ttl"="10" \
--set certmanager.install=false \
--set prometheus.install=false \
--set nginx-ingress.controller.service.enableHttp=false \
--set nginx-ingress.controller.replicaCount=2 \
--set nginx-ingress.controller.config.ssl-ciphers="ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4" \
--set gitlab.migrations.image.repository="$gitlab_migrations_image_repository" \
--set gitlab.migrations.image.tag="$CI_COMMIT_REF_SLUG" \
--set gitlab.gitaly.image.repository="$gitlab_gitaly_image_repository" \
......@@ -226,91 +220,11 @@ HELM_CMD=$(cat << EOF
EOF
)
# Default requested: CPU => 100m, memory => 100Mi
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set nginx-ingress.controller.resources.limits.cpu=200m \
--set nginx-ingress.controller.resources.requests.memory=210M \
--set nginx-ingress.controller.resources.limits.memory=420M
EOF
)
# Default requested: CPU => 5m, memory => 5Mi
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set nginx-ingress.defaultBackend.resources.limits.cpu=10m \
--set nginx-ingress.defaultBackend.resources.requests.memory=12M \
--set nginx-ingress.defaultBackend.resources.limits.memory=24M
EOF
)
# Default requested: CPU => 100m, memory => 200Mi
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set gitlab.gitaly.resources.requests.cpu=150m \
--set gitlab.gitaly.resources.limits.cpu=300m \
--set gitlab.gitaly.resources.limits.memory=420M
EOF
)
# Default requested: CPU => 0, memory => 6M
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set gitlab.gitlab-shell.resources.requests.cpu=70m \
--set gitlab.gitlab-shell.resources.limits.cpu=140m \
--set gitlab.gitlab-shell.resources.requests.memory=20M \
--set gitlab.gitlab-shell.resources.limits.memory=40M
EOF
)
# Default requested: CPU => 50m, memory => 650M
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set gitlab.sidekiq.resources.requests.cpu=200m \
--set gitlab.sidekiq.resources.limits.cpu=300m \
--set gitlab.sidekiq.resources.requests.memory=800M \
--set gitlab.sidekiq.resources.limits.memory=1.2G
EOF
)
# Default requested: CPU => 300m + 100m (workhorse), memory => 1.2G + 100M (workhorse)
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set gitlab.unicorn.resources.limits.cpu=800m \
--set gitlab.unicorn.resources.limits.memory=2.6G
EOF
)
# Default requested: CPU => 100m, memory => 64Mi
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set redis.resources.limits.cpu=200m \
--set redis.resources.limits.memory=130M
EOF
)
# Default requested: CPU => 100m, memory => 128Mi
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set minio.resources.limits.cpu=200m \
--set minio.resources.limits.memory=280M
EOF
)
# Default requested: CPU => 0, memory => 0
HELM_CMD=$(cat << EOF
$HELM_CMD \
--set gitlab-runner.resources.requests.cpu=300m \
--set gitlab-runner.resources.limits.cpu=600m \
--set gitlab-runner.resources.requests.memory=300M \
--set gitlab-runner.resources.limits.memory=600M
EOF
)
HELM_CMD=$(cat << EOF
$HELM_CMD \
--namespace="$KUBE_NAMESPACE" \
--version="$CI_PIPELINE_ID-$CI_JOB_ID" \
-f "../scripts/review_apps/base-config.yaml" \
"$name" .
EOF
)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment