Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bot] Merge automation #261

Merged
merged 94 commits into from
Oct 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
9e78a46
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
2b9b229
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
2f442a8
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
a9b3d82
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
4c4d14d
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
23790b7
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
fe5ef78
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
3c7ef7d
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
7fdbf1e
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
0818dcb
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
6fd45f0
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
1f9bfab
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
9c6e4f1
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
3a6ecd5
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
e498161
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
b8cb585
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
4e6d1b0
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
96f0214
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
6509828
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
3809ce3
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
c107eeb
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
6d4d0d7
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
96238f5
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
7ca5467
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
25ef0af
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
31a6b53
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
c82a1f1
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
f99c51c
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
fbfbc82
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
0007c7a
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
f95164c
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
1edde44
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
3e2f118
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
43aa5e5
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
840a0ce
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
9365f84
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
a264638
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
c82ad47
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
3439e86
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
d3f813e
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
8bb9bf2
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
a807e28
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
2f72ba2
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
d98f046
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
9444729
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
4a622d5
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
07c5f5f
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
e02fc9c
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
76df62a
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
6b78f00
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
bb994be
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
9248df2
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
ca141cd
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
b404426
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
4de108e
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
5f383b4
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
7dea2cc
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
f5a0591
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
30a83b9
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
b902b8e
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
5e69c26
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
94809cb
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
35df755
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
8be37d1
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
5a99f46
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
f28f292
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
5461a92
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
92a82c2
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
7abca08
Update from https://github.com/solo-io/procgen/commit/e82355fbbe99fe7…
Oct 14, 2024
4f09a2e
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
07a629d
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
99e0a95
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
575954b
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
346f49e
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
23275ee
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
220f4d1
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
1929fd6
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
f9a35b0
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
c64a66a
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
912059d
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
edf1b2e
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
30d621d
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
3b0226b
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
30824b3
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
966f431
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
59fd8d3
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
ce25a53
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
e40c5ce
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
1f3fd94
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
fed1bd5
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
30bb5b9
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
ae94258
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
874cd8d
Update from https://github.com/solo-io/procgen/commit/412813823d19bc2…
Oct 14, 2024
93e3596
Merge branch 'automation' of https://github.com/solo-io/workshops int…
Oct 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 16 additions & 7 deletions gloo-gateway/1-17/enterprise-istio-ambient/default/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3121,6 +3121,7 @@ describe("Downstream mTLS", () => {
path: '/get',
method: 'GET',
rejectUnauthorized: false,
agent: false, // Disable the agent to avoid keeping sockets open for reuse, which leads to the test not exiting in some cases
};

const req = https.request(options, (res) => {
Expand All @@ -3135,7 +3136,13 @@ describe("Downstream mTLS", () => {
req.end();
});

it("allows requests with valid client certificate", () => helpersHttp.checkURL({ host: `https://httpbin.example.com`, path: '/get', certFile: 'authorized-client.crt', keyFile: 'authorized-client.key', retCode: 200 }));
it("allows requests with valid client certificate", async () => await helpersHttp.checkURL({
host: `https://httpbin.example.com`,
path: '/get',
certFile: 'authorized-client.crt',
keyFile: 'authorized-client.key',
retCode: 200
}));
});

EOF
Expand Down Expand Up @@ -5146,7 +5153,9 @@ As you can see, we can also define custom metadata at the Api product level. We

You can also use Gloo Gateway to expose an API that is outside of the cluster. In this section, we will expose `https://openlibrary.org/search.json`

Let's create an `Upstream` object to define how to access the host [openlibrary.org](https://openlibrary.org/):
In our case, we're simulating the real API using `https://static.is.solo.io` (due to recent outages they had).

Let's create an `Upstream` object to define how to access the host [static.is.solo.io](https://static.is.solo.io/):

```bash
kubectl apply --context ${CLUSTER1} -f - <<EOF
Expand All @@ -5158,7 +5167,7 @@ metadata:
spec:
static:
hosts:
- addr: openlibrary.org
- addr: static.is.solo.io
port: 443
sslConfig: {}
EOF
Expand All @@ -5177,7 +5186,7 @@ spec:
# Fetch the OpenAPI schema from the Open Library API
openapi:
fetchEndpoint:
url: "https://openlibrary.org/static/openapi.json"
url: "https://raw.githubusercontent.com/internetarchive/openlibrary/refs/heads/master/static/openapi.json"
servedBy:
- targetRef:
kind: UPSTREAM
Expand Down Expand Up @@ -5223,7 +5232,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
path:
type: ReplacePrefixMatch
replacePrefixMatch: /search.json
Expand All @@ -5241,7 +5250,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
- type: ExtensionRef
extensionRef:
group: gateway.solo.io
Expand Down Expand Up @@ -5288,7 +5297,7 @@ spec:
EOF
```

You can check the first path (/v2/search.json going to openlibrary.org/search.json) is available:
You can check the first path (/v2/search.json going to static.is.solo.io/search.json) is available:

```shell
curl -k -H "Authorization: Bearer ${USER1_TOKEN}" "https://bookinfo.example.com/api/bookinfo/v2/search.json?title=The%20Comedy%20of%20Errors&fields=language&limit=1"
Expand Down
23 changes: 16 additions & 7 deletions gloo-gateway/1-17/enterprise-istio-sidecar/default/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3078,6 +3078,7 @@ describe("Downstream mTLS", () => {
path: '/get',
method: 'GET',
rejectUnauthorized: false,
agent: false, // Disable the agent to avoid keeping sockets open for reuse, which leads to the test not exiting in some cases
};

const req = https.request(options, (res) => {
Expand All @@ -3092,7 +3093,13 @@ describe("Downstream mTLS", () => {
req.end();
});

it("allows requests with valid client certificate", () => helpersHttp.checkURL({ host: `https://httpbin.example.com`, path: '/get', certFile: 'authorized-client.crt', keyFile: 'authorized-client.key', retCode: 200 }));
it("allows requests with valid client certificate", async () => await helpersHttp.checkURL({
host: `https://httpbin.example.com`,
path: '/get',
certFile: 'authorized-client.crt',
keyFile: 'authorized-client.key',
retCode: 200
}));
});

EOF
Expand Down Expand Up @@ -5103,7 +5110,9 @@ As you can see, we can also define custom metadata at the Api product level. We

You can also use Gloo Gateway to expose an API that is outside of the cluster. In this section, we will expose `https://openlibrary.org/search.json`

Let's create an `Upstream` object to define how to access the host [openlibrary.org](https://openlibrary.org/):
In our case, we're simulating the real API using `https://static.is.solo.io` (due to recent outages they had).

Let's create an `Upstream` object to define how to access the host [static.is.solo.io](https://static.is.solo.io/):

```bash
kubectl apply --context ${CLUSTER1} -f - <<EOF
Expand All @@ -5115,7 +5124,7 @@ metadata:
spec:
static:
hosts:
- addr: openlibrary.org
- addr: static.is.solo.io
port: 443
sslConfig: {}
EOF
Expand All @@ -5134,7 +5143,7 @@ spec:
# Fetch the OpenAPI schema from the Open Library API
openapi:
fetchEndpoint:
url: "https://openlibrary.org/static/openapi.json"
url: "https://raw.githubusercontent.com/internetarchive/openlibrary/refs/heads/master/static/openapi.json"
servedBy:
- targetRef:
kind: UPSTREAM
Expand Down Expand Up @@ -5180,7 +5189,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
path:
type: ReplacePrefixMatch
replacePrefixMatch: /search.json
Expand All @@ -5198,7 +5207,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
- type: ExtensionRef
extensionRef:
group: gateway.solo.io
Expand Down Expand Up @@ -5245,7 +5254,7 @@ spec:
EOF
```

You can check the first path (/v2/search.json going to openlibrary.org/search.json) is available:
You can check the first path (/v2/search.json going to static.is.solo.io/search.json) is available:

```shell
curl -k -H "Authorization: Bearer ${USER1_TOKEN}" "https://bookinfo.example.com/api/bookinfo/v2/search.json?title=The%20Comedy%20of%20Errors&fields=language&limit=1"
Expand Down
23 changes: 16 additions & 7 deletions gloo-gateway/1-17/enterprise/default/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3018,6 +3018,7 @@ describe("Downstream mTLS", () => {
path: '/get',
method: 'GET',
rejectUnauthorized: false,
agent: false, // Disable the agent to avoid keeping sockets open for reuse, which leads to the test not exiting in some cases
};

const req = https.request(options, (res) => {
Expand All @@ -3032,7 +3033,13 @@ describe("Downstream mTLS", () => {
req.end();
});

it("allows requests with valid client certificate", () => helpersHttp.checkURL({ host: `https://httpbin.example.com`, path: '/get', certFile: 'authorized-client.crt', keyFile: 'authorized-client.key', retCode: 200 }));
it("allows requests with valid client certificate", async () => await helpersHttp.checkURL({
host: `https://httpbin.example.com`,
path: '/get',
certFile: 'authorized-client.crt',
keyFile: 'authorized-client.key',
retCode: 200
}));
});

EOF
Expand Down Expand Up @@ -4844,7 +4851,9 @@ As you can see, we can also define custom metadata at the Api product level. We

You can also use Gloo Gateway to expose an API that is outside of the cluster. In this section, we will expose `https://openlibrary.org/search.json`

Let's create an `Upstream` object to define how to access the host [openlibrary.org](https://openlibrary.org/):
In our case, we're simulating the real API using `https://static.is.solo.io` (due to recent outages they had).

Let's create an `Upstream` object to define how to access the host [static.is.solo.io](https://static.is.solo.io/):

```bash
kubectl apply --context ${CLUSTER1} -f - <<EOF
Expand All @@ -4856,7 +4865,7 @@ metadata:
spec:
static:
hosts:
- addr: openlibrary.org
- addr: static.is.solo.io
port: 443
sslConfig: {}
EOF
Expand All @@ -4875,7 +4884,7 @@ spec:
# Fetch the OpenAPI schema from the Open Library API
openapi:
fetchEndpoint:
url: "https://openlibrary.org/static/openapi.json"
url: "https://raw.githubusercontent.com/internetarchive/openlibrary/refs/heads/master/static/openapi.json"
servedBy:
- targetRef:
kind: UPSTREAM
Expand Down Expand Up @@ -4921,7 +4930,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
path:
type: ReplacePrefixMatch
replacePrefixMatch: /search.json
Expand All @@ -4939,7 +4948,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
- type: ExtensionRef
extensionRef:
group: gateway.solo.io
Expand Down Expand Up @@ -4986,7 +4995,7 @@ spec:
EOF
```

You can check the first path (/v2/search.json going to openlibrary.org/search.json) is available:
You can check the first path (/v2/search.json going to static.is.solo.io/search.json) is available:

```shell
curl -k -H "Authorization: Bearer ${USER1_TOKEN}" "https://bookinfo.example.com/api/bookinfo/v2/search.json?title=The%20Comedy%20of%20Errors&fields=language&limit=1"
Expand Down
23 changes: 16 additions & 7 deletions gloo-gateway/1-17/gloo-edge/default/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5279,6 +5279,7 @@ describe("Downstream mTLS", () => {
path: '/get',
method: 'GET',
rejectUnauthorized: false,
agent: false, // Disable the agent to avoid keeping sockets open for reuse, which leads to the test not exiting in some cases
};

const req = https.request(options, (res) => {
Expand All @@ -5293,7 +5294,13 @@ describe("Downstream mTLS", () => {
req.end();
});

it("allows requests with valid client certificate", () => helpersHttp.checkURL({ host: `https://httpbin.example.com`, path: '/get', certFile: 'authorized-client.crt', keyFile: 'authorized-client.key', retCode: 200 }));
it("allows requests with valid client certificate", async () => await helpersHttp.checkURL({
host: `https://httpbin.example.com`,
path: '/get',
certFile: 'authorized-client.crt',
keyFile: 'authorized-client.key',
retCode: 200
}));
});

EOF
Expand Down Expand Up @@ -7105,7 +7112,9 @@ As you can see, we can also define custom metadata at the Api product level. We

You can also use Gloo Gateway to expose an API that is outside of the cluster. In this section, we will expose `https://openlibrary.org/search.json`

Let's create an `Upstream` object to define how to access the host [openlibrary.org](https://openlibrary.org/):
In our case, we're simulating the real API using `https://static.is.solo.io` (due to recent outages they had).

Let's create an `Upstream` object to define how to access the host [static.is.solo.io](https://static.is.solo.io/):

```bash
kubectl apply --context ${CLUSTER1} -f - <<EOF
Expand All @@ -7117,7 +7126,7 @@ metadata:
spec:
static:
hosts:
- addr: openlibrary.org
- addr: static.is.solo.io
port: 443
sslConfig: {}
EOF
Expand All @@ -7136,7 +7145,7 @@ spec:
# Fetch the OpenAPI schema from the Open Library API
openapi:
fetchEndpoint:
url: "https://openlibrary.org/static/openapi.json"
url: "https://raw.githubusercontent.com/internetarchive/openlibrary/refs/heads/master/static/openapi.json"
servedBy:
- targetRef:
kind: UPSTREAM
Expand Down Expand Up @@ -7182,7 +7191,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
path:
type: ReplacePrefixMatch
replacePrefixMatch: /search.json
Expand All @@ -7200,7 +7209,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
- type: ExtensionRef
extensionRef:
group: gateway.solo.io
Expand Down Expand Up @@ -7247,7 +7256,7 @@ spec:
EOF
```

You can check the first path (/v2/search.json going to openlibrary.org/search.json) is available:
You can check the first path (/v2/search.json going to static.is.solo.io/search.json) is available:

```shell
curl -k -H "Authorization: Bearer ${USER1_TOKEN}" "https://bookinfo.example.com/api/bookinfo/v2/search.json?title=The%20Comedy%20of%20Errors&fields=language&limit=1"
Expand Down
23 changes: 16 additions & 7 deletions gloo-gateway/1-17/gloo-mesh/default/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5663,6 +5663,7 @@ describe("Downstream mTLS", () => {
path: '/get',
method: 'GET',
rejectUnauthorized: false,
agent: false, // Disable the agent to avoid keeping sockets open for reuse, which leads to the test not exiting in some cases
};

const req = https.request(options, (res) => {
Expand All @@ -5677,7 +5678,13 @@ describe("Downstream mTLS", () => {
req.end();
});

it("allows requests with valid client certificate", () => helpersHttp.checkURL({ host: `https://httpbin.example.com`, path: '/get', certFile: 'authorized-client.crt', keyFile: 'authorized-client.key', retCode: 200 }));
it("allows requests with valid client certificate", async () => await helpersHttp.checkURL({
host: `https://httpbin.example.com`,
path: '/get',
certFile: 'authorized-client.crt',
keyFile: 'authorized-client.key',
retCode: 200
}));
});

EOF
Expand Down Expand Up @@ -7489,7 +7496,9 @@ As you can see, we can also define custom metadata at the Api product level. We

You can also use Gloo Gateway to expose an API that is outside of the cluster. In this section, we will expose `https://openlibrary.org/search.json`

Let's create an `Upstream` object to define how to access the host [openlibrary.org](https://openlibrary.org/):
In our case, we're simulating the real API using `https://static.is.solo.io` (due to recent outages they had).

Let's create an `Upstream` object to define how to access the host [static.is.solo.io](https://static.is.solo.io/):

```bash
kubectl apply --context ${CLUSTER1} -f - <<EOF
Expand All @@ -7501,7 +7510,7 @@ metadata:
spec:
static:
hosts:
- addr: openlibrary.org
- addr: static.is.solo.io
port: 443
sslConfig: {}
EOF
Expand All @@ -7520,7 +7529,7 @@ spec:
# Fetch the OpenAPI schema from the Open Library API
openapi:
fetchEndpoint:
url: "https://openlibrary.org/static/openapi.json"
url: "https://raw.githubusercontent.com/internetarchive/openlibrary/refs/heads/master/static/openapi.json"
servedBy:
- targetRef:
kind: UPSTREAM
Expand Down Expand Up @@ -7566,7 +7575,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
path:
type: ReplacePrefixMatch
replacePrefixMatch: /search.json
Expand All @@ -7584,7 +7593,7 @@ spec:
filters:
- type: URLRewrite
urlRewrite:
hostname: openlibrary.org
hostname: static.is.solo.io
- type: ExtensionRef
extensionRef:
group: gateway.solo.io
Expand Down Expand Up @@ -7631,7 +7640,7 @@ spec:
EOF
```

You can check the first path (/v2/search.json going to openlibrary.org/search.json) is available:
You can check the first path (/v2/search.json going to static.is.solo.io/search.json) is available:

```shell
curl -k -H "Authorization: Bearer ${USER1_TOKEN}" "https://bookinfo.example.com/api/bookinfo/v2/search.json?title=The%20Comedy%20of%20Errors&fields=language&limit=1"
Expand Down
Loading