-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathblueprints.yaml
More file actions
222 lines (199 loc) · 4.51 KB
/
blueprints.yaml
File metadata and controls
222 lines (199 loc) · 4.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
name: API
slug: api
type: plugin
version: 1.0.0-beta.12
description: RESTful API for Grav CMS. Provides headless access to pages, media, configuration, users, and system management.
icon: plug
author:
name: Team Grav
email: devs@getgrav.org
url: https://getgrav.org
homepage: https://github.com/getgrav/grav-plugin-api
keywords: api, rest, headless, json
bugs: https://github.com/getgrav/grav-plugin-api/issues
docs: https://learn.getgrav.org/api
license: MIT
compatibility:
grav: ['2.0']
dependencies:
- { name: grav, version: '>=2.0.0-beta.1' }
- { name: login, version: '>=3.8.0' }
form:
validation: loose
fields:
enabled:
type: toggle
label: Plugin Status
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
section_general:
type: section
title: General Settings
underline: true
route:
type: text
label: API Route
help: The base route for the API
default: /api
validate:
type: text
version_prefix:
type: text
label: Version Prefix
help: Current API version prefix
default: v1
validate:
type: text
section_auth:
type: section
title: Authentication
underline: true
auth.api_keys_enabled:
type: toggle
label: API Key Authentication
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
auth.jwt_enabled:
type: toggle
label: JWT Authentication
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
auth.jwt_expiry:
type: text
label: JWT Access Token Expiry
help: Access token lifetime in seconds
default: 3600
validate:
type: int
auth.jwt_refresh_expiry:
type: text
label: JWT Refresh Token Expiry
help: Refresh token lifetime in seconds
default: 604800
validate:
type: int
auth.session_enabled:
type: toggle
label: Session Authentication
help: Allow existing admin sessions to access the API
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
section_cors:
type: section
title: CORS Settings
underline: true
cors.enabled:
type: toggle
label: Enable CORS
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
cors.origins:
type: array
label: Allowed Origins
help: List of allowed origins. Use * for all origins.
default:
- '*'
value_only: true
cors.methods:
type: selectize
label: Allowed Methods
help: HTTP methods allowed for CORS requests
default:
- GET
- POST
- PATCH
- DELETE
- OPTIONS
multiple: true
validate:
type: commalist
cors.headers:
type: array
label: Allowed Headers
default:
- Content-Type
- Authorization
- X-API-Key
- X-Grav-Environment
- If-Match
- If-None-Match
value_only: true
section_backend:
type: section
title: Backend
underline: true
flex_backend.pages:
type: toggle
label: Flex Pages Backend
help: Use Flex-Objects for page listings (faster search, filtering, and pagination)
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
flex_backend.accounts:
type: toggle
label: Flex Accounts Backend
help: Use Flex-Objects for user listings (faster search and pagination)
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
section_rate_limit:
type: section
title: Rate Limiting
underline: true
rate_limit.enabled:
type: toggle
label: Enable Rate Limiting
highlight: 1
default: 1
options:
1: Enabled
0: Disabled
validate:
type: bool
rate_limit.requests:
type: text
label: Requests Per Window
help: Maximum number of requests per time window
default: 120
validate:
type: int
rate_limit.window:
type: text
label: Time Window
help: Rate limit window in seconds
default: 60
validate:
type: int