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>
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| apiVersion: v1
 | |
| kind: Secret
 | |
| metadata:
 | |
|   name: backend-auth
 | |
|   namespace: {{ .Release.Namespace }}
 | |
| 
 | |
| type: Opaque
 | |
| stringData:
 | |
|   PASSWORD_SECRET: "{{ .Values.backend_password_secret }}"
 | |
| 
 | |
|   EMAIL_SMTP_PORT: "{{ .Values.email.smtp_port }}"
 | |
|   EMAIL_SMTP_HOST: "{{ .Values.email.smtp_host }}"
 | |
|   EMAIL_SENDER: "{{ .Values.email.sender_email }}"
 | |
|   EMAIL_REPLY_TO: "{{ .Values.email.reply_to }}"
 | |
|   EMAIL_PASSWORD: "{{ .Values.email.password }}"
 | |
|   EMAIL_SMTP_USE_TLS: "{{ .Values.email.use_tls }}"
 | |
|   EMAIL_SUPPORT: "{{ .Values.email.support_email }}"
 | |
| 
 | |
|   SUPERUSER_EMAIL: "{{ .Values.superuser.email }}"
 | |
|   SUPERUSER_PASSWORD: "{{ .Values.superuser.password }}"
 | |
| 
 | |
| 
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Secret
 | |
| metadata:
 | |
|   name: ops-configs
 | |
|   namespace: {{ .Release.Namespace }}
 | |
| 
 | |
| type: Opaque
 | |
| data:
 | |
|   storages.json: {{ .Values.storages | toJson | b64enc | quote }}
 | |
|   crawler_channels.json: {{ .Values.crawler_channels | toJson | b64enc | quote }}
 | |
| 
 | |
| 
 | |
| {{- range $storage := .Values.storages }}
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Secret
 | |
| metadata:
 | |
|   name: storage-{{ $storage.name }}
 | |
|   namespace: {{ $.Values.crawler_namespace }}
 | |
| 
 | |
| type: Opaque
 | |
| stringData:
 | |
|   TYPE: "s3"
 | |
|   STORE_ACCESS_KEY: "{{ $storage.access_key }}"
 | |
|   STORE_SECRET_KEY: "{{ $storage.secret_key }}"
 | |
| 
 | |
|   {{- if $storage.bucket_name }}
 | |
|   STORE_ENDPOINT_URL: "{{ $storage.endpoint_url }}{{ $storage.bucket_name }}/"
 | |
|   {{- else }}
 | |
|   STORE_ENDPOINT_URL: "{{ $storage.endpoint_url }}"
 | |
|   {{- end }}
 | |
|   STORE_ENDPOINT_NO_BUCKET_URL: "{{ $storage.endpoint_url }}"
 | |
| 
 | |
|   STORE_REGION: "{{ $storage.region }}"
 | |
| 
 | |
|   STORE_S3_PROVIDER: {{ $storage.s3_provider | default "Other" }}
 | |
| 
 | |
| {{- end }}
 |