apicollective / apibuilder

Simple, Comprehensive Tooling for Modern APIs
https://www.apibuilder.io/
MIT License
562 stars 82 forks source link

limit cpu to max 3 #919

Closed renilthomas closed 10 months ago

flow-tech commented 10 months ago
apicollective, api-apibuilder-io, Gateway (networking.istio.io) has changed:
  # Source: flow-generic/templates/ingress.yaml
  apiVersion: networking.istio.io/v1alpha3
  kind: Gateway
  metadata:
    name: api-apibuilder-io
    labels:
      app.kubernetes.io/name: apibuilder-api
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-api
      app.kubernetes.io/managed-by: Tiller
      app: apibuilder-api
    annotations:
      kubernetes.io/ingress.class: "ingressgateway"
      kubernetes.io/ingress.tld: "apibuilder.io"
      external-dns.alpha.kubernetes.io/ttl: "120"
      external-dns.alpha.kubernetes.io/target: "alb-prod.apibuilder.io"
      external-dns.alpha.kubernetes.io/alias: "true"

  spec:
    selector:
      istio: "ingressgateway-apibuilder-io"
    servers:
      - port:
          number: 80
          name: http
          protocol: HTTP2
        hosts:
          - "api.apibuilder.io"
        tls:
          httpsRedirect: true
      - port:
          number: 443
          name: https
          protocol: HTTP2
        hosts:
          - "api.apibuilder.io"
apicollective, apibuilder-api, Service (v1) has changed:
  # Source: flow-generic/templates/service.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: apibuilder-api
    labels:
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-api
      app.kubernetes.io/managed-by: Tiller
      app.kubernetes.io/name: apibuilder-api
      app: apibuilder-api
  spec:
    ports:
      - port: 80
        targetPort: http
        protocol: TCP
        name: http
    selector:
      app.kubernetes.io/name: apibuilder-api
      app.kubernetes.io/instance: apibuilder-api
apicollective, apibuilder-api-live, Deployment (apps) has changed:
  # Source: flow-generic/templates/deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: apibuilder-api-live
    labels:
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-api
      app.kubernetes.io/managed-by: Tiller
      app.kubernetes.io/name: apibuilder-api
      app.kubernetes.io/stage: live
      app: apibuilder-api
      tags.datadoghq.com/service: apibuilder-api
      tags.datadoghq.com/env: live
-     tags.datadoghq.com/version: 0.16.7
-     flow.io/version: 0.16.7
+     tags.datadoghq.com/version: 0.16.7-1-gef2e1288
+     flow.io/version: 0.16.7-1-gef2e1288
      flow.io/team: foundation
  spec:
    replicas: 2

    selector:
      matchLabels:
        app.kubernetes.io/name: apibuilder-api
        app.kubernetes.io/instance: apibuilder-api
        app.kubernetes.io/stage: live
    template:
      metadata:
        labels:
          app.kubernetes.io/name: apibuilder-api
          app.kubernetes.io/instance: apibuilder-api
          app.kubernetes.io/stage: live
          app: apibuilder-api
          tags.datadoghq.com/service: apibuilder-api
          tags.datadoghq.com/env: live
-         tags.datadoghq.com/version: 0.16.7
-         flow.io/version: 0.16.7
+         tags.datadoghq.com/version: 0.16.7-1-gef2e1288
+         flow.io/version: 0.16.7-1-gef2e1288
          flow.io/team: foundation
        annotations:
          iam.amazonaws.com/role: ecsInstanceRole
          sumologic.com/sourceCategory: apibuilder-api
          sidecar.istio.io/logLevel: info
          proxy.istio.io/config: '{"terminationDrainDuration": 30s}'
      spec:
        terminationGracePeriodSeconds: 60
        containers:
          - name: apibuilder-api
-           image: "flowcommerce/apibuilder-api:0.16.7"
+           image: "flowcommerce/apibuilder-api:0.16.7-1-gef2e1288"
            imagePullPolicy: IfNotPresent
            env:
              - name: JAVA_OPTS
                value: "-Xms3072m -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dumps/oom.bin -XX:+UseG1GC -XX:+UseStringDeduplication -XX:FlightRecorderOptions=stackdepth=256"
              - name: FLOW_KUBERNETES_NODE_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: spec.nodeName
              - name: FLOW_KUBERNETES_NODE_IP
                valueFrom:
                  fieldRef:
                    fieldPath: status.hostIP
              - name: FLOW_KUBERNETES_POD_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.name
              - name: FLOW_KUBERNETES_POD_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              - name: FLOW_KUBERNETES_POD_IP
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
              - name: FLOW_KUBERNETES_POD_UID
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.uid
              - name: DD_SERVICE
                value: apibuilder-api
              - name: DD_ENV
                value: live
              - name: DD_VERSION
-               value: 0.16.7
+               value: 0.16.7-1-gef2e1288
              - name: DD_JMXFETCH_STATSD_HOST
                value: 'unix:///var/run/datadog/dsd.socket'
              - name: DD_DOGSTATSD_URL
                value: 'unix:///var/run/datadog/dsd.socket'
              - name: DD_TRACE_AGENT_URL
                value: 'unix:///var/run/datadog/apm.socket'
              - name: DD_SERVICE_MAPPING
                value: "postgresql:apibuilder-api-postgresql,java-aws-sdk:apibuilder-api-aws-sdk"
              - name: DD_TAGS
                value: "team:foundation"
              - name: DD_KUBERNETES_POD_LABELS_AS_TAGS
                value: '{"*": "label_%%label%%"}'
              - name: DD_CONTAINER_ENV_AS_TAGS
                value: '{"FLOW_KUBERNETES_POD_NAME":"env_flow_kubernetes_pod_name","FLOW_KUBERNETES_POD_NAMESPACE":"env_flow_kubernetes_pod_namespace"}'
            args: ["production"]
            ports:
              - name: http
                containerPort: 9000
                protocol: TCP
            volumeMounts:
              - name: dsdsocket
                mountPath: /var/run/datadog
              - name: heap-dumps
                mountPath: /dumps
            startupProbe:
              httpGet:
                path: /_internal_/healthcheck
                port: http
              failureThreshold: 30
              periodSeconds: 10
            livenessProbe:
              httpGet:
                path: /_internal_/healthcheck
                port: http
              failureThreshold: 6
              periodSeconds: 10
              timeoutSeconds: 5
            readinessProbe:
              httpGet:
                path: /_internal_/healthcheck
                port: http
              failureThreshold: 1
              periodSeconds: 10
              timeoutSeconds: 1
            resources:
              limits:
+               cpu: 3
                memory: 4Gi
              requests:
                cpu: 1
                memory: 4Gi

        imagePullSecrets:
          - name: flow-docker-hub

        topologySpreadConstraints:
          - maxSkew: 1
            topologyKey: topology.kubernetes.io/zone
            whenUnsatisfiable: ScheduleAnyway
            labelSelector:
              matchLabels:
                app: apibuilder-api
        dnsConfig:
          options:
            - name: ndots
              value: "1"
        volumes:
          - name: dsdsocket
            hostPath:
              path: /var/run/datadog/
              type: DirectoryOrCreate
          - name: heap-dumps
            emptyDir: {}
    strategy:
      type: RollingUpdate
apicollective, apibuilder-api-live, VirtualService (networking.istio.io) has changed:
  # Source: flow-generic/templates/istio.yaml
  apiVersion: networking.istio.io/v1alpha3
  kind: VirtualService
  metadata:
    name: apibuilder-api-live
    labels:
      app.kubernetes.io/name: apibuilder-api
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-api
      app.kubernetes.io/managed-by: Tiller
      app: apibuilder-api
  spec:
    hosts:
      - apibuilder
      - api.apibuilder.io

    gateways:
      - mesh
      - api-apibuilder-io

    http:
    - route:
      - destination:
          host: apibuilder-api
          port:
            number: 80
          subset:  live
flow-tech commented 10 months ago
apicollective, apibuilder-app, Service (v1) has changed:
  # Source: flow-generic/templates/service.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: apibuilder-app
    labels:
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-app
      app.kubernetes.io/managed-by: Tiller
      app.kubernetes.io/name: apibuilder-app
      app: apibuilder-app
  spec:
    ports:
      - port: 80
        targetPort: http
        protocol: TCP
        name: http
    selector:
      app.kubernetes.io/name: apibuilder-app
      app.kubernetes.io/instance: apibuilder-app
apicollective, apibuilder-app-live, Deployment (apps) has changed:
  # Source: flow-generic/templates/deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: apibuilder-app-live
    labels:
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-app
      app.kubernetes.io/managed-by: Tiller
      app.kubernetes.io/name: apibuilder-app
      app.kubernetes.io/stage: live
      app: apibuilder-app
      tags.datadoghq.com/service: apibuilder-app
      tags.datadoghq.com/env: live
-     tags.datadoghq.com/version: 0.16.7
-     flow.io/version: 0.16.7
+     tags.datadoghq.com/version: 0.16.7-1-gef2e1288
+     flow.io/version: 0.16.7-1-gef2e1288
      flow.io/team: foundation
  spec:
    replicas: 2

    selector:
      matchLabels:
        app.kubernetes.io/name: apibuilder-app
        app.kubernetes.io/instance: apibuilder-app
        app.kubernetes.io/stage: live
    template:
      metadata:
        labels:
          app.kubernetes.io/name: apibuilder-app
          app.kubernetes.io/instance: apibuilder-app
          app.kubernetes.io/stage: live
          app: apibuilder-app
          tags.datadoghq.com/service: apibuilder-app
          tags.datadoghq.com/env: live
-         tags.datadoghq.com/version: 0.16.7
-         flow.io/version: 0.16.7
+         tags.datadoghq.com/version: 0.16.7-1-gef2e1288
+         flow.io/version: 0.16.7-1-gef2e1288
          flow.io/team: foundation
        annotations:
          iam.amazonaws.com/role: ecsInstanceRole
          sumologic.com/sourceCategory: apibuilder-app
          sidecar.istio.io/logLevel: info
          proxy.istio.io/config: '{"terminationDrainDuration": 30s}'
      spec:
        terminationGracePeriodSeconds: 60
        containers:
          - name: apibuilder-app
-           image: "flowcommerce/apibuilder-app:0.16.7"
+           image: "flowcommerce/apibuilder-app:0.16.7-1-gef2e1288"
            imagePullPolicy: IfNotPresent
            env:
              - name: JAVA_OPTS
                value: "-Xms5120m -Xmx5120m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dumps/oom.bin -XX:+UseG1GC -XX:+UseStringDeduplication -XX:FlightRecorderOptions=stackdepth=256"
              - name: FLOW_KUBERNETES_NODE_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: spec.nodeName
              - name: FLOW_KUBERNETES_NODE_IP
                valueFrom:
                  fieldRef:
                    fieldPath: status.hostIP
              - name: FLOW_KUBERNETES_POD_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.name
              - name: FLOW_KUBERNETES_POD_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              - name: FLOW_KUBERNETES_POD_IP
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
              - name: FLOW_KUBERNETES_POD_UID
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.uid
              - name: DD_SERVICE
                value: apibuilder-app
              - name: DD_ENV
                value: live
              - name: DD_VERSION
-               value: 0.16.7
+               value: 0.16.7-1-gef2e1288
              - name: DD_JMXFETCH_STATSD_HOST
                value: 'unix:///var/run/datadog/dsd.socket'
              - name: DD_DOGSTATSD_URL
                value: 'unix:///var/run/datadog/dsd.socket'
              - name: DD_TRACE_AGENT_URL
                value: 'unix:///var/run/datadog/apm.socket'
              - name: DD_SERVICE_MAPPING
                value: "postgresql:apibuilder-app-postgresql,java-aws-sdk:apibuilder-app-aws-sdk"
              - name: DD_TAGS
                value: "team:foundation"
              - name: DD_KUBERNETES_POD_LABELS_AS_TAGS
                value: '{"*": "label_%%label%%"}'
              - name: DD_CONTAINER_ENV_AS_TAGS
                value: '{"FLOW_KUBERNETES_POD_NAME":"env_flow_kubernetes_pod_name","FLOW_KUBERNETES_POD_NAMESPACE":"env_flow_kubernetes_pod_namespace"}'
            args: ["production"]
            ports:
              - name: http
                containerPort: 9000
                protocol: TCP
            volumeMounts:
              - name: dsdsocket
                mountPath: /var/run/datadog
              - name: heap-dumps
                mountPath: /dumps
            startupProbe:
              httpGet:
                path: /_internal_/healthcheck
                port: http
              failureThreshold: 30
              periodSeconds: 10
            livenessProbe:
              httpGet:
                path: /_internal_/healthcheck
                port: http
              failureThreshold: 6
              periodSeconds: 10
              timeoutSeconds: 5
            readinessProbe:
              httpGet:
                path: /_internal_/healthcheck
                port: http
              failureThreshold: 1
              periodSeconds: 10
              timeoutSeconds: 1
            resources:
              limits:
+               cpu: 3
                memory: 6Gi
              requests:
                cpu: 1
                memory: 6Gi

        imagePullSecrets:
          - name: flow-docker-hub

        topologySpreadConstraints:
          - maxSkew: 1
            topologyKey: topology.kubernetes.io/zone
            whenUnsatisfiable: ScheduleAnyway
            labelSelector:
              matchLabels:
                app: apibuilder-app
        dnsConfig:
          options:
            - name: ndots
              value: "1"
        volumes:
          - name: dsdsocket
            hostPath:
              path: /var/run/datadog/
              type: DirectoryOrCreate
          - name: heap-dumps
            emptyDir: {}
    strategy:
      type: RollingUpdate
apicollective, apibuilder-app-live, VirtualService (networking.istio.io) has changed:
  # Source: flow-generic/templates/istio.yaml
  apiVersion: networking.istio.io/v1alpha3
  kind: VirtualService
  metadata:
    name: apibuilder-app-live
    labels:
      app.kubernetes.io/name: apibuilder-app
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-app
      app.kubernetes.io/managed-by: Tiller
      app: apibuilder-app
  spec:
    hosts:
      - apibuilder-app
      - app.apibuilder.io

    gateways:
      - mesh
      - app-apibuilder-io

    http:
    - route:
      - destination:
          host: apibuilder-app
          port:
            number: 80
          subset:  live
apicollective, app-apibuilder-io, Gateway (networking.istio.io) has changed:
  # Source: flow-generic/templates/ingress.yaml
  apiVersion: networking.istio.io/v1alpha3
  kind: Gateway
  metadata:
    name: app-apibuilder-io
    labels:
      app.kubernetes.io/name: apibuilder-app
-     helm.sh/chart: flow-generic-1.5.18
+     helm.sh/chart: flow-generic-1.5.21
      app.kubernetes.io/instance: apibuilder-app
      app.kubernetes.io/managed-by: Tiller
      app: apibuilder-app
    annotations:
      kubernetes.io/ingress.class: "ingressgateway"
      kubernetes.io/ingress.tld: "apibuilder.io"
      external-dns.alpha.kubernetes.io/ttl: "120"
      external-dns.alpha.kubernetes.io/target: "alb-prod.apibuilder.io"
      external-dns.alpha.kubernetes.io/alias: "true"

  spec:
    selector:
      istio: "ingressgateway-apibuilder-io"
    servers:
      - port:
          number: 80
          name: http
          protocol: HTTP2
        hosts:
          - "app.apibuilder.io"
        tls:
          httpsRedirect: true
      - port:
          number: 443
          name: https
          protocol: HTTP2
        hosts:
          - "app.apibuilder.io"