browsertrix/backend/btrixcloud/k8s/templates/profilebrowser.yaml
Ilya Kreymer bf79959a5a refactoring to use statefulsets + job (#245)
- use statefulsets instead of deployments for mongo, redis, signer
- use k8s job + statefulset for running crawls
- use separate statefulset for crawl (scaled) and single-replica redis stateful set
- move crawl job update login to crawl_updater
- remove shared redis chart

package refactor:
- move to shared code to 'btrixcloud'
- move k8s to 'btrixcloud.k8s'
- move docker to 'btrixcloud.docker'
2022-06-05 10:37:17 -07:00

78 lines
1.4 KiB
YAML

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: browser-{{ id }}
namespace: {{ namespace }}
labels:
browser: {{ id }}
role: browser
spec:
selector:
matchLabels:
browser: {{ id }}
role: browser
serviceName: browser-{{ id }}
replicas: 1
template:
metadata:
labels:
browser: {{ id }}
role: browser
spec:
#terminationGracePeriod: {{ termination_grace_secs }}
#nodeSelector: {{ node_selector }}
containers:
- name: browser
image: {{ crawler_image }}
imagePullPolicy: {{ crawler_image_pull_policy }}
command:
- create-login-profile
- --interactive
- --filename
- /tmp/profile.tar.gz
- --url
- {{ url }}
{%- if profile_filename %}
- --profile
- "@{{ profile_filename }}"
{%- endif %}
envFrom:
- secretRef:
name: storage-{{ storage_name }}
env:
- name: STORE_PATH
value: {{ storage_path }}
---
apiVersion: v1
kind: Service
metadata:
name: browser-{{ id }}
labels:
browser: {{ id }}
role: browser
spec:
clusterIP: None
selector:
browser: {{ id }}
role: browser
ports:
- protocol: TCP
port: 9223
name: browser-api
- protocol: TCP
port: 9222
name: browser-ws