Skip to content

Commit

Permalink
+add v4, add jwt example
Browse files Browse the repository at this point in the history
  • Loading branch information
smarunich committed Jan 23, 2023
1 parent e52a2bc commit b09e47e
Show file tree
Hide file tree
Showing 12 changed files with 792 additions and 0 deletions.
4 changes: 4 additions & 0 deletions random-connections/v4-casual-demo-connections/apim-test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
echo "consumer-service-httpbin.gcp.cx.tetrate.info: `curl -Isk http://34.254.0.28 -H"Host: consumer-service-httpbin.gcp.cx.tetrate.info" -X GET | grep HTTP`"
echo "external-api-httpbin.gcp.cx.tetrate.info: `curl -Isk http://34.254.0.28 -H"Host: external-api-httpbin.gcp.cx.tetrate.info" -X GET | grep HTTP`"
echo "rogue-external-api-httpbin.gcp.cx.tetrate.info: `curl -Isk http://34.254.0.28 -H"Host: rogue-external-api-httpbin.gcp.cx.tetrate.info" -X GET | grep HTTP`"
echo "external-api-httpbin.gcp.cx.tetrate.info: `curl -Isk https://external-api-httpbin.gcp.cx.tetrate.info -H"Host: external-api-httpbin.gcp.cx.tetrate.info" --resolve external-api-httpbin.gcp.cx.tetrate.info:443:34.254.0.28 -X GET | grep HTTP`"
44 changes: 44 additions & 0 deletions random-connections/v4-casual-demo-connections/httpbin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: httpbin
---
apiVersion: v1
kind: Service
metadata:
name: httpbin
labels:
app: httpbin
service: httpbin
spec:
ports:
- name: http
port: 8000
targetPort: 80
selector:
app: httpbin
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: httpbin
spec:
replicas: 1
selector:
matchLabels:
app: httpbin
version: v1
template:
metadata:
labels:
app: httpbin
version: v1
spec:
serviceAccountName: httpbin
containers:
- image: docker.io/kennethreitz/httpbin
imagePullPolicy: IfNotPresent
name: httpbin
ports:
- containerPort: 80
13 changes: 13 additions & 0 deletions random-connections/v4-casual-demo-connections/tier1-template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: install.tetrate.io/v1alpha1
kind: Tier1Gateway
metadata:
name: trusted-landing
namespace: lob-app02
spec:
kubeSpec:
service:
type: LoadBalancer
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: tsb.tetrate.io/v2
kind: Workspace
metadata:
name: lob-app01-consumer-ws
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
spec:
displayName: lob-app01-consumer-ws
namespaceSelector:
names:
- eks-bk-lts-eu-west-1-2/lob-app01
privileged: false
- apiVersion: gateway.tsb.tetrate.io/v2
kind: Group
metadata:
name: lob-app01-consumer-gg
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/workspace: lob-app01-consumer-ws
spec:
configMode: BRIDGED
displayName: lob-app01-consumer-gg
namespaceSelector:
names:
- eks-bk-lts-eu-west-1-2/lob-app01
- apiVersion: install.tetrate.io/v1alpha1
kind: Tier1Gateway
metadata:
name: lob-app01-consumer-t1
namespace: lob-app01
spec:
kubeSpec:
service:
type: LoadBalancer
- apiVersion: gateway.tsb.tetrate.io/v2
kind: Tier1Gateway
metadata:
name: lob-app01-ext-t1
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/gatewayGroup: lob-app01-consumer-gg
tsb.tetrate.io/workspace: lob-app01-consumer-ws
spec:
workloadSelector:
namespace: lob-app01
labels:
app: lob-app01-consumer-t1
externalServers:
- hostname: external-api-httpbin.gcp.cx.tetrate.info
name: lob-app01-consumer
port: 443
clusters:
- name: eks-bk-lts-us-east-1-0
weight: 100
tls:
mode: SIMPLE
secretName: external-api-httpbin
- apiVersion: gateway.tsb.tetrate.io/v2
kind: Tier1Gateway
metadata:
name: lob-app01-ns-t1
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/gatewayGroup: lob-app01-consumer-gg
tsb.tetrate.io/workspace: lob-app01-consumer-ws
spec:
workloadSelector:
namespace: lob-app01
labels:
app: lob-app01-consumer-t1
externalServers:
- hostname: external-api-httpbin.gcp.cx.tetrate.info
name: lob-app01-consumer
port: 80
clusters:
- name: eks-bk-lts-us-east-1-0
weight: 100
- apiVersion: gateway.tsb.tetrate.io/v2
kind: Tier1Gateway
metadata:
name: lob-app01-cs-t1
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/gatewayGroup: lob-app01-consumer-gg
tsb.tetrate.io/workspace: lob-app01-consumer-ws
spec:
workloadSelector:
namespace: lob-app01
labels:
app: lob-app01-consumer-t1
externalServers:
- hostname: consumer-service-httpbin.gcp.cx.tetrate.info
name: lob-app01-consumer
port: 80
clusters:
- name: aks-r160rc6p1-eastus-1
weight: 100
- apiVersion: gateway.tsb.tetrate.io/v2
kind: Tier1Gateway
metadata:
name: lob-app01-rg-t1
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/gatewayGroup: lob-app01-consumer-gg
tsb.tetrate.io/workspace: lob-app01-consumer-ws
spec:
workloadSelector:
namespace: lob-app01
labels:
app: lob-app01-consumer-t1
externalServers:
- hostname: rogue-external-api-httpbin.gcp.cx.tetrate.info
name: lob-app01-rogue
port: 80
clusters:
- name: eks-bk-lts-us-east-1-0
weight: 100
---
apiVersion: v1
data:
ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lQTXZFM3NtZUFHakgzYUYxaVdUcFRNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1DOHgKRlRBVEJnTlZCQW9UREdObGNuUXRiV0Z1WVdkbGNqRVdNQlFHQTFVRUF4TU5jMlZzWm5OcFoyNWxaQzFqWVRBZQpGdzB5TWpFeE1qUXhOREEzTlROYUZ3MHlOVEExTVRJeE5EQTNOVE5hTUM4eEZUQVRCZ05WQkFvVERHTmxjblF0CmJXRnVZV2RsY2pFV01CUUdBMVVFQXhNTmMyVnNabk5wWjI1bFpDMWpZVENDQVNJd0RRWUpLb1pJaHZjTkFRRUIKQlFBRGdnRVBBRENDQVFvQ2dnRUJBTVowOEJwMmhOWWhuNDlPKzFmOUVUakk0RHdoemxKRkNHbnIyaVkwczdhbwp6OWl4ckRJMWlYelVMRWlNZ0piMGZJU1JVb1lXSEsxT051bEpwZmI1dmFkcmFlQmwyV1M4dTNjMzJ2VUQzb1J0ClRSTWdnZVpyTEhBbmx2STliVmNiT21wUmNoRjdxamx4dzdOam94UFVMUVJxYmRtcVROUzdEYjFZTHNoOGd5VU0Ka1FBOGV0QW9qKy9BTkVrQlNVM200SkRHMllmVFhHV3ZOUzBwOEMvVU9SaWc0SU5vQzVRY0R2NkRvNUpuZWNPawovVmIwN01QMGNHODZOTm1CMEo5QUdGeHpnRWg0elRQRWM0TmgrMHJORWloeWZqT0prNEF0bzArUE1JZWRKVHRZCkk2ME0rMEF1cVJPQ0ZPekVya3V3aTlmN0o1ckZEUHZNN2dibXhBL2pLTmNDQXdFQUFhTkNNRUF3RGdZRFZSMFAKQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkhDRUFhWjU0STJDVWlwKwpnU2dzcElVNEVhcitNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUNXMkREVkgwZ0QyakNRRFFCNU5taFZpcEc0CjVHU2tHWnFRUFk4UDI2a3N6OStvQjI1YTdwaWVlczhCOHRHQ0kvendlUzQ5MDZIN1R2MXZtSWkrZWw5cXQxR0EKd3JEdy9PdVZXeTUxU1pKOGRSOUJuMDFlMzlCY21jWDZNYmt0QXZ4VE91K3lpU3pIQWZ6NDlIRFgxMFZydXErcwp5bStWTlZNL2tYMEdKclBoYkFSYXFJT2tFYjI2Wll0NVlTMFA2MTNyc2R5Y0NNa1h2QzkxZDM1Q2VUV2pYSzR5CnlHNkttK0hUSURXYjZCd0ttdS9KU0RsWHdEZktlNHYrbTIvY0k4djJlT3dFREpPaG51Mkl3L3pmdUJsWWpDdzAKbWRLa08yUkhWNXU5dnNEdUJibEF0cStGM1JXNDlxSFhIRnhBbFJhN0N6VzBZc2JWTVNKTGd2YnI0NGxxCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKRENDQWd5Z0F3SUJBZ0lRQkN1dUM0bGFuUnFlOVdhbTVUcGVzVEFOQmdrcWhraUc5dzBCQVFzRkFEQXYKTVJVd0V3WURWUVFLRXd4alpYSjBMVzFoYm1GblpYSXhGakFVQmdOVkJBTVREWE5sYkdaemFXZHVaV1F0WTJFdwpIaGNOTWpJeE1USTBNVFUwTURFMFdoY05NalV3TlRFeU1UVTBNREUwV2pBQU1JSUJJakFOQmdrcWhraUc5dzBCCkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXo0TkpEYVN0L05KbG1UVldjNWdweGVwWVMvRlhRWEovdDNGenFvVDgKbGhxRFpZeGlHR2J3Qjk0ellZNHdPZUtmcUFSMyt5Q2NPOFZiSURFeDE0ZWFlV3NrcDQ0cUgwWW5sOVhXWjd3RQpQbStsNGx2anRhTHdRMmovc0FZZzBRcW0wWWFYR1gxZFFlcHQ0R3dobWw5V0d6eVFIR280TWxSbmx5WktwZE1BCkZsNUxrSVZpTmMzelh0M0U4Skl5anhoQWxHTmg0Q3A1dnd2SzJKcXF2R0JJSmdMNk1YNkptTGU4bGlzMURWNlYKNFk0S1p4NzQxNzBvTCs3VTlIOFZmdENGMGlPaE9wZG9NcURhUEYxRlVScFJrU1VLSzM2ZlAwbTRuSVZLWms3dwplbzg5WXI2VUNEUjRJTGpLR1NEN0xLOGlkUUg3dC8rUmdqb0ZGTmk5dmtJR2h3SURBUUFCbzJzd2FUQU9CZ05WCkhROEJBZjhFQkFNQ0JhQXdEQVlEVlIwVEFRSC9CQUl3QURBZkJnTlZIU01FR0RBV2dCUndoQUdtZWVDTmdsSXEKZm9Fb0xLU0ZPQkdxL2pBb0JnTlZIUkVCQWY4RUhqQWNnaHBuYVhSdmNITXRZbTl2YTJsdVptOHVkR1YwY21GMApaUzVwYnpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXJLUENab0xhYVU1bG5GQU5DVVN4djF2T2QrVmlPdlBQClN6ZjZMTFJadFphUVhnb1EvWmMzblNEcmo5a0xIbzlldzZCYUZIdjZ3S1pRVWhFOFpVWkczZ2hzaUhoQk42M1YKWnJnNmZHK2R2ZEFpaTJESGNuRXlhVWlzZms0RFlPQUFtMkxZNUVZV0RzVkRqcFdobksxWFZldEVLR3FWQ3BtYQpPaTR3aWg4Nk9ieExLV2kvOE12OC9CU3RHWkhJSVpKUGlsWjZ4N2VVNEdYbEYxMDMwdnV6dW1YTUdtbEg1Tk1RCllNQmsyV0pXTVQ3QWRQTjRwNExmUlozTC93OUVFbm1MQ242SW93U1BNUHo5b0dvTWFjcU5odUtjR0MrbXlIOG0KUm9sM1pXcUEyUEZWcytKSnVzelJUc0xZU245S1c3N2pDYjEzenczRVBMRlNBMVpCd3o0VlVRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBejROSkRhU3QvTkpsbVRWV2M1Z3B4ZXBZUy9GWFFYSi90M0Z6cW9UOGxocURaWXhpCkdHYndCOTR6WVk0d09lS2ZxQVIzK3lDY084VmJJREV4MTRlYWVXc2twNDRxSDBZbmw5WFdaN3dFUG0rbDRsdmoKdGFMd1Eyai9zQVlnMFFxbTBZYVhHWDFkUWVwdDRHd2htbDlXR3p5UUhHbzRNbFJubHlaS3BkTUFGbDVMa0lWaQpOYzN6WHQzRThKSXlqeGhBbEdOaDRDcDV2d3ZLMkpxcXZHQklKZ0w2TVg2Sm1MZThsaXMxRFY2VjRZNEtaeDc0CjE3MG9MKzdVOUg4VmZ0Q0YwaU9oT3Bkb01xRGFQRjFGVVJwUmtTVUtLMzZmUDBtNG5JVktaazd3ZW84OVlyNlUKQ0RSNElMaktHU0Q3TEs4aWRRSDd0LytSZ2pvRkZOaTl2a0lHaHdJREFRQUJBb0lCQUJEcFZTSE1ndlZ3dkNEeApUTnRjMGtLejU0QkE2ZWlHaVV3TTdlMCtxMHNjWEFzQmx0a0FRcDJSaVVSeER4TVltZ1JhWU9EUmRvb1VlbW0wCk9LaWsvM3pYczRRSVBQeVJmaGFNc2MyQWNDUWFlejFvV2JWcTB3UGJZY01ack1EOGlqM1hKeWRIcFRzQy9QTm0KUEpMVkpESlNERGlVbTRIV2lSNnpXekFLY3g1ZmFWMFVMVXB5ZzZDWm1WOU5jbkYvRG5oWWROTjZKSnd5Ni90WQo4Q2JiN0tsYkdxRm5nWk4wSmFUNlc3VHlZNzdOUDJBY3ZmRlA4Nzc0SlNSUEVIemNNL3dBbUJKWCs0VUpDTTZrCmllaEd4RVZySjdMQVJ5OXJHV3BFZmY2RXY2S1ljSlQ2L3haQ2liZlNTY213MWthRHQ3UlhRMUc4MGF0MTZuODgKMjlYOFVUa0NnWUVBNDd6S1I0MmFsYmFZcVpqOEk1bVhOY3V5TmVBM21idlZUTjNGYXNrdUhoKzZaMWpQVnNqZApPRHpNc29VejgyOG8zNW8zUUJTTURzcWRKNEhOdXU4QjdGYW9UUzB1NFBDajhMWDUrbTNoc0djekRycnNYWTJ5CmdlTzVUejlHMFRGYnM5QSs0V0ZFamY2N092Z21pUFN4SWV3VU5ldjVpcHMrZUQ0clJBYm1yQTBDZ1lFQTZVUDEKcUlEUGhaUVVnWWswR1hWb2dNVmphMTR1eU9TMEE5YW1IQTh2SHBwL2FFNmk0WklWYTJzL1VtVDdBWHdzYUlTMwpIZkZDTlRNWHJQSnJWZzlSamdSWVlnMGVQZC9ZcnhDQ09zcWw3eU9NeTBZQ2QyUWUwWjRhaHhBVnhuUUFEUWJ4CmxEUWN1ekRsa0hqT1dlYWJBNDArZ1VGbWNkNy9lNGN3MmQrY2srTUNnWUVBaE84YnFEN0pJR0VRcGRidVB4MlYKZlVwa3dUd2JXSHFqSEpaTGVYVHJuWnZwcEEvY0g0MXFURHg1UkMrcXpvdHhjV3hFbWZ3a2NUSG1JRHlOeVhOZwpUUU9jaEVnK21BRC93UytJTnAxVFl6UXFRb3ZzRXdQMlVnbUtqdTZodU5TMThiVTZMemNtM0RmNE5JakxmYUJQCmtUeUw0NW5WOVFsL29wS3ZrS3J5bFRVQ2dZQXFvKzJvRzhQVG16b1VZOHhPU3hRTFZnblNlcWo2dURQZjc4RDEKcUNEbzZ6MFhDQ2ptS3hvWFJNZVNmRHNXRG1qZndrTG5DazhjQW5iMWVtcjhsRmhJS2FzdVlVK0I2QVZvR3hCegpSdEFHWXUwOXkxSndHTEU1aURrNUwwdUx0M0M2OE9ZQVBYWnpFWUVsWTYvMDV4NjNDMzY5aWdMOEZkT0Y5VFNNCjN6OTBHUUtCZ1FDLzRvL0lSdCs0ODhrZnhkWmVCdy9DQjR0bEtkRnFxOFNHVkFqakNZMEY1cFNFMENGRGdNUUIKQUd6Z1QzSnN0M21RQUpJOUJyODNpYXB1YUp4MEtXQzdPWVZrK0s4NTNGV2VxSTIrKzdDb0I1VTNKc0lqM1NwTgpGazRWeXlOZjhMT3BOdm45U1pCZk03V2RJTmpFK0lyTHBrQ2hsQW53NkcvQmlBMW1ZSXNwQVE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
kind: Secret
metadata:
name: external-api-httpbin
namespace: lob-app01
type: kubernetes.io/tls

Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: lob-app01-gateway-rogue
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/gatewayGroup: lob-app01-provider-gg
tsb.tetrate.io/workspace: lob-app01-provider-ws
labels:
istio.io/rev: tsb
spec:
selector:
app: lob-app01-provider-t1
servers:
- hosts:
- rogue-external-api-httpbin.gcp.cx.tetrate.info
port:
name: mtls-multicluster
number: 16443
protocol: HTTP
- apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: lob-app01-dr-rogue
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/workspace: lob-app01-provider-ws
tsb.tetrate.io/trafficGroup: lob-app01-provider-tg
labels:
istio.io/rev: tsb
spec:
exportTo:
- .
host: rogue-httpbin.org
subsets:
- labels:
gateway: lob-app01-serviceentry-rogue
name: lob-app01-subset-rogue
trafficPolicy:
portLevelSettings:
- port:
number: 443
tls:
mode: SIMPLE
sni: rogue-httpbin.org
- apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: lob-app01-serviceentry-rogue
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/istioInternalGroup: lob-app01-provider-ig
tsb.tetrate.io/workspace: lob-app01-provider-ws
labels:
istio.io/rev: tsb
spec:
endpoints:
- address: 3.229.200.4
labels:
gateway: lob-app01-serviceentry-rogue
ports:
lob-app01-port-rogue: 443
exportTo:
- '*'
hosts:
- rogue-httpbin.org
location: MESH_EXTERNAL
ports:
- name: lob-app01-port-rogue
number: 443
protocol: TLS
resolution: DNS
- apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: lob-app01-virtualservice-rogue
annotations:
tsb.tetrate.io/organization: tetrate
tsb.tetrate.io/tenant: dev
tsb.tetrate.io/gatewayGroup: lob-app01-provider-gg
tsb.tetrate.io/workspace: lob-app01-provider-ws
labels:
istio.io/rev: tsb
spec:
gateways:
- lob-app01/lob-app01-gateway-rogue
hosts:
- rogue-external-api-httpbin.gcp.cx.tetrate.info
http:
- match:
- port: 15443
headers:
request:
set:
host: "rogue-httpbin.org"
route:
- destination:
host: rogue-httpbin.org
port:
number: 443
subset: lob-app01-subset-rogue

Loading

0 comments on commit b09e47e

Please sign in to comment.