ca78173a56
- Rewrite webview serve.py to query PostgreSQL analytics tables via psycopg2 instead of reading CSV files from PVC; PVC mount removed from Deployment - Remove isPgnMode guard from all 4 original jobs so results always write to DB regardless of whether input comes from game_records or a Lichess PGN dump - Add JDBC write-back to all 7 new analytics jobs (game_length_distribution, game_length_by_result, color_advantage, elo_distribution, time_control_stats, hourly_activity, weekly_activity, rating_mismatch, termination_stats) - Add analytics_component_sizes JDBC write to PlayerGraphJob - Add NOWCHESS_PGN_PATH staging patches for the 7 new CronJobs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
344 lines
11 KiB
YAML
Executable File
344 lines
11 KiB
YAML
Executable File
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
namespace: nowchess-staging
|
|
resources:
|
|
- ../base
|
|
- webview-ingress.yaml
|
|
images:
|
|
- name: ghcr.io/now-chess/now-chess-systems/analytics
|
|
newTag: 0.2.0
|
|
patches:
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-opening-book
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
command:
|
|
- /opt/spark/bin/spark-submit
|
|
- --master
|
|
- spark://spark-master:7077
|
|
- --conf
|
|
- spark.executor.instances=1
|
|
- --conf
|
|
- spark.executor.cores=1
|
|
- --conf
|
|
- spark.executor.memory=512m
|
|
- --conf
|
|
- spark.driver.memory=512m
|
|
- --conf
|
|
- spark.driver.host=spark-opening-book-driver
|
|
- --conf
|
|
- spark.driver.port=44167
|
|
- --conf
|
|
- spark.blockManager.port=44777
|
|
- --class
|
|
- de.nowchess.analytics.OpeningBookJob
|
|
- file:///app/analytics.jar
|
|
- /spark-output/opening-book
|
|
- "10"
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-opening-book
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-player-stats
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
command:
|
|
- /opt/spark/bin/spark-submit
|
|
- --master
|
|
- spark://spark-master:7077
|
|
- --conf
|
|
- spark.executor.instances=1
|
|
- --conf
|
|
- spark.executor.cores=1
|
|
- --conf
|
|
- spark.executor.memory=512m
|
|
- --conf
|
|
- spark.driver.memory=512m
|
|
- --conf
|
|
- spark.driver.host=spark-player-stats-driver
|
|
- --conf
|
|
- spark.driver.port=44167
|
|
- --conf
|
|
- spark.blockManager.port=44777
|
|
- --class
|
|
- de.nowchess.analytics.PlayerStatsJob
|
|
- file:///app/analytics.jar
|
|
- /spark-output/player-stats
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-player-stats
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-player-clustering
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
command:
|
|
- /opt/spark/bin/spark-submit
|
|
- --master
|
|
- spark://spark-master:7077
|
|
- --conf
|
|
- spark.executor.instances=1
|
|
- --conf
|
|
- spark.executor.cores=1
|
|
- --conf
|
|
- spark.executor.memory=512m
|
|
- --conf
|
|
- spark.driver.memory=512m
|
|
- --conf
|
|
- spark.driver.host=spark-player-clustering-driver
|
|
- --conf
|
|
- spark.driver.port=44167
|
|
- --conf
|
|
- spark.blockManager.port=44777
|
|
- --class
|
|
- de.nowchess.analytics.PlayerClusteringJob
|
|
- file:///app/analytics.jar
|
|
- /spark-output/player-clusters
|
|
- "4"
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-player-clustering
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-player-graph
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
command:
|
|
- /opt/spark/bin/spark-submit
|
|
- --master
|
|
- spark://spark-master:7077
|
|
- --conf
|
|
- spark.executor.instances=1
|
|
- --conf
|
|
- spark.executor.cores=1
|
|
- --conf
|
|
- spark.executor.memory=512m
|
|
- --conf
|
|
- spark.driver.memory=512m
|
|
- --conf
|
|
- spark.driver.host=spark-player-graph-driver
|
|
- --conf
|
|
- spark.driver.port=44167
|
|
- --conf
|
|
- spark.blockManager.port=44777
|
|
- --class
|
|
- de.nowchess.analytics.PlayerGraphJob
|
|
- file:///app/analytics.jar
|
|
- /spark-output/player-graph
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-player-graph
|
|
- patch: |-
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: spark-live-dashboard
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
command:
|
|
- /opt/spark/bin/spark-submit
|
|
- --master
|
|
- spark://spark-master:7077
|
|
- --conf
|
|
- spark.executor.instances=1
|
|
- --conf
|
|
- spark.executor.cores=1
|
|
- --conf
|
|
- spark.executor.memory=512m
|
|
- --conf
|
|
- spark.driver.memory=512m
|
|
- --conf
|
|
- spark.driver.host=spark-live-dashboard-driver
|
|
- --conf
|
|
- spark.driver.port=37007
|
|
- --conf
|
|
- spark.blockManager.port=37777
|
|
- --class
|
|
- de.nowchess.analytics.LiveDashboardJob
|
|
- local:///app/analytics.jar
|
|
- /spark-checkpoint
|
|
target:
|
|
kind: Deployment
|
|
name: spark-live-dashboard
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-game-length
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-game-length
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-color-advantage
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-color-advantage
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-elo-distribution
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-elo-distribution
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-time-control
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-time-control
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-daily-activity
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-daily-activity
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-rating-mismatch
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-rating-mismatch
|
|
- patch: |-
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: spark-termination-stats
|
|
spec:
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: spark-driver
|
|
env:
|
|
- name: NOWCHESS_PGN_PATH
|
|
value: "https://database.lichess.org/standard/lichess_db_standard_rated_2013-01.pgn.zst"
|
|
target:
|
|
kind: CronJob
|
|
name: spark-termination-stats
|
|
- patch: |-
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: spark-analytics-webview
|
|
spec:
|
|
replicas: 1
|
|
target:
|
|
kind: Deployment
|
|
name: spark-analytics-webview
|