kubernetes-manifests/transaction-history.yaml (142 lines of code) (raw):

# Copyright 2023 Google LLC # # 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 # # https://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 kind: Service metadata: labels: application: bank-of-anthos environment: development team: ledger tier: backend name: transactionhistory spec: ports: - name: http port: 8080 targetPort: 8080 selector: app: transactionhistory application: bank-of-anthos environment: development team: ledger tier: backend type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: labels: application: bank-of-anthos environment: development team: ledger tier: backend name: transactionhistory spec: selector: matchLabels: app: transactionhistory application: bank-of-anthos environment: development team: ledger tier: backend template: metadata: annotations: proxy.istio.io/config: '{ "holdApplicationUntilProxyStarts": true }' labels: app: transactionhistory application: bank-of-anthos environment: development team: ledger tier: backend spec: containers: - env: - name: VERSION value: v0.6.1 - name: PORT value: "8080" - name: ENABLE_TRACING value: "true" - name: ENABLE_METRICS value: "true" - name: POLL_MS value: "100" - name: CACHE_SIZE value: "1000" - name: CACHE_MINUTES value: "60" - name: HISTORY_LIMIT value: "100" - name: JVM_OPTS value: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Xms256m -Xmx512m - name: LOG_LEVEL value: info - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace envFrom: - configMapRef: name: environment-config - configMapRef: name: ledger-db-config image: us-central1-docker.pkg.dev/bank-of-anthos-ci/bank-of-anthos/transactionhistory:v0.6.1@sha256:bba73286ab53f8adba4381562e1c0b6c9b6a69c331a5acb3133379c356b5672f livenessProbe: httpGet: path: /healthy port: 8080 initialDelaySeconds: 120 periodSeconds: 5 timeoutSeconds: 10 name: transactionhistory readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 60 periodSeconds: 5 timeoutSeconds: 10 resources: limits: cpu: 500m ephemeral-storage: 0.5Gi memory: 512Mi requests: cpu: 100m ephemeral-storage: 0.5Gi memory: 256Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - all privileged: false readOnlyRootFilesystem: true startupProbe: failureThreshold: 30 httpGet: path: /healthy port: 8080 periodSeconds: 10 volumeMounts: - mountPath: /tmp name: tmp - mountPath: /tmp/.ssh name: publickey readOnly: true securityContext: fsGroup: 1000 runAsGroup: 1000 runAsNonRoot: true runAsUser: 1000 serviceAccountName: bank-of-anthos terminationGracePeriodSeconds: 5 volumes: - emptyDir: {} name: tmp - name: publickey secret: items: - key: jwtRS256.key.pub path: publickey secretName: jwt-key