Skip to content

Commit a1626ac

Browse files
committed
docs: remove references to unsupported API7 EE resources (upstream, consumer_group, plugin_config)
API7 EE does not expose REST API endpoints for standalone upstreams, consumer groups, or plugin configs. Update all documentation to reflect this: remove deleted pages from directory listings, add NOT EXPOSED notices, update resource counts (16→13), fix declarative config examples to use inline upstreams, and document the limitation in AGENTS.md.
1 parent 2088cdb commit a1626ac

11 files changed

Lines changed: 120 additions & 570 deletions

File tree

AGENTS.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ a7/
3535
│ ├── root/root.go # Root command registration
3636
│ ├── factory.go # Factory DI container
3737
│ ├── route/ # Published route commands
38-
│ ├── upstream/ # Published upstream commands
38+
│ ├── upstream/ # ⚠️ NOT EXPOSED in API7 EE — upstreams are inline-only (code kept for potential future support)
3939
│ ├── service/ # Published service commands
4040
│ ├── consumer/ # Consumer commands
4141
│ ├── ssl/ # SSL certificate commands
@@ -106,6 +106,14 @@ a7/
106106
- PATCH endpoints use JSON Patch (RFC 6902) arrays, not merge-patch.
107107
- Enterprise-specific resources: gateway groups, service templates, RBAC (users/roles/policies), developer portal, audit logs, custom plugins, service registries, tokens.
108108

109+
### Resources NOT Exposed in API7 EE
110+
The following APISIX resources do **not** have REST API endpoints in API7 Enterprise Edition:
111+
- **Standalone Upstream** (`/apisix/admin/upstreams`): Returns "resource not found". Upstreams exist only inline within services and routes.
112+
- **Consumer Group** (`/apisix/admin/consumer_groups`): No endpoint exposed.
113+
- **Plugin Config** (`/apisix/admin/plugin_configs`): No endpoint exposed.
114+
115+
The `pkg/cmd/upstream/` code directory is kept for potential future support, but these commands are non-functional against API7 EE.
116+
109117
### How to Add a New Command
110118
1. Read `PRD.md` for the resource spec and `docs/api7ee-api-spec.md` for the API.
111119
2. Create types in `pkg/api/types_<resource>.go`.

PRD.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
## Goals and Non-Goals
1717

1818
### Goals
19-
- Provide full CRUD operations for all API7 EE resources (both control-plane `/api/*` and APISIX admin `/apisix/admin/*` endpoints).
19+
- Provide full CRUD operations for all API7 EE resources (both control-plane `/api/*` and APISIX admin `/apisix/admin/*` endpoints). Note: 3 APISIX resources (standalone upstream, consumer group, plugin config) are not exposed in API7 EE.
2020
- Support **multiple authentication modes**: access tokens (X-API-KEY with `a7ee` prefix) and session-based login.
2121
- Implement **gateway group** scoping for all runtime operations (enterprise-specific concept).
2222
- Implement context/profile management for switching between multiple API7 EE instances.
@@ -128,7 +128,7 @@ All runtime commands require `--gateway-group <id>` (or default from context).
128128
- `a7 service list|get|create|update|delete|export --gateway-group <id>`
129129

130130
#### Upstreams
131-
- `a7 upstream list|get|create|update|delete|export --gateway-group <id>`
131+
> **⚠️ NOT SUPPORTED**: Standalone upstreams are not exposed via the API7 EE Admin API. Upstreams exist only as inline objects within services and routes. The `a7 upstream` commands exist for APISIX compatibility but will not work against API7 EE.
132132
133133
#### Consumers
134134
- `a7 consumer list|get|create|update|delete|export --gateway-group <id>`
@@ -137,7 +137,7 @@ All runtime commands require `--gateway-group <id>` (or default from context).
137137
- `a7 credential list|get|create|update|delete --consumer <username> --gateway-group <id>`
138138

139139
#### Consumer Groups
140-
- `a7 consumer-group list|get|create|update|delete|export --gateway-group <id>`
140+
> **⚠️ NOT SUPPORTED**: Consumer groups are not exposed via the API7 EE Admin API. The `a7 consumer-group` commands exist for APISIX compatibility but will not work against API7 EE.
141141
142142
#### SSL Certificates
143143
- `a7 ssl list|get|create|update|delete|export --gateway-group <id>`
@@ -152,7 +152,7 @@ All runtime commands require `--gateway-group <id>` (or default from context).
152152
- `a7 stream-route list|get|create|update|delete|export --gateway-group <id>`
153153

154154
#### Plugin Config
155-
- `a7 plugin-config list|get|create|update|delete|export --gateway-group <id>`
155+
> **⚠️ NOT SUPPORTED**: Plugin configs are not exposed via the API7 EE Admin API. The `a7 plugin-config` commands exist for APISIX compatibility but will not work against API7 EE.
156156
157157
#### Plugin Metadata
158158
- `a7 plugin-metadata get|create|update|delete --gateway-group <id>` (no list — keyed by plugin name)
@@ -190,16 +190,16 @@ All runtime commands require `--gateway-group <id>` (or default from context).
190190
1. ✅ Gateway Group CRUD (list, get, create, update, delete).
191191
2. ✅ Service Template CRUD + publish.
192192
3. ✅ Route CRUD.
193-
4. ✅ Upstream CRUD.
193+
4. ✅ Upstream CRUD. ⚠️ Not functional in API7 EE (standalone upstreams not exposed).
194194
5. ✅ Service (runtime) CRUD.
195195
6. ✅ Consumer CRUD.
196196
7. ✅ SSL CRUD.
197197
8. ✅ Plugin list + get.
198198
9. ✅ Global Rule CRUD.
199199
10. ✅ Stream Route CRUD.
200-
11. ✅ Plugin Config CRUD.
200+
11. ✅ Plugin Config CRUD. ⚠️ Not functional in API7 EE (plugin_config not exposed).
201201
12. ✅ Plugin Metadata CRUD (no list).
202-
13. ✅ Consumer Group CRUD.
202+
13. ✅ Consumer Group CRUD. ⚠️ Not functional in API7 EE (consumer_group not exposed).
203203
14. ✅ Credential CRUD (nested under consumer).
204204
15. ✅ Secret CRUD.
205205
16. ✅ Proto CRUD.
@@ -317,7 +317,7 @@ The following table tracks feature parity between a7 and [a6](https://github.com
317317
318318
| Feature | a6 | a7 | Notes |
319319
|---------|----|----|-------|
320-
| Resource CRUD (14 types) | ✅ | ✅ (16 types) | a7 adds gateway-group, service-template |
320+
| Resource CRUD (14 types) | ✅ | ✅ (13 functional in API7 EE) | a7 adds gateway-group, service-template; 3 APISIX resources (upstream, consumer-group, plugin-config) not exposed in API7 EE |
321321
| Context management | ✅ | ✅ | |
322322
| Shell completions | ✅ | ✅ | |
323323
| JSON/YAML/table output | ✅ | ✅ | |

README.md

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
## Features
88

9-
- **Resource CRUD** — Create, list, get, update, and delete 16 API7 EE resource types:
9+
- **Resource CRUD** — Create, list, get, update, and delete 13 API7 EE resource types:
1010
- **Control Plane**: Gateway Group, Service Template
11-
- **Runtime**: Route, Upstream, Service, Consumer, SSL Certificate, Plugin, Global Rule, Stream Route, Plugin Config, Plugin Metadata, Consumer Group, Credential, Secret, Proto
11+
- **Runtime**: Route, Service, Consumer, SSL Certificate, Plugin, Global Rule, Stream Route, Plugin Metadata, Credential, Secret, Proto
1212
- **Context management** — Switch between multiple API7 EE instances (`a7 context create`, `a7 context use`, `a7 context list`)
1313
- **Gateway group scoping** — All runtime operations are scoped to a gateway group via `--gateway-group` flag or context config
1414
- **Rich output** — Human-friendly tables in TTY, machine-readable JSON/YAML in pipes (`--output json|yaml|table`)
@@ -72,18 +72,11 @@ a7 gateway-group get <id> --output json
7272
### 3. Create resources
7373

7474
```bash
75-
# Create an upstream
76-
a7 upstream create \
77-
--name my-upstream \
78-
--type roundrobin \
79-
--nodes "httpbin.org:80=1"
75+
# Create a service with inline upstream
76+
a7 service create -g default -f service.yaml
8077

8178
# Create a route
82-
a7 route create \
83-
--name my-route \
84-
--uri "/api/v1/*" \
85-
--methods GET,POST \
86-
--upstream-id <upstream-id>
79+
a7 route create -g default -f route.yaml
8780
```
8881

8982
### 4. Read and explore
@@ -114,13 +107,9 @@ a7 route update <id> \
114107
### 6. Clean up
115108

116109
```bash
117-
# Delete the route and upstream
118-
a7 route delete <id>
119-
a7 upstream delete <id>
120-
121-
# Verify they're gone
122-
a7 route list
123-
a7 upstream list
110+
# Delete the route and service
111+
a7 route delete <id> -g default --force
112+
a7 service delete <id> -g default --force
124113
```
125114

126115
## Commands
@@ -149,16 +138,13 @@ a7 upstream list
149138
| Command | Alias | Actions | Description |
150139
|---------|-------|---------|-------------|
151140
| `a7 route` | `rt` | list, get, create, update, delete | Manage routes |
152-
| `a7 upstream` | `us` | list, get, create, update, delete | Manage upstreams |
153141
| `a7 service` | `svc` | list, get, create, update, delete | Manage runtime services |
154142
| `a7 consumer` | `c` | list, get, create, update, delete | Manage consumers |
155143
| `a7 ssl` || list, get, create, update, delete | Manage SSL certificates |
156144
| `a7 plugin` | `pl` | list, get | Manage plugins |
157145
| `a7 global-rule` | `gr` | list, get, create, update, delete | Manage global rules |
158146
| `a7 stream-route` | `sr` | list, get, create, update, delete | Manage stream routes |
159-
| `a7 plugin-config` | `pc` | list, get, create, update, delete | Manage plugin configs |
160147
| `a7 plugin-metadata` | `pm` | get, create, update, delete | Manage plugin metadata |
161-
| `a7 consumer-group` | `cg` | list, get, create, update, delete | Manage consumer groups |
162148
| `a7 credential` | `cred` | list, get, create, update, delete | Manage consumer credentials |
163149
| `a7 secret` | `sec` | list, get, create, update, delete | Manage secret providers |
164150
| `a7 proto` | `pb` | list, get, create, update, delete | Manage protobuf definitions |
@@ -247,7 +233,7 @@ See [AGENTS.md](AGENTS.md) for the full development guide, coding conventions, a
247233
- [Coding Standards](docs/coding-standards.md)
248234
- [Testing Strategy](docs/testing-strategy.md)
249235
- [Development Roadmap](docs/roadmap.md)
250-
- [User Guides](docs/user-guide/) — Per-resource guides for all 16 resource types
236+
- [User Guides](docs/user-guide/) — Per-resource guides for all supported resource types
251237

252238
## Contributing
253239

docs/api7ee-api-spec.md

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,7 @@ All runtime resources require `gateway_group_id` query parameter.
8989
- **Fields**: `id`, `name`, `uris`, `methods`, `host`, `hosts`, `plugins`, `upstream_id`, `service_id`, `status`.
9090

9191
### 2. Upstream (/apisix/admin/upstreams)
92-
- **Methods**: `GET`, `GET /:id`, `POST`, `PUT /:id`, `PATCH /:id`, `DELETE /:id`
93-
- **Fields**: `id`, `name`, `type`, `nodes` (object/array), `checks`, `scheme`.
92+
> **⚠️ NOT EXPOSED in API7 EE.** Standalone upstreams do not have REST API endpoints. Upstreams exist only as inline objects within services and routes. This endpoint returns "resource not found".
9493
9594
### 3. Service (/apisix/admin/services)
9695
- **Methods**: `GET`, `GET /:id`, `POST`, `PUT /:id`, `PATCH /:id`, `DELETE /:id`
@@ -111,13 +110,13 @@ All runtime resources require `gateway_group_id` query parameter.
111110
- **Methods**: `GET`, `GET /:id`, `POST`, `DELETE /:id`
112111

113112
### 8. Plugin Config (/apisix/admin/plugin_configs)
114-
- **Methods**: `GET`, `GET /:id`, `PUT /:id`, `DELETE /:id`
113+
> **⚠️ NOT EXPOSED in API7 EE.** Plugin configs do not have REST API endpoints in API7 EE.
115114
116115
### 9. Plugin Metadata (/apisix/admin/plugin_metadata)
117116
- **Methods**: `GET /:plugin_name`, `PUT /:plugin_name`, `DELETE /:plugin_name`
118117

119118
### 10. Consumer Group (/apisix/admin/consumer_groups)
120-
- **Methods**: `GET`, `GET /:id`, `PUT /:id`, `DELETE /:id`
119+
> **⚠️ NOT EXPOSED in API7 EE.** Consumer groups do not have REST API endpoints in API7 EE.
121120
122121
### 11. Credential (/apisix/admin/consumers/:username/credentials)
123122
- **Methods**: `GET`, `GET /:id`, `PUT /:id`, `DELETE /:id`
@@ -133,23 +132,23 @@ All runtime resources require `gateway_group_id` query parameter.
133132
- `GET /apisix/admin/plugins/list`: List plugin names.
134133
- `GET /apisix/admin/plugins/:name`: Get plugin schema.
135134

136-
## Summary of 16 Resource Types
137-
138-
| Resource | Prefix | Identifier | Scope |
139-
|----------|--------|------------|-------|
140-
| Gateway Group | `/api` | `id` | Global |
141-
| Service Template | `/api` | `id` | Global |
142-
| Route | `/apisix/admin` | `id` | Gateway Group |
143-
| Upstream | `/apisix/admin` | `id` | Gateway Group |
144-
| Service | `/apisix/admin` | `id` | Gateway Group |
145-
| Consumer | `/apisix/admin` | `username` | Gateway Group |
146-
| SSL | `/apisix/admin` | `id` | Gateway Group |
147-
| Global Rule | `/apisix/admin` | `id` | Gateway Group |
148-
| Stream Route | `/apisix/admin` | `id` | Gateway Group |
149-
| Plugin Config | `/apisix/admin` | `id` | Gateway Group |
150-
| Plugin Metadata | `/apisix/admin` | `plugin_name`| Gateway Group |
151-
| Consumer Group | `/apisix/admin` | `id` | Gateway Group |
152-
| Credential | `/apisix/admin` | `id` | Consumer |
153-
| Secret | `/apisix/admin` | `manager/id`| Gateway Group |
154-
| Proto | `/apisix/admin` | `id` | Gateway Group |
155-
| Plugin | `/apisix/admin` | `name` | Gateway Group |
135+
## Summary of Resource Types
136+
137+
| Resource | Prefix | Identifier | Scope | Status |
138+
|----------|--------|------------|-------|--------|
139+
| Gateway Group | `/api` | `id` | Global ||
140+
| Service Template | `/api` | `id` | Global ||
141+
| Route | `/apisix/admin` | `id` | Gateway Group ||
142+
| Upstream | `/apisix/admin` | `id` | Gateway Group | ⚠️ Not exposed |
143+
| Service | `/apisix/admin` | `id` | Gateway Group ||
144+
| Consumer | `/apisix/admin` | `username` | Gateway Group ||
145+
| SSL | `/apisix/admin` | `id` | Gateway Group ||
146+
| Global Rule | `/apisix/admin` | `id` | Gateway Group ||
147+
| Stream Route | `/apisix/admin` | `id` | Gateway Group ||
148+
| Plugin Config | `/apisix/admin` | `id` | Gateway Group | ⚠️ Not exposed |
149+
| Plugin Metadata | `/apisix/admin` | `plugin_name`| Gateway Group ||
150+
| Consumer Group | `/apisix/admin` | `id` | Gateway Group | ⚠️ Not exposed |
151+
| Credential | `/apisix/admin` | `id` | Consumer ||
152+
| Secret | `/apisix/admin` | `manager/id`| Gateway Group ||
153+
| Proto | `/apisix/admin` | `id` | Gateway Group ||
154+
| Plugin | `/apisix/admin` | `name` | Gateway Group ||

docs/documentation-maintenance.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@ docs/
2121
├── gateway-group.md # Gateway group commands (EE)
2222
├── service-template.md # Service template commands (EE)
2323
├── route.md # Route command reference
24-
├── upstream.md # Upstream command reference
24+
├── upstream.md # ⚠️ Deprecated — upstreams are inline-only in API7 EE
2525
├── service.md # Service command reference
2626
├── consumer.md # Consumer command reference
2727
├── ssl.md # SSL command reference
2828
├── plugin.md # Plugin command reference
2929
├── global-rule.md # Global rule command reference
3030
├── stream-route.md # Stream route command reference
31-
├── plugin-config.md # Plugin config command reference
3231
├── plugin-metadata.md # Plugin metadata command reference
33-
├── consumer-group.md # Consumer group command reference
3432
├── credential.md # Credential command reference
3533
├── secret.md # Secret command reference
3634
├── proto.md # Proto command reference
@@ -40,7 +38,7 @@ docs/
4038
├── custom-plugin.md # Custom plugins (EE)
4139
├── service-registry.md # Service registries (EE)
4240
├── token.md # Access tokens (EE)
43-
└── ... # Total 29 files in user-guide
41+
└── ... # Total 27 files in user-guide
4442
```
4543

4644
### Mandatory Documentation Rules

docs/user-guide/bulk-operations.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,9 @@ Bulk operations are planned for the following resources:
7070

7171
- `route`
7272
- `service`
73-
- `upstream`
7473
- `consumer`
7574
- `ssl`
7675
- `global-rule`
77-
- `plugin-config`
78-
- `consumer-group`
7976
- `stream-route`
8077
- `proto`
8178
- `secret`

0 commit comments

Comments
 (0)