mirror of
https://github.com/googleforgames/open-match.git
synced 2025-03-24 20:35:47 +00:00
Add example helm chart, replace example dashboard.
This commit is contained in:
MakefileREADME.md
examples
install/helm
README.md
open-match-example
Chart.yamlREADME.md
templates
NOTES.txt_helpers.tplbackendclient.yamlclientloadgen.yamlevaluator.yamlfrontendclient.yamlfunction.yaml
values.yamlopen-match
test/cmd
39
Makefile
39
Makefile
@ -42,7 +42,6 @@ GOLANG_VERSION = 1.12
|
||||
HELM_VERSION = 2.13.0
|
||||
HUGO_VERSION = 0.54.0
|
||||
KUBECTL_VERSION = 1.13.0
|
||||
|
||||
PROTOC_RELEASE_BASE = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOC_VERSION)/protoc-$(PROTOC_VERSION)
|
||||
GO = go
|
||||
GO_BIN := $(GOPATH)/bin
|
||||
@ -52,11 +51,11 @@ TOOLCHAIN_DIR = $(BUILD_DIR)/toolchain
|
||||
TOOLCHAIN_BIN = $(TOOLCHAIN_DIR)/bin
|
||||
PROTOC := $(TOOLCHAIN_BIN)/protoc
|
||||
PROTOC_INCLUDES := $(TOOLCHAIN_DIR)/include/
|
||||
GCP_PROJECT_ID = "Set $$GCP_PROJECT_ID in your bashrc."
|
||||
GCP_PROJECT_ID =
|
||||
GCP_PROJECT_FLAG = --project=$(GCP_PROJECT_ID)
|
||||
OM_SITE_GCP_PROJECT_ID = open-match-site
|
||||
OM_SITE_GCP_PROJECT_FLAG = --project=$(OM_SITE_GCP_PROJECT_ID)
|
||||
REGISTRY := gcr.io/$(GCP_PROJECT_ID)
|
||||
REGISTRY = gcr.io/$(GCP_PROJECT_ID)
|
||||
TAG := $(VERSION)
|
||||
ALTERNATE_TAG := dev
|
||||
GKE_CLUSTER_NAME = om-cluster
|
||||
@ -88,6 +87,11 @@ ifneq (,$(wildcard $(TOOLCHAIN_GOLANG_DIR)/bin/go))
|
||||
export PATH := $(TOOLCHAIN_GOLANG_DIR):$(PATH)
|
||||
endif
|
||||
|
||||
# Get the project from gcloud if it's not set.
|
||||
ifeq ($(GCP_PROJECT_ID),)
|
||||
export GCP_PROJECT_ID = $(shell gcloud config list --format 'value(core.project)')
|
||||
endif
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
# TODO: Windows packages are here but things are broken since many paths are Linux based and zip vs tar.gz.
|
||||
HELM_PACKAGE = https://storage.googleapis.com/kubernetes-helm/helm-v$(HELM_VERSION)-windows-amd64.zip
|
||||
@ -244,6 +248,9 @@ clean-images:
|
||||
-docker rmi -f $(REGISTRY)/openmatch-frontendclient:$(TAG) $(REGISTRY)/openmatch-frontendclient:$(ALTERNATE_TAG)
|
||||
-docker rmi -f $(REGISTRY)/openmatch-evaluator-simple:$(TAG) $(REGISTRY)/openmatch-evaluator-simple:$(ALTERNATE_TAG)
|
||||
|
||||
install-redis: build/toolchain/bin/helm$(EXE_EXTENSION)
|
||||
$(HELM) upgrade --install --wait --debug redis stable/redis --namespace redis
|
||||
|
||||
chart-deps: build/toolchain/bin/helm$(EXE_EXTENSION)
|
||||
(cd install/helm/open-match; $(HELM) dependency update)
|
||||
|
||||
@ -256,6 +263,15 @@ install-chart: build/toolchain/bin/helm$(EXE_EXTENSION)
|
||||
--set openmatch.image.registry=$(REGISTRY) \
|
||||
--set openmatch.image.tag=$(TAG)
|
||||
|
||||
install-example-chart: build/toolchain/bin/helm$(EXE_EXTENSION)
|
||||
$(HELM) upgrade --install --wait --debug open-match-example install/helm/open-match-example \
|
||||
--namespace=open-match \
|
||||
--set openmatch.image.registry=$(REGISTRY) \
|
||||
--set openmatch.image.tag=$(TAG)
|
||||
|
||||
delete-example-chart: build/toolchain/bin/helm$(EXE_EXTENSION)
|
||||
-$(HELM) delete --purge open-match-example
|
||||
|
||||
dry-chart: build/toolchain/bin/helm$(EXE_EXTENSION)
|
||||
$(HELM) upgrade --install --wait --debug --dry-run open-match install/helm/open-match \
|
||||
--namespace=open-match \
|
||||
@ -349,7 +365,7 @@ build/toolchain/python/:
|
||||
virtualenv --python=python3 build/toolchain/python/
|
||||
# Hack to workaround some crazy bug in pip that's chopping off python executable's name.
|
||||
cd build/toolchain/python/bin && ln -s python3 pytho
|
||||
cd build/toolchain/python/ && . bin/activate && pip install grpcio-tools && deactivate
|
||||
cd build/toolchain/python/ && source bin/activate && pip install grpcio-tools && deactivate
|
||||
|
||||
build/toolchain/bin/protoc$(EXE_EXTENSION):
|
||||
mkdir -p $(TOOLCHAIN_BIN)
|
||||
@ -377,10 +393,10 @@ internal/pb/function.pb.go: internal/pb/messages.pb.go
|
||||
mmlogic-simple-protos: examples/functions/python3/mmlogic-simple/api/protobuf_spec/messages_pb2.py examples/functions/python3/mmlogic-simple/api/protobuf_spec/mmlogic_pb2.py
|
||||
|
||||
examples/functions/python3/mmlogic-simple/api/protobuf_spec/%_pb2.py: api/protobuf-spec/%.proto build/toolchain/python/
|
||||
. build/toolchain/python/bin/activate && python3 -m grpc_tools.protoc -I $(CURDIR) -I $(PROTOC_INCLUDES) --python_out=examples/functions/python3/mmlogic-simple/ --grpc_python_out=examples/functions/python3/mmlogic-simple/ $< && deactivate
|
||||
source build/toolchain/python/bin/activate && python3 -m grpc_tools.protoc -I $(CURDIR) -I $(PROTOC_INCLUDES) --python_out=examples/functions/python3/mmlogic-simple/ --grpc_python_out=examples/functions/python3/mmlogic-simple/ $< && deactivate
|
||||
|
||||
internal/pb/%_pb2.py: api/protobuf-spec/%.proto build/toolchain/python/
|
||||
. build/toolchain/python/bin/activate && python3 -m grpc_tools.protoc -I $(CURDIR) -I $(PROTOC_INCLUDES) --python_out=$(CURDIR) --grpc_python_out=$(CURDIR) $< && deactivate
|
||||
source build/toolchain/python/bin/activate && python3 -m grpc_tools.protoc -I $(CURDIR) -I $(PROTOC_INCLUDES) --python_out=$(CURDIR) --grpc_python_out=$(CURDIR) $< && deactivate
|
||||
|
||||
build:
|
||||
$(GO) build ./...
|
||||
@ -409,10 +425,10 @@ cmd/mmlogicapi/mmlogicapi: internal/pb/mmlogic.pb.go
|
||||
examples/backendclient/backendclient: internal/pb/backend.pb.go
|
||||
cd examples/backendclient; $(GO_BUILD_COMMAND)
|
||||
|
||||
examples/evaluators/golang/simple: internal/pb/messages.pb.go
|
||||
examples/evaluators/golang/simple/simple: internal/pb/messages.pb.go
|
||||
cd examples/evaluators/golang/simple; $(GO_BUILD_COMMAND)
|
||||
|
||||
examples/functions/golang/manual-simple: internal/pb/messages.pb.go
|
||||
examples/functions/golang/manual-simple/manual-simple: internal/pb/messages.pb.go
|
||||
cd examples/functions/golang/manual-simple; $(GO_BUILD_COMMAND)
|
||||
|
||||
test/cmd/clientloadgen/clientloadgen:
|
||||
@ -450,7 +466,10 @@ deploy-dev-site: build/site/
|
||||
run-site: build/toolchain/bin/hugo$(EXE_EXTENSION)
|
||||
cd site/ && ../build/toolchain/bin/hugo$(EXE_EXTENSION) server --debug --watch --enableGitInfo . --bind 0.0.0.0 --port $(SITE_PORT) --disableFastRender
|
||||
|
||||
all: cmd/backendapi/backendapi cmd/frontendapi/frontendapi cmd/mmforc/mmforc cmd/mmlogicapi/mmlogicapi examples/backendclient/backendclient examples/evaluators/golang/simple examples/functions/golang/manual-simple test/cmd/clientloadgen/clientloadgen test/cmd/frontendclient/frontendclient
|
||||
all: service-binaries client-binaries example-binaries
|
||||
service-binaries: cmd/backendapi/backendapi cmd/frontendapi/frontendapi cmd/mmforc/mmforc cmd/mmlogicapi/mmlogicapi
|
||||
client-binaries: examples/backendclient/backendclient test/cmd/clientloadgen/clientloadgen test/cmd/frontendclient/frontendclient
|
||||
example-binaries: examples/evaluators/golang/simple/simple examples/functions/golang/manual-simple
|
||||
presubmit: fmt vet build test
|
||||
|
||||
clean-site:
|
||||
@ -501,5 +520,5 @@ proxy-prometheus: build/toolchain/bin/kubectl$(EXE_EXTENSION)
|
||||
proxy-dashboard: build/toolchain/bin/kubectl$(EXE_EXTENSION)
|
||||
$(KUBECTL) port-forward --namespace kube-system $(shell $(KUBECTL) get pod --namespace kube-system --selector="app=kubernetes-dashboard" --output jsonpath='{.items[0].metadata.name}') $(DASHBOARD_PORT):9090 $(PORT_FORWARD_ADDRESS_FLAG)
|
||||
|
||||
.PHONY: proxy-dashboard proxy-prometheus proxy-grafana
|
||||
.PHONY: proxy-dashboard proxy-prometheus proxy-grafana clean clean-toolchain clean-binaries clean-protos presubmit test vet
|
||||
|
||||
|
20
README.md
20
README.md
@ -219,6 +219,26 @@ cd open-match
|
||||
|
||||
Lastly, this project uses go modules so you'll want to set `export GO111MODULE=on` before building.
|
||||
|
||||
## Zero to Open Match
|
||||
To deploy Open Match quickly to a Kubernetes cluster run these commands.
|
||||
|
||||
```bash
|
||||
# Downloads all the tools.
|
||||
make install-toolchain
|
||||
# Create a GKE Cluster
|
||||
make create-gke-cluster
|
||||
# OR Create a Minikube Cluster
|
||||
make create-mini-cluster
|
||||
# Install Helm
|
||||
make push-helm
|
||||
# Build and push images
|
||||
make push-images -j4
|
||||
# Deploy Open Match with example functions
|
||||
make install-chart install-example-chart
|
||||
```
|
||||
|
||||
## Docker Image Builds
|
||||
|
||||
All the core components for Open Match are written in Golang and use the [Dockerfile multistage builder pattern](https://docs.docker.com/develop/develop-images/multistage-build/). This pattern uses intermediate Docker containers as a Golang build environment while producing lightweight, minimized container images as final build artifacts. When the project is ready for production, we will modify the `Dockerfile`s to uncomment the last build stage. Although this pattern is great for production container images, it removes most of the utilities required to troubleshoot issues during development.
|
||||
|
||||
## Configuration
|
||||
|
@ -5,5 +5,6 @@ RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo .
|
||||
|
||||
FROM gcr.io/distroless/static
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/examples/backendclient/backendclient .
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/examples/backendclient/profiles profiles
|
||||
|
||||
ENTRYPOINT ["/backendclient"]
|
||||
|
@ -5,7 +5,5 @@ RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo .
|
||||
|
||||
FROM gcr.io/distroless/static
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/examples/evaluators/golang/simple/simple .
|
||||
# TODO: Remove embedding the config once loading configuration is normalized and this can respect the ConfigMap.
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/config/matchmaker_config.yaml ./config/
|
||||
|
||||
ENTRYPOINT ["/simple"]
|
||||
|
@ -16,8 +16,9 @@ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admi
|
||||
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
|
||||
|
||||
# Deploy Open Match
|
||||
helm upgrade --install --wait --debug open-match install/helm/open-match \
|
||||
--namespace=open-match \
|
||||
--set openmatch.image.registry=gcr.io/open-match-public-images \
|
||||
--set openmatch.image.tag=0.4.0
|
||||
helm upgrade --install --wait --debug open-match \
|
||||
install/helm/open-match \
|
||||
--namespace=open-match \
|
||||
--set openmatch.image.registry=$(REGISTRY) \
|
||||
--set openmatch.image.tag=$(TAG)
|
||||
```
|
||||
|
36
install/helm/open-match-example/Chart.yaml
Normal file
36
install/helm/open-match-example/Chart.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
# Copyright 2019 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: v1
|
||||
appVersion: "0.4.0"
|
||||
version: 0.4.0
|
||||
name: open-match-example
|
||||
description: Flexible, extensible, and scalable video game matchmaking.
|
||||
keywords:
|
||||
- kubernetes
|
||||
- game-development
|
||||
- multiplayer
|
||||
- matchmaking
|
||||
- go
|
||||
- golang
|
||||
home: https://github.com/GoogleCloudPlatform/open-match
|
||||
sources:
|
||||
- https://github.com/GoogleCloudPlatform/open-match
|
||||
maintainers:
|
||||
- name: open-match
|
||||
email: open-match-discuss@googlegroups.com
|
||||
url: https://groups.google.com/forum/#!forum/open-match-discuss
|
||||
engine: gotpl
|
||||
#icon: https://github.com/GoogleCloudPlatform/open-match/raw/master/docs/open-match.png
|
||||
tillerVersion: ">2.10.0"
|
14
install/helm/open-match-example/README.md
Normal file
14
install/helm/open-match-example/README.md
Normal file
@ -0,0 +1,14 @@
|
||||
Open Match Example Helm Chart
|
||||
=============================
|
||||
|
||||
This chart installs the Open Match example clientloadgen, frontendclient, backendclient, and example MMF and evaluator.
|
||||
|
||||
To deploy this chart run:
|
||||
|
||||
```bash
|
||||
helm upgrade --install --wait --debug open-match-example
|
||||
install/helm/open-match-example \
|
||||
--namespace=open-match \
|
||||
--set openmatch.image.registry=$(REGISTRY) \
|
||||
--set openmatch.image.tag=$(TAG)
|
||||
```
|
3
install/helm/open-match-example/templates/NOTES.txt
Normal file
3
install/helm/open-match-example/templates/NOTES.txt
Normal file
@ -0,0 +1,3 @@
|
||||
The Open Match examples have been installed in the namespace {{ .Release.Namespace }}.
|
||||
|
||||
You can watch the status by running 'kubectl --namespace {{ .Release.Namespace }} get pods,svc'
|
48
install/helm/open-match-example/templates/_helpers.tpl
Normal file
48
install/helm/open-match-example/templates/_helpers.tpl
Normal file
@ -0,0 +1,48 @@
|
||||
{*
|
||||
Copyright 2019 Google Inc. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*}
|
||||
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "openmatch.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "openmatch.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "openmatch.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
67
install/helm/open-match-example/templates/backendclient.yaml
Normal file
67
install/helm/open-match-example/templates/backendclient.yaml
Normal file
@ -0,0 +1,67 @@
|
||||
# Copyright 2019 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
{{- if .Values.openmatch.backendclient.install }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: om-backendclient
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: backendclient
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: backendclient
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
template:
|
||||
namespace: {{ .Release.Namespace }}
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: backendclient
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
containers:
|
||||
- name: om-backendclient
|
||||
image: "{{ .Values.openmatch.image.registry }}/{{ .Values.openmatch.image.backendclient.name}}:{{ .Values.openmatch.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.openmatch.image.backendclient.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: om-config-volume
|
||||
mountPath: {{ .Values.openmatch.config.matchmaker }}
|
||||
resources:
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 100m
|
||||
env:
|
||||
- name: REDIS_SERVICE_HOST
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_HOST)"
|
||||
- name: REDIS_SERVICE_PORT
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_PORT)"
|
||||
volumes:
|
||||
- name: om-config-volume
|
||||
configMap:
|
||||
name: om-configmap
|
||||
{{- end }}
|
67
install/helm/open-match-example/templates/clientloadgen.yaml
Normal file
67
install/helm/open-match-example/templates/clientloadgen.yaml
Normal file
@ -0,0 +1,67 @@
|
||||
# Copyright 2019 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
{{- if .Values.openmatch.clientloadgen.install }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: om-clientloadgen
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: clientloadgen
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: clientloadgen
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
template:
|
||||
namespace: {{ .Release.Namespace }}
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: clientloadgen
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
containers:
|
||||
- name: om-clientloadgen
|
||||
image: "{{ .Values.openmatch.image.registry }}/{{ .Values.openmatch.image.clientloadgen.name}}:{{ .Values.openmatch.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.openmatch.image.clientloadgen.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: om-config-volume
|
||||
mountPath: {{ .Values.openmatch.config.matchmaker }}
|
||||
resources:
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 100m
|
||||
env:
|
||||
- name: REDIS_SERVICE_HOST
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_HOST)"
|
||||
- name: REDIS_SERVICE_PORT
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_PORT)"
|
||||
volumes:
|
||||
- name: om-config-volume
|
||||
configMap:
|
||||
name: om-configmap
|
||||
{{- end }}
|
67
install/helm/open-match-example/templates/evaluator.yaml
Normal file
67
install/helm/open-match-example/templates/evaluator.yaml
Normal file
@ -0,0 +1,67 @@
|
||||
# Copyright 2019 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
{{- if .Values.openmatch.evaluator.install }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: om-evaluator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: evaluator
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: evaluator
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
template:
|
||||
namespace: {{ .Release.Namespace }}
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: evaluator
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
containers:
|
||||
- name: om-evaluator
|
||||
image: "{{ .Values.openmatch.image.registry }}/{{ .Values.openmatch.image.evaluator.name}}:{{ .Values.openmatch.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.openmatch.image.evaluator.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: om-config-volume
|
||||
mountPath: {{ .Values.openmatch.config.matchmaker }}
|
||||
resources:
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 100m
|
||||
env:
|
||||
- name: REDIS_SERVICE_HOST
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_HOST)"
|
||||
- name: REDIS_SERVICE_PORT
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_PORT)"
|
||||
volumes:
|
||||
- name: om-config-volume
|
||||
configMap:
|
||||
name: om-configmap
|
||||
{{- end }}
|
@ -0,0 +1,67 @@
|
||||
# Copyright 2019 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
{{- if .Values.openmatch.frontendclient.install }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: om-frontendclient
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: frontendclient
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: frontendclient
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
template:
|
||||
namespace: {{ .Release.Namespace }}
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: frontendclient
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
containers:
|
||||
- name: om-frontendclient
|
||||
image: "{{ .Values.openmatch.image.registry }}/{{ .Values.openmatch.image.frontendclient.name}}:{{ .Values.openmatch.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.openmatch.image.frontendclient.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: om-config-volume
|
||||
mountPath: {{ .Values.openmatch.config.matchmaker }}
|
||||
resources:
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 100m
|
||||
env:
|
||||
- name: REDIS_SERVICE_HOST
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_HOST)"
|
||||
- name: REDIS_SERVICE_PORT
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_PORT)"
|
||||
volumes:
|
||||
- name: om-config-volume
|
||||
configMap:
|
||||
name: om-configmap
|
||||
{{- end }}
|
67
install/helm/open-match-example/templates/function.yaml
Normal file
67
install/helm/open-match-example/templates/function.yaml
Normal file
@ -0,0 +1,67 @@
|
||||
# Copyright 2019 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
{{- if .Values.openmatch.function.install }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: om-function
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: function
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: function
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
template:
|
||||
namespace: {{ .Release.Namespace }}
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "openmatch.name" . }}
|
||||
component: function
|
||||
chart: {{ template "openmatch.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
containers:
|
||||
- name: om-function
|
||||
image: "{{ .Values.openmatch.image.registry }}/{{ .Values.openmatch.image.function.name}}:{{ .Values.openmatch.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.openmatch.image.function.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: om-config-volume
|
||||
mountPath: {{ .Values.openmatch.config.matchmaker }}
|
||||
resources:
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 100m
|
||||
env:
|
||||
- name: REDIS_SERVICE_HOST
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_HOST)"
|
||||
- name: REDIS_SERVICE_PORT
|
||||
value: "$(OPEN_MATCH_REDIS_MASTER_SERVICE_PORT)"
|
||||
volumes:
|
||||
- name: om-config-volume
|
||||
configMap:
|
||||
name: om-configmap
|
||||
{{- end }}
|
44
install/helm/open-match-example/values.yaml
Normal file
44
install/helm/open-match-example/values.yaml
Normal file
@ -0,0 +1,44 @@
|
||||
# Copyright 2019 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
openmatch:
|
||||
backendclient:
|
||||
install: true
|
||||
frontendclient:
|
||||
install: true
|
||||
clientloadgen:
|
||||
install: true
|
||||
evaluator:
|
||||
install: true
|
||||
function:
|
||||
install: true
|
||||
config:
|
||||
matchmaker: /config
|
||||
image:
|
||||
registry: gcr.io/open-match-public-images
|
||||
tag: 0.4.0
|
||||
backendclient:
|
||||
name: openmatch-backendclient
|
||||
pullPolicy: Always
|
||||
frontendclient:
|
||||
name: openmatch-frontendclient
|
||||
pullPolicy: Always
|
||||
clientloadgen:
|
||||
name: openmatch-clientloadgen
|
||||
pullPolicy: Always
|
||||
evaluator:
|
||||
name: openmatch-evaluator-simple
|
||||
function:
|
||||
name: openmatch-mmf-go-mmlogic-simple
|
||||
pullPolicy: Always
|
@ -6,7 +6,7 @@ To deploy this chart run:
|
||||
|
||||
```bash
|
||||
helm upgrade --install --wait --debug open-match install/helm/open-match \
|
||||
--namespace=open-match \
|
||||
--set openmatch.image.registry=$(REGISTRY) \
|
||||
--set openmatch.image.tag=$(TAG)
|
||||
--namespace=open-match \
|
||||
--set openmatch.image.registry=$(REGISTRY) \
|
||||
--set openmatch.image.tag=$(TAG)
|
||||
```
|
||||
|
289
install/helm/open-match/dashboards/grpc.json
Normal file
289
install/helm/open-match/dashboards/grpc.json
Normal file
@ -0,0 +1,289 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"id": 2,
|
||||
"iteration": 1552341236942,
|
||||
"links": [],
|
||||
"panels": [
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"description": "",
|
||||
"fill": 1,
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"id": 4,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 1,
|
||||
"links": [],
|
||||
"nullPointMode": "null",
|
||||
"paceLength": 10,
|
||||
"percentage": false,
|
||||
"pointradius": 2,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(open_match_frontend_grpc_requests[$timewindow])",
|
||||
"format": "time_series",
|
||||
"interval": "",
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "/{{component}}.{{method}}",
|
||||
"refId": "A"
|
||||
},
|
||||
{
|
||||
"expr": "rate(open_match_backend_grpc_requests[$timewindow])",
|
||||
"format": "time_series",
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "/{{component}}.{{method}}",
|
||||
"refId": "B"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "Request Rate",
|
||||
"tooltip": {
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "individual"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"decimals": null,
|
||||
"format": "reqps",
|
||||
"label": "",
|
||||
"logBase": 10,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"fill": 1,
|
||||
"gridPos": {
|
||||
"h": 9,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 0
|
||||
},
|
||||
"id": 2,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 1,
|
||||
"links": [],
|
||||
"nullPointMode": "null",
|
||||
"paceLength": 10,
|
||||
"percentage": false,
|
||||
"pointradius": 2,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [
|
||||
{
|
||||
"expr": "histogram_quantile(0.9, rate(open_match_grpc_io_server_server_latency_bucket[$timewindow]))",
|
||||
"format": "time_series",
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "{{grpc_server_method}}",
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "RPC Latency",
|
||||
"tooltip": {
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "individual"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [
|
||||
{
|
||||
"format": "µs",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"schemaVersion": 18,
|
||||
"style": "dark",
|
||||
"tags": [],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"allValue": null,
|
||||
"current": {
|
||||
"text": "5m",
|
||||
"value": "5m"
|
||||
},
|
||||
"hide": 0,
|
||||
"includeAll": false,
|
||||
"label": "Time Window",
|
||||
"multi": false,
|
||||
"name": "timewindow",
|
||||
"options": [
|
||||
{
|
||||
"selected": true,
|
||||
"text": "5m",
|
||||
"value": "5m"
|
||||
},
|
||||
{
|
||||
"selected": false,
|
||||
"text": "10m",
|
||||
"value": "10m"
|
||||
},
|
||||
{
|
||||
"selected": false,
|
||||
"text": "15m",
|
||||
"value": "15m"
|
||||
},
|
||||
{
|
||||
"selected": false,
|
||||
"text": "30m",
|
||||
"value": "30m"
|
||||
},
|
||||
{
|
||||
"selected": false,
|
||||
"text": "1h",
|
||||
"value": "1h"
|
||||
},
|
||||
{
|
||||
"selected": false,
|
||||
"text": "4h",
|
||||
"value": "4h"
|
||||
}
|
||||
],
|
||||
"query": "5m,10m,15m,30m,1h,4h",
|
||||
"skipUrlSync": false,
|
||||
"type": "custom"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-30m",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"refresh_intervals": [
|
||||
"5s",
|
||||
"10s",
|
||||
"30s",
|
||||
"1m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"1h",
|
||||
"2h",
|
||||
"1d"
|
||||
],
|
||||
"time_options": [
|
||||
"5m",
|
||||
"15m",
|
||||
"1h",
|
||||
"6h",
|
||||
"12h",
|
||||
"24h",
|
||||
"2d",
|
||||
"7d",
|
||||
"30d"
|
||||
]
|
||||
},
|
||||
"timezone": "",
|
||||
"title": "gRPC",
|
||||
"uid": "nlrmG_Cmk",
|
||||
"version": 4
|
||||
}
|
||||
|
@ -1,138 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [{
|
||||
"builtIn": 1,
|
||||
"datasource": "-- Grafana --",
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"type": "dashboard"
|
||||
}]
|
||||
},
|
||||
"editable": true,
|
||||
"gnetId": null,
|
||||
"graphTooltip": 0,
|
||||
"id": 1,
|
||||
"links": [],
|
||||
"panels": [{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"fill": 1,
|
||||
"gridPos": {
|
||||
"h": 9,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"id": 2,
|
||||
"legend": {
|
||||
"avg": false,
|
||||
"current": false,
|
||||
"max": false,
|
||||
"min": false,
|
||||
"show": true,
|
||||
"total": false,
|
||||
"values": false
|
||||
},
|
||||
"lines": true,
|
||||
"linewidth": 1,
|
||||
"links": [],
|
||||
"nullPointMode": "null",
|
||||
"paceLength": 10,
|
||||
"percentage": false,
|
||||
"pointradius": 2,
|
||||
"points": false,
|
||||
"renderer": "flot",
|
||||
"seriesOverrides": [],
|
||||
"stack": false,
|
||||
"steppedLine": false,
|
||||
"targets": [{
|
||||
"expr": "histogram_quantile(0.9, rate(open_match_grpc_io_server_server_latency_bucket[10m]))",
|
||||
"format": "time_series",
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "{{grpc_server_method}}",
|
||||
"refId": "A"
|
||||
}],
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeRegions": [],
|
||||
"timeShift": null,
|
||||
"title": "RPC Latency",
|
||||
"tooltip": {
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"value_type": "individual"
|
||||
},
|
||||
"type": "graph",
|
||||
"xaxis": {
|
||||
"buckets": null,
|
||||
"mode": "time",
|
||||
"name": null,
|
||||
"show": true,
|
||||
"values": []
|
||||
},
|
||||
"yaxes": [{
|
||||
"format": "µs",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"format": "short",
|
||||
"label": null,
|
||||
"logBase": 1,
|
||||
"max": null,
|
||||
"min": null,
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"yaxis": {
|
||||
"align": false,
|
||||
"alignLevel": null
|
||||
}
|
||||
}],
|
||||
"schemaVersion": 18,
|
||||
"style": "dark",
|
||||
"tags": [],
|
||||
"templating": {
|
||||
"list": []
|
||||
},
|
||||
"time": {
|
||||
"from": "now-6h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"refresh_intervals": [
|
||||
"5s",
|
||||
"10s",
|
||||
"30s",
|
||||
"1m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"1h",
|
||||
"2h",
|
||||
"1d"
|
||||
],
|
||||
"time_options": [
|
||||
"5m",
|
||||
"15m",
|
||||
"1h",
|
||||
"6h",
|
||||
"12h",
|
||||
"24h",
|
||||
"2d",
|
||||
"7d",
|
||||
"30d"
|
||||
]
|
||||
},
|
||||
"timezone": "",
|
||||
"title": "RPCs",
|
||||
"uid": "HvKlCC9mk",
|
||||
"version": 1
|
||||
}
|
@ -19,8 +19,9 @@ metadata:
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: default
|
||||
namespace: default
|
||||
namespace: {{ .Release.Namespace }}
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: cluster-admin
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
||||
|
@ -35,7 +35,7 @@ openmatch:
|
||||
grpc:
|
||||
port: 50503
|
||||
config:
|
||||
matchmaker: /go/src/github.com/GoogleCloudPlatform/open-match/config
|
||||
matchmaker: /config
|
||||
image:
|
||||
registry: gcr.io/open-match-public-images
|
||||
tag: 0.4.0
|
||||
|
@ -5,5 +5,7 @@ RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o clientloadgen .
|
||||
|
||||
FROM gcr.io/distroless/static
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/test/cmd/clientloadgen/clientloadgen .
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/test/cmd/clientloadgen/*.percent ./
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/test/cmd/clientloadgen/*.ping ./
|
||||
|
||||
ENTRYPOINT ["/clientloadgen"]
|
||||
|
@ -5,5 +5,7 @@ RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o frontendclient .
|
||||
|
||||
FROM gcr.io/distroless/static
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/test/cmd/frontendclient/frontendclient .
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/test/cmd/frontendclient/*.percent ./
|
||||
COPY --from=builder /go/src/github.com/GoogleCloudPlatform/open-match/test/cmd/frontendclient/*.ping ./
|
||||
|
||||
ENTRYPOINT ["/frontendclient"]
|
||||
|
Reference in New Issue
Block a user