feat(synapse): update ingress to use traefik ingress class and bump version feat(syncthing-discovery): introduce syncthing discovery service with deployment and ingress feat(syncthing-relay): add syncthing relay server with deployment and ingress configuration fix(taiga): update liveness and readiness probes to use tcpSocket for health checks fix(taiga): change PVC access mode to ReadWriteMany for media and static storage feat(traefik): add icon and ignore rules for traefik service docs(ushahidi): add notes for Redis configuration and Laravel startup probe adjustments feat(ushahidi): implement dedicated Redis deployment for Ushahidi fix(vllm): update deployment strategy and readiness/liveness probes for improved stability fix(writefreely): pin writefreely image version to v0.15.1 for consistency docs(zulip): add notes for TLS-terminating reverse proxy configuration and expected behavior
33 lines
866 B
Markdown
33 lines
866 B
Markdown
# Ruby (Rails)
|
||
|
||
## Startup delay
|
||
|
||
Rails startup (bundle exec, asset precompilation, initializer chain) typically takes 30–90 seconds. Extend the liveness probe delay to avoid restart loops:
|
||
|
||
```yaml
|
||
livenessProbe:
|
||
tcpSocket:
|
||
port: 3000
|
||
initialDelaySeconds: 90
|
||
periodSeconds: 30
|
||
failureThreshold: 6
|
||
readinessProbe:
|
||
httpGet:
|
||
path: /
|
||
port: 3000
|
||
initialDelaySeconds: 60
|
||
periodSeconds: 15
|
||
failureThreshold: 3
|
||
```
|
||
|
||
## Sidekiq workers
|
||
|
||
Sidekiq is a full Ruby process, not a thread pool. Deploy it as a separate Deployment from the web process with 256–512Mi memory. It does not need an HTTP liveness probe — omit it or use a simple `exec` check.
|
||
|
||
## Non-interactive rails console / rake tasks
|
||
|
||
```bash
|
||
kubectl exec -n <ns> <pod> -- bundle exec rake db:migrate
|
||
kubectl exec -n <ns> <pod> -- bundle exec rails runner "User.create!(...)"
|
||
```
|