blob: f59d33a8cf296647a1ce29dff2c5a008144e84d0 [file] [log] [blame]
# Copyright 2016 The Fuchsia Authors
#
# 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.
# This file contans the definitions of the Analyzer Service's Deployment object
# (which includes an embedded defintion of the it's Pod object) and the
# Analyzer Service's Service 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 create"
# The defintion of the Deployment and Pod
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: analyzer-service
labels:
name: analyzer-service
# Pod object
spec:
replicas: 1
template:
metadata:
name: analyzer-service
labels:
name: analyzer-service
spec:
containers:
- name: analyzer-service
# The URI of a Docker image in a Docker repository.
image: $$ANALYZER_SERVICE_IMAGE_URI$$
args:
- '-port'
- '6001'
- '-bigtable_project_name'
- $$BIGTABLE_PROJECT_NAME$$
- '-bigtable_instance_name'
- $$BIGTABLE_INSTANCE_NAME$$
- '-private_key_pem_file'
# The directory path must match mountPath below.
- '/var/lib/cobalt/$$ANALYZER_PRIVATE_PEM_NAME$$'
# TODO(rudominer) Eventually remove this.
- '-logtostderr'
- '-v=3'
ports:
- containerPort: 6001
volumeMounts:
# This name must match the volumes.name below.
- name: analyzer-key-storage
mountPath: /var/lib/cobalt
readOnly: true
volumes:
- name: analyzer-key-storage
secret:
secretName: $$ANALYZER_PRIVATE_KEY_SECRET_NAME$$
---
# The defintion of the Service
apiVersion: v1
kind: Service
metadata:
name: analyzer-service
spec:
ports:
# The port that this service should serve on. This should match the port
# used several times above and the one specified in Dockerfile.
- port: 6001
selector:
# This must match the metadata.labels section of the Deployment above.
name: analyzer-service
type: LoadBalancer
loadBalancerIP: $$ANALYZER_STATIC_IP_ADDRESS$$