Skip to content
Draft
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
15 changes: 9 additions & 6 deletions Tiltfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ base_domain = cfg.get("base-domain", "faforever.localhost")
requested_run = cfg.get("run", [])

run_groups = {
'client': ['faf-message-broker', 'faf-lobby-server', 'ergochat', 'faf-api', 'faf-league-service', 'faf-player-service', 'faf-replay-server', 'faf-icebreaker', 'faf-user-service']
"client": ["faf-message-broker", "faf-lobby-server", "ergochat", "faf-api", "faf-league-service", "faf-player-service", "faf-game-service", "faf-replay-server", "faf-icebreaker", "faf-user-service"]
}

run_resources = []
Expand All @@ -29,7 +29,7 @@ for requested in requested_run:
run_resources.append(requested)

if (run_resources):
run_resources += ["populate-featured-mod-files", "create-hosts-file-content", "populate-db", "storage"]
run_resources += ["populate-featured-mod-files", "create-hosts-file-content", "populate-db"]

data_relative_path = ".local-data"
if os.name == "nt":
Expand Down Expand Up @@ -114,8 +114,7 @@ def helm_with_build_cache(chart, namespace="", values=[], set=[], specifier = ""
chart_resource_helm_name = chart_resource + "helm"
agnostic_local_resource(name=chart_resource_helm_name, cmd=command, labels=["helm"], deps=deps, allow_parallel=True)

if chart_name in run_resources:
run_resources.append(chart_resource_helm_name)
run_resources.append(chart_resource_helm_name)

if not os.path.exists(cached_yaml):
agnostic_local(command)
Expand Down Expand Up @@ -324,7 +323,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-player-service-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-game-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 @@ -345,7 +344,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-player-service-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-game-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 @@ -439,6 +438,10 @@ 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)

game_service_deps = rabbitmq_setup_resources + mariadb_setup_resources
game_service_labels = ["lobby"]
proxy_local_service_if_set(service_name="faf-game-service", service_chart="apps/faf-game-service", service_namespace="faf-apps", service_deps=game_service_deps, service_labels=game_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
8 changes: 8 additions & 0 deletions apps/faf-game-service/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v2
name: faf-game-service
version: 1.0.0

dependencies:
- name: infisical-secret
version: 1.0.0
repository: file://../../common/infisical-secret
13 changes: 13 additions & 0 deletions apps/faf-game-service/templates/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: faf-game-service
labels:
app: faf-game-service
data:
DATABASE_NAME: "faf_lobby"
DATABASE_USER: "faf-game-service"
DATABASE_HOST: "mariadb"
RABBITMQ_USER: "faf-game-service"
RABBITMQ_HOST: "rabbitmq"
RABBITMQ_PORT: "5672"
52 changes: 52 additions & 0 deletions apps/faf-game-service/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: faf-game-service
labels:
app: faf-game-service
annotations:
reloader.stakater.com/auto: "true"
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: faf-game-service
template:
metadata:
labels:
app: faf-game-service
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '9000'
prometheus.io/path: '/q/metrics'
spec:
containers:
- image: faforever/faf-game-service:1.0.0
imagePullPolicy: Always
name: faf-game-service
envFrom:
- configMapRef:
name: faf-game-service
- secretRef:
name: faf-game-service
resources:
limits:
memory: 2Gi
requests:
memory: 250Mi
ports:
- containerPort: 9000
startupProbe:
httpGet:
port: 9000
path: /q/health
failureThreshold: 10
periodSeconds: 3
livenessProbe:
httpGet:
port: 9000
path: /q/health
failureThreshold: 3
periodSeconds: 10
restartPolicy: Always
10 changes: 10 additions & 0 deletions apps/faf-game-service/templates/local-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{{- if not (index .Values "infisical-secret" "enabled") }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Chart.Name }}
type: Opaque
stringData:
DATABASE_PASSWORD: "banana"
RABBITMQ_PASSWORD: "banana"
{{- end}}
2 changes: 2 additions & 0 deletions apps/faf-game-service/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
infisical-secret:
name: faf-game-service
4 changes: 4 additions & 0 deletions apps/rabbitmq/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ users:
secretRef: faf-player-service
usernameKey: RABBITMQ_USER
passwordKey: RABBITMQ_PASSWORD
- configMapRef: faf-game-service
secretRef: faf-game-service
usernameKey: RABBITMQ_USER
passwordKey: RABBITMQ_PASSWORD
- configMapRef: faf-api
secretRef: faf-api
usernameKey: RABBIT_USERNAME
Expand Down
6 changes: 6 additions & 0 deletions infra/mariadb/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ databasesAndUsers:
usernameKey: DATABASE_USER
passwordKey: DATABASE_PASSWORD

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

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