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..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 @@ -125,6 +125,567 @@ webhook: replicaCount: 2 ``` +## 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 tolerations and node selectors, refer to the sample `values.yaml` file below: + +:::info +The node selector labels and tolerations in the `values.yaml` file below are examples. You can configure them according to your specific requirements. +::: + +:::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