fly_io 0.1.0

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.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +15 -0
  3. data/CONTRIBUTING.md +14 -0
  4. data/LICENSE +21 -0
  5. data/README.md +239 -0
  6. data/Rakefile +30 -0
  7. data/contracts/additional_rest/network_policies.json +94 -0
  8. data/contracts/additional_rest/prometheus.json +103 -0
  9. data/contracts/graphql/fly_go_operations.json +948 -0
  10. data/contracts/graphql/flyctl_named_operations.graphql +316 -0
  11. data/contracts/graphql/flyctl_operations.json +336 -0
  12. data/contracts/graphql/official_examples.json +75 -0
  13. data/contracts/graphql/schema.graphql +10995 -0
  14. data/contracts/graphql/source.json +29 -0
  15. data/contracts/machines/openapi.headers +9 -0
  16. data/contracts/machines/openapi.json +1 -0
  17. data/contracts/machines/source.json +20 -0
  18. data/contracts/public_surface_inventory.json +164 -0
  19. data/contracts/research_metadata.json +17 -0
  20. data/contracts/sources/metrics.html.md +474 -0
  21. data/contracts/sources/network-policies.html.markerb +142 -0
  22. data/docs/API.md +149 -0
  23. data/docs/SURFACES.md +60 -0
  24. data/lib/fly_io/client.rb +52 -0
  25. data/lib/fly_io/configuration.rb +115 -0
  26. data/lib/fly_io/errors.rb +45 -0
  27. data/lib/fly_io/generated/additional_operations.json +123 -0
  28. data/lib/fly_io/generated/graphql_operations.json +1658 -0
  29. data/lib/fly_io/generated/operations.json +6130 -0
  30. data/lib/fly_io/generated/prometheus_operations.json +503 -0
  31. data/lib/fly_io/generated/schemas.json +4237 -0
  32. data/lib/fly_io/graphql_client.rb +103 -0
  33. data/lib/fly_io/model.rb +65 -0
  34. data/lib/fly_io/operation_registry.rb +79 -0
  35. data/lib/fly_io/redactor.rb +34 -0
  36. data/lib/fly_io/resources/base.rb +68 -0
  37. data/lib/fly_io/resources.rb +30 -0
  38. data/lib/fly_io/response.rb +45 -0
  39. data/lib/fly_io/schema_registry.rb +89 -0
  40. data/lib/fly_io/schema_validator.rb +56 -0
  41. data/lib/fly_io/transport.rb +282 -0
  42. data/lib/fly_io/version.rb +5 -0
  43. data/lib/fly_io.rb +23 -0
  44. data/script/check_api_coverage +60 -0
  45. data/script/fetch_openapi +18 -0
  46. data/script/generate_api +302 -0
  47. metadata +197 -0
@@ -0,0 +1,75 @@
1
+ {
2
+ "retrieved_at": "2026-08-26",
3
+ "docs_repository": "https://github.com/superfly/docs",
4
+ "docs_revision": "1e8cac5f0fd7a82e66e3b01ece3a10a8ecb2b7e3",
5
+ "endpoint": "https://api.fly.io/graphql",
6
+ "stability": "internal_unstable_public_endpoint",
7
+ "examples": [
8
+ {
9
+ "id": "allocate_shared_ipv4",
10
+ "operation_type": "mutation",
11
+ "operation_name": null,
12
+ "root_fields": [
13
+ "allocateIpAddress"
14
+ ],
15
+ "document": "mutation($input: AllocateIPAddressInput!) { allocateIpAddress(input: $input) { app { sharedIpAddress } } }",
16
+ "variables": {
17
+ "input": {
18
+ "appId": "${APP_NAME}",
19
+ "type": "shared_v4",
20
+ "region": ""
21
+ }
22
+ },
23
+ "source_url": "https://fly.io/docs/mcp/deploy-with/machines-api",
24
+ "source_path": "mcp/deploy-with/machines-api.html.md",
25
+ "source_sha256": "8c45f1fbcc0e17035567e2784b3200eb9862f110f20a5bfb959e4e66534e9cf4",
26
+ "source_lines": [
27
+ 80,
28
+ 95
29
+ ]
30
+ },
31
+ {
32
+ "id": "allocate_ipv6",
33
+ "operation_type": "mutation",
34
+ "operation_name": null,
35
+ "root_fields": [
36
+ "allocateIpAddress"
37
+ ],
38
+ "document": "mutation($input: AllocateIPAddressInput!) { allocateIpAddress(input: $input) { ipAddress { id address type region createdAt } } }",
39
+ "variables": {
40
+ "input": {
41
+ "appId": "${APP_NAME}",
42
+ "type": "v6",
43
+ "region": ""
44
+ }
45
+ },
46
+ "source_url": "https://fly.io/docs/mcp/deploy-with-machines-api",
47
+ "source_path": "mcp/deploy-with/machines-api.html.md",
48
+ "source_sha256": "8c45f1fbcc0e17035567e2784b3200eb9862f110f20a5bfb959e4e66534e9cf4",
49
+ "source_lines": [
50
+ 97,
51
+ 112
52
+ ]
53
+ },
54
+ {
55
+ "id": "list_releases_with_images",
56
+ "operation_type": "query",
57
+ "operation_name": null,
58
+ "root_fields": [
59
+ "app"
60
+ ],
61
+ "document": "query($appName: String!, $limit: Int!) { app(name: $appName) { releases: releasesUnprocessed(first: $limit) { nodes { id version description reason status imageRef stable user { id email name } createdAt } } } }",
62
+ "variables": {
63
+ "appName": "my-app-name",
64
+ "limit": 25
65
+ },
66
+ "source_url": "https://fly.io/docs/blueprints/using-the-fly-docker-registry",
67
+ "source_path": "blueprints/using-the-fly-docker-registry.html.md",
68
+ "source_sha256": "46938dcbd0b9ef52e01b475a9bfbd5d6aea98110892ecd106d962800882aeae1",
69
+ "source_lines": [
70
+ 108,
71
+ 117
72
+ ]
73
+ }
74
+ ]
75
+ }