sgammon/GUST

View on GitHub
samples/todolist/src/config/25-services.k8s.yaml

Summary

Maintainability
Test Coverage
##
# Copyright © 2020, The Gust Framework Authors. All rights reserved.
#
# The Gust/Elide framework and tools, and all associated source or object computer code, except where otherwise noted,
# are licensed under the Zero Prosperity license, which is enclosed in this repository, in the file LICENSE.txt. Use of
# this code in object or source form requires and implies consent and agreement to that license in principle and
# practice. Source or object code not listing this header, or unless specified otherwise, remain the property of
# Elide LLC and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to
# Elide LLC and its suppliers and may be covered by U.S. and Foreign Patents, or patents in process, and are protected
# by trade secret and copyright law. Dissemination of this information, or reproduction of this material, in any form,
# is strictly forbidden except in adherence with assigned license requirements.
##

apiVersion: v1
kind: Service
metadata:
  name: redis
  namespace: todolist
  labels:
    app: todolist
    role: cache
    environment: production
spec:
  ports:
    - port: 6379
      protocol: TCP
      name: tls-redis
  selector:
    app: todolist
    role: cache
    environment: production
  type: NodePort
  publishNotReadyAddresses: yes
---
apiVersion: v1
kind: Service
metadata:
  name: todolist
  namespace: todolist
  labels:
    app: todolist
    role: server
    environment: production
spec:
  ports:
    - name: tls-app
      port: 8080
      protocol: TCP
      targetPort: 8080
    - name: tls-rpc
      port: 8083
      protocol: TCP
      targetPort: 8083
  selector:
    app: todolist
    role: server
    environment: production
  type: NodePort
  publishNotReadyAddresses: yes
---
apiVersion: v1
kind: Service
metadata:
  name: gateway
  namespace: todolist
  labels:
    app: todolist
    role: gateway
    environment: production
  annotations:
    cloud.google.com/neg: '{"exposed_ports": {"8443": {}}}'
    cloud.google.com/app-protocols: '{"tls-proxy": "HTTP2"}'
    cloud.google.com/backend-config: '{"ports": {"8443":"todolist-server"}}'
spec:
  ports:
    - name: tls-proxy
      port: 8443
      protocol: TCP
      targetPort: 8443
  selector:
    app: todolist
    role: gateway
    environment: production
  type: NodePort
  publishNotReadyAddresses: yes