Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions Tiltfile
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ def proxy_local_service_if_set(service_name, service_chart, service_namespace, a
service_objects.append(object["metadata"]["name"] + ":" + object["kind"].lower())
k8s_resource(new_name=service_name, objects=service_objects, resource_deps=all_service_deps, labels=service_labels, links=service_links, pod_readiness="ignore")
elif (service_yaml):
if service_name == "faf-icebreaker":
if service_name == "faf-icebreaker" or service_name == "faf-player-service":
service_yaml = remove_init_container(service_yaml)

k8s_yaml(service_yaml)
Expand Down Expand Up @@ -329,7 +329,7 @@ k8s_resource(workload="mariadb", objects=["mariadb:configmap", "mariadb:secret",
mariadb_setup_resources = []
for object in decode_yaml_stream(mariadb_init_user_yaml):
mariadb_setup_resources.append(object["metadata"]["name"])
k8s_resource(workload=object["metadata"]["name"], resource_deps=["init-apps", "mariadb", "faf-api-config", "faf-user-service-config", "faf-lobby-server-config", "faf-message-broker-config", "faf-replay-server-config", "faf-policy-server-config", "faf-league-service-config", "wordpress-config", "ergochat-config", "faf-icebreaker-config"], labels=["database"])
k8s_resource(workload=object["metadata"]["name"], resource_deps=["init-apps", "mariadb", "faf-api-config", "faf-user-service-config", "faf-lobby-server-config", "faf-player-service-config", "faf-replay-server-config", "faf-policy-server-config", "faf-league-service-config", "wordpress-config", "ergochat-config", "faf-icebreaker-config"], labels=["database"])

mongodb_yaml = helm_with_build_cache("infra/mongodb", namespace="faf-infra", values=["config/local.yaml"])
mongodb_init_user_yaml, mongodb_resource_yaml = filter_yaml(mongodb_yaml, {"app": "mongodb-sync-db-user"})
Expand All @@ -350,7 +350,7 @@ k8s_resource(workload="rabbitmq", objects=["rabbitmq:configmap", "rabbitmq:secre
rabbitmq_setup_resources = []
for object in decode_yaml_stream(rabbitmq_init_user_yaml):
rabbitmq_setup_resources.append(object["metadata"]["name"])
k8s_resource(workload=object["metadata"]["name"], resource_deps=["init-apps", "rabbitmq", "faf-api-config", "faf-icebreaker-config", "faf-lobby-server-config", "faf-message-broker-config", "debezium-config", "faf-league-service-config", "faf-user-service-config"], labels=["rabbitmq"])
k8s_resource(workload=object["metadata"]["name"], resource_deps=["init-apps", "rabbitmq", "faf-api-config", "faf-icebreaker-config", "faf-lobby-server-config", "faf-player-service-config", "faf-message-broker-config", "debezium-config", "faf-league-service-config", "faf-user-service-config"], labels=["rabbitmq"])

k8s_yaml(cronjob_to_job(helm_with_build_cache("apps/faf-db-migrations", namespace="faf-apps", values=["config/local.yaml"])))
k8s_resource(workload="faf-db-migrations", objects=["faf-db-migrations:secret"], resource_deps=mariadb_setup_resources, labels=["database"])
Expand Down Expand Up @@ -426,11 +426,15 @@ lobby_server_labels = ["lobby"]
lobby_server_patch = {"HYDRA_JWKS_URI": "http://ory-hydra:4444/.well-known/jwks.json"}
proxy_local_service_if_set(service_name="faf-lobby-server", service_chart="apps/faf-lobby-server", service_namespace="faf-apps", service_deps=lobby_server_deps, service_labels=lobby_server_labels, config_patch=lobby_server_patch)

message_broker_deps = ["ory-hydra"] + rabbitmq_setup_resources
message_broker_deps = ["ory-hydra"] + rabbitmq_setup_resources + postgres_setup_resources
message_broker_labels = ["lobby"]
message_broker_patch = {"USE_POLICY_SERVER": "false", "QUARKUS_LOG_CONSOLE_JSON_ENABLED": "false", "QUARKUS_LOG_CATEGORY__COM_FAFOREVER__LEVEL":"DEBUG", "QUARKUS_LOG_CATEGORY__IO_QUARKUS_WEBSOCKETS_NEXT_TRAFFIC__LEVEL":"DEBUG", "QUARKUS_WEBSOCKETS_NEXT_SERVER_TRAFFIC_LOGGING_ENABLED":"true"}
message_broker_patch = {"HYDRA_TOKEN_ISSUER": "http://ory-hydra:4444", "USE_POLICY_SERVER": "false", "QUARKUS_LOG_CONSOLE_JSON_ENABLED": "false", "QUARKUS_LOG_CATEGORY__COM_FAFOREVER__LEVEL":"DEBUG", "QUARKUS_LOG_CATEGORY__IO_QUARKUS_WEBSOCKETS_NEXT_TRAFFIC__LEVEL":"DEBUG", "QUARKUS_WEBSOCKETS_NEXT_SERVER_TRAFFIC_LOGGING_ENABLED":"true"}
proxy_local_service_if_set(service_name="faf-message-broker", service_chart="apps/faf-message-broker", service_namespace="faf-apps", service_deps=message_broker_deps, service_labels=message_broker_labels, config_patch=message_broker_patch)

player_service_deps = rabbitmq_setup_resources + mariadb_setup_resources
player_service_labels = ["lobby"]
proxy_local_service_if_set(service_name="faf-player-service", service_chart="apps/faf-player-service", service_namespace="faf-apps", service_deps=player_service_deps, service_labels=player_service_labels)

replay_server_deps = ["faf-db-migrations"]
replay_server_labels = ["replay"]
proxy_local_service_if_set(service_name="faf-replay-server", service_chart="apps/faf-replay-server", service_namespace="faf-apps", service_deps=replay_server_deps, service_labels=replay_server_labels)
Expand Down
2 changes: 2 additions & 0 deletions apps/faf-lobby-server/config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ LADDER_TOP_PLAYER_SEARCH_EXPANSION_STEP: 0.5
QUEUE_POP_TIME_MAX: 90
USE_POLICY_SERVER: false

TRACK_PLAYER_STATE: false

# 3rd Jan 2026: Disable matchmaking bans
# There are problems with the ban system when a game doesn't start due to
# connection issues. The current hypothesis is that all players except for the
Expand Down
8 changes: 8 additions & 0 deletions apps/faf-player-service/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v2
name: faf-player-service
version: 1.0.0

dependencies:
- name: infisical-secret
version: 1.0.0
repository: file://../../common/infisical-secret
15 changes: 15 additions & 0 deletions apps/faf-player-service/templates/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: faf-player-service
labels:
app: faf-player-service
data:
DATABASE_NAME: "faf_lobby"
DATABASE_USER: "faf-player-service"
DATABASE_HOST: "mariadb"
RABBITMQ_USER: "faf-player-service"
RABBITMQ_HOST: "rabbitmq"
RABBITMQ_PORT: "5672"
GEOIPUPDATE_EDITION_IDS: "GeoLite2-Country"
GEO_IP_DATABASE_PATH: "/geoip/GeoLite2-Country.mmdb"
69 changes: 69 additions & 0 deletions apps/faf-player-service/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: faf-player-service
labels:
app: faf-player-service
annotations:
reloader.stakater.com/auto: "true"
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: faf-player-service
template:
metadata:
labels:
app: faf-player-service
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '9000'
prometheus.io/path: '/q/metrics'
spec:
initContainers:
- name: geolite-db-dl
image: ghcr.io/maxmind/geoipupdate:v7.1.1
envFrom:
- configMapRef:
name: faf-player-service
- secretRef:
name: faf-player-service
volumeMounts:
- name: geolite-db
mountPath: /usr/share/GeoIP
containers:
- image: faforever/faf-player-service:1.0.0
imagePullPolicy: Always
name: faf-player-service
envFrom:
- configMapRef:
name: faf-player-service
- secretRef:
name: faf-player-service
resources:
limits:
memory: 2Gi
requests:
memory: 250Mi
ports:
- containerPort: 9000
volumeMounts:
- name: geolite-db
mountPath: /geoip
startupProbe:
httpGet:
port: 9000
path: /q/health
failureThreshold: 10
periodSeconds: 3
livenessProbe:
httpGet:
port: 9000
path: /q/health
failureThreshold: 3
periodSeconds: 10
volumes:
- name: geolite-db
emptyDir: {}
restartPolicy: Always
12 changes: 12 additions & 0 deletions apps/faf-player-service/templates/local-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{{- if not (index .Values "infisical-secret" "enabled") }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Chart.Name }}
type: Opaque
stringData:
DATABASE_PASSWORD: "banana"
RABBITMQ_PASSWORD: "banana"
GEOIPUPDATE_ACCOUNT_ID: "banana"
GEOIPUPDATE_LICENSE_KEY: "banana"
{{- end}}
2 changes: 2 additions & 0 deletions apps/faf-player-service/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
infisical-secret:
name: faf-player-service
4 changes: 4 additions & 0 deletions apps/rabbitmq/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ users:
secretRef: faf-message-broker
usernameKey: RABBITMQ_USER
passwordKey: RABBITMQ_PASSWORD
- configMapRef: faf-player-service
secretRef: faf-player-service
usernameKey: RABBITMQ_USER
passwordKey: RABBITMQ_PASSWORD
- configMapRef: faf-api
secretRef: faf-api
usernameKey: RABBIT_USERNAME
Expand Down
2 changes: 1 addition & 1 deletion cluster/argocd/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ name: argocd
version: 1.0.0
dependencies:
- name: argo-cd
version: 9.5.20
version: 9.7.1
repository: https://argoproj.github.io/argo-helm
6 changes: 6 additions & 0 deletions infra/mariadb/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ databasesAndUsers:
usernameKey: DATABASE_USER
passwordKey: DATABASE_PASSWORD

- configMapRef: faf-player-service
secretRef: faf-player-service
databaseKey: DATABASE_NAME
usernameKey: DATABASE_USER
passwordKey: DATABASE_PASSWORD

# League service database
- configMapRef: faf-api
secretRef: faf-api
Expand Down
Loading