diff --git a/.circleci/deployment/values/speckle-server.values.yaml b/.circleci/deployment/values/speckle-server.values.yaml index d798f4b35..135003584 100644 --- a/.circleci/deployment/values/speckle-server.values.yaml +++ b/.circleci/deployment/values/speckle-server.values.yaml @@ -46,7 +46,7 @@ objects: frontend_2: enabled: true - logPretty: true + logPretty: false #FIX: FE2 does not yet support 'true' https://linear.app/speckle/issue/WEB-1166/frontend-2-does-not-support-nuxt-public-log-pretty=true-in-docker preview_service: replicas: 0 diff --git a/utils/helm/speckle-server/templates/objects/deployment.yml b/utils/helm/speckle-server/templates/objects/deployment.yml index c2beb8b25..0b634e08e 100644 --- a/utils/helm/speckle-server/templates/objects/deployment.yml +++ b/utils/helm/speckle-server/templates/objects/deployment.yml @@ -64,11 +64,20 @@ spec: exec: command: ["sleep", "5"] + startupProbe: + periodSeconds: 10 + failureThreshold: 60 # 10*60 = 600s; accounts for long-running db migrations + timeoutSeconds: 3 + exec: + command: + - node + - -e + - "try { require('node:http').request({headers: {'Content-Type': 'application/json'}, port:3000, hostname:'127.0.0.1', path:'/liveness', method: 'GET', timeout: 2000 }, (res) => { body = ''; res.on('data', (chunk) => {body += chunk;}); res.on('end', () => {process.exit(res.statusCode != 200 || body.toLowerCase().includes('error'));}); }).end(); } catch { process.exit(1); }" + livenessProbe: - # account for long-running migrations - initialDelaySeconds: 600 periodSeconds: 60 timeoutSeconds: 10 + failureThreshold: 3 exec: command: - node @@ -77,8 +86,9 @@ spec: readinessProbe: initialDelaySeconds: 5 - periodSeconds: 10 - timeoutSeconds: 10 + periodSeconds: 4 + timeoutSeconds: 2 + failureThreshold: 1 exec: command: - node diff --git a/utils/helm/speckle-server/templates/server/deployment.yml b/utils/helm/speckle-server/templates/server/deployment.yml index 6a549db4a..6dfc629ec 100644 --- a/utils/helm/speckle-server/templates/server/deployment.yml +++ b/utils/helm/speckle-server/templates/server/deployment.yml @@ -69,11 +69,20 @@ spec: exec: command: ["sleep", "5"] + startupProbe: + periodSeconds: 10 + failureThreshold: 60 # 10*60 = 600s; accounts for long-running db migrations + timeoutSeconds: 3 + exec: + command: + - node + - -e + - "try { require('node:http').request({headers: {'Content-Type': 'application/json'}, port:3000, hostname:'127.0.0.1', path:'/liveness', method: 'GET', timeout: 2000 }, (res) => { body = ''; res.on('data', (chunk) => {body += chunk;}); res.on('end', () => {process.exit(res.statusCode != 200 || body.toLowerCase().includes('error'));}); }).end(); } catch { process.exit(1); }" + livenessProbe: - # account for long-running migrations - initialDelaySeconds: 600 periodSeconds: 60 timeoutSeconds: 10 + failureThreshold: 3 exec: command: - node @@ -82,8 +91,9 @@ spec: readinessProbe: initialDelaySeconds: 5 - periodSeconds: 10 - timeoutSeconds: 10 + periodSeconds: 4 + timeoutSeconds: 2 + failureThreshold: 1 exec: command: - node