--- Envoy gateway apiVersion: template.openshift.io/v1 kind: Template labels: template: envoy-gateway-template metadata: openshift.io/display-name: envoy-gateway openshift.io/provider-display-name: Red Hat, Inc. name: envoy-gateway objects: - apiVersion: v1 kind: ConfigMap metadata: labels: app: envoy-gateway name: envoy-gateway data: envoy.yaml: |- admin: access_log_path: /tmp/admin_access.log address: socket_address: { address: 0.0.0.0, port_value: 9901 } static_resources: listeners: - name: listener_external address: socket_address: { address: 0.0.0.0, port_value: 8080 } filter_chains: - filters: - name: envoy.http_connection_manager config: stat_prefix: gateway_external codec_type: AUTO route_config: name: external_route virtual_hosts: - name: external_gateway_route domains: ["*"] routes: - match: { prefix: "/animals/" } route: { cluster: animal-service, timeout: { seconds: 60 } } - match: { prefix: "/adoption/" } route: { cluster: adoption-service, timeout: { seconds: 60 } } - match: { prefix: "/shelter/" } route: { cluster: shelter-service, timeout: { seconds: 60 } } - match: { prefix: "/email/" } route: { cluster: email-service, timeout: { seconds: 60 } } cors: allow_methods: GET, PUT, DELETE, POST, OPTIONS allow_headers: access-control-request-header,access-control-request-method,authorization,keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent max_age: "1728000" expose_headers: x-total-pages,x-total-count http_filters: - name: envoy.cors - name: envoy.router clusters: - name: animal-service connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts: - socket_address: address: animal-service port_value: 8080 - name: adoption-service connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts: - socket_address: address: adoption-service port_value: 8080 - name: shelter-service connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts: - socket_address: address: shelter-service port_value: 8080 - name: email-service connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts: - socket_address: address: email-service port_value: 8080 - apiVersion: v1 kind: Service metadata: labels: app: envoy-gateway name: envoy-gateway spec: ports: - name: 8080-8080 port: 8080 protocol: TCP targetPort: 8080 - name: 9901-9901 port: 9901 protocol: TCP targetPort: 9901 selector: app: envoy-gateway sessionAffinity: None type: ClusterIP - apiVersion: build.openshift.io/v1 kind: BuildConfig metadata: labels: build: envoy-gateway name: envoy-gateway spec: failedBuildsHistoryLimit: 5 nodeSelector: null output: to: kind: ImageStreamTag name: envoy-gateway:latest postCommit: {} resources: {} runPolicy: Serial source: dockerfile: |- FROM quay.io/redhattraining/envoy-gateway USER 1001 CMD /usr/local/bin/envoy -c '/opt/app-root/config/envoy.yaml' type: Dockerfile strategy: dockerStrategy: env: - name: LOGLEVEL value: info type: Docker successfulBuildsHistoryLimit: 5 triggers: - github: secret: HGzaU2uqomOXrJDLoCu9 type: GitHub - generic: secret: aVttj5olUwUJPlpEPxgX type: Generic - type: ConfigChange - type: ImageChange - apiVersion: image.openshift.io/v1 kind: ImageStream metadata: name: envoy-gateway =spec: lookupPolicy: local: false - apiVersion: route.openshift.io/v1 kind: Route metadata: labels: app: envoy-gateway name: envoy-gateway spec: port: targetPort: 8080-8080 to: kind: Service name: envoy-gateway weight: 100 wildcardPolicy: None - apiVersion: apps.openshift.io/v1 kind: DeploymentConfig metadata: labels: app: envoy-gateway app.kubernetes.io/component: envoy-gateway app.kubernetes.io/instance: envoy-gateway name: envoy-gateway spec: replicas: 1 revisionHistoryLimit: 10 selector: deploymentconfig: envoy-gateway strategy: activeDeadlineSeconds: 21600 resources: {} rollingParams: intervalSeconds: 1 maxSurge: 25% maxUnavailable: 25% timeoutSeconds: 600 updatePeriodSeconds: 1 type: Rolling template: metadata: annotations: openshift.io/generated-by: OpenShiftNewApp labels: deploymentconfig: envoy-gateway spec: containers: - env: - name: ENVOY_YAML value: /opt/app-root/config/envoy.yaml name: envoy-gateway ports: - containerPort: 8080 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/app-root/config name: configuration dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: envoy-gateway name: configuration test: false triggers: - type: ConfigChange - imageChangeParams: automatic: true containerNames: - envoy-gateway from: kind: ImageStreamTag name: envoy-gateway:latest type: ImageChange --- Shelter Service