From 985ae4c718e75daeea811701159fc9a28ac1b832 Mon Sep 17 00:00:00 2001 From: Burak Berk Keskin Date: Sun, 15 Jun 2025 12:05:35 +0300 Subject: [PATCH 1/2] add toleration and node selector document --- .../configuration/advanced-configuration.md | 561 ++++++++++++++++++ 1 file changed, 561 insertions(+) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md index 5630a37cb..a8dd737f7 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md @@ -125,6 +125,567 @@ webhook: replicaCount: 2 ``` +## Configure Toleration and Node Selector + +To run Appcircle server on specific nodes, you can configure toleration and node selector for the Appcircle server services. By default, the Helm chart doesn't configure toleration and node selector. + +To configure toleration and node selector, you can see the sample `values.yaml` file below: + +:::info +The node selector labels and toleration in the `values.yaml` file below are just examples. You can configure them as you need. +::: + +:::caution +Some keys might already exists in your `values.yaml` file, make sure to update the existing keys instead of adding new ones. + +If you are using external services (such as MongoDB or PostgreSQL) instead of the ones provided by the Appcircle Server Helm chart, you can omit the corresponding service configurations from your `values.yaml` file. +::: + +
+ Click to see the sample `values.yaml` file. + + ```yaml + + # General + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + + # Service Specific + auth: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + auth-keycloak: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + auth-postgresql: + primary: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + + agentcache: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + agentcache-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + apigateway: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + apigateway-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + appparser: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + agentcache-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + build: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + build-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution: + distribution-server: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-server-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-testeradmin: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-testerapi: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-testerapi-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-testerweb: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-web: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-testerweb-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + distribution-web-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + license: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + license-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + notification: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + otp: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + otp-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + publish: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + publish-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + reporting: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + resign: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + resource: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + resource-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + schedulemanager: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + schedulemanager-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + signingidentity: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + signingidentity-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + store: + store-web: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + extraEnvVars: + - name: TR_STORE_TITLE + value: "Uygulama Mağazası" + - name: EN_STORE_TITLE + value: "App Store" + store-web-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + store-admin: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + store-api: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + store-api-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + store-profile: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + store-report: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + storesubmit: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + storesubmit-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + taskserver: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + taskserver-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + webhook: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + webeventredis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + replica: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + tls: + enabled: true + ingress: + tls: true + enabled: true + web: + web-app: + + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + web-event: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + web-redis: + master: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + + # Third party services + vault: + server: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + ingress-nginx: + controller: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + admissionWebhooks: + patch: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + defaultBackend: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + kafka: + controller: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + mongodb: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + arbiter: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + minio: + nodeSelector: + environment: "production" + tolerations: + - key: "app" + operator: "Equal" + value: "appcircle" + effect: "NoSchedule" + + ``` +
+ + + + + ## Applying Configuration Changes From eb4529dd951d3f3fba0cbfeb6b2fea9059f305f0 Mon Sep 17 00:00:00 2001 From: Burak Berk Keskin Date: Sun, 15 Jun 2025 12:07:34 +0300 Subject: [PATCH 2/2] fix grammar --- .../helm-chart/configuration/advanced-configuration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md index a8dd737f7..626073197 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md @@ -127,12 +127,12 @@ webhook: ## Configure Toleration and Node Selector -To run Appcircle server on specific nodes, you can configure toleration and node selector for the Appcircle server services. By default, the Helm chart doesn't configure toleration and node selector. +To run the Appcircle server on specific nodes, you can configure tolerations and node selectors for the Appcircle server services. By default, the Helm chart does not configure any tolerations or node selectors. -To configure toleration and node selector, you can see the sample `values.yaml` file below: +To configure tolerations and node selectors, refer to the sample `values.yaml` file below: :::info -The node selector labels and toleration in the `values.yaml` file below are just examples. You can configure them as you need. +The node selector labels and tolerations in the `values.yaml` file below are examples. You can configure them according to your specific requirements. ::: :::caution