blob: 2a5ae5f542f06db0d49025cfed7f5e3ea111d302 [file] [log] [blame]
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This file contans the definitions of the Shuffler's Deployment object
# (which includes an embedded defintion of its Pod object).
#
# The definitions contain some parameters (indicated by $$PARAMETER_NAME$$)
# that will be replaced by the script tools/container_util.py prior to being
# passed to "kubectl apply"
# The defintion of the Deployment and Pod
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: shuffler
labels:
name: shuffler
# Pod object
spec:
serviceName: shuffler
replicas: 2
updateStrategy:
type: RollingUpdate
template:
metadata:
name: shuffler
labels:
name: shuffler
spec:
containers:
- name: endpoint
image: gcr.io/endpoints-release/endpoints-runtime:1
args: [
'-S', '443',
'-s', '$$ENDPOINT_NAME$$',
'-v', '$$ENDPOINT_CONFIG_ID$$',
'-a', 'grpc://127.0.0.1:5000'
]
ports:
- containerPort: 443
volumeMounts:
- mountPath: /etc/nginx/ssl
# The name must match the volumes.name for
# shuffler-certificate-storage.
name: shuffler-certificate-storage
readOnly: true
- name: shuffler
# The URI of a Docker image in a Docker repository.
image: $$SHUFFLER_IMAGE_URI$$
args:
- '-port'
- '5000'
- '-analyzer_uri'
# This must match the defintion of the "analyzer-service" Service
# in analyzer_service_deployment.yaml
- 'analyzer-service:6001'
- '-config_file'
# This is the path to where the file is copied in Dockerfile.
- '/etc/cobalt/shuffler_config.txt'
- '-db_dir'
# This path must match mountPath for shuffler-persistent-storage
# below.
- '/var/lib/cobalt/db'
- '-use_memstore=$$SHUFFLER_USE_MEMSTORE$$'
- '-private_key_pem_file'
# The directory path must match mountPath for shuffler-key-storage
# below.
- '/var/lib/cobalt/key/$$SHUFFLER_PRIVATE_PEM_NAME$$'
- '-danger_danger_delete_all_data_at_startup=$$DANGER_DANGER_DELETE_ALL_DATA_AT_STARTUP$$'
# TODO(rudominer) Eventually remove this.
- '-logtostderr'
- '-v=3'
ports:
- containerPort: 5000
volumeMounts:
# This name must match the volumes.name for
# shuffler-persistent-storage below.
- name: shuffler-persistent-disk
mountPath: /var/lib/cobalt/db
# This name must match the volumes.name for shuffler-key-storage
# below.
- name: shuffler-key-storage
mountPath: /var/lib/cobalt/key
readOnly: true
volumes:
- name: shuffler-key-storage
secret:
secretName: $$SHUFFLER_PRIVATE_KEY_SECRET_NAME$$
- name: shuffler-certificate-storage
secret:
secretName: $$SHUFFLER_CERTIFICATE_SECRET_NAME$$
volumeClaimTemplates:
- metadata:
name: shuffler-persistent-disk
spec:
accessModes:
- ReadWriteOnce
storageClassName: standard
resources:
requests:
storage: 10Gi