cloudfall 0.7.0rc2__tar.gz → 0.7.0rc3__tar.gz

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 (394) hide show
  1. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/PKG-INFO +1 -1
  2. cloudfall-0.7.0rc3/changelog.d/81-database-claims.md +8 -0
  3. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/brownfield-design.md +1 -1
  4. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/neon-migration-guide.md +14 -6
  5. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/pyproject.toml +1 -1
  6. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/.ansible-lint +0 -0
  7. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/.gitignore +0 -0
  8. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/ARCHITECTURE.md +0 -0
  9. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/CHANGELOG.md +0 -0
  10. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/CODE_OF_CONDUCT.md +0 -0
  11. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/CONTRIBUTING.md +0 -0
  12. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/LICENSE +0 -0
  13. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/MANIFESTO.md +0 -0
  14. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/README.md +0 -0
  15. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/ROADMAP.md +0 -0
  16. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/SECURITY.md +0 -0
  17. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/Taskfile.yml +0 -0
  18. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/changelog.d/76-changed-from-play-stats.md +0 -0
  19. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/changelog.d/78-why-agent-turn.md +0 -0
  20. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/changelog.d/README.md +0 -0
  21. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/README.md +0 -0
  22. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/alert-rules/postgresql-down.yaml +0 -0
  23. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/applications/crm.yaml +0 -0
  24. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/components/crm-backend.yaml +0 -0
  25. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/domains/crm-site.yaml +0 -0
  26. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/logging-stacks/operations.yaml +0 -0
  27. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/operator-policies/production.yaml +0 -0
  28. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/server-types/debian-application.yaml +0 -0
  29. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/servers/h1.yaml +0 -0
  30. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/servers/h2.yaml +0 -0
  31. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/services/postgresql-main.yaml +0 -0
  32. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/services/redis-cache.yaml +0 -0
  33. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/examples/ssh-public-keys/example-admin.yaml +0 -0
  34. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/agent-investigation.schema.json +0 -0
  35. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/alert-rule.schema.json +0 -0
  36. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/application.schema.json +0 -0
  37. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/artifact.schema.json +0 -0
  38. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/backup-receipt.schema.json +0 -0
  39. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/common.schema.json +0 -0
  40. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/component.schema.json +0 -0
  41. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/deployment-receipt.schema.json +0 -0
  42. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/domain.schema.json +0 -0
  43. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/environment-receipt.schema.json +0 -0
  44. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/logging-stack.schema.json +0 -0
  45. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/observed-domain.schema.json +0 -0
  46. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/observed-server.schema.json +0 -0
  47. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/operation-decision.schema.json +0 -0
  48. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/operation.schema.json +0 -0
  49. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/operator-policy.schema.json +0 -0
  50. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/operator-proposal.schema.json +0 -0
  51. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/release-receipt.schema.json +0 -0
  52. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/server-type.schema.json +0 -0
  53. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/server.schema.json +0 -0
  54. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/service.schema.json +0 -0
  55. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/schemas/v1/ssh-public-key.schema.json +0 -0
  56. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/tests/invalid/missing-server/applications/crm.yaml +0 -0
  57. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/tests/invalid/missing-server/components/crm-backend.yaml +0 -0
  58. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/tests/invalid/missing-server/server-types/debian-application.yaml +0 -0
  59. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/tests/invalid/missing-server/servers/h1.yaml +0 -0
  60. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/tests/invalid/schema/components/component-unknown-field.yaml +0 -0
  61. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/tests/observed/compliant/h1.json +0 -0
  62. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/config/tests/observed/compliant/h2.json +0 -0
  63. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/README.md +0 -0
  64. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/.gitignore +0 -0
  65. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/ansible.cfg +0 -0
  66. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/inventories/production/hosts.yml +0 -0
  67. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/operations/converge.yml +0 -0
  68. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/operations/disk-report.yml +0 -0
  69. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/operations/journal-vacuum.yml +0 -0
  70. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/operations/postgresql-reinit.yml +0 -0
  71. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/operations/postgresql-restart.yml +0 -0
  72. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/operations/service-logs.yml +0 -0
  73. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/operations/shop-logrotate.yml +0 -0
  74. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/disk-report.yml +0 -0
  75. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/journal-vacuum.yml +0 -0
  76. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/postgresql-reinit.yml +0 -0
  77. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/postgresql-restart.yml +0 -0
  78. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/postgresql.yml +0 -0
  79. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/service-logs.yml +0 -0
  80. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/shop-logrotate.yml +0 -0
  81. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/playbooks/shop.yml +0 -0
  82. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/disk-report-20261008170744.diff +0 -0
  83. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/disk-report-20261008170744.json +0 -0
  84. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/journal-vacuum-20261008171016.diff +0 -0
  85. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/journal-vacuum-20261008171016.json +0 -0
  86. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/postgresql-reinit-20261008171010.diff +0 -0
  87. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/postgresql-reinit-20261008171010.json +0 -0
  88. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/postgresql-restart-20261008170624.diff +0 -0
  89. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/postgresql-restart-20261008170624.json +0 -0
  90. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170612.diff +0 -0
  91. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170612.json +0 -0
  92. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170740.diff +0 -0
  93. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170740.json +0 -0
  94. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170742.diff +0 -0
  95. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170742.json +0 -0
  96. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170838.diff +0 -0
  97. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170838.json +0 -0
  98. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170920.diff +0 -0
  99. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/service-logs-20261008170920.json +0 -0
  100. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/shop-logrotate-20261008170752.diff +0 -0
  101. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full/shop-logrotate-20261008170752.json +0 -0
  102. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/disk-report-20261008204348.diff +0 -0
  103. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/disk-report-20261008204348.json +0 -0
  104. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/disk-report-20261008204421.diff +0 -0
  105. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/disk-report-20261008204421.json +0 -0
  106. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/postgresql-restart-20261008204358.diff +0 -0
  107. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/postgresql-restart-20261008204358.json +0 -0
  108. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/shop-logrotate-20261008204351.diff +0 -0
  109. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/recordings/disk-full-approved/shop-logrotate-20261008204351.json +0 -0
  110. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/scenario/break.yml +0 -0
  111. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/incident/site.yml +0 -0
  112. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/pyproject.toml +0 -0
  113. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/src/cloudfall_demo/__init__.py +0 -0
  114. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/src/cloudfall_demo/server.py +0 -0
  115. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/src/cloudfall_demo/static/evaluation.json +0 -0
  116. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/src/cloudfall_demo/static/index.html +0 -0
  117. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/tests/test_demo.py +0 -0
  118. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/demo/uv.lock +0 -0
  119. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/ansible-context.md +0 -0
  120. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/assets/logo.svg +0 -0
  121. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/availability-design.md +0 -0
  122. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/decisions/2026-09-14-no-ansible-replacement.md +0 -0
  123. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/decisions/2026-09-14-no-nixos-base.md +0 -0
  124. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/decisions/2026-09-14-no-rust-rewrite.md +0 -0
  125. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/decisions.md +0 -0
  126. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/fleet-goals.md +0 -0
  127. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/getting-started.md +0 -0
  128. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/hybrid-storage-design.md +0 -0
  129. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/images/demo.png +0 -0
  130. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/landscape.md +0 -0
  131. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/logging-service-guide.md +0 -0
  132. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/new-server-storage-guide.md +0 -0
  133. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/operator-guide.md +0 -0
  134. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-08-debian-container-m1.md +0 -0
  135. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-08-dns-cutover.md +0 -0
  136. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-08-guided-data-migration.md +0 -0
  137. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-08-hetzner-m1.md +0 -0
  138. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-08-hetzner-m2-m3.md +0 -0
  139. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-08-hetzner-m4-m5.md +0 -0
  140. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-08-render-cutover.md +0 -0
  141. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-10-hetzner-m7.md +0 -0
  142. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-10-hetzner-m8.md +0 -0
  143. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-10-hetzner-m9.md +0 -0
  144. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-09-11-hetzner-m10.md +0 -0
  145. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/proving-runs/2026-10-08-disk-full-agent.md +0 -0
  146. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/render-migration-guide.md +0 -0
  147. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/docs/secrets-guide.md +0 -0
  148. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/README.md +0 -0
  149. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/ansible.cfg +0 -0
  150. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/backup.yml +0 -0
  151. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/baseline.yml +0 -0
  152. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/bootstrap.yml +0 -0
  153. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/data.yml +0 -0
  154. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/deploy.yml +0 -0
  155. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/domains.yml +0 -0
  156. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/health.yml +0 -0
  157. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/inspect.yml +0 -0
  158. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/logging.yml +0 -0
  159. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/restart.yml +0 -0
  160. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/rollback.yml +0 -0
  161. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/services.yml +0 -0
  162. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/playbooks/time.yml +0 -0
  163. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_access/defaults/main.yml +0 -0
  164. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_access/handlers/main.yml +0 -0
  165. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_access/meta/argument_specs.yml +0 -0
  166. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_access/meta/main.yml +0 -0
  167. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_access/tasks/main.yml +0 -0
  168. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_bootstrap/defaults/main.yml +0 -0
  169. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_bootstrap/meta/argument_specs.yml +0 -0
  170. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_bootstrap/meta/main.yml +0 -0
  171. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_bootstrap/tasks/main.yml +0 -0
  172. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_data_migration/defaults/main.yml +0 -0
  173. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_data_migration/meta/argument_specs.yml +0 -0
  174. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_data_migration/meta/main.yml +0 -0
  175. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_data_migration/tasks/main.yml +0 -0
  176. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/defaults/main.yml +0 -0
  177. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/meta/argument_specs.yml +0 -0
  178. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/meta/main.yml +0 -0
  179. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/tasks/health.yml +0 -0
  180. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/tasks/health_gate.yml +0 -0
  181. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/tasks/main.yml +0 -0
  182. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/tasks/restart.yml +0 -0
  183. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/tasks/rollback.yml +0 -0
  184. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_deploy/templates/component.service.j2 +0 -0
  185. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_firewall/defaults/main.yml +0 -0
  186. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_firewall/handlers/main.yml +0 -0
  187. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_firewall/meta/argument_specs.yml +0 -0
  188. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_firewall/meta/main.yml +0 -0
  189. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_firewall/tasks/main.yml +0 -0
  190. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_firewall/templates/nftables.conf.j2 +0 -0
  191. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_inspect/defaults/main.yml +0 -0
  192. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_inspect/meta/argument_specs.yml +0 -0
  193. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_inspect/meta/main.yml +0 -0
  194. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_inspect/tasks/main.yml +0 -0
  195. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/defaults/main.yml +0 -0
  196. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/handlers/main.yml +0 -0
  197. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/meta/argument_specs.yml +0 -0
  198. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/meta/main.yml +0 -0
  199. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/tasks/main.yml +0 -0
  200. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/alertmanager-defaults.j2 +0 -0
  201. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/alertmanager.yaml.j2 +0 -0
  202. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/grafana.ini.j2 +0 -0
  203. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/loki-datasource.yml.j2 +0 -0
  204. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/loki-systemd-override.conf.j2 +0 -0
  205. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/loki.yaml.j2 +0 -0
  206. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/nginx-loki-gateway.conf.j2 +0 -0
  207. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/prometheus-datasource.yml.j2 +0 -0
  208. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/prometheus-defaults.j2 +0 -0
  209. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/prometheus-rules.yaml.j2 +0 -0
  210. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_backend/templates/prometheus.yaml.j2 +0 -0
  211. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_collector/defaults/main.yml +0 -0
  212. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_collector/handlers/main.yml +0 -0
  213. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_collector/meta/argument_specs.yml +0 -0
  214. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_collector/meta/main.yml +0 -0
  215. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_collector/tasks/main.yml +0 -0
  216. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_collector/templates/alloy-systemd-override.conf.j2 +0 -0
  217. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_logging_collector/templates/config.alloy.j2 +0 -0
  218. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_nginx_site/defaults/main.yml +0 -0
  219. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_nginx_site/handlers/main.yml +0 -0
  220. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_nginx_site/meta/argument_specs.yml +0 -0
  221. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_nginx_site/meta/main.yml +0 -0
  222. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_nginx_site/tasks/apply_virtual_host.yml +0 -0
  223. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_nginx_site/tasks/main.yml +0 -0
  224. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_nginx_site/templates/domain-site.conf.j2 +0 -0
  225. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/defaults/main.yml +0 -0
  226. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/handlers/main.yml +0 -0
  227. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/meta/argument_specs.yml +0 -0
  228. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/meta/main.yml +0 -0
  229. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/tasks/main.yml +0 -0
  230. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/templates/backup.service.j2 +0 -0
  231. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/templates/backup.sh.j2 +0 -0
  232. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/templates/backup.timer.j2 +0 -0
  233. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/templates/cloudfall.conf.j2 +0 -0
  234. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/templates/restore-check.service.j2 +0 -0
  235. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/templates/restore-check.sh.j2 +0 -0
  236. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_postgresql/templates/restore-check.timer.j2 +0 -0
  237. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/defaults/main.yml +0 -0
  238. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/handlers/main.yml +0 -0
  239. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/meta/argument_specs.yml +0 -0
  240. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/meta/main.yml +0 -0
  241. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/tasks/main.yml +0 -0
  242. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/templates/backup.service.j2 +0 -0
  243. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/templates/backup.sh.j2 +0 -0
  244. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/templates/backup.timer.j2 +0 -0
  245. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/templates/cloudfall.conf.j2 +0 -0
  246. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/templates/restore-check.service.j2 +0 -0
  247. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/templates/restore-check.sh.j2 +0 -0
  248. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_redis/templates/restore-check.timer.j2 +0 -0
  249. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_time/defaults/main.yml +0 -0
  250. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_time/meta/argument_specs.yml +0 -0
  251. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_time/meta/main.yml +0 -0
  252. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_time/tasks/main.yml +0 -0
  253. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_unattended_upgrades/defaults/main.yml +0 -0
  254. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_unattended_upgrades/meta/argument_specs.yml +0 -0
  255. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_unattended_upgrades/meta/main.yml +0 -0
  256. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/ansible/roles/cloudfall_unattended_upgrades/tasks/main.yml +0 -0
  257. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/src/cloudfall_engine/__init__.py +0 -0
  258. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/src/cloudfall_engine/__main__.py +0 -0
  259. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/src/cloudfall_engine/ansible_inventory.py +0 -0
  260. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/src/cloudfall_engine/artifact.py +0 -0
  261. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/src/cloudfall_engine/cli.py +0 -0
  262. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/src/cloudfall_engine/playbook.py +0 -0
  263. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/src/cloudfall_engine/py.typed +0 -0
  264. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_ansible_inventory.py +0 -0
  265. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_artifact_builder.py +0 -0
  266. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_deploy_templates.py +0 -0
  267. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_firewall_templates.py +0 -0
  268. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_logging_templates.py +0 -0
  269. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_nginx_site_role.py +0 -0
  270. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_nginx_site_templates.py +0 -0
  271. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_playbook.py +0 -0
  272. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_postgresql_templates.py +0 -0
  273. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/engine/tests/test_time_role.py +0 -0
  274. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/.gitignore +0 -0
  275. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/README.md +0 -0
  276. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/ansible.cfg +0 -0
  277. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/inventories/production/hosts.yml +0 -0
  278. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/operations/converge.yml +0 -0
  279. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/operations/disk-report.yml +0 -0
  280. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/operations/journal-vacuum.yml +0 -0
  281. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/operations/postgresql-reinit.yml +0 -0
  282. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/operations/postgresql-restart.yml +0 -0
  283. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/operations/service-logs.yml +0 -0
  284. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/operations/shop-logrotate.yml +0 -0
  285. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/disk-report.yml +0 -0
  286. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/journal-vacuum.yml +0 -0
  287. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/postgresql-reinit.yml +0 -0
  288. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/postgresql-restart.yml +0 -0
  289. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/postgresql.yml +0 -0
  290. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/service-logs.yml +0 -0
  291. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/shop-logrotate.yml +0 -0
  292. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/playbooks/shop.yml +0 -0
  293. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/disk-report-20261008170744.diff +0 -0
  294. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/disk-report-20261008170744.json +0 -0
  295. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/journal-vacuum-20261008171016.diff +0 -0
  296. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/journal-vacuum-20261008171016.json +0 -0
  297. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/postgresql-reinit-20261008171010.diff +0 -0
  298. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/postgresql-reinit-20261008171010.json +0 -0
  299. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/postgresql-restart-20261008170624.diff +0 -0
  300. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/postgresql-restart-20261008170624.json +0 -0
  301. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170612.diff +0 -0
  302. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170612.json +0 -0
  303. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170740.diff +0 -0
  304. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170740.json +0 -0
  305. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170742.diff +0 -0
  306. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170742.json +0 -0
  307. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170838.diff +0 -0
  308. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170838.json +0 -0
  309. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170920.diff +0 -0
  310. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/service-logs-20261008170920.json +0 -0
  311. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/shop-logrotate-20261008170752.diff +0 -0
  312. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full/shop-logrotate-20261008170752.json +0 -0
  313. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/disk-report-20261008204348.diff +0 -0
  314. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/disk-report-20261008204348.json +0 -0
  315. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/disk-report-20261008204421.diff +0 -0
  316. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/disk-report-20261008204421.json +0 -0
  317. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/postgresql-restart-20261008204358.diff +0 -0
  318. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/postgresql-restart-20261008204358.json +0 -0
  319. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/shop-logrotate-20261008204351.diff +0 -0
  320. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/recordings/disk-full-approved/shop-logrotate-20261008204351.json +0 -0
  321. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/scenario/break.yml +0 -0
  322. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/disk-full-incident/site.yml +0 -0
  323. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/render-demo/README.md +0 -0
  324. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/render-demo/pyproject.toml +0 -0
  325. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/render-demo/render.yaml +0 -0
  326. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/render-demo/src/demo/__init__.py +0 -0
  327. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/render-demo/src/demo/asgi.py +0 -0
  328. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/examples/render-demo/uv.lock +0 -0
  329. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/README.md +0 -0
  330. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/__init__.py +0 -0
  331. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/__main__.py +0 -0
  332. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/agent_server.py +0 -0
  333. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/agent_tools.py +0 -0
  334. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/ansible_api.py +0 -0
  335. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/ansible_reader.py +0 -0
  336. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/app.py +0 -0
  337. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/audit.py +0 -0
  338. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/authoring.py +0 -0
  339. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/callback_plugins/__init__.py +0 -0
  340. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/callback_plugins/cloudfall_host_stats.py +0 -0
  341. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/catalog.py +0 -0
  342. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/cli.py +0 -0
  343. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/commands.py +0 -0
  344. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/cutover.py +0 -0
  345. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/dashboard.py +0 -0
  346. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/dashboard_server.py +0 -0
  347. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/decision.py +0 -0
  348. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/domain.py +0 -0
  349. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/importer.py +0 -0
  350. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/inventory.py +0 -0
  351. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/investigation.py +0 -0
  352. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/lifecycle.py +0 -0
  353. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/migrate.py +0 -0
  354. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/observation.py +0 -0
  355. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/observe.py +0 -0
  356. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/operations.py +0 -0
  357. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/operator.py +0 -0
  358. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/project.py +0 -0
  359. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/py.typed +0 -0
  360. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/recording.py +0 -0
  361. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/render_api.py +0 -0
  362. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/resources.py +0 -0
  363. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/secrets.py +0 -0
  364. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/service_evidence.py +0 -0
  365. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/validation.py +0 -0
  366. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/src/cloudfall/why.py +0 -0
  367. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_agent_server.py +0 -0
  368. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_ansible_reader.py +0 -0
  369. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_app.py +0 -0
  370. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_arguments.py +0 -0
  371. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_audit.py +0 -0
  372. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_authoring.py +0 -0
  373. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_catalog.py +0 -0
  374. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_commands.py +0 -0
  375. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_cutover.py +0 -0
  376. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_dashboard_server.py +0 -0
  377. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_data_migration.py +0 -0
  378. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_decision.py +0 -0
  379. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_host_stats.py +0 -0
  380. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_importer.py +0 -0
  381. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_inventory.py +0 -0
  382. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_investigation.py +0 -0
  383. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_lifecycle.py +0 -0
  384. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_migrate.py +0 -0
  385. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_observe.py +0 -0
  386. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_operations_dashboard.py +0 -0
  387. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_operator.py +0 -0
  388. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_project.py +0 -0
  389. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_render_api.py +0 -0
  390. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_resources.py +0 -0
  391. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_secrets.py +0 -0
  392. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_service_evidence.py +0 -0
  393. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_validation.py +0 -0
  394. {cloudfall-0.7.0rc2 → cloudfall-0.7.0rc3}/sdk/tests/test_why.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: cloudfall
3
- Version: 0.7.0rc2
3
+ Version: 0.7.0rc3
4
4
  Summary: The operator's record for self-hosted servers run by an AI agent: Ansible executes, Cloudfall gates, verifies and keeps the receipts
5
5
  Project-URL: Homepage, https://cloudfall.dev
6
6
  Project-URL: Repository, https://github.com/cloudfall-dev/cloudfall
@@ -0,0 +1,8 @@
1
+ ### Fixed
2
+
3
+ - The Neon guide says each database belongs to an application Cloudfall
4
+ deploys on the same server, and no longer suggests an app on another host
5
+ can reach it; the brownfield design's operation example uses a target
6
+ scope the schema accepts (`host`); the site no longer offers a PostgreSQL
7
+ on its own, and its navigation and footer links are easier to tap on a
8
+ phone (#81)
@@ -216,7 +216,7 @@ Every playbook or role the team already runs becomes an operation:
216
216
  id: deploy
217
217
  playbook: playbooks/deploy.yml
218
218
  risk: mutating
219
- targets: component
219
+ targets: host
220
220
  inputs:
221
221
  version: string
222
222
  preconditions:
@@ -60,13 +60,22 @@ simply absent:
60
60
  (a Hetzner Cloud VPS is the proven reference), or a fresh one plus an
61
61
  hour to get there
62
62
  - The Neon application's connection details and console access
63
+ - The application that uses the database, declared in the same project
64
+ so Cloudfall deploys it on the server (see Step 1)
63
65
  - Python 3.14 and [`uv`](https://docs.astral.sh/uv/) on the machine you
64
66
  run Cloudfall from
65
67
 
66
68
  ## Step 1: declare the PostgreSQL service
67
69
 
68
- One `Service` resource, with the major version matching Neon's (the Neon
69
- console shows it under application settings):
70
+ Each database belongs to an application Cloudfall deploys on the same
71
+ server: `databases[].application` names a declared `Application`, and that
72
+ application needs at least one component. Declare the application first
73
+ ([getting started](getting-started.md)). A database on its own, for an app
74
+ that stays on another host, is not supported yet
75
+ ([#81](https://github.com/cloudfall-dev/cloudfall/issues/81)).
76
+
77
+ Then one `Service` resource, with the major version matching Neon's (the
78
+ Neon console shows it under application settings):
70
79
 
71
80
  ```yaml
72
81
  ---
@@ -186,10 +195,9 @@ database will produce.
186
195
 
187
196
  ## Step 5: cut over the application
188
197
 
189
- Point the application's `DATABASE_URL` at the migrated database. For a
190
- co-located app this is the local peer-authenticated socket URL (no
191
- password, no TLS, no pooler); for an app elsewhere, route it the same
192
- way as any other declared service. Deploy, watch health, and keep writes
198
+ Point the application's `DATABASE_URL` at the migrated database. The app
199
+ runs on the same server, so this is the local peer-authenticated socket URL
200
+ (no password, no TLS, no pooler). Deploy, watch health, and keep writes
193
201
  frozen until the app is verified against the new database.
194
202
 
195
203
  ## Step 6: wind down Neon
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cloudfall"
3
- version = "0.7.0rc2"
3
+ version = "0.7.0rc3"
4
4
  description = "The operator's record for self-hosted servers run by an AI agent: Ansible executes, Cloudfall gates, verifies and keeps the receipts"
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-or-later"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes