infra-cli 0.1.4__tar.gz → 0.1.6__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 (517) hide show
  1. infra_cli-0.1.6/MANIFEST.in +24 -0
  2. infra_cli-0.1.6/PKG-INFO +192 -0
  3. infra_cli-0.1.6/README.md +126 -0
  4. {infra_cli-0.1.4 → infra_cli-0.1.6}/pyproject.toml +39 -2
  5. infra_cli-0.1.6/setup.py +63 -0
  6. infra_cli-0.1.6/src/infra/VERSION +5 -0
  7. infra_cli-0.1.6/src/infra/__main__.py +4 -0
  8. infra_cli-0.1.6/src/infra/buildinfo.py +253 -0
  9. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/cli.py +48 -8
  10. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/config_cmds.py +2 -0
  11. infra_cli-0.1.6/src/infra/commands/setup.py +424 -0
  12. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/context.py +5 -0
  13. infra_cli-0.1.6/src/infra/doctor.py +352 -0
  14. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/cli.py +10 -10
  15. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/landing_zones.py +2 -2
  16. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/profiles_cmd.py +2 -1
  17. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/cli.py +107 -16
  18. infra_cli-0.1.6/src/infra/plugins/aws/ec2_cves.py +1863 -0
  19. infra_cli-0.1.6/src/infra/plugins/aws/ec2_login.py +281 -0
  20. infra_cli-0.1.6/src/infra/plugins/aws/ecr_cves.py +1085 -0
  21. infra_cli-0.1.6/src/infra/plugins/aws/ecs_list_clusters.py +164 -0
  22. infra_cli-0.1.6/src/infra/plugins/aws/ecs_list_tasks.py +549 -0
  23. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/inventory/common.py +220 -15
  24. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/inventory/ec2.py +14 -0
  25. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/inventory/elasticache.py +112 -18
  26. infra_cli-0.1.6/src/infra/plugins/aws/inventory/elasticache_usage.py +704 -0
  27. infra_cli-0.1.6/src/infra/plugins/aws/inventory/match.py +157 -0
  28. infra_cli-0.1.6/src/infra/plugins/aws/inventory/opensearch.py +211 -0
  29. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/inventory/rds.py +27 -16
  30. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/landing_zones.py +40 -9
  31. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/login.py +83 -14
  32. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/logout.py +4 -4
  33. infra_cli-0.1.6/src/infra/plugins/aws/options.py +18 -0
  34. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/profiles.py +190 -54
  35. infra_cli-0.1.6/src/infra/plugins/aws/profiles_cmd.py +258 -0
  36. infra_cli-0.1.6/src/infra/plugins/aws/runtime.py +161 -0
  37. infra_cli-0.1.6/src/infra/plugins/aws/services/ec2.py +237 -0
  38. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/services/ecr.py +369 -137
  39. infra_cli-0.1.6/src/infra/plugins/aws/services/ecs.py +271 -0
  40. infra_cli-0.1.6/src/infra/plugins/aws/services/elasticache.py +198 -0
  41. infra_cli-0.1.6/src/infra/plugins/aws/services/opensearch.py +102 -0
  42. infra_cli-0.1.6/src/infra/plugins/aws/services/options.py +260 -0
  43. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/services/rds.py +39 -4
  44. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/services/ssm.py +141 -8
  45. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/ssm_audit.py +4 -3
  46. infra_cli-0.1.6/src/infra/plugins/aws/ssm_copy.py +298 -0
  47. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/ssm_search.py +8 -9
  48. infra_cli-0.1.6/src/infra/plugins/aws/sso_discovery.py +398 -0
  49. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/token_info.py +107 -0
  50. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/config.py +9 -3
  51. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/cost/cli.py +40 -14
  52. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/cost/plugin.py +12 -5
  53. infra_cli-0.1.6/src/infra/plugins/macos/__init__.py +5 -0
  54. infra_cli-0.1.6/src/infra/plugins/macos/cli.py +152 -0
  55. infra_cli-0.1.6/src/infra/plugins/macos/debug.py +676 -0
  56. infra_cli-0.1.6/src/infra/plugins/macos/power.py +193 -0
  57. infra_cli-0.1.6/src/infra/plugins/naming/__init__.py +7 -0
  58. infra_cli-0.1.6/src/infra/plugins/naming/cli.py +187 -0
  59. infra_cli-0.1.6/src/infra/plugins/naming/model.py +303 -0
  60. infra_cli-0.1.6/src/infra/plugins/naming/scaffold.py +220 -0
  61. infra_cli-0.1.6/src/infra/plugins/oci/__init__.py +5 -0
  62. infra_cli-0.1.6/src/infra/plugins/oci/cli.py +102 -0
  63. infra_cli-0.1.6/src/infra/plugins/oci/login.py +158 -0
  64. infra_cli-0.1.6/src/infra/plugins/oci/logout.py +69 -0
  65. infra_cli-0.1.6/src/infra/plugins/oci/options.py +52 -0
  66. infra_cli-0.1.6/src/infra/plugins/oci/profiles.py +93 -0
  67. infra_cli-0.1.6/src/infra/plugins/oci/profiles_cmd.py +68 -0
  68. infra_cli-0.1.6/src/infra/plugins/oci/runtime.py +74 -0
  69. infra_cli-0.1.6/src/infra/plugins/server/__init__.py +32 -0
  70. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/server/app_factory.py +63 -11
  71. infra_cli-0.1.6/src/infra/plugins/server/cli.py +132 -0
  72. infra_cli-0.1.6/src/infra/plugins/server/dbtools/__init__.py +13 -0
  73. infra_cli-0.1.6/src/infra/plugins/server/dbtools/deps.py +79 -0
  74. infra_cli-0.1.6/src/infra/plugins/server/dbtools/features.py +27 -0
  75. infra_cli-0.1.6/src/infra/plugins/server/dbtools/http_util.py +89 -0
  76. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mongo/__init__.py +8 -0
  77. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mongo/routes.py +227 -0
  78. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mongo/service.py +340 -0
  79. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mongo/ui.py +288 -0
  80. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mount.py +46 -0
  81. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mysql/__init__.py +8 -0
  82. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mysql/routes.py +383 -0
  83. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mysql/service.py +1391 -0
  84. infra_cli-0.1.6/src/infra/plugins/server/dbtools/mysql/ui.py +460 -0
  85. infra_cli-0.1.6/src/infra/plugins/server/dbtools/redis/__init__.py +8 -0
  86. infra_cli-0.1.6/src/infra/plugins/server/dbtools/redis/routes.py +170 -0
  87. infra_cli-0.1.6/src/infra/plugins/server/dbtools/redis/service.py +1164 -0
  88. infra_cli-0.1.6/src/infra/plugins/server/dbtools/redis/ui.py +202 -0
  89. infra_cli-0.1.6/src/infra/plugins/server/dbtools/session.py +98 -0
  90. infra_cli-0.1.6/src/infra/plugins/server/dbtools/shell.py +23 -0
  91. infra_cli-0.1.6/src/infra/plugins/server/dbtools/sql_guard.py +51 -0
  92. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/server/html.py +52 -177
  93. infra_cli-0.1.6/src/infra/plugins/server/web/__init__.py +6 -0
  94. infra_cli-0.1.6/src/infra/plugins/server/web/assets.py +146 -0
  95. infra_cli-0.1.6/src/infra/plugins/server/web/charts.py +31 -0
  96. infra_cli-0.1.6/src/infra/plugins/server/web/components.py +170 -0
  97. infra_cli-0.1.6/src/infra/plugins/server/web/db_common.py +219 -0
  98. infra_cli-0.1.6/src/infra/plugins/server/web/db_page.py +52 -0
  99. infra_cli-0.1.6/src/infra/plugins/server/web/layout.py +97 -0
  100. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/setup/__init__.py +7 -15
  101. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/setup/journal.py +1 -1
  102. infra_cli-0.1.6/src/infra/plugins/setup/ollama_models.py +172 -0
  103. infra_cli-0.1.6/src/infra/plugins/setup/plan.py +464 -0
  104. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/setup/plugin.py +721 -48
  105. infra_cli-0.1.6/src/infra/plugins/setup/profiles.py +591 -0
  106. infra_cli-0.1.6/src/infra/plugins/setup/verify.py +262 -0
  107. infra_cli-0.1.6/src/infra/plugins/tencent/__init__.py +15 -0
  108. infra_cli-0.1.6/src/infra/plugins/tencent/cli.py +248 -0
  109. infra_cli-0.1.6/src/infra/plugins/tencent/landing_zones.py +207 -0
  110. infra_cli-0.1.6/src/infra/plugins/tencent/login.py +259 -0
  111. infra_cli-0.1.6/src/infra/plugins/tencent/logout.py +72 -0
  112. infra_cli-0.1.6/src/infra/plugins/tencent/options.py +59 -0
  113. infra_cli-0.1.6/src/infra/plugins/tencent/profiles.py +96 -0
  114. infra_cli-0.1.6/src/infra/plugins/tencent/profiles_cmd.py +131 -0
  115. infra_cli-0.1.6/src/infra/plugins/tencent/runtime.py +64 -0
  116. infra_cli-0.1.6/src/infra/plugins/tencent/site.py +61 -0
  117. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terraform/plugin.py +105 -77
  118. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terraform/scaffold.py +1 -0
  119. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terragrunt/plugin.py +6 -4
  120. infra_cli-0.1.6/src/infra/plugins/windows/__init__.py +5 -0
  121. infra_cli-0.1.6/src/infra/plugins/windows/cli.py +144 -0
  122. infra_cli-0.1.6/src/infra/plugins/windows/guide.py +466 -0
  123. infra_cli-0.1.6/src/infra/plugins/windows/power.py +213 -0
  124. infra_cli-0.1.6/src/infra/plugins/work/__init__.py +7 -0
  125. infra_cli-0.1.6/src/infra/plugins/work/ai/__init__.py +12 -0
  126. infra_cli-0.1.6/src/infra/plugins/work/ai/audit.py +52 -0
  127. infra_cli-0.1.6/src/infra/plugins/work/ai/client.py +206 -0
  128. infra_cli-0.1.6/src/infra/plugins/work/ai/doctor.py +52 -0
  129. infra_cli-0.1.6/src/infra/plugins/work/ai/models.py +59 -0
  130. infra_cli-0.1.6/src/infra/plugins/work/ai/redact.py +32 -0
  131. infra_cli-0.1.6/src/infra/plugins/work/ai/registry.py +131 -0
  132. infra_cli-0.1.6/src/infra/plugins/work/ai/resolve.py +357 -0
  133. infra_cli-0.1.6/src/infra/plugins/work/ai/sources.py +194 -0
  134. infra_cli-0.1.6/src/infra/plugins/work/ai/url_safety.py +37 -0
  135. infra_cli-0.1.6/src/infra/plugins/work/cli.py +559 -0
  136. infra_cli-0.1.6/src/infra/plugins/work/connectors.py +183 -0
  137. infra_cli-0.1.6/src/infra/plugins/work/context_pack.py +60 -0
  138. infra_cli-0.1.6/src/infra/plugins/work/explain.py +7 -0
  139. infra_cli-0.1.6/src/infra/plugins/work/mcp_stdio.py +195 -0
  140. infra_cli-0.1.6/src/infra/plugins/work/models.py +121 -0
  141. infra_cli-0.1.6/src/infra/plugins/work/planner.py +125 -0
  142. infra_cli-0.1.6/src/infra/plugins/work/runner.py +99 -0
  143. infra_cli-0.1.6/src/infra/plugins/work/skills.py +72 -0
  144. infra_cli-0.1.6/src/infra/shell/__init__.py +10 -0
  145. infra_cli-0.1.6/src/infra/shell/builtins.py +336 -0
  146. infra_cli-0.1.6/src/infra/shell/completer.py +245 -0
  147. infra_cli-0.1.6/src/infra/shell/context.py +199 -0
  148. infra_cli-0.1.6/src/infra/shell/pipe.py +139 -0
  149. infra_cli-0.1.6/src/infra/shell/repl.py +326 -0
  150. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/README.md +24 -3
  151. infra_cli-0.1.6/src/infra/templates/ansible/.ansible-lint +20 -0
  152. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/ansible.cfg +4 -1
  153. infra_cli-0.1.6/src/infra/templates/ansible/callback_plugins/infra_minimal.py +163 -0
  154. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/README.md +114 -0
  155. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/defaults/main.yml +362 -0
  156. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/README.md +58 -0
  157. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ai.yml +130 -0
  158. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ai_darwin.yml +54 -0
  159. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ai_debian.yml +147 -0
  160. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/aliyun.yml +19 -0
  161. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/aliyun_darwin.yml +5 -0
  162. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/aliyun.yml → infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/aliyun_debian.yml +4 -34
  163. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/aws.yml +42 -0
  164. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/aws_darwin.yml +31 -0
  165. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/aws_debian.yml +33 -0
  166. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/cli_ux.yml +88 -0
  167. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/cli_ux_darwin.yml +10 -0
  168. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/cli_ux_debian.yml +81 -0
  169. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/db_clients.yml +10 -0
  170. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/db_clients_darwin.yml +19 -0
  171. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/db_clients_debian.yml +8 -0
  172. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/tasks/deploy_user_config.yml +18 -6
  173. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/desktop_apps.yml +90 -0
  174. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/desktop_apps_darwin.yml +135 -0
  175. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/desktop_apps.yml → infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/desktop_apps_debian.yml +63 -163
  176. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/developer.yml +144 -0
  177. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/developer_darwin.yml +56 -0
  178. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/developer_debian.yml +117 -0
  179. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/dnsmasq.yml +41 -0
  180. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/dnsmasq_darwin.yml +5 -0
  181. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/dnsmasq_debian.yml +7 -0
  182. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/docker.yml +39 -0
  183. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/docker_darwin.yml +49 -0
  184. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/docker_debian.yml +17 -0
  185. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/tasks/download_url.yml +3 -0
  186. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/tasks/fetch_uri.yml +6 -1
  187. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/frontend.yml +214 -0
  188. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/fzf.yml +46 -0
  189. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/fzf_darwin.yml +39 -0
  190. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/fzf_debian.yml +38 -0
  191. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/git.yml +184 -0
  192. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/git_darwin.yml +8 -0
  193. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/git_debian.yml +15 -0
  194. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/tasks/gpg.yml +119 -34
  195. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/gpg_darwin.yml +44 -0
  196. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/gpg_debian.yml +8 -0
  197. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/http_clients.yml +28 -0
  198. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/install_github_tarball.yml +48 -0
  199. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/iterm2.yml +6 -0
  200. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/iterm2_darwin.yml +157 -0
  201. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/iterm2_debian.yml +6 -0
  202. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/java.yml +22 -0
  203. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/java_darwin.yml +13 -0
  204. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/java_debian.yml +47 -0
  205. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/k8s.yml +202 -0
  206. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/k8s_darwin.yml +10 -0
  207. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/k8s_debian.yml +143 -0
  208. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/kind.yml +4 -0
  209. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/kind_darwin.yml +5 -0
  210. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/kind_debian.yml +12 -0
  211. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/linux_tune.yml +8 -0
  212. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/linux_tune_debian.yml +168 -0
  213. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/main.yml +356 -0
  214. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/merge_editor_settings.yml +54 -0
  215. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/tasks/micromamba.yml +2 -18
  216. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/micromamba_darwin.yml +5 -0
  217. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/micromamba_debian.yml +12 -0
  218. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/minikube.yml +4 -0
  219. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/minikube_darwin.yml +5 -0
  220. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/minikube_debian.yml +13 -0
  221. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/mise.yml +119 -0
  222. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/mise_darwin.yml +5 -0
  223. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/mise_debian.yml +13 -0
  224. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/tasks/neovim.yml +2 -13
  225. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/neovim_darwin.yml +5 -0
  226. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/neovim_debian.yml +6 -0
  227. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/neteasy.yml +7 -0
  228. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/neteasy_darwin.yml +14 -0
  229. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/neteasy_debian.yml +9 -0
  230. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/oci.yml +19 -0
  231. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/oci_darwin.yml +5 -0
  232. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/oci_debian.yml +27 -0
  233. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ollama.yml +122 -0
  234. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ollama_darwin.yml +11 -0
  235. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ollama_debian.yml +27 -0
  236. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/openresty.yml +41 -0
  237. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/openresty_darwin.yml +10 -0
  238. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/openresty_debian.yml +84 -0
  239. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/os_setup_darwin.yml +85 -0
  240. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/os_setup_debian.yml +100 -0
  241. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/packer.yml +10 -0
  242. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/packer_darwin.yml +10 -0
  243. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/packer_debian.yml +58 -0
  244. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/python.yml +63 -0
  245. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/python_debian.yml +14 -0
  246. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/qa.yml +9 -0
  247. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/qa_darwin.yml +8 -0
  248. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/qa_debian.yml +61 -0
  249. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/resolve_github_latest.yml +55 -0
  250. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/tasks/ssh.yml +2 -12
  251. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ssh_darwin.yml +5 -0
  252. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/ssh_debian.yml +6 -0
  253. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/sshd_tune.yml +8 -0
  254. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/sshd_tune_debian.yml +223 -0
  255. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/supply_chain.yml +9 -0
  256. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/supply_chain_darwin.yml +8 -0
  257. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/supply_chain_debian.yml +57 -0
  258. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/task.yml +58 -0
  259. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/task_darwin.yml +12 -0
  260. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/task_debian.yml +27 -0
  261. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/tccli.yml +41 -0
  262. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/terraform.yml +51 -0
  263. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/terraform_darwin.yml +95 -0
  264. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/terraform_debian.yml +119 -0
  265. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/tmux.yml +10 -0
  266. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/tmux_darwin.yml +5 -0
  267. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/tmux_debian.yml +6 -0
  268. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/trivy.yml +12 -0
  269. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/trivy_darwin.yml +5 -0
  270. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/trivy_debian.yml +45 -0
  271. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/vim.yml +16 -0
  272. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/vim_darwin.yml +5 -0
  273. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/vim_debian.yml +6 -0
  274. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/zsh.yml +292 -0
  275. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/zsh_darwin.yml +26 -0
  276. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/tasks/zsh_debian.yml +37 -0
  277. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/templates/mise.toml.j2 +7 -0
  278. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/templates/ollama-launchagent.plist.j2 +15 -0
  279. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/templates/ollama-launchctl-env.sh.j2 +17 -0
  280. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/templates/ollama-systemd-override.conf.j2 +14 -0
  281. infra_cli-0.1.6/src/infra/templates/ansible/roles/common/templates/setup_user_env.sh.j2 +167 -0
  282. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/setup.yml +3 -0
  283. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/vars.yml +4 -2
  284. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/aws/config +8 -1
  285. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/aws/credentials +4 -0
  286. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/aws_sso/config.ini +2 -2
  287. infra_cli-0.1.6/src/infra/templates/bat/config +14 -0
  288. infra_cli-0.1.6/src/infra/templates/claude/CLAUDE.APP.md +485 -0
  289. infra_cli-0.1.6/src/infra/templates/claude/CLAUDE.md +166 -0
  290. infra_cli-0.1.6/src/infra/templates/claude/README.md +34 -0
  291. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/claude/config.json +1 -0
  292. infra_cli-0.1.6/src/infra/templates/codex/config.toml +9 -0
  293. infra_cli-0.1.6/src/infra/templates/config/config.yml +162 -0
  294. infra_cli-0.1.6/src/infra/templates/copilot/settings.json +6 -0
  295. infra_cli-0.1.6/src/infra/templates/curl/curlrc +30 -0
  296. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/cursor/settings.json +7 -0
  297. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/desktop/README.md +34 -4
  298. infra_cli-0.1.6/src/infra/templates/developer/README.md +85 -0
  299. infra_cli-0.1.6/src/infra/templates/direnv/direnv.toml +13 -0
  300. infra_cli-0.1.6/src/infra/templates/direnv/envrc.example +18 -0
  301. infra_cli-0.1.6/src/infra/templates/dnsmasq/dnsmasq-local.conf +32 -0
  302. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/docker/config.json.j2 +4 -0
  303. infra_cli-0.1.6/src/infra/templates/editorconfig/editorconfig +31 -0
  304. infra_cli-0.1.6/src/infra/templates/frontend/README.md +83 -0
  305. infra_cli-0.1.6/src/infra/templates/gemini/config.yaml +11 -0
  306. infra_cli-0.1.6/src/infra/templates/gh/config.yml +16 -0
  307. infra_cli-0.1.6/src/infra/templates/git/README.md +189 -0
  308. infra_cli-0.1.6/src/infra/templates/git/attributes +10 -0
  309. infra_cli-0.1.6/src/infra/templates/git/cpr.sh +202 -0
  310. infra_cli-0.1.6/src/infra/templates/git/gitconfig +178 -0
  311. infra_cli-0.1.6/src/infra/templates/git/ignore +98 -0
  312. infra_cli-0.1.6/src/infra/templates/git/mailmap +34 -0
  313. infra_cli-0.1.4/src/infra/templates/git/gitmessage → infra_cli-0.1.6/src/infra/templates/git/message +4 -3
  314. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/gpg/README.md +28 -9
  315. infra_cli-0.1.6/src/infra/templates/iterm2/README.md +91 -0
  316. infra_cli-0.1.6/src/infra/templates/iterm2/infra.json +276 -0
  317. infra_cli-0.1.6/src/infra/templates/k8s/README.md +53 -0
  318. infra_cli-0.1.6/src/infra/templates/mongodb/README.md +13 -0
  319. infra_cli-0.1.6/src/infra/templates/mongodb/mongod-local.conf +84 -0
  320. infra_cli-0.1.6/src/infra/templates/mongodb/mongoshrc.js +19 -0
  321. infra_cli-0.1.6/src/infra/templates/mysql/README.md +16 -0
  322. infra_cli-0.1.6/src/infra/templates/mysql/my.cnf +54 -0
  323. infra_cli-0.1.6/src/infra/templates/mysql/mysqld-local.cnf +74 -0
  324. infra_cli-0.1.6/src/infra/templates/naming/README.md +22 -0
  325. infra_cli-0.1.6/src/infra/templates/nginx/README.md +9 -0
  326. infra_cli-0.1.6/src/infra/templates/nginx/nginx-local.conf +73 -0
  327. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/nvim/init.lua +7 -1
  328. infra_cli-0.1.6/src/infra/templates/ollama/README.md +81 -0
  329. infra_cli-0.1.6/src/infra/templates/openresty/openresty-local.conf +82 -0
  330. infra_cli-0.1.6/src/infra/templates/python/README.md +45 -0
  331. infra_cli-0.1.6/src/infra/templates/python/pypirc +23 -0
  332. infra_cli-0.1.6/src/infra/templates/redis/README.md +14 -0
  333. infra_cli-0.1.6/src/infra/templates/redis/redis-local.conf +82 -0
  334. infra_cli-0.1.6/src/infra/templates/redis/redisclirc +19 -0
  335. infra_cli-0.1.6/src/infra/templates/ripgrep/config +22 -0
  336. infra_cli-0.1.6/src/infra/templates/setup/README.md +665 -0
  337. infra_cli-0.1.6/src/infra/templates/setup/setup.overlay.example.yml +141 -0
  338. infra_cli-0.1.6/src/infra/templates/setup/setup.team.overlay.example.yml +29 -0
  339. infra_cli-0.1.6/src/infra/templates/shell/README.md +34 -0
  340. infra_cli-0.1.6/src/infra/templates/shell/aliases.sh +54 -0
  341. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ssh/README.md +27 -3
  342. infra_cli-0.1.6/src/infra/templates/ssh/conf.d/1password.conf +20 -0
  343. infra_cli-0.1.6/src/infra/templates/ssh/conf.d/github.conf +14 -0
  344. infra_cli-0.1.6/src/infra/templates/ssh/config +36 -0
  345. infra_cli-0.1.6/src/infra/templates/task/README.md +58 -0
  346. infra_cli-0.1.6/src/infra/templates/task/Taskfile.yml +19 -0
  347. infra_cli-0.1.6/src/infra/templates/terraform/.terraform-docs.yml +75 -0
  348. infra_cli-0.1.6/src/infra/templates/terraform/README.md +51 -0
  349. infra_cli-0.1.6/src/infra/templates/terraform/repo/terraform/.gitignore +14 -0
  350. infra_cli-0.1.6/src/infra/templates/terraform/terraform.env +54 -0
  351. infra_cli-0.1.6/src/infra/templates/terraform/terraformrc +144 -0
  352. infra_cli-0.1.6/src/infra/templates/terragrunt/terragrunt.env +52 -0
  353. infra_cli-0.1.6/src/infra/templates/tmux/README.md +88 -0
  354. infra_cli-0.1.6/src/infra/templates/tmux/tmux.conf +57 -0
  355. infra_cli-0.1.6/src/infra/templates/vim/vimrc +55 -0
  356. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/vscode/settings.json +7 -0
  357. infra_cli-0.1.6/src/infra/templates/wget/wgetrc +26 -0
  358. infra_cli-0.1.6/src/infra/templates/work/README.md +255 -0
  359. infra_cli-0.1.6/src/infra/templates/work/skills/cost-review.yml +19 -0
  360. infra_cli-0.1.6/src/infra/templates/work/skills/eol-scan.yml +14 -0
  361. infra_cli-0.1.6/src/infra/templates/work/skills/iac-plan-check.yml +17 -0
  362. infra_cli-0.1.6/src/infra/templates/work/skills/inventory-snapshot.yml +17 -0
  363. infra_cli-0.1.6/src/infra/templates/work/skills/security-pass.yml +17 -0
  364. infra_cli-0.1.6/src/infra/templates/work/skills/workstation-health.yml +16 -0
  365. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/aws.py +57 -8
  366. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/__init__.py +4 -0
  367. infra_cli-0.1.6/src/infra/utils/best_practices/naming.py +20 -0
  368. infra_cli-0.1.6/src/infra/utils/best_practices/task.py +203 -0
  369. infra_cli-0.1.6/src/infra/utils/catalog.py +64 -0
  370. infra_cli-0.1.6/src/infra/utils/config.py +610 -0
  371. infra_cli-0.1.6/src/infra/utils/docker.py +110 -0
  372. infra_cli-0.1.6/src/infra/utils/duration.py +22 -0
  373. infra_cli-0.1.6/src/infra/utils/naming.py +306 -0
  374. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/ui.py +21 -11
  375. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/ui_select.py +159 -11
  376. infra_cli-0.1.6/src/infra_cli.egg-info/SOURCES.txt +457 -0
  377. infra_cli-0.1.4/PKG-INFO +0 -380
  378. infra_cli-0.1.4/README.md +0 -331
  379. infra_cli-0.1.4/src/infra/commands/setup.py +0 -250
  380. infra_cli-0.1.4/src/infra/doctor.py +0 -129
  381. infra_cli-0.1.4/src/infra/plugins/aws/profiles_cmd.py +0 -127
  382. infra_cli-0.1.4/src/infra/plugins/aws/runtime.py +0 -25
  383. infra_cli-0.1.4/src/infra/plugins/aws/services/ec2.py +0 -88
  384. infra_cli-0.1.4/src/infra/plugins/aws/services/elasticache.py +0 -91
  385. infra_cli-0.1.4/src/infra/plugins/aws/services/options.py +0 -114
  386. infra_cli-0.1.4/src/infra/plugins/aws/sso_discovery.py +0 -197
  387. infra_cli-0.1.4/src/infra/plugins/server/__init__.py +0 -27
  388. infra_cli-0.1.4/src/infra/plugins/server/cli.py +0 -83
  389. infra_cli-0.1.4/src/infra/plugins/setup/plan.py +0 -342
  390. infra_cli-0.1.4/src/infra/plugins/setup/profiles.py +0 -188
  391. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/README.md +0 -77
  392. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/defaults/main.yml +0 -192
  393. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/ai.yml +0 -53
  394. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/aws.yml +0 -118
  395. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/developer.yml +0 -137
  396. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/docker.yml +0 -70
  397. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/git.yml +0 -96
  398. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/java.yml +0 -31
  399. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/k8s.yml +0 -151
  400. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/macos.yml +0 -46
  401. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/main.yml +0 -118
  402. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/packer.yml +0 -72
  403. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/python.yml +0 -61
  404. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/terraform.yml +0 -155
  405. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/trivy.yml +0 -71
  406. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/ubuntu.yml +0 -29
  407. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/vim.yml +0 -22
  408. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/tasks/zsh.yml +0 -122
  409. infra_cli-0.1.4/src/infra/templates/ansible/roles/common/templates/setup_user_env.sh.j2 +0 -33
  410. infra_cli-0.1.4/src/infra/templates/codex/config.json +0 -6
  411. infra_cli-0.1.4/src/infra/templates/config/config.yml +0 -63
  412. infra_cli-0.1.4/src/infra/templates/developer/README.md +0 -72
  413. infra_cli-0.1.4/src/infra/templates/gemini/config.yaml +0 -5
  414. infra_cli-0.1.4/src/infra/templates/git/gitconfig +0 -96
  415. infra_cli-0.1.4/src/infra/templates/git/gitignore_global +0 -62
  416. infra_cli-0.1.4/src/infra/templates/git/mailmap +0 -26
  417. infra_cli-0.1.4/src/infra/templates/setup/README.md +0 -351
  418. infra_cli-0.1.4/src/infra/templates/setup/setup.overlay.example.yml +0 -34
  419. infra_cli-0.1.4/src/infra/templates/ssh/conf.d/github.conf +0 -11
  420. infra_cli-0.1.4/src/infra/templates/ssh/config +0 -30
  421. infra_cli-0.1.4/src/infra/templates/terraform/terraform.env +0 -7
  422. infra_cli-0.1.4/src/infra/templates/terraform/terraformrc +0 -6
  423. infra_cli-0.1.4/src/infra/templates/terragrunt/terragrunt.env +0 -22
  424. infra_cli-0.1.4/src/infra/templates/vim/vimrc +0 -53
  425. infra_cli-0.1.4/src/infra/utils/config.py +0 -236
  426. infra_cli-0.1.4/src/infra/utils/naming.py +0 -64
  427. infra_cli-0.1.4/src/infra_cli.egg-info/PKG-INFO +0 -380
  428. infra_cli-0.1.4/src/infra_cli.egg-info/SOURCES.txt +0 -201
  429. infra_cli-0.1.4/src/infra_cli.egg-info/dependency_links.txt +0 -1
  430. infra_cli-0.1.4/src/infra_cli.egg-info/entry_points.txt +0 -2
  431. infra_cli-0.1.4/src/infra_cli.egg-info/requires.txt +0 -33
  432. infra_cli-0.1.4/src/infra_cli.egg-info/top_level.txt +0 -1
  433. infra_cli-0.1.4/tests/test_cli.py +0 -142
  434. {infra_cli-0.1.4 → infra_cli-0.1.6}/LICENSE +0 -0
  435. {infra_cli-0.1.4 → infra_cli-0.1.6}/setup.cfg +0 -0
  436. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/__init__.py +0 -0
  437. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/__init__.py +0 -0
  438. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/ansible.py +0 -0
  439. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/github.py +0 -0
  440. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/options.py +0 -0
  441. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/packer.py +0 -0
  442. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/slack.py +0 -0
  443. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/terraform.py +0 -0
  444. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/commands/terragrunt.py +1 -1
  445. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/execute.py +0 -0
  446. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/__init__.py +0 -0
  447. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/__init__.py +0 -0
  448. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/login.py +0 -0
  449. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/options.py +0 -0
  450. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/profiles.py +0 -0
  451. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/runtime.py +0 -0
  452. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/alibaba/site.py +0 -0
  453. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/ansible.py +0 -0
  454. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/__init__.py +0 -0
  455. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/export.py +0 -0
  456. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/inventory/__init__.py +0 -0
  457. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/services/__init__.py +0 -0
  458. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/aws/services/cost.py +0 -0
  459. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/base.py +0 -0
  460. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/cost/__init__.py +0 -0
  461. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/cost/actions.py +0 -0
  462. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/cost/models.py +0 -0
  463. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/eol/__init__.py +0 -0
  464. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/eol/cache.py +0 -0
  465. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/eol/cli.py +0 -0
  466. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/eol/render.py +0 -0
  467. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/github.py +0 -0
  468. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/packer.py +0 -0
  469. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/setup/cli_upgrade.py +0 -0
  470. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/slack.py +0 -0
  471. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terraform/__init__.py +0 -0
  472. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terraform/args.py +0 -0
  473. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terraform/cleanup.py +0 -0
  474. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terraform/paths.py +0 -0
  475. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terragrunt/__init__.py +0 -0
  476. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terragrunt/args.py +0 -0
  477. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terragrunt/paths.py +0 -0
  478. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/plugins/terragrunt/scaffold.py +0 -0
  479. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/callback_plugins/infra_journal.py +0 -0
  480. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/inventory.ini +0 -0
  481. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/requirements.yml +0 -0
  482. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/ansible/roles/common/meta/main.yml +0 -0
  483. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/config/pypirc +0 -0
  484. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/docker/config.json +0 -0
  485. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/github/README.md +0 -0
  486. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/mamba/mambarc +0 -0
  487. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/packer/packer.pkrvars.hcl +0 -0
  488. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/setup/setup.conf +0 -0
  489. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terraform/repo/terraform/README.md +0 -0
  490. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terraform/repo/terraform/modules/README.md +0 -0
  491. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terraform/repo/terraform/sites/README.md +0 -0
  492. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/main.tf +0 -0
  493. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/outputs.tf +0 -0
  494. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/variables.tf +0 -0
  495. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/versions.tf +0 -0
  496. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/repo/_envcommon/stack.hcl +0 -0
  497. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/repo/account.hcl +0 -0
  498. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/repo/env.hcl +0 -0
  499. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/repo/leaf/terragrunt.hcl +0 -0
  500. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/repo/region.hcl +0 -0
  501. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/repo/root.hcl +0 -0
  502. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/repo/terragrunt.hcl +0 -0
  503. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/templates/terragrunt/terragrunt.hcl +0 -0
  504. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/__init__.py +0 -0
  505. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/backoff.py +0 -0
  506. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/ansible.py +0 -0
  507. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/aws.py +0 -0
  508. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/ci.py +0 -0
  509. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/docker.py +0 -0
  510. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/models.py +0 -0
  511. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/packer.py +0 -0
  512. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/terraform.py +0 -0
  513. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/best_practices/terragrunt.py +0 -0
  514. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/env.py +0 -0
  515. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/fmt.py +0 -0
  516. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/logger.py +0 -0
  517. {infra_cli-0.1.4 → infra_cli-0.1.6}/src/infra/utils/stack_paths.py +0 -0
@@ -0,0 +1,24 @@
1
+ # Allowlist. Setuptools starts from every git-tracked file; drop that list,
2
+ # then add only what `pip install` of the sdist needs. The wheel is the
3
+ # `infra` package under src/ (see pyproject package-data).
4
+ global-exclude *
5
+
6
+ recursive-include src/infra *.py
7
+ recursive-include src/infra/templates *
8
+ include src/infra/VERSION
9
+ include src/infra/templates/ansible/.ansible-lint
10
+ include src/infra/templates/terraform/.terraform-docs.yml
11
+ include src/infra/templates/terraform/repo/terraform/.gitignore
12
+
13
+ include pyproject.toml
14
+ include setup.py
15
+ include README.md
16
+ include LICENSE
17
+ include MANIFEST.in
18
+
19
+ # Local Ansible cache under the template tree (gitignored, still on disk).
20
+ prune src/infra/templates/ansible/.ansible
21
+ global-exclude *.py[cod]
22
+ global-exclude .DS_Store
23
+ recursive-exclude src/infra __pycache__
24
+ recursive-exclude src/infra *.py[cod]
@@ -0,0 +1,192 @@
1
+ Metadata-Version: 2.4
2
+ Name: infra-cli
3
+ Version: 0.1.6
4
+ Summary: Pluggable Infrastructure CLI as a wrapper around DevOps tools.
5
+ Author-email: Youqing Han <ihanyouqing@gmail.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/hanyouqing/infra-cli
8
+ Project-URL: Repository, https://github.com/hanyouqing/infra-cli
9
+ Project-URL: Bug Tracker, https://github.com/hanyouqing/infra-cli/issues
10
+ Project-URL: Changelog, https://github.com/hanyouqing/infra-cli/blob/main/CHANGELOG.md
11
+ Project-URL: Author, https://github.com/hanyouqing
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Topic :: Software Development :: Build Tools
15
+ Classifier: Topic :: System :: Systems Administration
16
+ Requires-Python: >=3.10
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: typer>=0.9.0
20
+ Requires-Dist: typing-extensions>=4.0.0
21
+ Requires-Dist: PyYAML>=6.0
22
+ Requires-Dist: boto3>=1.20.0
23
+ Requires-Dist: rich>=10.0.0
24
+ Requires-Dist: questionary>=2.0.0
25
+ Requires-Dist: prompt_toolkit>=3.0.0
26
+ Requires-Dist: requests>=2.28.0
27
+ Provides-Extra: aws
28
+ Requires-Dist: zxcvbn>=4.4.28; extra == "aws"
29
+ Requires-Dist: openpyxl>=3.1.0; extra == "aws"
30
+ Provides-Extra: server
31
+ Requires-Dist: fastapi>=0.100.0; extra == "server"
32
+ Requires-Dist: uvicorn>=0.20.0; extra == "server"
33
+ Requires-Dist: markdown>=3.4.0; extra == "server"
34
+ Provides-Extra: server-mysql
35
+ Requires-Dist: fastapi>=0.100.0; extra == "server-mysql"
36
+ Requires-Dist: uvicorn>=0.20.0; extra == "server-mysql"
37
+ Requires-Dist: markdown>=3.4.0; extra == "server-mysql"
38
+ Requires-Dist: PyMySQL>=1.1.0; extra == "server-mysql"
39
+ Provides-Extra: server-redis
40
+ Requires-Dist: fastapi>=0.100.0; extra == "server-redis"
41
+ Requires-Dist: uvicorn>=0.20.0; extra == "server-redis"
42
+ Requires-Dist: markdown>=3.4.0; extra == "server-redis"
43
+ Requires-Dist: redis>=5.0.0; extra == "server-redis"
44
+ Requires-Dist: certifi>=2023.0.0; extra == "server-redis"
45
+ Provides-Extra: server-mongo
46
+ Requires-Dist: fastapi>=0.100.0; extra == "server-mongo"
47
+ Requires-Dist: uvicorn>=0.20.0; extra == "server-mongo"
48
+ Requires-Dist: markdown>=3.4.0; extra == "server-mongo"
49
+ Requires-Dist: pymongo>=4.6.0; extra == "server-mongo"
50
+ Provides-Extra: test
51
+ Requires-Dist: pytest>=7.0.0; extra == "test"
52
+ Requires-Dist: pytest-mock>=3.6.1; extra == "test"
53
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
54
+ Requires-Dist: httpx>=0.27.0; extra == "test"
55
+ Provides-Extra: dev
56
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
57
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
58
+ Requires-Dist: types-PyYAML; extra == "dev"
59
+ Requires-Dist: types-setuptools; extra == "dev"
60
+ Requires-Dist: boto3-stubs[essential]; extra == "dev"
61
+ Requires-Dist: ansible-core>=2.16.0; extra == "dev"
62
+ Requires-Dist: ansible-lint>=24.0.0; extra == "dev"
63
+ Requires-Dist: build>=1.0.0; extra == "dev"
64
+ Requires-Dist: twine>=5.0.0; extra == "dev"
65
+ Dynamic: license-file
66
+
67
+ # infra-cli
68
+
69
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
70
+ [![Python Version](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
71
+
72
+ ![infra-cli](docs/assets/logo/logo-infra.svg)
73
+
74
+ Pluggable DevOps CLI wrapping Ansible, Terragrunt, Terraform, AWS SSO, Alibaba / Tencent CloudSSO, OCI session login, and related tools.
75
+
76
+ ## Features
77
+
78
+ - Unified `infra` surface for setup, cloud SSO, inventory, and IaC wrappers
79
+ - Interactive REPL: `infra shell` (Tab completion, history, pipes, prod guard)
80
+ - Agent work mode: `infra work` (skills, connectors, MCP)
81
+ - Local HTML command reference: `infra server start` (optional MySQL/Redis/Mongo DB tools)
82
+
83
+ ## Install
84
+
85
+ ```bash
86
+ pipx install infra-cli
87
+ pipx inject infra-cli '.[aws]' # optional
88
+ source ~/.infra/env.sh # after first run, or: pipx ensurepath
89
+ infra doctor
90
+ ```
91
+
92
+ From checkout: `pipx install .` · Upgrade: `infra setup upgrade-cli --pypi`
93
+ Full macOS/Linux bootstrap: [INSTALL.md](INSTALL.md) · [docs/installation.md](docs/installation.md)
94
+ Docker (host network): [docs/docker.md](docs/docker.md) · `docker compose up`
95
+
96
+ ## Quick start
97
+
98
+ ### setup
99
+
100
+ ```bash
101
+ infra setup doctor
102
+ infra setup aws
103
+ infra setup terraform
104
+ ```
105
+
106
+ ### aws
107
+
108
+ ```bash
109
+ infra aws login
110
+ infra aws select
111
+ infra aws profiles --account
112
+ ```
113
+
114
+ ### naming
115
+
116
+ ```bash
117
+ infra naming payments --org acme --domain acme.io
118
+ ```
119
+
120
+ ### terraform / terragrunt
121
+
122
+ ```bash
123
+ infra terraform -e stg -s platform/example
124
+ infra terragrunt plan -e stg -s platform/example
125
+ ```
126
+
127
+ ### shell
128
+
129
+ ```bash
130
+ infra shell
131
+ ```
132
+
133
+ ### server
134
+
135
+ ```bash
136
+ infra server start # needs: pipx inject infra-cli '.[server]'
137
+ infra server start --enable-mysql --enable-redis # + '.[server-mysql]' / '.[server-redis]'
138
+ ```
139
+
140
+ DB tools open at `/tools`; connect forms keep credentials in process memory only.
141
+ Mutations need `--enable-writes`. Non-loopback bind with DB tools requires `--allow-remote`.
142
+
143
+ ### work
144
+
145
+ ```bash
146
+ infra work plan "find AWS cost waste"
147
+ ```
148
+
149
+ ### doctor
150
+
151
+ ```bash
152
+ infra doctor
153
+ ```
154
+
155
+ Every command accepts `-h` / `--help`.
156
+
157
+ ## Documentation
158
+
159
+ | Guide | Contents |
160
+ | --- | --- |
161
+ | [docs/](docs/README.md) | Index of all user guides |
162
+ | [commands.md](docs/commands.md) | Common workflows |
163
+ | [docker.md](docs/docker.md) | Dockerfile / Compose (host network) |
164
+ | [aws.md](docs/aws.md) | SSO, inventory, ECR, SSM |
165
+ | [setup.md](docs/setup.md) | Workstation bootstrap |
166
+ | [alibaba-cloud.md](docs/alibaba-cloud.md) | `aliyun` / `alicloud` |
167
+ | [oci.md](docs/oci.md) | `infra setup oci` / `infra oci login` |
168
+ | [terraform-terragrunt.md](docs/terraform-terragrunt.md) | Layout, scaffold, plan/apply |
169
+ | [work.md](docs/work.md) | Agent work mode |
170
+ | [configuration.md](docs/configuration.md) | `~/.infra/config.yaml` |
171
+ | [release.md](docs/release.md) | PyPI tags & Trusted Publishing |
172
+ | [development.md](docs/development.md) | Local tests & lint |
173
+ | [CHANGELOG.md](CHANGELOG.md) | Release history |
174
+ | [Logo](docs/assets/logo/README.md) | Brand marks (SVG) |
175
+
176
+ ## Development
177
+
178
+ ```bash
179
+ make install-dev
180
+ make test
181
+ make check
182
+ ```
183
+
184
+ See [CONTRIBUTING.md](CONTRIBUTING.md).
185
+
186
+ ## Author & Contact
187
+
188
+ Youqing Han — [GitHub](https://github.com/hanyouqing) · Issues for public bugs; email for private / CoC / partnership contact (see `pyproject.toml`).
189
+
190
+ ## License
191
+
192
+ Apache License 2.0 — see [LICENSE](LICENSE).
@@ -0,0 +1,126 @@
1
+ # infra-cli
2
+
3
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
4
+ [![Python Version](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
5
+
6
+ ![infra-cli](docs/assets/logo/logo-infra.svg)
7
+
8
+ Pluggable DevOps CLI wrapping Ansible, Terragrunt, Terraform, AWS SSO, Alibaba / Tencent CloudSSO, OCI session login, and related tools.
9
+
10
+ ## Features
11
+
12
+ - Unified `infra` surface for setup, cloud SSO, inventory, and IaC wrappers
13
+ - Interactive REPL: `infra shell` (Tab completion, history, pipes, prod guard)
14
+ - Agent work mode: `infra work` (skills, connectors, MCP)
15
+ - Local HTML command reference: `infra server start` (optional MySQL/Redis/Mongo DB tools)
16
+
17
+ ## Install
18
+
19
+ ```bash
20
+ pipx install infra-cli
21
+ pipx inject infra-cli '.[aws]' # optional
22
+ source ~/.infra/env.sh # after first run, or: pipx ensurepath
23
+ infra doctor
24
+ ```
25
+
26
+ From checkout: `pipx install .` · Upgrade: `infra setup upgrade-cli --pypi`
27
+ Full macOS/Linux bootstrap: [INSTALL.md](INSTALL.md) · [docs/installation.md](docs/installation.md)
28
+ Docker (host network): [docs/docker.md](docs/docker.md) · `docker compose up`
29
+
30
+ ## Quick start
31
+
32
+ ### setup
33
+
34
+ ```bash
35
+ infra setup doctor
36
+ infra setup aws
37
+ infra setup terraform
38
+ ```
39
+
40
+ ### aws
41
+
42
+ ```bash
43
+ infra aws login
44
+ infra aws select
45
+ infra aws profiles --account
46
+ ```
47
+
48
+ ### naming
49
+
50
+ ```bash
51
+ infra naming payments --org acme --domain acme.io
52
+ ```
53
+
54
+ ### terraform / terragrunt
55
+
56
+ ```bash
57
+ infra terraform -e stg -s platform/example
58
+ infra terragrunt plan -e stg -s platform/example
59
+ ```
60
+
61
+ ### shell
62
+
63
+ ```bash
64
+ infra shell
65
+ ```
66
+
67
+ ### server
68
+
69
+ ```bash
70
+ infra server start # needs: pipx inject infra-cli '.[server]'
71
+ infra server start --enable-mysql --enable-redis # + '.[server-mysql]' / '.[server-redis]'
72
+ ```
73
+
74
+ DB tools open at `/tools`; connect forms keep credentials in process memory only.
75
+ Mutations need `--enable-writes`. Non-loopback bind with DB tools requires `--allow-remote`.
76
+
77
+ ### work
78
+
79
+ ```bash
80
+ infra work plan "find AWS cost waste"
81
+ ```
82
+
83
+ ### doctor
84
+
85
+ ```bash
86
+ infra doctor
87
+ ```
88
+
89
+ Every command accepts `-h` / `--help`.
90
+
91
+ ## Documentation
92
+
93
+ | Guide | Contents |
94
+ | --- | --- |
95
+ | [docs/](docs/README.md) | Index of all user guides |
96
+ | [commands.md](docs/commands.md) | Common workflows |
97
+ | [docker.md](docs/docker.md) | Dockerfile / Compose (host network) |
98
+ | [aws.md](docs/aws.md) | SSO, inventory, ECR, SSM |
99
+ | [setup.md](docs/setup.md) | Workstation bootstrap |
100
+ | [alibaba-cloud.md](docs/alibaba-cloud.md) | `aliyun` / `alicloud` |
101
+ | [oci.md](docs/oci.md) | `infra setup oci` / `infra oci login` |
102
+ | [terraform-terragrunt.md](docs/terraform-terragrunt.md) | Layout, scaffold, plan/apply |
103
+ | [work.md](docs/work.md) | Agent work mode |
104
+ | [configuration.md](docs/configuration.md) | `~/.infra/config.yaml` |
105
+ | [release.md](docs/release.md) | PyPI tags & Trusted Publishing |
106
+ | [development.md](docs/development.md) | Local tests & lint |
107
+ | [CHANGELOG.md](CHANGELOG.md) | Release history |
108
+ | [Logo](docs/assets/logo/README.md) | Brand marks (SVG) |
109
+
110
+ ## Development
111
+
112
+ ```bash
113
+ make install-dev
114
+ make test
115
+ make check
116
+ ```
117
+
118
+ See [CONTRIBUTING.md](CONTRIBUTING.md).
119
+
120
+ ## Author & Contact
121
+
122
+ Youqing Han — [GitHub](https://github.com/hanyouqing) · Issues for public bugs; email for private / CoC / partnership contact (see `pyproject.toml`).
123
+
124
+ ## License
125
+
126
+ Apache License 2.0 — see [LICENSE](LICENSE).
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "infra-cli"
7
- version = "0.1.4"
7
+ version = "0.1.6"
8
8
  description = "Pluggable Infrastructure CLI as a wrapper around DevOps tools."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -25,6 +25,7 @@ dependencies = [
25
25
  "boto3>=1.20.0",
26
26
  "rich>=10.0.0",
27
27
  "questionary>=2.0.0",
28
+ "prompt_toolkit>=3.0.0",
28
29
  "requests>=2.28.0",
29
30
  ]
30
31
 
@@ -45,6 +46,25 @@ server = [
45
46
  "uvicorn>=0.20.0",
46
47
  "markdown>=3.4.0",
47
48
  ]
49
+ server-mysql = [
50
+ "fastapi>=0.100.0",
51
+ "uvicorn>=0.20.0",
52
+ "markdown>=3.4.0",
53
+ "PyMySQL>=1.1.0",
54
+ ]
55
+ server-redis = [
56
+ "fastapi>=0.100.0",
57
+ "uvicorn>=0.20.0",
58
+ "markdown>=3.4.0",
59
+ "redis>=5.0.0",
60
+ "certifi>=2023.0.0",
61
+ ]
62
+ server-mongo = [
63
+ "fastapi>=0.100.0",
64
+ "uvicorn>=0.20.0",
65
+ "markdown>=3.4.0",
66
+ "pymongo>=4.6.0",
67
+ ]
48
68
  test = [
49
69
  "pytest>=7.0.0",
50
70
  "pytest-mock>=3.6.1",
@@ -68,9 +88,18 @@ infra = "infra.cli:run"
68
88
 
69
89
  [tool.setuptools.packages.find]
70
90
  where = ["src"]
91
+ include = ["infra*"]
71
92
 
72
93
  [tool.setuptools.package-data]
73
- infra = ["templates/**/*"]
94
+ infra = ["templates/**/*", "VERSION"]
95
+
96
+ [tool.setuptools.exclude-package-data]
97
+ infra = [
98
+ "templates/ansible/.ansible/**",
99
+ "**/__pycache__/**",
100
+ "**/*.py[cod]",
101
+ "**/.DS_Store",
102
+ ]
74
103
 
75
104
  [tool.ruff]
76
105
  line-length = 88
@@ -108,3 +137,11 @@ module = "infra.*"
108
137
  disallow_untyped_defs = true
109
138
  disallow_incomplete_defs = true
110
139
  check_untyped_defs = true
140
+
141
+ [[tool.mypy.overrides]]
142
+ module = [
143
+ "infra.plugins.server.dbtools.mysql.service",
144
+ "infra.plugins.server.dbtools.redis.service",
145
+ ]
146
+ disallow_untyped_defs = false
147
+ disallow_incomplete_defs = false
@@ -0,0 +1,63 @@
1
+ """Write src/infra/VERSION during sdist / wheel / editable builds."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import sys
6
+ from pathlib import Path
7
+
8
+ from setuptools import setup
9
+ from setuptools.command.build_py import build_py
10
+ from setuptools.command.egg_info import egg_info
11
+ from setuptools.command.sdist import sdist
12
+
13
+ ROOT = Path(__file__).resolve().parent
14
+ SRC = ROOT / "src"
15
+ if str(SRC) not in sys.path:
16
+ sys.path.insert(0, str(SRC))
17
+
18
+ from infra.buildinfo import write_packaged_version # noqa: E402
19
+
20
+
21
+ def _write_version() -> None:
22
+ write_packaged_version(SRC / "infra" / "VERSION")
23
+
24
+
25
+ class BuildPyVersion(build_py):
26
+ def run(self) -> None:
27
+ _write_version()
28
+ super().run()
29
+
30
+
31
+ class SdistVersion(sdist):
32
+ def run(self) -> None:
33
+ _write_version()
34
+ super().run()
35
+
36
+
37
+ class EggInfoVersion(egg_info):
38
+ def run(self) -> None:
39
+ _write_version()
40
+ super().run()
41
+
42
+
43
+ _CMDCLASS = {
44
+ "build_py": BuildPyVersion,
45
+ "sdist": SdistVersion,
46
+ "egg_info": EggInfoVersion,
47
+ }
48
+
49
+ try:
50
+ from setuptools.command.editable_wheel import editable_wheel
51
+ except ImportError:
52
+ pass
53
+ else:
54
+
55
+ class EditableWheelVersion(editable_wheel):
56
+ def run(self) -> None:
57
+ _write_version()
58
+ super().run()
59
+
60
+ _CMDCLASS["editable_wheel"] = EditableWheelVersion
61
+
62
+
63
+ setup(cmdclass=_CMDCLASS)
@@ -0,0 +1,5 @@
1
+ package=0.1.6
2
+ build_date=2026-10-24T04:13:53Z
3
+ commit=eea5192816d39ed2191603fd0ec103e19a61adf2
4
+ commit_time=2026-10-24T12:13:15+08:00
5
+ dirty=false
@@ -0,0 +1,4 @@
1
+ from infra.cli import run
2
+
3
+ if __name__ == "__main__":
4
+ run()