zuplo 7.6.4 → 7.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/ai-gateway/getting-started.mdx +52 -66
- package/docs/ai-gateway/managing-teams.mdx +3 -2
- package/docs/ai-gateway/overview.mdx +18 -16
- package/docs/ai-gateway/policy-templates.mdx +17 -11
- package/docs/ai-gateway/source-control.mdx +37 -20
- package/docs/ai-gateway/teams.mdx +1 -1
- package/docs/ai-gateway/usage-limits.mdx +95 -44
- package/docs/articles/api-key-administration.mdx +2 -2
- package/docs/articles/api-key-api.mdx +26 -5
- package/docs/articles/api-key-authentication.mdx +1 -1
- package/docs/articles/api-key-buckets.mdx +27 -4
- package/docs/articles/api-key-consumer-bucket-portal-ui.mdx +13 -11
- package/docs/articles/api-key-leak-detection.mdx +2 -2
- package/docs/articles/api-key-self-serve-integration.mdx +19 -19
- package/docs/articles/audit-logs.mdx +11 -10
- package/docs/articles/monetization/api-access.mdx +1 -1
- package/docs/articles/monetization/going-to-production.mdx +1 -1
- package/docs/concepts/ai-gateway.mdx +10 -9
- package/docs/concepts/api-keys.md +1 -1
- package/docs/dedicated/akamai/ai-powered-applications.mdx +11 -8
- package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +10 -5
- package/docs/dev-portal/zudoku/configuration/api-reference.md +1 -1
- package/docs/dev-portal/zudoku/configuration/llms.md +0 -4
- package/docs/policies/ai-gateway-configuration-executor-v2-inbound/doc.md +1 -1
- package/docs/policies/ai-gateway-metering-v2-inbound/schema.json +1 -1
- package/docs/policies/semantic-cache-inbound/schema.json +6 -2
- package/package.json +5 -5
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
title: Zuplo AI Gateway Getting Started
|
|
3
3
|
sidebar_label: Getting Started
|
|
4
4
|
description:
|
|
5
|
-
Set up your first AI Gateway project.
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Set up your first AI Gateway project. Configure an AI provider, create a team
|
|
6
|
+
and an app, review the app's policy chain, and make your first LLM request
|
|
7
|
+
through Zuplo.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
This guide walks you through setting up your first AI Gateway project, from
|
|
11
|
-
|
|
11
|
+
creating the project to making your first LLM request through Zuplo.
|
|
12
12
|
|
|
13
13
|
A Zuplo account contains your members and one or more projects. The AI Gateway
|
|
14
14
|
you create in this guide is a Zuplo project; its providers, teams, and apps all
|
|
@@ -19,7 +19,6 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
19
19
|
## Prerequisites
|
|
20
20
|
|
|
21
21
|
- A Zuplo account (sign up free at [zuplo.com](https://zuplo.com))
|
|
22
|
-
- A Git provider account that can create repositories (this guide uses GitHub)
|
|
23
22
|
- An API key for at least one LLM provider (OpenAI, Anthropic, Google, Mistral,
|
|
24
23
|
xAI, etc.)—or none at all, if you start with the free
|
|
25
24
|
[Zuplo Demo provider](./providers.mdx#zuplo-demo)
|
|
@@ -28,52 +27,32 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
28
27
|
|
|
29
28
|
1. **Create an AI Gateway project**
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
**Projects**, and click **New Project**. Choose **
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
Sign in to the [Zuplo Portal](https://portal.zuplo.com), navigate to
|
|
31
|
+
**Projects**, and click **New Project**. Choose **AI Gateway**, give your
|
|
32
|
+
project a name (for example, "MyCompany AI Gateway"), and click **Create
|
|
33
|
+
Project**.
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
the
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Zuplo supports GitHub, GitLab, Bitbucket, and Azure DevOps. This guide uses
|
|
43
|
-
GitHub, which is the only provider with automatic deployments—see
|
|
44
|
-
[Source Control and Deployment](../concepts/source-control-and-deployment.mdx)
|
|
45
|
-
for the other providers, which deploy through the Zuplo CLI in your own CI/CD
|
|
46
|
-
pipeline.
|
|
47
|
-
|
|
48
|
-
With GitHub, click **Create New Repo** to open GitHub with the repository
|
|
49
|
-
name prefilled, create the repository, then return to the Zuplo Portal and
|
|
50
|
-
select the repository to connect it. Zuplo adds the gateway's source to the
|
|
51
|
-
repository and deploys it. After that, pushes to your default branch deploy
|
|
52
|
-
to production.
|
|
53
|
-
|
|
54
|
-
To work with the gateway's source later—for example, to add
|
|
55
|
-
[custom policies](./custom-policies.mdx)—clone the repository:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
git clone https://github.com/your-org/your-gateway-repo.git
|
|
59
|
-
```
|
|
35
|
+
The portal shows **Setting up your gateway…** while it provisions the
|
|
36
|
+
project. When that's done, the project homepage opens with a setup checklist
|
|
37
|
+
for a provider, a team, and an app—the same path as this guide. Follow these
|
|
38
|
+
steps; you can tick the checklist as you go or ignore it. The gateway is
|
|
39
|
+
already deployed, so you can continue with this guide.
|
|
60
40
|
|
|
61
41
|
:::note
|
|
62
42
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
43
|
+
Connect a repository later if you want to write
|
|
44
|
+
[custom policies](./custom-policies.mdx) or manage the gateway's source in
|
|
45
|
+
Git. Open
|
|
46
|
+
[**Settings → Source Control**](https://portal.zuplo.com/+/account/project/ai/settings/source-control).
|
|
47
|
+
See [Source Control](./source-control.mdx).
|
|
66
48
|
|
|
67
49
|
:::
|
|
68
50
|
|
|
69
|
-
|
|
70
|
-
and how deployments work.
|
|
71
|
-
|
|
72
|
-
3. **Configure a provider**
|
|
51
|
+
2. **Configure a provider**
|
|
73
52
|
|
|
74
|
-
Providers are the LLM services (
|
|
75
|
-
You configure these once as an administrator, and your team members use
|
|
76
|
-
without needing direct access to provider API keys.
|
|
53
|
+
Providers are the LLM services (such as OpenAI or Anthropic) that your apps
|
|
54
|
+
use. You configure these once as an administrator, and your team members use
|
|
55
|
+
them without needing direct access to provider API keys.
|
|
77
56
|
|
|
78
57
|
Open
|
|
79
58
|
[**Settings → AI Providers**](https://portal.zuplo.com/+/account/project/ai/settings/data-models)
|
|
@@ -96,21 +75,23 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
96
75
|
full list of supported providers, including OpenAI-compatible custom
|
|
97
76
|
providers.
|
|
98
77
|
|
|
99
|
-
|
|
78
|
+
3. **Create a team**
|
|
100
79
|
|
|
101
|
-
Teams organize users and carry
|
|
102
|
-
|
|
80
|
+
Teams organize users and carry their own budget rules and policy templates.
|
|
81
|
+
Even if you're starting solo, you need at least one team.
|
|
103
82
|
|
|
104
83
|
Open the **Apps & Teams** tab and click **New Team**. Name your team (for
|
|
105
84
|
example, "Root" or your company name), choose an icon, and click **Create
|
|
106
85
|
Team**. This is your first team, so there's no parent picker yet—it appears
|
|
107
|
-
on later teams, letting you nest them.
|
|
108
|
-
|
|
109
|
-
|
|
86
|
+
on later teams, letting you nest them.
|
|
87
|
+
|
|
88
|
+
To set gateway-wide spending limits across this Zuplo project, open the
|
|
89
|
+
gateway's **Settings → Usage Limits**. Team budgets—shared and
|
|
90
|
+
per-expression—are set on the team's **Usage & Limits** tab. See
|
|
110
91
|
[Usage Limits](./usage-limits.mdx). Gateway and team limits apply to every
|
|
111
92
|
app regardless of its policy chain.
|
|
112
93
|
|
|
113
|
-
|
|
94
|
+
4. **Create an app**
|
|
114
95
|
|
|
115
96
|
Apps represent individual software applications or services that call the AI
|
|
116
97
|
Gateway. Each app gets its own unique URL and API key.
|
|
@@ -129,7 +110,7 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
129
110
|
|
|
130
111
|
:::
|
|
131
112
|
|
|
132
|
-
|
|
113
|
+
5. **Review the app's policy chain**
|
|
133
114
|
|
|
134
115
|
The portal opens the app's **Policies** tab, which shows the app's policy
|
|
135
116
|
chain—the ordered list of policies that run on each request. No policy is
|
|
@@ -137,15 +118,17 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
137
118
|
picks its own model as `providerName/model`, from any model your providers
|
|
138
119
|
expose.
|
|
139
120
|
|
|
140
|
-
To restrict that,
|
|
141
|
-
list
|
|
142
|
-
|
|
121
|
+
To restrict that, click **Add policy**, select **Model Filtering**, and give
|
|
122
|
+
it an allow list of models you enabled in the provider step—for example
|
|
123
|
+
`openai/gpt-5-mini` if you added OpenAI, or `zuplodemo/pirate` if you are
|
|
124
|
+
using only Zuplo Demo. Requests may then use only listed models, and the
|
|
125
|
+
first entry becomes the default when a request omits `model`.
|
|
143
126
|
|
|
144
127
|
:::caution{title="An unrestricted app can reach every model you configured"}
|
|
145
128
|
|
|
146
129
|
Without Model Filtering, an app may call any model available through the
|
|
147
130
|
providers configured for this Zuplo project, including expensive ones. Add
|
|
148
|
-
Model Filtering for any app that
|
|
131
|
+
Model Filtering for any app that you want limited to a specific set.
|
|
149
132
|
|
|
150
133
|
:::
|
|
151
134
|
|
|
@@ -153,7 +136,7 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
153
136
|
guardrails, and any custom policies. Changes to the chain apply within about
|
|
154
137
|
a minute—no redeploy needed. See [Policy Chains](./policy-chains.mdx).
|
|
155
138
|
|
|
156
|
-
|
|
139
|
+
6. **Get the app's URL and API key**
|
|
157
140
|
|
|
158
141
|
The app's **API URL** is shown in full at the top of the app page, and its
|
|
159
142
|
key lives on the app's **API Key** tab. The API URL is the gateway's hostname
|
|
@@ -190,12 +173,12 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
190
173
|
export ZUPLO_APP_API_KEY="<the API key from the app page>"
|
|
191
174
|
```
|
|
192
175
|
|
|
193
|
-
|
|
176
|
+
7. **Send your first request from the Playground**
|
|
194
177
|
|
|
195
178
|
Click **Playground** in the app's header to open it. It chats with the app's
|
|
196
179
|
own gateway URL and API key, so it exercises the same policy chain your code
|
|
197
|
-
|
|
198
|
-
|
|
180
|
+
hits—without wiring up a client first. The button sits on every app tab, so
|
|
181
|
+
you can try a request while editing policies without losing your place.
|
|
199
182
|
|
|
200
183
|
Pick a model from the selector, optionally set a system prompt, and send a
|
|
201
184
|
message. The playground shows the cURL for the next request, and **Copy
|
|
@@ -205,6 +188,9 @@ account, Zuplo project, and AI Gateway team roles control access.
|
|
|
205
188
|
|
|
206
189
|
</Stepper>
|
|
207
190
|
|
|
191
|
+
You now have a working AI Gateway: a provider, a team, an app, and a chat
|
|
192
|
+
completion through the app's URL.
|
|
193
|
+
|
|
208
194
|
## Integrate with your own code
|
|
209
195
|
|
|
210
196
|
Once the Playground works, configure your own code with the same URL and key.
|
|
@@ -221,7 +207,7 @@ for the [OpenAI SDK](./integrations/openai.mdx),
|
|
|
221
207
|
```javascript
|
|
222
208
|
import OpenAI from "openai";
|
|
223
209
|
|
|
224
|
-
//
|
|
210
|
+
// Direct OpenAI
|
|
225
211
|
const openai = new OpenAI({
|
|
226
212
|
apiKey: process.env.OPENAI_API_KEY,
|
|
227
213
|
});
|
|
@@ -239,11 +225,10 @@ console.log(completion.choices[0].message.content);
|
|
|
239
225
|
```javascript
|
|
240
226
|
import OpenAI from "openai";
|
|
241
227
|
|
|
242
|
-
//
|
|
228
|
+
// Through the AI Gateway
|
|
243
229
|
const openai = new OpenAI({
|
|
244
230
|
apiKey: process.env.ZUPLO_APP_API_KEY,
|
|
245
|
-
baseURL:
|
|
246
|
-
"https://my-gateway-main-2e18f50.zuplo.app/config_fe0a04972d2848e0a94ae4b8bcd1497e/v1",
|
|
231
|
+
baseURL: process.env.ZUPLO_APP_BASE_URL,
|
|
247
232
|
});
|
|
248
233
|
|
|
249
234
|
const completion = await openai.chat.completions.create({
|
|
@@ -256,7 +241,7 @@ console.log(completion.choices[0].message.content);
|
|
|
256
241
|
|
|
257
242
|
Run the example with `node sample.mjs`.
|
|
258
243
|
|
|
259
|
-
###
|
|
244
|
+
### Changes to make
|
|
260
245
|
|
|
261
246
|
1. **URL**: Replace your provider's URL with your app's gateway URL from the app
|
|
262
247
|
page
|
|
@@ -296,8 +281,7 @@ curl https://my-gateway-main-2e18f50.zuplo.app/config_fe0a04972d2848e0a94ae4b8bc
|
|
|
296
281
|
4. Click **View in Analytics** on the Metrics frame for the full request-level
|
|
297
282
|
breakdown, already filtered to this app.
|
|
298
283
|
|
|
299
|
-
|
|
300
|
-
metrics.
|
|
284
|
+
Your test request appears with token usage and performance metrics.
|
|
301
285
|
|
|
302
286
|
## Next steps
|
|
303
287
|
|
|
@@ -305,6 +289,8 @@ metrics.
|
|
|
305
289
|
caching, and guardrails to your app's chain
|
|
306
290
|
- [Custom Policies](./custom-policies.mdx): write your own policy and add it to
|
|
307
291
|
an app's chain
|
|
292
|
+
- [Source Control](./source-control.mdx): connect a Git repository when you want
|
|
293
|
+
to edit the gateway's source or write custom policies
|
|
308
294
|
- [Policy Templates](./policy-templates.mdx): give every new app in a team a
|
|
309
295
|
consistent starting chain
|
|
310
296
|
- [Usage Limits](./usage-limits.mdx): set spending limits for the gateway,
|
|
@@ -41,8 +41,9 @@ After creating a team, use its tabs to configure it:
|
|
|
41
41
|
|
|
42
42
|
- **Policy Template**—the team's [policy template](./policy-templates.mdx), the
|
|
43
43
|
starting policy chain for apps created in the team.
|
|
44
|
-
- **Usage & Limits**—
|
|
45
|
-
|
|
44
|
+
- **Usage & Limits**—the team's budgets, shared and per-expression, applying to
|
|
45
|
+
the team, its sub-teams, and their apps. See
|
|
46
|
+
[Usage Limits](./usage-limits.mdx).
|
|
46
47
|
- **Members**—who belongs to the team.
|
|
47
48
|
|
|
48
49
|
## Adding Team Members
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
title: AI Gateway overview
|
|
3
3
|
sidebar_label: Overview
|
|
4
4
|
description:
|
|
5
|
-
The Zuplo AI Gateway is a proxy between your apps and LLM providers,
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
The Zuplo AI Gateway is a proxy between your apps and LLM providers, with
|
|
6
|
+
per-app policy pipelines for cost control, model access, guardrails, and
|
|
7
|
+
observability.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
Zuplo's AI Gateway acts as an intelligent proxy layer that sits between your
|
|
@@ -30,9 +30,9 @@ Google, Mistral, xAI, and more) dynamically without modifying app code.
|
|
|
30
30
|
Configure model access through the gateway rather than hard coding it into your
|
|
31
31
|
apps.
|
|
32
32
|
|
|
33
|
-
**Cost Control**: Set spending limits at gateway, team, and app
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
**Cost Control**: Set independent spending limits at the gateway, team, and app
|
|
34
|
+
levels. Configure hourly, daily, weekly, or monthly rules that warn or block
|
|
35
|
+
when usage reaches a limit.
|
|
36
36
|
|
|
37
37
|
**Security & Compliance**: Apply guardrails to detect and block prompt injection
|
|
38
38
|
attempts and prevent PII leakage in both requests and responses through
|
|
@@ -84,10 +84,11 @@ capabilities. Apps reference models as `providerName/model`—for example
|
|
|
84
84
|
|
|
85
85
|
### Source-Controlled Gateway
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
A new AI Gateway project deploys without a Git repository, so you can configure
|
|
88
|
+
providers, teams, and apps right away. Connect a
|
|
89
|
+
[Git repository](./source-control.mdx) when you want to write custom policies or
|
|
90
|
+
review gateway changes in Git. After you connect, the default branch is what
|
|
91
|
+
production runs.
|
|
91
92
|
|
|
92
93
|
### Per-App Policy Chains
|
|
93
94
|
|
|
@@ -99,13 +100,14 @@ a consistent starting pipeline. See [Policy Chains](./policy-chains.mdx) and
|
|
|
99
100
|
|
|
100
101
|
### Team Hierarchy & Budgets
|
|
101
102
|
|
|
102
|
-
Organize users into teams with hierarchical structures. Set budget
|
|
103
|
-
|
|
103
|
+
Organize users into teams with hierarchical structures. Set a budget at each
|
|
104
|
+
node. Each node totals its own usage and all descendant usage, and any exceeded
|
|
105
|
+
**Block** limit rejects the request:
|
|
104
106
|
|
|
105
|
-
- **Gateway**: Limits across the Zuplo project (for example, $1,000/day)
|
|
106
|
-
- **Teams**:
|
|
107
|
-
$500/day for the Credit Team)
|
|
108
|
-
- **Apps**:
|
|
107
|
+
- **Gateway**: Limits across the Zuplo project (for example, $1,000/day).
|
|
108
|
+
- **Teams**: Limits across the team, its sub-teams, and their apps (for example,
|
|
109
|
+
$500/day for the Credit Team).
|
|
110
|
+
- **Apps**: Limits for one app's traffic.
|
|
109
111
|
|
|
110
112
|
See [Usage Limits](./usage-limits.mdx).
|
|
111
113
|
|
|
@@ -34,11 +34,17 @@ Policies tab.
|
|
|
34
34
|
|
|
35
35
|
:::
|
|
36
36
|
|
|
37
|
+
Everything on the **Policy Template** tab is template content, budgets included:
|
|
38
|
+
a **Budgets and Costs** entry in the template sets the default budget each new
|
|
39
|
+
app starts with in its own chain, and doesn't enforce anything on the team. The
|
|
40
|
+
team's own budgets—shared and per-expression—live on the team's **Usage &
|
|
41
|
+
Limits** tab. See [Usage Limits](./usage-limits.mdx).
|
|
42
|
+
|
|
37
43
|
## Editing a template
|
|
38
44
|
|
|
39
|
-
Open a team and select its **
|
|
40
|
-
app chain editor: add policies from the gateway's declared menu, order
|
|
41
|
-
configure their options.
|
|
45
|
+
Open a team and select its **Policy Template** tab. The template editor works
|
|
46
|
+
like the app chain editor: add policies from the gateway's declared menu, order
|
|
47
|
+
them, and configure their options.
|
|
42
48
|
|
|
43
49
|
Each policy in the template carries two checkboxes that control what an app
|
|
44
50
|
starting from the template may do with that entry. Both start checked—a policy
|
|
@@ -55,14 +61,14 @@ by the team policy template".
|
|
|
55
61
|
## Inheriting from a parent team
|
|
56
62
|
|
|
57
63
|
A sub-team can use its parent team's template instead of defining its own,
|
|
58
|
-
controlled by the **Inherit from parent** switch on the sub-team's
|
|
59
|
-
The switch drafts like the page's other edits and applies when
|
|
60
|
-
changes**. While inheriting, the sub-team's template is
|
|
61
|
-
parent's effective template. Turn the switch off to give
|
|
62
|
-
template: the editor starts from a copy of the parent's
|
|
63
|
-
which you then adjust. Turning inheritance back on and
|
|
64
|
-
sub-team's own template in favor of the parent's—before you
|
|
65
|
-
switch again to restore your draft.
|
|
64
|
+
controlled by the **Inherit from parent** switch on the sub-team's **Policy
|
|
65
|
+
Template** tab. The switch drafts like the page's other edits and applies when
|
|
66
|
+
you click **Save changes**. While inheriting, the sub-team's template is
|
|
67
|
+
read-only—it shows the parent's effective template. Turn the switch off to give
|
|
68
|
+
the sub-team its own template: the editor starts from a copy of the parent's
|
|
69
|
+
effective template, which you then adjust. Turning inheritance back on and
|
|
70
|
+
saving discards the sub-team's own template in favor of the parent's—before you
|
|
71
|
+
save, flip the switch again to restore your draft.
|
|
66
72
|
|
|
67
73
|
## Next steps
|
|
68
74
|
|
|
@@ -2,25 +2,28 @@
|
|
|
2
2
|
title: AI Gateway Source Control
|
|
3
3
|
sidebar_label: Source Control
|
|
4
4
|
description:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
changes require a deploy versus applying live.
|
|
5
|
+
A new AI Gateway project deploys without Git. Connect a repository to write
|
|
6
|
+
custom policies, review gateway source, and deploy from your default branch.
|
|
8
7
|
---
|
|
9
8
|
|
|
10
|
-
An AI Gateway is a Zuplo project configured for AI traffic.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
An AI Gateway is a Zuplo project configured for AI traffic. A new project
|
|
10
|
+
deploys automatically, so you can configure providers, teams, and apps without
|
|
11
|
+
connecting a Git repository. Connect one when you want to write
|
|
12
|
+
[custom policies](./custom-policies.mdx), review gateway changes in Git, or
|
|
13
|
+
deploy from your own CI/CD.
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
The repository contains the gateway's routes and policy declarations. Custom
|
|
16
|
+
policies are plain TypeScript files you commit alongside them.
|
|
17
|
+
|
|
18
|
+
## Connect a repository
|
|
17
19
|
|
|
18
|
-
A new AI Gateway project must be connected to a repository before it can deploy.
|
|
19
20
|
Zuplo supports GitHub, GitLab, Bitbucket, and Azure DevOps—see
|
|
20
21
|
[Source Control and Deployment](../concepts/source-control-and-deployment.mdx)
|
|
21
22
|
for what each provider supports.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
Open
|
|
25
|
+
[**Settings → Source Control**](https://portal.zuplo.com/+/account/project/ai/settings/source-control)
|
|
26
|
+
and choose one of the following:
|
|
24
27
|
|
|
25
28
|
- **Create New Repo** starts a new repository with the name prefilled. With
|
|
26
29
|
GitHub, this opens GitHub directly; create the repository, then return to the
|
|
@@ -28,14 +31,28 @@ The project shows a **Let's Get You Deployed** screen with two options:
|
|
|
28
31
|
- Connect an existing repository. Use an empty one so the gateway's source has
|
|
29
32
|
the repository to itself.
|
|
30
33
|
|
|
31
|
-
When you connect, Zuplo adds the gateway's source to the repository
|
|
32
|
-
|
|
34
|
+
When you connect, Zuplo adds the gateway's source to the repository and pushes
|
|
35
|
+
it. The first push rebuilds production from that source. After that, with
|
|
36
|
+
GitHub, pushes to your default branch deploy to production.
|
|
37
|
+
|
|
38
|
+
Until you connect a repository, production runs the gateway template Zuplo
|
|
39
|
+
deploys at project creation. Connecting a repository doesn't replace that
|
|
40
|
+
production URL; the first source deploy reuses it.
|
|
41
|
+
|
|
42
|
+
To work with the source locally, clone the repository:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
git clone https://github.com/GITHUB_ORG/REPO_NAME.git
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Replace `GITHUB_ORG` with your GitHub organization or user, and `REPO_NAME` with
|
|
49
|
+
the repository name.
|
|
33
50
|
|
|
34
51
|
:::note
|
|
35
52
|
|
|
36
53
|
If your default branch requires pull requests, Zuplo pushes the gateway source
|
|
37
|
-
to a setup branch and surfaces a pull request for you to merge. The
|
|
38
|
-
|
|
54
|
+
to a setup branch and surfaces a pull request for you to merge. The project
|
|
55
|
+
finishes connecting once the pull request lands on the default branch.
|
|
39
56
|
|
|
40
57
|
:::
|
|
41
58
|
|
|
@@ -56,13 +73,13 @@ Add custom policy modules under `modules/` and declare them in
|
|
|
56
73
|
|
|
57
74
|
## How deployments work
|
|
58
75
|
|
|
59
|
-
|
|
60
|
-
to it deploys automatically. With GitLab, Bitbucket, and
|
|
61
|
-
CI/CD pipeline deploys by calling `zuplo deploy`—see
|
|
76
|
+
After you connect a repository, its default branch is what production runs. With
|
|
77
|
+
GitHub, every push to it deploys automatically. With GitLab, Bitbucket, and
|
|
78
|
+
Azure DevOps, your own CI/CD pipeline deploys by calling `zuplo deploy`—see
|
|
62
79
|
[Source Control and Deployment](../concepts/source-control-and-deployment.mdx).
|
|
63
80
|
|
|
64
|
-
|
|
65
|
-
|
|
81
|
+
After you connect, the **Code** tab opens the gateway's source. You can also
|
|
82
|
+
clone the repository and edit it with your normal tools.
|
|
66
83
|
|
|
67
84
|
Three categories of changes take effect differently:
|
|
68
85
|
|
|
@@ -18,7 +18,7 @@ on that member's role.
|
|
|
18
18
|
|
|
19
19
|
Teams also carry a [policy template](./policy-templates.mdx)—the policy chain
|
|
20
20
|
that apps created in the team start with—and [usage limits](./usage-limits.mdx)
|
|
21
|
-
that apply to
|
|
21
|
+
that apply to the team's own usage and all descendant sub-teams and apps.
|
|
22
22
|
|
|
23
23
|
## Members
|
|
24
24
|
|