full diff

at.happyproto.admin.listInstances

happyproto.at +14 −1
From
bafyreihqgdj4hw2t4g2d4c35elj3ziwr76nofvpomhushauxazx2i2l66e indexed 2026-10-30 06:09 UTC View this version
To
bafyreicilgnrkvcujsfuvrnlpxy4fdrvcut3fydzoojhtdarmzwru7f5gy indexed 2026-11-04 18:12 UTC View this version

Compatibility

breaking 1 breaking change, 2 non-breaking changes.

Breaking changes (1)
  • ConstraintTightened ConstraintTightened { vertex_id: "at.happyproto.admin.listInstances#operation.kind", sort: "knownValues", old_value: "[\"create\",\"update\",\"upgrade\",\"stop\",\"start\",\"destroy\"]", new_value: "[\"create\",\"update\",\"upgrade\",\"stop\",\"start\",\"destroy\",\"rotate_key\",\"retire_key\"]" }
Non-breaking changes (2)
  • AddedVertex AddedVertex { vertex_id: "at.happyproto.admin.listInstances#adminInstance.encryptionStage" }
  • AddedEdge AddedEdge { src: "at.happyproto.admin.listInstances#adminInstance", tgt: "at.happyproto.admin.listInstances#adminInstance.encryptionStage", kind: "prop", name: Some("encryptionStage") }

Migration guidance

Added

  • AddedVertex { vertex_id: "at.happyproto.admin.listInstances#adminInstance.encryptionStage" }

Constraint changes

  • ConstraintTightened ConstraintTightened { vertex_id: "at.happyproto.admin.listInstances#operation.kind", sort: "knownValues", old_value: "[\"create\",\"update\",\"upgrade\",\"stop\",\"start\",\"destroy\"]", new_value: "[\"create\",\"update\",\"upgrade\",\"stop\",\"start\",\"destroy\",\"rotate_key\",\"retire_key\"]" }

Notes

  • Non-breaking: AddedEdge { src: "at.happyproto.admin.listInstances#adminInstance", tgt: "at.happyproto.admin.listInstances#adminInstance.encryptionStage", kind: "prop", name: Some("encryptionStage") }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "adminInstance": {
55 "description": "An instance as staff see it: the customer's view, plus its owner, placement and raw states.",
66 "properties": {
77 "availableVersion": {
88 "description": "A newer release, when one is on offer.",
99 "ref": "#availableVersion",
1010 "type": "ref"
1111 },
1212 "createdAt": {
1313 "format": "datetime",
1414 "type": "string"
1515 },
1616 "desiredState": {
1717 "description": "The provisioner's desired_state.",
1818 "type": "string"
1919 },
20 "encryptionStage": {
21 "description": "Where its encryption key is in a rotation: none, rotating (the new key is not live yet), sealing (HappyView is re-sealing with it), retiring (the old key is being removed) or failed (a rotate_key or retire_key failed and the instance with it). From the provisioner's database alone.",
22 "knownValues": [
23 "none",
24 "rotating",
25 "sealing",
26 "retiring",
27 "failed"
28 ],
29 "type": "string"
30 },
2031 "hostId": {
2132 "description": "The host it is placed on. Absent until it is placed.",
2233 "type": "string"
2334 },
2435 "hostName": {
2536 "description": "That host's name. Absent when the hosts list does not have it.",
2637 "type": "string"
2738 },
2839 "id": {
2940 "description": "A UUID.",
3041 "type": "string"
3142 },
3243 "observedState": {
3344 "description": "The provisioner's observed_state.",
3445 "type": "string"
3546 },
3647 "operation": {
3748 "description": "The change in progress, if any.",
3849 "ref": "#operation",
3950 "type": "ref"
4051 },
4152 "ownerDid": {
4253 "format": "did",
4354 "type": "string"
4455 },
4556 "plan": {
4657 "description": "The plan's id.",
4758 "type": "string"
4859 },
4960 "routed": {
5061 "description": "Whether its public URL routes to it.",
5162 "type": "boolean"
5263 },
5364 "slug": {
5465 "type": "string"
5566 },
5667 "state": {
5768 "knownValues": [
5869 "provisioning",
5970 "running",
6071 "stopped",
6172 "failed",
6273 "deleting"
6374 ],
6475 "type": "string"
6576 },
6677 "url": {
6778 "format": "uri",
6879 "type": "string"
6980 },
7081 "version": {
7182 "description": "The HappyView release it runs.",
7283 "type": "string"
7384 },
7485 "versionLabel": {
7586 "description": "The HappyView version the release carries, e.g. 3.0.0-alpha.41, when known.",
7687 "type": "string"
7788 }
7889 },
7990 "required": [
8091 "id",
8192 "slug",
8293 "url",
8394 "plan",
8495 "version",
8596 "state",
8697 "createdAt",
8798 "ownerDid",
8899 "desiredState",
89100 "observedState",
90101 "routed"
91102 ],
92103 "type": "object"
93104 },
94105 "availableVersion": {
95106 "description": "A newer HappyView release the instance can upgrade to.",
96107 "properties": {
97108 "label": {
98109 "description": "The HappyView version the release carries, e.g. 3.0.0-alpha.41, when known.",
99110 "type": "string"
100111 },
101112 "releasedAt": {
102113 "description": "When HappyProto first offered it.",
103114 "format": "datetime",
104115 "type": "string"
105116 },
106117 "version": {
107118 "description": "The release to pass to at.happyproto.server.upgradeInstance.",
108119 "type": "string"
109120 }
110121 },
111122 "required": [
112123 "version",
113124 "releasedAt"
114125 ],
115126 "type": "object"
116127 },
117128 "main": {
118129 "description": "Every instance, whoever owns it, with its placement. Staff only.",
119130 "errors": [
120131 {
121132 "description": "This endpoint requires an authenticated caller.",
122133 "name": "AuthRequired"
123134 },
124135 {
125136 "description": "The caller is not HappyProto staff, or the provisioner does not treat them as staff.",
126137 "name": "Forbidden"
127138 },
128139 {
129140 "description": "owner is not a DID, or the provisioner refused the request as malformed.",
130141 "name": "InvalidRequest"
131142 },
132143 {
133144 "description": "Passed through from the provisioner.",
134145 "name": "NotFound"
135146 },
136147 {
137148 "description": "Passed through from the provisioner.",
138149 "name": "InvalidSlug"
139150 },
140151 {
141152 "description": "Passed through from the provisioner.",
142153 "name": "SlugTaken"
143154 },
144155 {
145156 "description": "Passed through from the provisioner.",
146157 "name": "NotEntitled"
147158 },
148159 {
149160 "description": "Passed through from the provisioner.",
150161 "name": "InstanceLimit"
151162 },
152163 {
153164 "description": "Passed through from the provisioner.",
154165 "name": "NoCapacity"
155166 },
156167 {
157168 "description": "Passed through from the provisioner.",
158169 "name": "OperationInProgress"
159170 },
160171 {
161172 "description": "The provisioner is unreachable, not configured, or answered with an error it does not explain to callers.",
162173 "name": "Upstream"
163174 }
164175 ],
165176 "output": {
166177 "encoding": "application/json",
167178 "schema": {
168179 "properties": {
169180 "instances": {
170181 "items": {
171182 "ref": "#adminInstance",
172183 "type": "ref"
173184 },
174185 "type": "array"
175186 }
176187 },
177188 "required": [
178189 "instances"
179190 ],
180191 "type": "object"
181192 }
182193 },
183194 "parameters": {
184195 "properties": {
185196 "owner": {
186197 "description": "Only this owner's instances.",
187198 "format": "did",
188199 "type": "string"
189200 }
190201 },
191202 "type": "params"
192203 },
193204 "type": "query"
194205 },
195206 "operation": {
196207 "properties": {
197208 "error": {
198209 "description": "The provisioner's error code, when it failed.",
199210 "type": "string"
200211 },
201212 "id": {
202213 "type": "string"
203214 },
204215 "kind": {
205216 "knownValues": [
206217 "create",
207218 "update",
208219 "upgrade",
209220 "stop",
210221 "start",
211 "destroy"
222 "destroy",
223 "rotate_key",
224 "retire_key"
212225 ],
213226 "type": "string"
214227 },
215228 "status": {
216229 "knownValues": [
217230 "pending",
218231 "running",
219232 "succeeded",
220233 "failed"
221234 ],
222235 "type": "string"
223236 },
224237 "step": {
225238 "description": "The step it last reached.",
226239 "type": "string"
227240 }
228241 },
229242 "required": [
230243 "id",
231244 "kind",
232245 "status"
233246 ],
234247 "type": "object"
235248 }
236249 },
237250 "id": "at.happyproto.admin.listInstances",
238251 "lexicon": 1
239252}

Compare other versions