#!/bin/bash # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 set -euo pipefail upsert_config_entry primary ' kind = "api-gateway" name = "api-gateway" listeners = [ { name = "listener-one" port = 9999 protocol = "http" }, { name = "listener-two" port = 9998 protocol = "http" } ] ' upsert_config_entry primary ' Kind = "proxy-defaults" Name = "global" Config { protocol = "http" } ' upsert_config_entry primary ' kind = "http-route" name = "api-gateway-route-one" rules = [ { services = [ { name = "s1" }, { name = "s2" weight = 2 } ] } ] parents = [ { name = "api-gateway" sectionName = "listener-one" } ] ' upsert_config_entry primary ' kind = "http-route" name = "api-gateway-route-two" rules = [ { services = [ { name = "s2" } ] } ] parents = [ { name = "api-gateway" sectionName = "listener-two" } ] ' upsert_config_entry primary ' kind = "service-intentions" name = "s1" sources { name = "api-gateway" action = "allow" } ' upsert_config_entry primary ' kind = "service-intentions" name = "s2" sources { name = "api-gateway" action = "deny" } ' register_services primary gen_envoy_bootstrap api-gateway 20000 primary true gen_envoy_bootstrap s1 19000 gen_envoy_bootstrap s2 19001