browsertrix/chart/app-templates/profile_job.yaml
Tessa Walsh 032859f361
Support multiple crawler versions (#1420)
Fixes #1385 

## Changes
Supports multiple crawler 'channels' which can be configured to
different browsertrix-crawler versions
- Replaces `crawler_image` in helm chart with `crawler_channels` array
similar to how storages are handled
- The `default` crawler channel must always be provided and specifies
the default crawler image
- Adds backend `/orgs/{oid}/crawlconfigs/crawler-channels` API endpoint
to fetch information about available crawler versions (name, image, and
label) and test
- Adds crawler channel select to workflow creation/edit screens and
profile creation dialog, and updates related API endpoints and
configmaps accordingly. The select dropdown is shown only if more than
one channel is configured.
- Adds `crawlerChannel` to workflow and crawl details.
- Add `image` to crawler image, used to display actual image used as
part of the crawl.
- Modifies `crawler_crawl_id` backend test fixture to use `test` crawler
version to ensure crawler versions other than latest work
- Adds migration to add `crawlerChannel` set to `default` to existing
workflow and profile objects and workflow configmaps

---------
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
2024-01-16 15:32:12 -08:00

34 lines
690 B
YAML

apiVersion: btrix.cloud/v1
kind: ProfileJob
metadata:
name: profilejob-{{ id }}
labels:
browser: "{{ id }}"
role: "job"
btrix.org: {{ oid }}
btrix.user: {{ userid }}
{%- if base_profile %}
btrix.baseprofile: "{{ base_profile }}"
{%- endif %}
btrix.storage: "{{ storage_name }}"
spec:
selector:
matchLabels:
browser: "{{ id }}"
id: "{{ id }}"
userid: "{{ userid }}"
oid: "{{ oid }}"
storageName: "{{ storage_name }}"
crawlerImage: "{{ crawler_image }}"
startUrl: "{{ url }}"
profileFilename: "{{ profile_filename }}"
vncPassword: "{{ vnc_password }}"
{% if expire_time %}
expireTime: "{{ expire_time }}"
{% endif %}