aap-demo 2.0.0.dev0__tar.gz → 2.0.0.dev1__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 (474) hide show
  1. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/PKG-INFO +12 -10
  2. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/README.md +11 -9
  3. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/plugin_packs/apme-prototype-plugins-8593383-20260718025043.oci.tar.gz +1 -1
  4. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/FULL-README.md +11 -9
  5. aap_demo-2.0.0.dev1/src/aap_demo/__init__.py +6 -0
  6. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/ops.py +5 -2
  7. aap_demo-2.0.0.dev1/src/aap_demo/core/self_update.py +145 -0
  8. aap_demo-2.0.0.dev1/tests/unit/test_self_update.py +150 -0
  9. aap_demo-2.0.0.dev0/src/aap_demo/__init__.py +0 -6
  10. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.ansible-lint +0 -0
  11. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.claude/CLAUDE.md +0 -0
  12. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.claude/skills/aap-demo/SKILL.md +0 -0
  13. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.claude/skills/aap-demo/evals/evals.json +0 -0
  14. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.commitlintrc.json +0 -0
  15. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.editorconfig +0 -0
  16. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  17. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/ISSUE_TEMPLATE/documentation.yaml +0 -0
  18. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/ISSUE_TEMPLATE/github-plugin-apme.md +0 -0
  19. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  20. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/requirements/pypi-build.txt +0 -0
  21. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/commitlint.yaml +0 -0
  22. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/lint.yaml +0 -0
  23. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/pr-checks.yaml +0 -0
  24. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/pypi-publish.yaml +0 -0
  25. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/python-tests.yaml +0 -0
  26. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/status-badges.yaml +0 -0
  27. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/test.yaml +0 -0
  28. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.github/workflows/version-check.yaml +0 -0
  29. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.gitignore +0 -0
  30. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.markdown-link-check.json +0 -0
  31. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.markdownlint.json +0 -0
  32. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.pre-commit-config.yaml +0 -0
  33. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.secrets.baseline +0 -0
  34. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.shellcheckrc +0 -0
  35. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/.yamllint +0 -0
  36. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/LICENSE +0 -0
  37. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/Makefile +0 -0
  38. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/SECURITY.md +0 -0
  39. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/SKILL.md +0 -0
  40. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/VERSION +0 -0
  41. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/aap-demo.sh +0 -0
  42. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/README.md +0 -0
  43. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/demos/README.md +0 -0
  44. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/deploy.sh +0 -0
  45. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/lib/admin-password.sh +0 -0
  46. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/lib/install-plan-approval.sh +0 -0
  47. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/lib/replica-profile.sh +0 -0
  48. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/manifests/README.md +0 -0
  49. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/manifests/automationorchestrator-cr.yaml +0 -0
  50. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/manifests/operator-rbac.yaml +0 -0
  51. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/manifests/operator-subscription.yaml +0 -0
  52. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/manifests/postgres-cluster.yaml +0 -0
  53. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/playbooks/sync-ao-demos.yml +0 -0
  54. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/playbooks/tasks/sync_workflow.yml +0 -0
  55. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/scripts/generate-manifests.sh +0 -0
  56. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/scripts/import-demos.py +0 -0
  57. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ao/scripts/provision-aap-demos.py +0 -0
  58. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/.gitignore +0 -0
  59. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/README.md +0 -0
  60. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/TEST_PLAN.md +0 -0
  61. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/defaults.yml +0 -0
  62. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/deploy.sh +0 -0
  63. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/apme-vars.example.yml +0 -0
  64. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/deploy_apme_portal.yml +0 -0
  65. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/aap_apme_prerequisites/defaults/main.yml +0 -0
  66. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/aap_apme_prerequisites/meta/main.yml +0 -0
  67. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/aap_apme_prerequisites/tasks/create_api_token.yml +0 -0
  68. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/aap_apme_prerequisites/tasks/create_oauth_app.yml +0 -0
  69. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/aap_apme_prerequisites/tasks/main.yml +0 -0
  70. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_gateway_helm/defaults/main.yml +0 -0
  71. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_gateway_helm/files/apme-values.yaml +0 -0
  72. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_gateway_helm/meta/main.yml +0 -0
  73. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_gateway_helm/tasks/main.yml +0 -0
  74. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_bootstrap/defaults/main.yml +0 -0
  75. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_bootstrap/tasks/main.yml +0 -0
  76. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_values/defaults/main.yml +0 -0
  77. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_values/files/portal-apme-values.yaml.template +0 -0
  78. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_values/meta/main.yml +0 -0
  79. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_values/tasks/aap_auth_only.yml +0 -0
  80. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_values/tasks/main.yml +0 -0
  81. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_values/tasks/pah_integration.yml +0 -0
  82. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_helm_values/tasks/portal_app_config_substitution.yml +0 -0
  83. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_oci_push/defaults/main.yml +0 -0
  84. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_oci_push/meta/main.yml +0 -0
  85. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_oci_push/tasks/main.yml +0 -0
  86. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_pah_integration/defaults/main.yml +0 -0
  87. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_pah_integration/meta/main.yml +0 -0
  88. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_pah_integration/tasks/main.yml +0 -0
  89. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_pah_integration/tasks/seed_apme_galaxy_servers.yml +0 -0
  90. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_scm_secrets/defaults/main.yml +0 -0
  91. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_scm_secrets/meta/main.yml +0 -0
  92. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/apme_scm_secrets/tasks/main.yml +0 -0
  93. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/openshift_apme_setup/defaults/main.yml +0 -0
  94. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/openshift_apme_setup/files/apme-register-git-repository/content/catalog-info.yaml +0 -0
  95. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/openshift_apme_setup/files/apme-register-git-repository/template.yaml +0 -0
  96. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/openshift_apme_setup/meta/main.yml +0 -0
  97. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/openshift_apme_setup/tasks/main.yml +0 -0
  98. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/openshift_apme_setup/templates/registries-openshift-integrated.conf.j2 +0 -0
  99. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/portal_helm_install/defaults/main.yml +0 -0
  100. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/portal_helm_install/meta/main.yml +0 -0
  101. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/roles/portal_helm_install/tasks/main.yml +0 -0
  102. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/setup.yml +0 -0
  103. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/tasks/resolve_plugin_pack.yml +0 -0
  104. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/templates/deployment-info.md.j2 +0 -0
  105. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/playbooks/templates/kubeconfig.j2 +0 -0
  106. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/plugin_packs/.gitignore +0 -0
  107. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/plugin_packs/README.md +0 -0
  108. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/plugin_packs/plugin-pack.manifest.yml +0 -0
  109. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/requirements.txt +0 -0
  110. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/requirements.yml +0 -0
  111. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/apme-eap/scripts/push_oci_archive.py +0 -0
  112. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/devspaces/checluster.yaml +0 -0
  113. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/devspaces/deploy.sh +0 -0
  114. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/fleet/cloud-init/meta-data.template +0 -0
  115. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/fleet/cloud-init/user-data.template +0 -0
  116. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/fleet/deploy.sh +0 -0
  117. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/fleet/fleet-aap.sh +0 -0
  118. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/fleet/fleet.sh +0 -0
  119. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/local-cache/README.md +0 -0
  120. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/local-cache/deploy.sh +0 -0
  121. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/mcp-server/README.md +0 -0
  122. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/mcp-server/deploy.sh +0 -0
  123. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/mcp-server/mcp-server.yaml +0 -0
  124. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ollama/README.md +0 -0
  125. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ollama/deploy.sh +0 -0
  126. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/ollama/ollama.yaml +0 -0
  127. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/olm/deploy.sh +0 -0
  128. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/opa/README.md +0 -0
  129. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/opa/deploy.sh +0 -0
  130. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/opa/playbooks/clear-policies.yml +0 -0
  131. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/opa/playbooks/demo-policy.yml +0 -0
  132. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/opa/playbooks/load-policies.yml +0 -0
  133. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/opa/playbooks/test-policies.yml +0 -0
  134. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/portal/README.md +0 -0
  135. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/portal/deploy.sh +0 -0
  136. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/portal/values.yaml.template +0 -0
  137. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/portal-operator/README.md +0 -0
  138. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/portal-operator/deploy.sh +0 -0
  139. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-cloud/README.md +0 -0
  140. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-cloud/deploy.sh +0 -0
  141. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-linux/README.md +0 -0
  142. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-linux/deploy.sh +0 -0
  143. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-network/README.md +0 -0
  144. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-network/deploy.sh +0 -0
  145. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-openshift/README.md +0 -0
  146. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-openshift/deploy.sh +0 -0
  147. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-satellite/README.md +0 -0
  148. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-satellite/deploy.sh +0 -0
  149. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-windows/README.md +0 -0
  150. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demo-windows/deploy.sh +0 -0
  151. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos/README.md +0 -0
  152. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos/deploy.sh +0 -0
  153. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos-base/README.md +0 -0
  154. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos-base/deploy.sh +0 -0
  155. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos-base/lib.sh +0 -0
  156. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos-base/patches/README.md +0 -0
  157. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos-base/patches/install-apd.yml +0 -0
  158. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/product-demos-base/playbooks/install-apd-aap-demo.yml +0 -0
  159. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/registry/deploy.sh +0 -0
  160. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/registry/registry.yaml +0 -0
  161. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/addons/setup-pah/deploy.sh +0 -0
  162. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/crs/aap-controller-eda.yaml +0 -0
  163. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/crs/aap-controller.yaml +0 -0
  164. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/crs/aap-minimal-noingress.yaml +0 -0
  165. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/crs/aap-minimal-rwx.yaml +0 -0
  166. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/crs/aap-minimal.yaml +0 -0
  167. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/aap-ingress.yaml +0 -0
  168. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/aap-storage-pvcs.yaml +0 -0
  169. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/coredns-config.yaml +0 -0
  170. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/kustomization.yaml +0 -0
  171. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/local-path-provisioner.yaml +0 -0
  172. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/local-path-scc.yaml +0 -0
  173. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/nfs-provisioner.yaml +0 -0
  174. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/manifests/nfs-server.yaml +0 -0
  175. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/olm/catalogsource.yaml +0 -0
  176. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/olm/operatorgroup.yaml +0 -0
  177. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/olm/subscription.yaml +0 -0
  178. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/config/patches/controller-git-safe-directory.yaml +0 -0
  179. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/CONTRIBUTING.md +0 -0
  180. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/LINTING-QUICK-REF.md +0 -0
  181. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/LINTING-SETUP.md +0 -0
  182. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/LINTING.md +0 -0
  183. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/aap-mcp-server.md +0 -0
  184. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/000-template.md +0 -0
  185. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/001-project-cli-architecture.md +0 -0
  186. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/002-portal-helm-deployment.md +0 -0
  187. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/003-infrastructure-backend-selection.md +0 -0
  188. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/004-portal-helm-addon.md +0 -0
  189. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/005-olm-on-microshift.md +0 -0
  190. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/006-storage-architecture.md +0 -0
  191. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/007-coredns-route-resolution.md +0 -0
  192. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/008-addon-system.md +0 -0
  193. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/009-aap-operator-olm-deployment.md +0 -0
  194. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/010-cross-platform-cli.md +0 -0
  195. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/011-mcp-server-addon.md +0 -0
  196. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/012-scc-and-pod-security.md +0 -0
  197. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/013-in-cluster-registry.md +0 -0
  198. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/014-testing-strategy.md +0 -0
  199. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/015-ingress-ca-user-store-trust.md +0 -0
  200. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/016-console-pah-authentication.md +0 -0
  201. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/017-ao-addon.md +0 -0
  202. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/018-product-demos-addon.md +0 -0
  203. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/019-apme-playbook-addon.md +0 -0
  204. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/019b-apme-aap-native-execution.md +0 -0
  205. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/020-full-openshift-support.md +0 -0
  206. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/021-local-cache-addon.md +0 -0
  207. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/022-apme-prebuilt-portal-hub.md +0 -0
  208. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/023-addon-auto-wiring.md +0 -0
  209. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/024-ollama-addon.md +0 -0
  210. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/025-portal-operator-cpu-preflight.md +0 -0
  211. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/026-fleet-addon.md +0 -0
  212. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/027-low-resource-ao-replicas.md +0 -0
  213. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/028-ao-agentic-model-binding.md +0 -0
  214. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/029-windows-feature-parity.md +0 -0
  215. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/030-windows-native-addon-execution.md +0 -0
  216. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/031-windows-git-bash-wrapper.md +0 -0
  217. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/adr/README.md +0 -0
  218. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/collection-authentication.md +0 -0
  219. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/environment-comparison.md +0 -0
  220. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/plans/windows-feature-parity.md +0 -0
  221. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/plans/windows-git-bash-wrapper.md +0 -0
  222. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/docs/plans/windows-native-addon-port.md +0 -0
  223. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/images/Containerfile.vm +0 -0
  224. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/images/config/microshift-config.yaml +0 -0
  225. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/images/config/policy.json +0 -0
  226. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/aap-demo-notice.sh +0 -0
  227. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/aap-demo-paths.sh +0 -0
  228. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/aap-demo-version.sh +0 -0
  229. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/aap-readiness.sh +0 -0
  230. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/addon-wire.sh +0 -0
  231. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/ao-llm.sh +0 -0
  232. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/crc-create.sh +0 -0
  233. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/galaxy-auth.sh +0 -0
  234. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/infra-api.sh +0 -0
  235. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/infra-crc.sh +0 -0
  236. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/ingress-ca-trust.sh +0 -0
  237. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/json-utils.sh +0 -0
  238. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/olm-catalog-signature.sh +0 -0
  239. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/persistent-crio-store.sh +0 -0
  240. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/includes/temp-swap.sh +0 -0
  241. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/install.sh +0 -0
  242. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/lint.mk +0 -0
  243. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/README.md +0 -0
  244. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/aap-demo.ps1 +0 -0
  245. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/install.ps1 +0 -0
  246. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/AapDemo.psm1 +0 -0
  247. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Addons.ps1 +0 -0
  248. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Collections.ps1 +0 -0
  249. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Commands.ps1 +0 -0
  250. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Create.ps1 +0 -0
  251. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Deploy.ps1 +0 -0
  252. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Diagnose.ps1 +0 -0
  253. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Helpers.ps1 +0 -0
  254. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/NativeAddons.ps1 +0 -0
  255. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/NativeAo.ps1 +0 -0
  256. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/NativeAoWire.ps1 +0 -0
  257. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/NativeProcess.ps1 +0 -0
  258. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Portal.ps1 +0 -0
  259. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Prerequisites.ps1 +0 -0
  260. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Status.ps1 +0 -0
  261. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/powershell/native/Private/Watch.ps1 +0 -0
  262. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/pyproject.toml +0 -0
  263. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/requirements.yml +0 -0
  264. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/README.md +0 -0
  265. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/aap-demo-completion.bash +0 -0
  266. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/aap-demo-completion.zsh +0 -0
  267. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/check-version-bump.sh +0 -0
  268. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/enable-temp-swap.sh +0 -0
  269. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/local-prereq.sh +0 -0
  270. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/multi-host-test.ps1 +0 -0
  271. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/preflight-checks.sh +0 -0
  272. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/require-tool.sh +0 -0
  273. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/setup-linting.sh +0 -0
  274. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/test-temp-swap-flow.sh +0 -0
  275. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/scripts/watch-aap.sh +0 -0
  276. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/__main__.py +0 -0
  277. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/__init__.py +0 -0
  278. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/_schema_args.py +0 -0
  279. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/addons.py +0 -0
  280. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/completion.py +0 -0
  281. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/day2.py +0 -0
  282. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/gui.py +0 -0
  283. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/lifecycle.py +0 -0
  284. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/main.py +0 -0
  285. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cli/observe.py +0 -0
  286. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/__init__.py +0 -0
  287. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/aap.py +0 -0
  288. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/bootstrap.py +0 -0
  289. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/catalog_signature.py +0 -0
  290. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/coredns.py +0 -0
  291. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/deploy.py +0 -0
  292. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/ingress_ca.py +0 -0
  293. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/kubeconfig.py +0 -0
  294. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/namespace.py +0 -0
  295. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/olm.py +0 -0
  296. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/preflight.py +0 -0
  297. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/pull_secret.py +0 -0
  298. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/runtime.py +0 -0
  299. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/scc.py +0 -0
  300. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/status.py +0 -0
  301. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/cluster/storage.py +0 -0
  302. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/__init__.py +0 -0
  303. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/bash_v1.py +0 -0
  304. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/config.py +0 -0
  305. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/console.py +0 -0
  306. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/context.py +0 -0
  307. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/errors.py +0 -0
  308. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/events.py +0 -0
  309. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/migration.py +0 -0
  310. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/output.py +0 -0
  311. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/paths.py +0 -0
  312. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/prompts.py +0 -0
  313. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/schema.py +0 -0
  314. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/secrets.py +0 -0
  315. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/version.py +0 -0
  316. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/core/waiting.py +0 -0
  317. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/__init__.py +0 -0
  318. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/crc-release +0 -0
  319. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/crs/__init__.py +0 -0
  320. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/crs/aap-controller-eda.yaml +0 -0
  321. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/crs/aap-controller.yaml +0 -0
  322. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/crs/aap-minimal-noingress.yaml +0 -0
  323. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/crs/aap-minimal-rwx.yaml +0 -0
  324. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/crs/aap-minimal.yaml +0 -0
  325. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/manifests/__init__.py +0 -0
  326. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/manifests/aap-storage-pvcs.yaml +0 -0
  327. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/manifests/nfs-provisioner.yaml +0 -0
  328. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/manifests/nfs-server.yaml +0 -0
  329. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/olm/__init__.py +0 -0
  330. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/olm/catalogsource.yaml +0 -0
  331. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/olm/operatorgroup.yaml +0 -0
  332. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/olm/subscription.yaml +0 -0
  333. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/__init__.py +0 -0
  334. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/addons.yaml +0 -0
  335. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/core.yaml +0 -0
  336. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/crc.yaml +0 -0
  337. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/deploy.yaml +0 -0
  338. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/gui.yaml +0 -0
  339. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/playbooks.yaml +0 -0
  340. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/secrets.yaml +0 -0
  341. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/data/schema/trust.yaml +0 -0
  342. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/diagnostics/__init__.py +0 -0
  343. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/diagnostics/checks.py +0 -0
  344. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/diagnostics/report.py +0 -0
  345. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/exec/__init__.py +0 -0
  346. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/exec/kubectl.py +0 -0
  347. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/exec/oc.py +0 -0
  348. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/exec/operator_sdk.py +0 -0
  349. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/exec/runner.py +0 -0
  350. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/exec/ssh.py +0 -0
  351. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/infra/__init__.py +0 -0
  352. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/infra/crc.py +0 -0
  353. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/src/aap_demo/infra/crc_install.py +0 -0
  354. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/README.md +0 -0
  355. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-aap-readiness.sh +0 -0
  356. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-admin-password.sh +0 -0
  357. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-catalog-source.sh +0 -0
  358. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-enable-provider.sh +0 -0
  359. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-import-demos.py +0 -0
  360. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-install-plan-approval.sh +0 -0
  361. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-llm-provider.sh +0 -0
  362. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-llm-wiring.sh +0 -0
  363. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-llm-workflow-binding.sh +0 -0
  364. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-mcp-integration.sh +0 -0
  365. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-olm-approval.sh +0 -0
  366. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-operator-subscription.sh +0 -0
  367. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-replica-profile.sh +0 -0
  368. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ao-scc.sh +0 -0
  369. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-cli-parsing.sh +0 -0
  370. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-core-commands.sh +0 -0
  371. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-crc-create-linux-does-not-require-windows-daemon.sh +0 -0
  372. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-crc-create-stability.sh +0 -0
  373. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-crc-create-windows-daemon-setup.sh +0 -0
  374. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-crc-kubectl-fallback.sh +0 -0
  375. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-crc-resource-prompt-condition.sh +0 -0
  376. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-crc-resource-prompt.sh +0 -0
  377. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-crc-version-check.sh +0 -0
  378. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-deploy-cache-order.sh +0 -0
  379. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-deploy-cache-skip.sh +0 -0
  380. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-destroy-invalid-state.sh +0 -0
  381. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-infra-crc-status.sh +0 -0
  382. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ingress-ca-export.sh +0 -0
  383. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-install.sh +0 -0
  384. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-json-utils.sh +0 -0
  385. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-kubectl-child-fallback.sh +0 -0
  386. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-local-cache.sh +0 -0
  387. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-mcp-rollout-timeout.sh +0 -0
  388. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-nfs-capacity-diagnostics.sh +0 -0
  389. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-nfs-storage-size.sh +0 -0
  390. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-ollama.sh +0 -0
  391. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-olm-windows-gitbash.sh +0 -0
  392. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-persistent-crio-store.sh +0 -0
  393. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-portal-helm.sh +0 -0
  394. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-portal-operator.sh +0 -0
  395. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-crc-status.ps1 +0 -0
  396. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-deploy-prerequisites.ps1 +0 -0
  397. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-git-bash-addon.ps1 +0 -0
  398. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-git-bash-interactive.ps1 +0 -0
  399. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-installer-launcher.ps1 +0 -0
  400. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-native-addons.ps1 +0 -0
  401. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-parity.ps1 +0 -0
  402. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-powershell-portal-host-alias.ps1 +0 -0
  403. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-product-demos-api.sh +0 -0
  404. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-product-demos-overlay.sh +0 -0
  405. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-product-demos-project-sync.sh +0 -0
  406. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-provision-aap-demos.py +0 -0
  407. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-windows-deferred-addons.sh +0 -0
  408. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-windows-ingress-ca.sh +0 -0
  409. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-windows-jq-prerequisite.sh +0 -0
  410. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/test/test-windows-python-prerequisite.sh +0 -0
  411. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/conftest.py +0 -0
  412. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/crc/status_running.json +0 -0
  413. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/crc/status_stopped.json +0 -0
  414. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/aap-storage-pvcs.aap-operator.aap.yaml +0 -0
  415. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/catalogsource.aap-operator.4.22.yaml +0 -0
  416. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/cr.controller-eda.aap-operator.yaml +0 -0
  417. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/cr.controller.aap-operator.yaml +0 -0
  418. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/cr.minimal-noingress.public.yaml +0 -0
  419. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/cr.minimal-rwx.aap-operator.yaml +0 -0
  420. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/cr.minimal.aap-operator.yaml +0 -0
  421. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/operatorgroup.aap-operator.yaml +0 -0
  422. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/subscription.aap-operator.stable-2.6.BUGGY.yaml +0 -0
  423. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/golden/subscription.aap-operator.stable-2.7.yaml +0 -0
  424. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/addons_only/.aap-demo/config +0 -0
  425. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/empty_config/.aap-demo/config +0 -0
  426. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/atf-vault-password +0 -0
  427. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/config +0 -0
  428. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/crc-ingress-ca.crt +0 -0
  429. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/galaxy-token +0 -0
  430. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/kubeconfig.microshift +0 -0
  431. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/local-cache/microshift/image.tar +0 -0
  432. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/pah-token +0 -0
  433. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/full/.aap-demo/pull-secret.txt +0 -0
  434. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/no_config/.aap-demo/pull-secret.txt +0 -0
  435. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/partial/.aap-demo/config +0 -0
  436. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/partial/.aap-demo/galaxy-token +0 -0
  437. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/partial/.aap-demo/kubeconfig.microshift +0 -0
  438. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/fixtures/legacy_home/retired_addons/.aap-demo/config +0 -0
  439. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/integration/__init__.py +0 -0
  440. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/integration/conftest.py +0 -0
  441. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/integration/test_deploy_live.py +0 -0
  442. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_bash_v1.py +0 -0
  443. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_bootstrap.py +0 -0
  444. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_catalog_signature.py +0 -0
  445. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cli_observe.py +0 -0
  446. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cli_surface.py +0 -0
  447. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cluster_aap.py +0 -0
  448. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cluster_deploy.py +0 -0
  449. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cluster_kubeconfig.py +0 -0
  450. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cluster_namespace_scc.py +0 -0
  451. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cluster_olm.py +0 -0
  452. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cluster_preflight.py +0 -0
  453. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_cluster_status.py +0 -0
  454. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_config_store.py +0 -0
  455. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_console_report.py +0 -0
  456. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_console_tasks.py +0 -0
  457. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_crc_install.py +0 -0
  458. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_diagnostics_checks.py +0 -0
  459. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_events.py +0 -0
  460. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_exec_ssh.py +0 -0
  461. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_infra_crc.py +0 -0
  462. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_ingress_ca.py +0 -0
  463. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_migration.py +0 -0
  464. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_ops_redhat_status.py +0 -0
  465. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_ops_ssh_kubeconfig.py +0 -0
  466. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_paths.py +0 -0
  467. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_pull_secret.py +0 -0
  468. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_render_golden.py +0 -0
  469. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_runner.py +0 -0
  470. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_runtime.py +0 -0
  471. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_schema_parity.py +0 -0
  472. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_secrets.py +0 -0
  473. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_waiting.py +0 -0
  474. {aap_demo-2.0.0.dev0 → aap_demo-2.0.0.dev1}/tests/unit/test_yaml_loader.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: aap-demo
3
- Version: 2.0.0.dev0
3
+ Version: 2.0.0.dev1
4
4
  Summary: Deploy Ansible Automation Platform 2.7 to OpenShift Local (MicroShift or OpenShift preset)
5
5
  Project-URL: Homepage, https://github.com/RedHatOfficial/aap-demo
6
6
  Project-URL: Source, https://github.com/RedHatOfficial/aap-demo
@@ -52,26 +52,28 @@ Deploy AAP to a local MicroShift cluster in minutes.
52
52
 
53
53
  ## Install
54
54
 
55
- Python 3.9 or newer. While `v2` is in development, install that branch directly. No checkout is required. [pipx](https://pipx.pypa.io/) keeps the command isolated from the rest of your Python packages:
55
+ Python 3.9 or newer. [pipx](https://pipx.pypa.io/) keeps the command isolated from the rest of your Python packages:
56
56
 
57
57
  ```bash
58
- pipx install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
58
+ pipx install aap-demo
59
59
  ```
60
60
 
61
- Pull the latest `v2` commit the same way:
61
+ Update the installed command with:
62
62
 
63
63
  ```bash
64
- pipx install --force "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
64
+ aap-demo update
65
65
  ```
66
66
 
67
- pip and uv install the same branch:
67
+ That checks how this command was installed, then runs `pipx upgrade aap-demo`.
68
+
69
+ pip and uv install the same release:
68
70
 
69
71
  ```bash
70
- pip install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
71
- uv tool install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
72
+ pip install aap-demo
73
+ uv tool install aap-demo
72
74
  ```
73
75
 
74
- The publish workflow uploads this beta to PyPI as a `.dev` release so the `aap-demo` name is reserved. `pip install aap-demo` does not install a `.dev` release. Keep using the git URL above. `pipx install aap-demo` is the command after the 2.0.0 release. Check out `v2` only if you are changing the code.
76
+ This installs the published release of the v2 beta. Check out `v2` only if you are changing the code. If you already installed from the git URL, switch with `pipx install --force aap-demo`.
75
77
 
76
78
  ### Replace the bash v1 command
77
79
 
@@ -224,7 +226,7 @@ aap-demo repair # Fix after sleep/wake issues
224
226
 
225
227
  # Maintenance
226
228
  aap-demo clean # Remove AAP deployment (keeps cluster)
227
- aap-demo update # Pull latest code and reinstall
229
+ aap-demo update # Update the pipx install to the latest release
228
230
  aap-demo help # Full command reference
229
231
  ```
230
232
 
@@ -10,26 +10,28 @@ Deploy AAP to a local MicroShift cluster in minutes.
10
10
 
11
11
  ## Install
12
12
 
13
- Python 3.9 or newer. While `v2` is in development, install that branch directly. No checkout is required. [pipx](https://pipx.pypa.io/) keeps the command isolated from the rest of your Python packages:
13
+ Python 3.9 or newer. [pipx](https://pipx.pypa.io/) keeps the command isolated from the rest of your Python packages:
14
14
 
15
15
  ```bash
16
- pipx install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
16
+ pipx install aap-demo
17
17
  ```
18
18
 
19
- Pull the latest `v2` commit the same way:
19
+ Update the installed command with:
20
20
 
21
21
  ```bash
22
- pipx install --force "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
22
+ aap-demo update
23
23
  ```
24
24
 
25
- pip and uv install the same branch:
25
+ That checks how this command was installed, then runs `pipx upgrade aap-demo`.
26
+
27
+ pip and uv install the same release:
26
28
 
27
29
  ```bash
28
- pip install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
29
- uv tool install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
30
+ pip install aap-demo
31
+ uv tool install aap-demo
30
32
  ```
31
33
 
32
- The publish workflow uploads this beta to PyPI as a `.dev` release so the `aap-demo` name is reserved. `pip install aap-demo` does not install a `.dev` release. Keep using the git URL above. `pipx install aap-demo` is the command after the 2.0.0 release. Check out `v2` only if you are changing the code.
34
+ This installs the published release of the v2 beta. Check out `v2` only if you are changing the code. If you already installed from the git URL, switch with `pipx install --force aap-demo`.
33
35
 
34
36
  ### Replace the bash v1 command
35
37
 
@@ -182,7 +184,7 @@ aap-demo repair # Fix after sleep/wake issues
182
184
 
183
185
  # Maintenance
184
186
  aap-demo clean # Remove AAP deployment (keeps cluster)
185
- aap-demo update # Pull latest code and reinstall
187
+ aap-demo update # Update the pipx install to the latest release
186
188
  aap-demo help # Full command reference
187
189
  ```
188
190
 
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
- name: aap_demo-2.0.0.dev0/addons/apme-eap/plugin_packs/apme-prototype-plugins-8593383-20260718025043.oci.tar.gz
2
+ name: aap_demo-2.0.0.dev1/addons/apme-eap/plugin_packs/apme-prototype-plugins-8593383-20260718025043.oci.tar.gz
3
3
  size: 37785090 bytes
4
4
  sha256: 943f67afce1f9d1852df09b74da0126ef73f861e1ffc066e5196cc3701f341c3
@@ -88,26 +88,28 @@ See [scripts/README.md](../scripts/README.md) for Linux-only details.
88
88
 
89
89
  ### Install
90
90
 
91
- Python 3.9 or newer. While `v2` is in development, install that branch directly. No checkout is required. [pipx](https://pipx.pypa.io/) keeps the command isolated from the rest of your Python packages:
91
+ Python 3.9 or newer. [pipx](https://pipx.pypa.io/) keeps the command isolated from the rest of your Python packages:
92
92
 
93
93
  ```bash
94
- pipx install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
94
+ pipx install aap-demo
95
95
  ```
96
96
 
97
- Pull the latest `v2` commit the same way:
97
+ Update the installed command with:
98
98
 
99
99
  ```bash
100
- pipx install --force "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
100
+ aap-demo update
101
101
  ```
102
102
 
103
- pip and uv install the same branch:
103
+ That checks how this command was installed, then runs `pipx upgrade aap-demo`.
104
+
105
+ pip and uv install the same release:
104
106
 
105
107
  ```bash
106
- pip install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
107
- uv tool install "git+https://github.com/RedHatOfficial/aap-demo.git@v2"
108
+ pip install aap-demo
109
+ uv tool install aap-demo
108
110
  ```
109
111
 
110
- `pipx install aap-demo` replaces the git URL after the package is published. Check out `v2` only if you are changing the code.
112
+ This installs the published release of the v2 beta. Check out `v2` only if you are changing the code. If you already installed from the git URL, switch with `pipx install --force aap-demo`.
111
113
 
112
114
  `./install.sh` links `~/.local/bin/aap-demo` to the bash script. pipx installs v2 at that same path, so move or remove the old command before installing v2.
113
115
 
@@ -255,7 +257,7 @@ aap-demo must-gather /tmp/d # Collect to specific directory
255
257
 
256
258
  # Maintenance
257
259
  aap-demo clean # Remove AAP deployment (keeps cluster)
258
- aap-demo update # Pull latest code and reinstall
260
+ aap-demo update # Update the pipx install to the latest release
259
261
  aap-demo help # Full command reference
260
262
  ```
261
263
 
@@ -0,0 +1,6 @@
1
+ """aap-demo — deploy Ansible Automation Platform 2.7 to OpenShift Local."""
2
+
3
+ # Development release published from the v2 branch.
4
+ __version__ = "2.0.0.dev1"
5
+
6
+ __all__ = ["__version__"]
@@ -17,7 +17,6 @@ from aap_demo.core.context import AppContext
17
17
  from aap_demo.core.errors import (
18
18
  AapDemoError,
19
19
  ClusterUnreachableError,
20
- NotImplementedYetError,
21
20
  UsageError,
22
21
  )
23
22
  from aap_demo.core.output import is_structured
@@ -375,4 +374,8 @@ def idle(ctx: AppContext, args: argparse.Namespace) -> int:
375
374
 
376
375
 
377
376
  def update(ctx: AppContext, args: argparse.Namespace) -> int:
378
- raise NotImplementedYetError("update")
377
+ """Upgrade the pipx install of aap-demo."""
378
+ del args
379
+ from aap_demo.core import self_update
380
+
381
+ return self_update.run(ctx)
@@ -0,0 +1,145 @@
1
+ """Update the pipx install of aap-demo.
2
+
3
+ ``aap-demo update`` is the supported upgrade. It checks how this command was
4
+ installed, then runs ``pipx upgrade aap-demo``. Later checks belong here, not
5
+ in a second command.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import json
11
+ import shutil
12
+ import subprocess
13
+ from typing import Any, Optional, Sequence
14
+
15
+ from aap_demo.core.context import AppContext
16
+ from aap_demo.core.errors import AapDemoError, PrerequisiteError
17
+ from aap_demo.core.version import version_info
18
+ from aap_demo.exec.runner import CompletedCommand
19
+
20
+ PACKAGE = "aap-demo"
21
+ LIST_TIMEOUT = 60.0
22
+ UPGRADE_TIMEOUT = 600.0
23
+
24
+
25
+ def run(ctx: AppContext) -> int:
26
+ """Upgrade the pipx install and report how this command was installed."""
27
+ info = version_info(ctx.runner)
28
+ ctx.console.out(f"Current: {info.version}")
29
+ if info.install_mode == "checkout":
30
+ ctx.console.out(
31
+ "This command is a source checkout. "
32
+ "The update applies to the pipx install, not this tree."
33
+ )
34
+
35
+ pipx = shutil.which("pipx")
36
+ if not pipx:
37
+ raise PrerequisiteError(
38
+ "pipx is not on PATH",
39
+ hint="Install pipx, then run: pipx install aap-demo",
40
+ )
41
+
42
+ source = _installed_source(ctx, pipx)
43
+ if _is_direct_source(source):
44
+ ctx.console.warn(f"This pipx install tracks {source}")
45
+ ctx.console.out("The published release is: pipx install --force aap-demo")
46
+
47
+ ctx.console.out("Upgrading the pipx install...")
48
+ result = _run_pipx(
49
+ ctx,
50
+ [pipx, "upgrade", PACKAGE],
51
+ timeout=UPGRADE_TIMEOUT,
52
+ capture=False,
53
+ action="upgrade",
54
+ )
55
+ if result.returncode != 0:
56
+ return result.returncode
57
+ ctx.console.out("Update complete. Run `aap-demo version` to see the installed release.")
58
+ return 0
59
+
60
+
61
+ def _run_pipx(
62
+ ctx: AppContext,
63
+ argv: Sequence[str],
64
+ *,
65
+ timeout: float,
66
+ action: str,
67
+ capture: bool = True,
68
+ ) -> CompletedCommand:
69
+ """Run one pipx step. A stall becomes an ``aap-demo update`` error."""
70
+ try:
71
+ return ctx.runner.run(list(argv), capture=capture, timeout=timeout)
72
+ except subprocess.TimeoutExpired as exc:
73
+ raise _timeout_error(action, timeout) from exc
74
+ except AapDemoError as exc:
75
+ if "timed out" not in str(exc):
76
+ raise
77
+ raise _timeout_error(action, timeout) from exc
78
+
79
+
80
+ def _timeout_error(action: str, timeout: float) -> AapDemoError:
81
+ return AapDemoError(
82
+ f"pipx {action} timed out after {int(timeout)}s",
83
+ hint="Check the network, then run aap-demo update again.",
84
+ )
85
+
86
+
87
+ def _installed_source(ctx: AppContext, pipx: str) -> str:
88
+ """``package_or_url`` for the pipx app, or raise when pipx did not install it."""
89
+ listing = _run_pipx(ctx, [pipx, "list", "--json"], timeout=LIST_TIMEOUT, action="list")
90
+ if not listing.ok:
91
+ detail = (listing.stderr or listing.stdout or "").strip()
92
+ raise AapDemoError("Could not read the pipx install list", hint=detail or None)
93
+ try:
94
+ payload = json.loads(listing.stdout or "")
95
+ except json.JSONDecodeError as exc:
96
+ raise AapDemoError("Could not read the pipx install list") from exc
97
+ source, gaps = _package_record(payload)
98
+ if source is None:
99
+ raise AapDemoError(
100
+ "aap-demo is not installed with pipx",
101
+ hint="Install the published release with: pipx install aap-demo",
102
+ )
103
+ if gaps:
104
+ missing = " and ".join(gaps)
105
+ ctx.console.warn(f"pipx did not report {missing} for aap-demo")
106
+ ctx.console.out(
107
+ "The install is being treated as the published release. "
108
+ "If it tracks a git URL or a path, switch with: pipx install --force aap-demo"
109
+ )
110
+ return source
111
+
112
+
113
+ def _package_record(payload: Any) -> tuple[Optional[str], list[str]]:
114
+ """``(package_or_url, missing field names)`` for the aap-demo pipx app."""
115
+ venvs = payload.get("venvs") if isinstance(payload, dict) else None
116
+ if not isinstance(venvs, dict):
117
+ return None, []
118
+ for name, env in venvs.items():
119
+ if not isinstance(env, dict):
120
+ continue
121
+ raw_metadata = env.get("metadata")
122
+ metadata = raw_metadata if isinstance(raw_metadata, dict) else {}
123
+ raw_main = metadata.get("main_package")
124
+ main = raw_main if isinstance(raw_main, dict) else {}
125
+ package_name = main.get("package")
126
+ gaps: list[str] = []
127
+ if not package_name:
128
+ gaps.append("package")
129
+ package_name = name
130
+ if str(package_name) != PACKAGE and name != PACKAGE:
131
+ continue
132
+ spec = main.get("package_or_url")
133
+ if not spec:
134
+ gaps.append("package_or_url")
135
+ spec = PACKAGE
136
+ return str(spec), gaps
137
+ return None, []
138
+
139
+
140
+ def _is_direct_source(spec: str) -> bool:
141
+ """True when pipx installed from a URL or a path instead of the PyPI release."""
142
+ text = spec.strip()
143
+ if text in {"", PACKAGE}:
144
+ return False
145
+ return "://" in text or "/" in text or text.startswith((".", "~"))
@@ -0,0 +1,150 @@
1
+ """``aap-demo update`` upgrades the pipx install after checking how it was installed."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ import subprocess
7
+
8
+ import pytest
9
+
10
+ from aap_demo.core import self_update
11
+ from aap_demo.core.errors import AapDemoError, PrerequisiteError
12
+ from aap_demo.core.version import VersionInfo
13
+ from aap_demo.exec.runner import FakeRunner
14
+
15
+ PIPX = "/usr/bin/pipx"
16
+
17
+
18
+ def _info(mode: str = "package") -> VersionInfo:
19
+ return VersionInfo(version="2.0.0.dev0", source="/tmp/aap-demo", install_mode=mode)
20
+
21
+
22
+ def _listing(spec: str = "aap-demo") -> str:
23
+ return json.dumps(
24
+ {
25
+ "venvs": {
26
+ "aap-demo": {
27
+ "metadata": {"main_package": {"package": "aap-demo", "package_or_url": spec}}
28
+ }
29
+ }
30
+ }
31
+ )
32
+
33
+
34
+ def _runner(spec: str = "aap-demo", *, upgrade: bool = True) -> FakeRunner:
35
+ runner = FakeRunner()
36
+ runner.ok([PIPX, "list", "--json"], stdout=_listing(spec))
37
+ if upgrade:
38
+ runner.ok([PIPX, "upgrade", "aap-demo"])
39
+ return runner
40
+
41
+
42
+ def test_update_upgrades_a_pypi_pipx_install(app_ctx, monkeypatch) -> None:
43
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
44
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
45
+ app_ctx.runner = _runner()
46
+
47
+ assert self_update.run(app_ctx) == 0
48
+
49
+ assert app_ctx.runner.called([PIPX, "upgrade", "aap-demo"])
50
+ assert [call.timeout for call in app_ctx.runner.calls] == [
51
+ self_update.LIST_TIMEOUT,
52
+ self_update.UPGRADE_TIMEOUT,
53
+ ]
54
+ assert "Current: 2.0.0.dev0" in app_ctx.console.stdout
55
+ assert "Update complete" in app_ctx.console.stdout
56
+
57
+
58
+ def test_update_warns_when_pipx_tracks_a_git_url(app_ctx, monkeypatch) -> None:
59
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
60
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
61
+ app_ctx.runner = _runner("git+https://github.com/RedHatOfficial/aap-demo.git@v2")
62
+
63
+ assert self_update.run(app_ctx) == 0
64
+
65
+ assert "tracks git+https://" in app_ctx.console.stderr
66
+ assert "pipx install --force aap-demo" in app_ctx.console.stdout
67
+ assert app_ctx.runner.called([PIPX, "upgrade", "aap-demo"])
68
+
69
+
70
+ def test_update_warns_for_a_relative_path_install(app_ctx, monkeypatch) -> None:
71
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
72
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
73
+ app_ctx.runner = _runner("path/to/aap-demo")
74
+
75
+ assert self_update.run(app_ctx) == 0
76
+
77
+ assert "tracks path/to/aap-demo" in app_ctx.console.stderr
78
+ assert "pipx install --force aap-demo" in app_ctx.console.stdout
79
+
80
+
81
+ def test_update_warns_when_pipx_omits_package_or_url(app_ctx, monkeypatch) -> None:
82
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
83
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
84
+ payload = {"venvs": {"aap-demo": {"metadata": {"main_package": {"package": "aap-demo"}}}}}
85
+ runner = FakeRunner()
86
+ runner.ok([PIPX, "list", "--json"], stdout=json.dumps(payload))
87
+ runner.ok([PIPX, "upgrade", "aap-demo"])
88
+ app_ctx.runner = runner
89
+
90
+ assert self_update.run(app_ctx) == 0
91
+
92
+ assert "did not report package_or_url" in app_ctx.console.stderr
93
+ assert "treated as the published release" in app_ctx.console.stdout
94
+ assert runner.called([PIPX, "upgrade", "aap-demo"])
95
+
96
+
97
+ def test_update_says_when_this_command_is_a_checkout(app_ctx, monkeypatch) -> None:
98
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
99
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info("checkout"))
100
+ app_ctx.runner = _runner()
101
+
102
+ assert self_update.run(app_ctx) == 0
103
+
104
+ assert "source checkout" in app_ctx.console.stdout
105
+
106
+
107
+ def test_update_requires_pipx(app_ctx, monkeypatch) -> None:
108
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: None)
109
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
110
+
111
+ with pytest.raises(PrerequisiteError, match="pipx is not on PATH"):
112
+ self_update.run(app_ctx)
113
+
114
+
115
+ def test_update_requires_a_pipx_install(app_ctx, monkeypatch) -> None:
116
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
117
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
118
+ app_ctx.runner = FakeRunner().ok([PIPX, "list", "--json"], stdout='{"venvs": {}}')
119
+
120
+ with pytest.raises(AapDemoError, match="not installed with pipx"):
121
+ self_update.run(app_ctx)
122
+
123
+
124
+ def test_update_reports_a_pipx_list_timeout(app_ctx, monkeypatch) -> None:
125
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
126
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
127
+ runner = FakeRunner()
128
+ runner.register(
129
+ [PIPX, "list", "--json"],
130
+ AapDemoError("command timed out after 60s: /usr/bin/pipx list --json"),
131
+ )
132
+ app_ctx.runner = runner
133
+
134
+ with pytest.raises(AapDemoError, match="pipx list timed out after 60s"):
135
+ self_update.run(app_ctx)
136
+
137
+
138
+ def test_update_reports_a_pipx_upgrade_timeout(app_ctx, monkeypatch) -> None:
139
+ monkeypatch.setattr(self_update.shutil, "which", lambda _name: PIPX)
140
+ monkeypatch.setattr(self_update, "version_info", lambda _runner: _info())
141
+ runner = FakeRunner()
142
+ runner.ok([PIPX, "list", "--json"], stdout=_listing())
143
+ runner.register(
144
+ [PIPX, "upgrade", "aap-demo"],
145
+ subprocess.TimeoutExpired(cmd=[PIPX, "upgrade", "aap-demo"], timeout=600),
146
+ )
147
+ app_ctx.runner = runner
148
+
149
+ with pytest.raises(AapDemoError, match="pipx upgrade timed out after 600s"):
150
+ self_update.run(app_ctx)
@@ -1,6 +0,0 @@
1
- """aap-demo — deploy Ansible Automation Platform 2.7 to OpenShift Local."""
2
-
3
- # Development release published from the v2 branch. pip ignores ``.dev`` versions.
4
- __version__ = "2.0.0.dev0"
5
-
6
- __all__ = ["__version__"]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes