browsertrix/chart
Ilya Kreymer 4bea7565bc
load handling: scale up redis only when crawler pods running (#1009)
Operator: Modified init behavior to only load redis when at least one crawler pod available:
- waits for at least one crawler pod to be available before starting redis pod, to avoid situation where many crawler pods are in pending mode, but redis pods are still running.
- redis statefulset starts at scale of 0
- once crawler pod becomes available, redis sts is scaled to 1 (via `initRedis==true` status)
- crawl remains in 'starting' or 'waiting_capacity' state until pod becomes available without redis pod running
- set to 'running' state only after redis and at least one crawler pod is available
- if no crawler pods available after running, or, if stuck in starting for >60 seconds, switch to 'waiting_capacity' state
- when switching to 'waiting_capacity', also scale down redis to 0, wait for crawler pod to become available, only then scale up redis to 1, and get back to 'running'

other tweaks:
- add new status field 'initRedis', default to false, not displayed
- crawler pod: consider 'ContainerCreating' state as available, as container will not be blocked by resource limits
- add a resync after 3 seconds when waiting for crawler pod or redis pod to become available, configurable via 'operator_fast_resync_secs'
- set_state: if not updating state, ensure state reflects actual value in db
2023-07-26 08:40:05 -07:00
..
admin/logging Add lightweight logging mode (#668) 2023-03-10 14:34:37 -08:00
btrix-crds stopping fix: backend fixes for #836 + prep for additional status fields (#837) 2023-05-08 14:02:20 -07:00
charts stopping fix: backend fixes for #836 + prep for additional status fields (#837) 2023-05-08 14:02:20 -07:00
examples ansible: rocky firewall (#635) 2023-02-24 17:28:21 -08:00
templates load handling: scale up redis only when crawler pods running (#1009) 2023-07-26 08:40:05 -07:00
test tests: fixes for crawl cancel + crawl stopped (#864) 2023-05-22 20:17:29 -07:00
.helmignore Frontend + Backend Integrated Deployment (K8s only) (#45) 2021-12-03 10:17:22 -08:00
Chart.lock Refactor to use new operator on backend (#789) 2023-04-24 18:30:52 -07:00
Chart.yaml Refactor to use new operator on backend (#789) 2023-04-24 18:30:52 -07:00
README.md Refactor to use new operator on backend (#789) 2023-04-24 18:30:52 -07:00
values.yaml readd support for passing in 'crawler_extra_args' for additional/custom (#957) 2023-07-07 12:08:40 -07:00

Update Helm dependencies

  • It needs to update Helm charts after changing its dependencies (e.g. logging)
$ helm dependency update .

Update metacontroller

#!/bin/bash

# intall metacontroller
git clone --depth=1 https://github.com/metacontroller/metacontroller.git
cd metacontroller
helm package deploy/helm/metacontroller --destination deploy/helm
cd ..

# update dependency
helm dependency update
  • Bump up the metacontroller version in Chart.yaml