aboutsummaryrefslogtreecommitdiffstats
path: root/ctrack.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'ctrack.yaml')
-rw-r--r--ctrack.yaml117
1 files changed, 117 insertions, 0 deletions
diff --git a/ctrack.yaml b/ctrack.yaml
new file mode 100644
index 0000000..526a708
--- /dev/null
+++ b/ctrack.yaml
@@ -0,0 +1,117 @@
+# Copyright 2015 Google Inc.
+#
+# 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 configures the ctrack application . The frontend serves
+# public web traffic.
+
+# The bookshelf frontend replication controller ensures that at least 3
+# instances of the bookshelf app are running on the cluster.
+# For more info about Pods see:
+# https://cloud.google.com/container-engine/docs/pods/
+# For more info about Deployments:
+# https://kubernetes.io/docs/user-guide/deployments/
+
+# [START kubernetes_deployment]
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: ctrack
+ labels:
+ app: ctrack
+spec:
+ replicas: 3
+ selector:
+ matchLabels:
+ app: ctrack
+ template:
+ metadata:
+ labels:
+ app: ctrack
+ spec:
+ containers:
+ - name: ctrack-app
+ # Replace with your project ID or use `make template`
+ image: gcr.io/ctrack-291710/ctrack
+ # This setting makes nodes pull the docker image every time before
+ # starting the pod. This is useful when debugging, but should be turned
+ # off in production.
+ imagePullPolicy: Always
+ env:
+ # [START cloudsql_secrets]
+ - name: DATABASE_USER
+ valueFrom:
+ secretKeyRef:
+ name: cloudsql
+ key: ctrack
+ - name: DATABASE_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: cloudsql
+ key: password
+ # [END cloudsql_secrets]
+ ports:
+ - containerPort: 8080
+
+ # [START proxy_container]
+ - image: gcr.io/cloudsql-docker/gce-proxy:1.16
+ name: cloudsql-proxy
+ command: ["/cloud_sql_proxy", "--dir=/cloudsql",
+ "-instances=ctrack-291710:europe-west2:ctrack=tcp:5432",
+ "-credential_file=/secrets/cloudsql/credentials.json"]
+ volumeMounts:
+ - name: cloudsql-oauth-credentials
+ mountPath: /secrets/cloudsql
+ readOnly: true
+ - name: ssl-certs
+ mountPath: /etc/ssl/certs
+ - name: cloudsql
+ mountPath: /cloudsql
+ # [END proxy_container]
+ # [START volumes]
+ volumes:
+ - name: cloudsql-oauth-credentials
+ secret:
+ secretName: cloudsql-oauth-credentials
+ - name: ssl-certs
+ hostPath:
+ path: /etc/ssl/certs
+ - name: cloudsql
+ emptyDir:
+ # [END volumes]
+# [END kubernetes_deployment]
+
+---
+
+# [START service]
+# The ctrack service provides a load-balancing proxy over the ctrack app
+# pods. By specifying the type as a 'LoadBalancer', Container Engine will
+# create an external HTTP load balancer.
+# For more information about Services see:
+# https://cloud.google.com/container-engine/docs/services/
+# For more information about external HTTP load balancing see:
+# https://cloud.google.com/container-engine/docs/load-balancer
+apiVersion: v1
+kind: Service
+metadata:
+ name: ctrack
+ labels:
+ app: ctrack
+spec:
+ type: LoadBalancer
+ ports:
+ - port: 80
+ targetPort: 8080
+ selector:
+ app: ctrack
+# [END service]