Go to file
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
.github Fix pull_request syntax in ansible lint GH Action (#995) 2023-07-20 12:13:52 +02:00
ansible Fix pull_request syntax in ansible lint GH Action (#995) 2023-07-20 12:13:52 +02:00
backend load handling: scale up redis only when crawler pods running (#1009) 2023-07-26 08:40:05 -07:00
chart load handling: scale up redis only when crawler pods running (#1009) 2023-07-26 08:40:05 -07:00
configs
docs Add crawler Use Sitemap option to Browsertrix Cloud (#978) 2023-07-19 13:57:52 -04:00
frontend Upload WACZ via UI (#992) 2023-07-21 16:45:52 +02:00
scripts
test
.gitignore Make btrix helper work with microk8s (#768) 2023-04-18 08:50:46 -04:00
.pre-commit-config.yaml
btrix btrix helper: Add -microk8s flag to explicitly use microk8s (#888) 2023-05-30 15:41:26 -07:00
CHANGES.md version: bump to 1.3.0 2023-02-24 18:07:56 -08:00
LICENSE
mkdocs.yml Org Settings documetation & Getting Started docs page updates 2023-06-11 17:39:16 -04:00
NOTICE
pylintrc
README.md docs: fix link to dev docs 2023-05-24 10:59:41 -07:00
update-version.sh
version.txt Uploads API: BaseCrawl refactor + Initial support for /uploads endpoint (#937) 2023-07-07 09:13:26 -07:00
yarn.lock Frontend collections beta UI (#886) 2023-06-06 17:52:01 -07:00

Browsertrix Cloud

Browsertrix Cloud is an open-source cloud-native high-fidelity browser-based crawling service designed to make web archiving easier and more accessible for everyone.

The service provides an API and UI for scheduling crawls and viewing results, and managing all aspects of crawling process. This system provides the orchestration and management around crawling, while the actual crawling is performed using Browsertrix Crawler containers, which are launched for each crawl.

See Features for a high-level list of planned features.

Documentation

The full docs for using, deploying and developing Browsertrix Cloud are available at: https://docs.browsertrix.cloud

Deployment

The latest deployment documentation is available at: https://docs.browsertrix.cloud/deploy

The docs cover deploying Browsertrix Cloud in different environments using Kubernetes, from a single-node setup to scalable clusters in the cloud.

Previously, Browsertrix Cloud also supported Docker Compose and podman-based deployment. This is now deprecated due to the complexity of maintaining feature parity across different setups, and with various Kubernetes deployment options being available and easy to deploy, even on a single machine.

Making deployment of Browsertrix Cloud as easy as possible remains a key goal, and we welcome suggestions for how we can further improve our Kubernetes deployment options.

If you are looking to just try running a single crawl, you may want to try Browsertrix Crawler first to test out the crawling capabilities.

Development Status

Browsertrix Cloud is currently in a beta, though the system and backend API is fairly stable, we are working on many additional features.

Additional developer documentation is available at https://docs.browsertrix.cloud/develop

Please see the GitHub issues and this GitHub Project for our current project plan and tasks.

License

Browsertrix Cloud is made available under the AGPLv3 License.

Documentation is made available under the Creative Commons Attribution 4.0 International License