* refactor to use shared role-based service shared across pods: - 'crawler' service for all crawler screencasting, scales 0 .. N with crawler-<ID>-N.crawl - 'redis' service for all redis access, redis-<ID>-0.redis - 'browser' service for all browser access (profile browsers), browser-<ID>-0.browser - don't create a new service per crawl/profile at all - enable 'publishNotReadyAddresses' for potentially faster resolving, esp for redis - remove service as type managed by operator as no longer creating services dynamically - remove frontend var CRAWLER_SVC_SUFFIX, suffix always '.crawler' to match crawler service name
73 lines
1.6 KiB
YAML
73 lines
1.6 KiB
YAML
---
|
|
apiVersion: metacontroller.k8s.io/v1alpha1
|
|
kind: CompositeController
|
|
metadata:
|
|
name: crawljobs-operator
|
|
spec:
|
|
generateSelector: false
|
|
resyncPeriodSeconds: {{ .Values.operator_resync_seconds | default 10 }}
|
|
parentResource:
|
|
apiVersion: btrix.cloud/v1
|
|
resource: crawljobs
|
|
childResources:
|
|
- apiVersion: apps/v1
|
|
resource: statefulsets
|
|
updateStrategy:
|
|
method: InPlace
|
|
|
|
hooks:
|
|
sync:
|
|
webhook:
|
|
service:
|
|
namespace: {{ .Release.Namespace }}
|
|
name: {{ .Values.name }}-backend
|
|
port: {{ .Values.opPort }}
|
|
path: /op/crawls/sync
|
|
|
|
finalize:
|
|
webhook:
|
|
service:
|
|
namespace: {{ .Release.Namespace }}
|
|
name: {{ .Values.name }}-backend
|
|
port: {{ .Values.opPort }}
|
|
path: /op/crawls/finalize
|
|
|
|
customize:
|
|
webhook:
|
|
service:
|
|
namespace: {{ .Release.Namespace }}
|
|
name: {{ .Values.name }}-backend
|
|
port: {{ .Values.opPort }}
|
|
path: /op/crawls/customize
|
|
|
|
---
|
|
apiVersion: metacontroller.k8s.io/v1alpha1
|
|
kind: CompositeController
|
|
metadata:
|
|
name: profilejobs-operator
|
|
spec:
|
|
generateSelector: false
|
|
resyncPeriodSeconds: 30
|
|
parentResource:
|
|
apiVersion: btrix.cloud/v1
|
|
resource: profilejobs
|
|
childResources:
|
|
- apiVersion: apps/v1
|
|
resource: statefulsets
|
|
updateStrategy:
|
|
method: InPlace
|
|
|
|
- apiVersion: v1
|
|
resource: services
|
|
updateStrategy:
|
|
method: OnDelete
|
|
|
|
hooks:
|
|
sync:
|
|
webhook:
|
|
service:
|
|
namespace: {{ .Release.Namespace }}
|
|
name: {{ .Values.name }}-backend
|
|
port: {{ .Values.opPort }}
|
|
path: /op/profilebrowsers/sync
|