ic-code 1.3.1__tar.gz → 1.3.4__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 (269) hide show
  1. {ic_code-1.3.1/src/ic_code.egg-info → ic_code-1.3.4}/PKG-INFO +4 -3
  2. {ic_code-1.3.1 → ic_code-1.3.4}/README.md +1 -1
  3. {ic_code-1.3.1 → ic_code-1.3.4}/SECURITY.md +3 -3
  4. {ic_code-1.3.1 → ic_code-1.3.4}/config/default.yaml +3 -5
  5. ic_code-1.3.4/docs/README.md +20 -0
  6. ic_code-1.3.4/docs/aws/README.md +62 -0
  7. ic_code-1.3.4/docs/cloudflare/README.md +35 -0
  8. ic_code-1.3.4/docs/gcp/README.md +35 -0
  9. ic_code-1.3.4/docs/installation.md +57 -0
  10. ic_code-1.3.4/docs/oci/README.md +36 -0
  11. ic_code-1.3.4/docs/release-guide.md +50 -0
  12. ic_code-1.3.4/docs/security.md +48 -0
  13. ic_code-1.3.4/docs/tencent/README.md +45 -0
  14. ic_code-1.3.4/docs/troubleshooting.md +37 -0
  15. ic_code-1.3.4/docs/user_guide.md +79 -0
  16. {ic_code-1.3.1 → ic_code-1.3.4}/pyproject.toml +3 -2
  17. {ic_code-1.3.1 → ic_code-1.3.4}/requirements.txt +2 -1
  18. {ic_code-1.3.1 → ic_code-1.3.4}/scripts/ci-detect-platforms.py +1 -1
  19. {ic_code-1.3.1 → ic_code-1.3.4}/scripts/ci-generate-matrix.py +1 -1
  20. {ic_code-1.3.1 → ic_code-1.3.4}/setup.py +3 -0
  21. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/__init__.py +1 -1
  22. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/commands/config.py +63 -283
  23. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/migration.py +2 -2
  24. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ec2/info.py +63 -27
  25. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/lb/info.py +6 -4
  26. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/vpc/info.py +5 -5
  27. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/clb/info.py +134 -48
  28. ic_code-1.3.4/src/ic/platforms/tencent/clb/traffic.py +599 -0
  29. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/cvm/info.py +153 -56
  30. ic_code-1.3.4/src/ic/platforms/tencent/vpc/info.py +439 -0
  31. {ic_code-1.3.1 → ic_code-1.3.4/src/ic_code.egg-info}/PKG-INFO +4 -3
  32. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic_code.egg-info/SOURCES.txt +4 -39
  33. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic_code.egg-info/requires.txt +2 -1
  34. ic_code-1.3.1/docs/README.md +0 -80
  35. ic_code-1.3.1/docs/_templates/configuration.md +0 -196
  36. ic_code-1.3.1/docs/_templates/installation.md +0 -79
  37. ic_code-1.3.1/docs/_templates/troubleshooting.md +0 -414
  38. ic_code-1.3.1/docs/_templates/usage.md +0 -290
  39. ic_code-1.3.1/docs/aws/README.md +0 -78
  40. ic_code-1.3.1/docs/aws/aws_cli_prd.md +0 -317
  41. ic_code-1.3.1/docs/aws/installation.md +0 -121
  42. ic_code-1.3.1/docs/ci-workflow-guide.md +0 -221
  43. ic_code-1.3.1/docs/cloudflare_configuration_example.md +0 -500
  44. ic_code-1.3.1/docs/config_migration.md +0 -169
  45. ic_code-1.3.1/docs/deployment.md +0 -359
  46. ic_code-1.3.1/docs/development/README.md +0 -241
  47. ic_code-1.3.1/docs/development/cleanup_summary.md +0 -125
  48. ic_code-1.3.1/docs/development/development_guide.md +0 -495
  49. ic_code-1.3.1/docs/development/import_patterns.md +0 -342
  50. ic_code-1.3.1/docs/development/migration_guide.md +0 -376
  51. ic_code-1.3.1/docs/gcp/GCP_CONFIGURATION_GUIDE.md +0 -1108
  52. ic_code-1.3.1/docs/gcp/GCP_SECURITY_BEST_PRACTICES.md +0 -608
  53. ic_code-1.3.1/docs/gcp/README.md +0 -38
  54. ic_code-1.3.1/docs/general/configuration.md +0 -189
  55. ic_code-1.3.1/docs/installation.md +0 -384
  56. ic_code-1.3.1/docs/migration.md +0 -462
  57. ic_code-1.3.1/docs/migration_guide.md +0 -290
  58. ic_code-1.3.1/docs/oci/README.md +0 -27
  59. ic_code-1.3.1/docs/oci/installation.md +0 -84
  60. ic_code-1.3.1/docs/release-guide.md +0 -258
  61. ic_code-1.3.1/docs/security.md +0 -470
  62. ic_code-1.3.1/docs/troubleshooting.md +0 -358
  63. ic_code-1.3.1/docs/user_guide.md +0 -113
  64. ic_code-1.3.1/scripts/analysis_summary.py +0 -436
  65. ic_code-1.3.1/scripts/cli_usage_analysis.py +0 -780
  66. ic_code-1.3.1/scripts/dependency_mapper.py +0 -791
  67. ic_code-1.3.1/scripts/final_validation_and_documentation.py +0 -1353
  68. ic_code-1.3.1/scripts/fix_consolidated_imports.py +0 -96
  69. ic_code-1.3.1/scripts/migration_execution_and_validation.py +0 -544
  70. ic_code-1.3.1/scripts/performance_optimization.py +0 -366
  71. ic_code-1.3.1/scripts/setup_venv.py +0 -285
  72. ic_code-1.3.1/scripts/test-ci-detection.sh +0 -111
  73. ic_code-1.3.1/scripts/unset_env.sh +0 -9
  74. ic_code-1.3.1/scripts/validate_config.py +0 -199
  75. ic_code-1.3.1/scripts/validate_dependencies.py +0 -233
  76. ic_code-1.3.1/src/ic/platforms/cloudflare/README.md +0 -564
  77. ic_code-1.3.1/src/ic/platforms/gcp/README.md +0 -744
  78. ic_code-1.3.1/src/ic/platforms/oci/README.md +0 -62
  79. ic_code-1.3.1/src/ic/platforms/ssh/README.md +0 -130
  80. ic_code-1.3.1/src/ic/platforms/tencent/vpc/info.py +0 -214
  81. ic_code-1.3.1/src/ic/security/README.md +0 -293
  82. {ic_code-1.3.1 → ic_code-1.3.4}/LICENSE +0 -0
  83. {ic_code-1.3.1 → ic_code-1.3.4}/MANIFEST.in +0 -0
  84. /ic_code-1.3.1/docs/ssh/configuration.md → /ic_code-1.3.4/docs/ssh/README.md +0 -0
  85. {ic_code-1.3.1 → ic_code-1.3.4}/scripts/bump-version.sh +0 -0
  86. {ic_code-1.3.1 → ic_code-1.3.4}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
  87. {ic_code-1.3.1 → ic_code-1.3.4}/scripts/deploy.sh +0 -0
  88. {ic_code-1.3.1 → ic_code-1.3.4}/scripts/oracle-policy/user_policy.py +0 -0
  89. {ic_code-1.3.1 → ic_code-1.3.4}/setup.cfg +0 -0
  90. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/__init__.py +0 -0
  91. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/gather_env.py +0 -0
  92. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/gcp_config_validator.py +0 -0
  93. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/gcp_monitoring.py +0 -0
  94. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/gcp_utils.py +0 -0
  95. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/log.py +0 -0
  96. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/progress_decorator.py +0 -0
  97. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/slack.py +0 -0
  98. {ic_code-1.3.1 → ic_code-1.3.4}/src/common/utils.py +0 -0
  99. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/cli.py +0 -0
  100. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/commands/__init__.py +0 -0
  101. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/commands/security.py +0 -0
  102. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/compat/__init__.py +0 -0
  103. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/compat/cli.py +0 -0
  104. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/compat/common.py +0 -0
  105. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/__init__.py +0 -0
  106. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/cleanup.py +0 -0
  107. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/docs_organizer.py +0 -0
  108. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/external.py +0 -0
  109. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/installer.py +0 -0
  110. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/manager.py +0 -0
  111. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/migration_utils.py +0 -0
  112. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/path_manager.py +0 -0
  113. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/schema.py +0 -0
  114. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/secrets.py +0 -0
  115. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/config/security.py +0 -0
  116. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/core/__init__.py +0 -0
  117. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/core/dependency_validator.py +0 -0
  118. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/core/logging.py +0 -0
  119. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/core/platform_discovery.py +0 -0
  120. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/core/session.py +0 -0
  121. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/core/silence_logging.py +0 -0
  122. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/__init__.py +0 -0
  123. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/__init__.py +0 -0
  124. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
  125. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/cloudfront/info.py +0 -0
  126. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
  127. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/codepipeline/build.py +0 -0
  128. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/codepipeline/deploy.py +0 -0
  129. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ec2/__init__.py +0 -0
  130. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ec2/list_tags.py +0 -0
  131. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
  132. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ecs/__init__.py +0 -0
  133. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ecs/info.py +0 -0
  134. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ecs/service.py +0 -0
  135. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/ecs/task.py +0 -0
  136. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/eks/__init__.py +0 -0
  137. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/eks/addons.py +0 -0
  138. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/eks/fargate.py +0 -0
  139. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/eks/info.py +0 -0
  140. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/eks/nodes.py +0 -0
  141. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/eks/pods.py +0 -0
  142. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/eks/update_config.py +0 -0
  143. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/fargate/__init__.py +0 -0
  144. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/fargate/info.py +0 -0
  145. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/healthdashboard/__init__.py +0 -0
  146. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/healthdashboard/reboot.py +0 -0
  147. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/lb/__init__.py +0 -0
  148. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/lb/list_tags.py +0 -0
  149. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/lb/tag_check.py +0 -0
  150. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/msk/__init__.py +0 -0
  151. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/msk/broker.py +0 -0
  152. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/msk/info.py +0 -0
  153. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/nat/__init__.py +0 -0
  154. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/nat/list_tags.py +0 -0
  155. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/nat/tag_check.py +0 -0
  156. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/profile/__init__.py +0 -0
  157. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/profile/info.py +0 -0
  158. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/rds/__init__.py +0 -0
  159. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/rds/info.py +0 -0
  160. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/rds/list_tags.py +0 -0
  161. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/rds/tag_check.py +0 -0
  162. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/s3/__init__.py +0 -0
  163. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/s3/info.py +0 -0
  164. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/s3/list_tags.py +0 -0
  165. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/s3/tag_check.py +0 -0
  166. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/sg/__init__.py +0 -0
  167. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/sg/info.py +0 -0
  168. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/vpc/__init__.py +0 -0
  169. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/vpc/list_tags.py +0 -0
  170. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
  171. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/vpn/__init__.py +0 -0
  172. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/aws/vpn/info.py +0 -0
  173. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/__init__.py +0 -0
  174. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/account/__init__.py +0 -0
  175. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/account/info.py +0 -0
  176. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/client.py +0 -0
  177. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
  178. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/dns/info.py +0 -0
  179. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/dns/list_info.py +0 -0
  180. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/rules/__init__.py +0 -0
  181. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/rules/info.py +0 -0
  182. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/traffic/__init__.py +0 -0
  183. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/traffic/info.py +0 -0
  184. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/waf/__init__.py +0 -0
  185. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/waf/info.py +0 -0
  186. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/zone/__init__.py +0 -0
  187. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/cloudflare/zone/info.py +0 -0
  188. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/__init__.py +0 -0
  189. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/billing/__init__.py +0 -0
  190. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/billing/info.py +0 -0
  191. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/billing/mock_data.json +0 -0
  192. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/compute/__init__.py +0 -0
  193. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/compute/info.py +0 -0
  194. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/compute/mock_data.json +0 -0
  195. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
  196. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/firewall/info.py +0 -0
  197. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/functions/__init__.py +0 -0
  198. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/functions/info.py +0 -0
  199. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/gke/__init__.py +0 -0
  200. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/gke/info.py +0 -0
  201. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/gke/mock_data.json +0 -0
  202. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/lb/__init__.py +0 -0
  203. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/lb/info.py +0 -0
  204. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/run/__init__.py +0 -0
  205. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/run/info.py +0 -0
  206. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/sql/__init__.py +0 -0
  207. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/sql/info.py +0 -0
  208. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/storage/__init__.py +0 -0
  209. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/storage/info.py +0 -0
  210. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
  211. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/vpc/info.py +0 -0
  212. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/gcp/vpc/mock_data.json +0 -0
  213. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/__init__.py +0 -0
  214. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/common/__init__.py +0 -0
  215. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/common/utils.py +0 -0
  216. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/compartment/__init__.py +0 -0
  217. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/compartment/info.py +0 -0
  218. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/cost/__init__.py +0 -0
  219. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/cost/credit.py +0 -0
  220. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/cost/usage.py +0 -0
  221. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/info/__init__.py +0 -0
  222. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/info/oci_info.py +0 -0
  223. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/lb/__init__.py +0 -0
  224. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/lb/info.py +0 -0
  225. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/nsg/__init__.py +0 -0
  226. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/nsg/info.py +0 -0
  227. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/obj/__init__.py +0 -0
  228. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/obj/info.py +0 -0
  229. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/policy/__init__.py +0 -0
  230. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/policy/info.py +0 -0
  231. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/policy/search.py +0 -0
  232. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/vcn/__init__.py +0 -0
  233. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/vcn/info.py +0 -0
  234. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/vm/__init__.py +0 -0
  235. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/vm/info.py +0 -0
  236. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/volume/__init__.py +0 -0
  237. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/oci/volume/info.py +0 -0
  238. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/ssh/__init__.py +0 -0
  239. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/ssh/auto/__init__.py +0 -0
  240. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/ssh/auto/scan.py +0 -0
  241. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/ssh/auto_ssh.py +0 -0
  242. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/ssh/server/__init__.py +0 -0
  243. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/ssh/server/info.py +0 -0
  244. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/ssh/server_info.py +0 -0
  245. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/__init__.py +0 -0
  246. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/clb/__init__.py +0 -0
  247. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/client.py +0 -0
  248. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/cvm/__init__.py +0 -0
  249. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/lighthouse/__init__.py +0 -0
  250. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/lighthouse/info.py +0 -0
  251. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/nat/__init__.py +0 -0
  252. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/nat/info.py +0 -0
  253. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/profile/__init__.py +0 -0
  254. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/profile/info.py +0 -0
  255. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/sg/__init__.py +0 -0
  256. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/sg/info.py +0 -0
  257. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/tke/__init__.py +0 -0
  258. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/tke/info.py +0 -0
  259. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/platforms/tencent/vpc/__init__.py +0 -0
  260. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/security/__init__.py +0 -0
  261. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/security/config.py +0 -0
  262. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/security/detector.py +0 -0
  263. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/security/guidance.py +0 -0
  264. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/security/hooks.py +0 -0
  265. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/security/patterns.py +0 -0
  266. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic/security/scanner.py +0 -0
  267. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic_code.egg-info/dependency_links.txt +0 -0
  268. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic_code.egg-info/entry_points.txt +0 -0
  269. {ic_code-1.3.1 → ic_code-1.3.4}/src/ic_code.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ic-code
3
- Version: 1.3.1
3
+ Version: 1.3.4
4
4
  Summary: Infrastructure CLI tool for managing AWS, GCP, OCI, CloudFlare, SSH, and more
5
5
  Home-page: https://github.com/dgr009/ic
6
6
  Author: SangYun Kim
@@ -65,7 +65,8 @@ Requires-Dist: setuptools<76.0.0,>=69.0.0
65
65
  Requires-Dist: tencentcloud-sdk-python<4.0.0,>=3.0.0
66
66
  Provides-Extra: dev
67
67
  Requires-Dist: pytest<9.0.0,>=8.0.0; extra == "dev"
68
- Requires-Dist: pytest-cov<7.0.0,>=5.0.0; extra == "dev"
68
+ Requires-Dist: pytest-cov<8.0.0,>=5.0.0; extra == "dev"
69
+ Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
69
70
  Requires-Dist: black<25.0.0,>=24.0.0; extra == "dev"
70
71
  Requires-Dist: flake8<8.0.0,>=7.0.0; extra == "dev"
71
72
  Requires-Dist: mypy<2.0.0,>=1.10.0; extra == "dev"
@@ -110,7 +111,7 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
110
111
  ### 2. 🟦 Tencent Cloud Services (Production Ready)
111
112
  - **Compute**: CVM instances (with CPU, Mem, Disk, IP, SGs), Lighthouse lightweight application servers
112
113
  - **Containers**: TKE (Tencent Kubernetes Engine) clusters & node details
113
- - **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - with listener rules, health check path & target health analysis), Security Groups (with Ingress/Egress rules & tree view)
114
+ - **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - listener rules, health check, target health analysis & network traffic bandwidth statistics), Security Groups (with Ingress/Egress rules & tree view)
114
115
  - **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
115
116
 
116
117
  ### 3. 🟩 GCP Services (Production Ready)
@@ -32,7 +32,7 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
32
32
  ### 2. 🟦 Tencent Cloud Services (Production Ready)
33
33
  - **Compute**: CVM instances (with CPU, Mem, Disk, IP, SGs), Lighthouse lightweight application servers
34
34
  - **Containers**: TKE (Tencent Kubernetes Engine) clusters & node details
35
- - **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - with listener rules, health check path & target health analysis), Security Groups (with Ingress/Egress rules & tree view)
35
+ - **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - listener rules, health check, target health analysis & network traffic bandwidth statistics), Security Groups (with Ingress/Egress rules & tree view)
36
36
  - **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
37
37
 
38
38
  ### 3. 🟩 GCP Services (Production Ready)
@@ -208,9 +208,9 @@ Before using IC in production:
208
208
  ## 📚 Additional Resources
209
209
 
210
210
  ### Documentation
211
- - [Configuration Guide](docs/configuration.md)
212
- - [Migration Guide](docs/migration.md)
213
- - [Installation Guide](docs/installation.md)
211
+ - [Installation & Setup Guide](docs/installation.md)
212
+ - [User Guide](docs/user_guide.md)
213
+ - [Security Guide](docs/security.md)
214
214
 
215
215
  ### Security Tools
216
216
  - [OWASP Top 10](https://owasp.org/www-project-top-ten/)
@@ -49,14 +49,12 @@ cloudflare:
49
49
  zones: []
50
50
  ssh:
51
51
  config_file: ~/.ssh/config
52
- key_dir: ~/aws-key
52
+ key_dir: ~/.ssh
53
53
  max_workers: 100
54
54
  skip_prefixes:
55
55
  - git
56
- - akrr-portx
57
- - akrr-taas-gw
58
- - agw01
59
- - semaphore
56
+ - test-
57
+ - temp-
60
58
  timeouts:
61
59
  port_scan: 0.5
62
60
  ssh_connect: 5
@@ -0,0 +1,20 @@
1
+ # IC CLI Documentation Index
2
+
3
+ Welcome to the **IC CLI (Infrastructure Commander)** official documentation.
4
+
5
+ ## 📚 Core Guides
6
+
7
+ - **[User Guide (한국어 종합 가이드)](user_guide.md)**: 전체 플랫폼 명령어 및 사용 흐름 통합 가이드.
8
+ - **[Installation Guide](installation.md)**: IC CLI 설치, 환경 설정, 자격 증명 준비 안내.
9
+ - **[Security Guide](security.md)**: 마스킹, 시크릿 스캔, Git hook 보안 관리.
10
+ - **[Troubleshooting Guide](troubleshooting.md)**: 주요 오류 해결 및 디버깅 가이드.
11
+ - **[Release & Deployment Guide](release-guide.md)**: 버저닝, PyPI 패키지 빌드 및 배포 절차.
12
+
13
+ ## ☁️ Platform Guides
14
+
15
+ - **[AWS Platform](aws/README.md)**: Compute, Storage, EKS, Security Group, Health Dashboard reboot checks.
16
+ - **[Tencent Cloud Platform](tencent/README.md)**: CVM, Lighthouse, CLB, TKE, Profile management.
17
+ - **[GCP Platform](gcp/README.md)**: Compute Engine, GKE, Storage, VPC, Cloud SQL.
18
+ - **[OCI Platform](oci/README.md)**: Compute, VCN, Compartments, NSG, Cost usage.
19
+ - **[Cloudflare Platform](cloudflare/README.md)**: Zone discovery, DNS record management, API token filtering.
20
+ - **[SSH Management](ssh/README.md)**: Server discovery, host scanning, key management.
@@ -0,0 +1,62 @@
1
+ # AWS Platform Documentation
2
+
3
+ This directory contains documentation for the AWS (Amazon Web Services) integration in IC CLI.
4
+
5
+ ## Available Guides
6
+
7
+ - [Installation Guide](../installation.md) - How to install and set up AWS integration
8
+ - [User & Usage Guide](../user_guide.md) - Complete command reference for AWS commands
9
+ - [Troubleshooting Guide](../troubleshooting.md) - Common issues and solutions
10
+
11
+ ## Services Supported
12
+
13
+ - EC2 (Elastic Compute Cloud)
14
+ - AWS Health Dashboard (Scheduled EC2 reboot maintenance checks: `ic aws healthdashboard reboot`)
15
+ - S3 (Simple Storage Service)
16
+ - VPC & Security Groups (VPC, Subnets, Gateways, Security Group Tree view)
17
+ - RDS (Relational Database Service)
18
+ - EKS (Elastic Kubernetes Service)
19
+ - ECS (Elastic Container Service)
20
+ - Fargate Profiles
21
+ - Load Balancers (ALB/NLB with Listener Rules and Target Health)
22
+ - CloudFront Distributions
23
+ - MSK (Managed Streaming for Kafka)
24
+ - CodePipeline Status
25
+
26
+ ---
27
+
28
+ ## AWS CLI 주요 기능 사용법 (Korean Documentation)
29
+
30
+ ### 1. AWS Health Dashboard EC2 재부팅 일정 조회 (`ic aws healthdashboard reboot`)
31
+
32
+ AWS Health API를 사용하여 EC2 인스턴스의 예정된 재부팅 유지보수 일정("EC2 instance reboot maintenance scheduled")을 다중 계정 전체에서 동시 조회합니다.
33
+
34
+ ```bash
35
+ # 로컬에 설정된 전 계정/프로파일 원터치 자동 조회
36
+ ic aws healthdashboard reboot
37
+
38
+ # 명시적 전체 프로파일 조회
39
+ ic aws healthdashboard reboot -A
40
+
41
+ # 특정 계정 지정 조회
42
+ ic aws healthdashboard reboot -a prod-account,stage-account
43
+
44
+ # 이미 마감(closed/RESOLVED)된 과거 일정까지 포함하여 조회
45
+ ic aws healthdashboard reboot --all-status
46
+ ```
47
+
48
+ ### 2. EKS 클러스터 정보 조회 (`ic aws eks info`)
49
+
50
+ ```bash
51
+ ic aws eks info
52
+ ic aws eks info -a 123456789012 -r ap-northeast-2
53
+ ```
54
+
55
+ ### 3. Security Group 분석 및 시각화 트리 (`ic aws sg info`)
56
+
57
+ ```bash
58
+ ic aws sg info
59
+ ic aws sg info -o tree
60
+ ```
61
+
62
+ 자세한 사용법은 [User Guide](../user_guide.md)를 참조하세요.
@@ -0,0 +1,35 @@
1
+ # Cloudflare Platform Guide
2
+
3
+ This document covers configuration, account filtering, and commands for Cloudflare in IC CLI.
4
+
5
+ ## ⚙️ Configuration (`~/.ic/config/secrets.yaml`)
6
+
7
+ Add your Cloudflare credentials to your secrets file:
8
+
9
+ ```yaml
10
+ cloudflare:
11
+ email: "user@example.com"
12
+ api_token: "your-cloudflare-api-token"
13
+
14
+ # Optional filtering
15
+ cloudflare_accounts:
16
+ - "Production"
17
+ - "Development"
18
+ cloudflare_zones:
19
+ - "example.com"
20
+ - "my-app.io"
21
+ ```
22
+
23
+ ## 🚀 Available Commands
24
+
25
+ ### 1. Zone Information
26
+ ```bash
27
+ # List all discovered zones
28
+ ic cf zone info
29
+ ```
30
+
31
+ ### 2. DNS Record Management
32
+ ```bash
33
+ # List DNS records for zones
34
+ ic cf dns info
35
+ ```
@@ -0,0 +1,35 @@
1
+ # GCP Platform Documentation
2
+
3
+ This directory contains documentation for the GCP (Google Cloud Platform) integration in IC CLI.
4
+
5
+ ## Available Guides
6
+
7
+ - [Installation Guide](../installation.md) - How to install and set up GCP integration
8
+ - [User & Usage Guide](../user_guide.md) - Complete command reference for GCP commands
9
+ - [Troubleshooting Guide](../troubleshooting.md) - Common issues and solutions
10
+
11
+ ## Services Supported
12
+
13
+ - Compute Engine (Virtual machines)
14
+ - Cloud Storage (Buckets and lifecycle)
15
+ - VPC (Virtual Private Cloud and subnets)
16
+ - Cloud SQL (Managed databases)
17
+ - GKE (Google Kubernetes Engine)
18
+
19
+ ## Quick Start Commands
20
+
21
+ ```bash
22
+ # List Compute Engine instances
23
+ ic gcp compute info
24
+
25
+ # List Cloud Storage buckets
26
+ ic gcp storage info
27
+
28
+ # List VPC networks & subnets
29
+ ic gcp vpc info
30
+
31
+ # List GKE clusters
32
+ ic gcp gke info
33
+ ```
34
+
35
+ For more details, refer to the [User Guide](../user_guide.md).
@@ -0,0 +1,57 @@
1
+ # IC CLI Installation & Configuration Setup
2
+
3
+ Complete guide for installing IC CLI and setting up configuration.
4
+
5
+ ## 📦 1. Installation
6
+
7
+ ### From PyPI (Recommended)
8
+ ```bash
9
+ pip install ic-code
10
+
11
+ # Verify installation
12
+ ic --version
13
+ ic --help
14
+ ```
15
+
16
+ ### From Source (Development)
17
+ ```bash
18
+ git clone https://github.com/dgr009/ic.git
19
+ cd ic
20
+
21
+ python3 -m venv .venv
22
+ source .venv/bin/activate
23
+
24
+ pip install -e .
25
+ ```
26
+
27
+ ---
28
+
29
+ ## ⚙️ 2. Configuration Setup
30
+
31
+ IC CLI uses a secure two-file configuration system located in `~/.ic/config/`:
32
+
33
+ ```text
34
+ ~/.ic/config/
35
+ ├── default.yaml # Non-sensitive configuration (regions, limits)
36
+ └── secrets.yaml # Sensitive API keys, tokens, and profiles
37
+ ```
38
+
39
+ ### Initialize Configuration
40
+ ```bash
41
+ # Interactive setup
42
+ ic config init
43
+
44
+ # Validate configuration
45
+ ic config validate
46
+
47
+ # View current configuration (secrets masked)
48
+ ic config show
49
+ ```
50
+
51
+ ### Supported Cloud Credentials
52
+ - **AWS**: Native `~/.aws/config` & `~/.aws/credentials` or `secrets.yaml`
53
+ - **Tencent Cloud**: Native `~/.tencent/credentials` or `secrets.yaml`
54
+ - **GCP**: Application Default Credentials `gcloud auth application-default login`
55
+ - **OCI**: Native `~/.oci/config`
56
+ - **Cloudflare**: `api_token` in `secrets.yaml`
57
+ - **SSH**: Config file `~/.ssh/config` & key directory `~/.ssh/`
@@ -0,0 +1,36 @@
1
+ # OCI Platform Documentation
2
+
3
+ This directory contains documentation for the OCI (Oracle Cloud Infrastructure) integration in IC CLI.
4
+
5
+ ## Available Guides
6
+
7
+ - [Installation Guide](../installation.md) - How to install and set up OCI integration
8
+ - [User & Usage Guide](../user_guide.md) - Complete command reference for OCI commands
9
+ - [Troubleshooting Guide](../troubleshooting.md) - Common issues and solutions
10
+
11
+ ## Services Supported
12
+
13
+ - Compute (VM Instances and Autonomous Container Instances)
14
+ - Object Storage & Block Volumes
15
+ - VCN & Subnets (Virtual Cloud Network)
16
+ - Network Security Groups (NSG)
17
+ - Load Balancers
18
+ - IAM Compartment hierarchy & Cost Management
19
+
20
+ ## Quick Start Commands
21
+
22
+ ```bash
23
+ # List Compute VM instances
24
+ ic oci vm info
25
+
26
+ # List Virtual Cloud Networks
27
+ ic oci vcn info
28
+
29
+ # List Network Security Groups
30
+ ic oci nsg info
31
+
32
+ # Show Cost & Billing usage
33
+ ic oci cost usage
34
+ ```
35
+
36
+ For more details, refer to the [User Guide](../user_guide.md).
@@ -0,0 +1,50 @@
1
+ # IC CLI Release & Deployment Guide
2
+
3
+ Guide for building, versioning, and publishing IC CLI releases to PyPI.
4
+
5
+ ## 📦 1. Build Requirements
6
+
7
+ ```bash
8
+ # Install build and publishing tools
9
+ pip install build twine
10
+ ```
11
+
12
+ ---
13
+
14
+ ## 🚀 2. Release Steps
15
+
16
+ ### Step 1: Bump Version
17
+ Update project version in `pyproject.toml` and `src/ic/__init__.py`:
18
+
19
+ ```bash
20
+ # Or run release script
21
+ ./scripts/bump-version.sh patch
22
+ ```
23
+
24
+ ### Step 2: Build Package
25
+ ```bash
26
+ # Clean previous build artifacts
27
+ rm -rf dist/ build/ *.egg-info
28
+
29
+ # Build wheel and source distribution
30
+ python3 -m build
31
+ ```
32
+
33
+ ### Step 3: Publish to PyPI
34
+ ```bash
35
+ # Upload via script
36
+ ./scripts/deploy.sh 1.3.4 prod
37
+
38
+ # Or manually via twine
39
+ python3 -m twine upload dist/*
40
+ ```
41
+
42
+ ### Step 4: Tag Release in Git
43
+ ```bash
44
+ git add -A
45
+ git commit -m "release: bump version to 1.3.4"
46
+ git tag -a v1.3.4 -m "Release v1.3.4"
47
+
48
+ git push origin main
49
+ git push origin v1.3.4
50
+ ```
@@ -0,0 +1,48 @@
1
+ # IC Security Guide
2
+
3
+ IC CLI includes built-in security auditing, secret scanning, and git hook integration to prevent accidental leakage of sensitive credentials.
4
+
5
+ ## 🛡️ Core Security Features
6
+
7
+ - **Sensitive Data Masking**: Automatically masks API keys, tokens, and passwords in console outputs and logs (`***MASKED***`).
8
+ - **Secret Scanner**: Scans project files and staged git commits for hardcoded secrets.
9
+ - **Git Security Hooks**: Install pre-commit hooks to block commits containing sensitive data.
10
+
11
+ ---
12
+
13
+ ## 🚀 Security Commands
14
+
15
+ ### 1. Codebase Secret Scan
16
+ Scan current directory or specific path for hardcoded secrets, keys, or passwords:
17
+
18
+ ```bash
19
+ # Scan current repository
20
+ ic security scan
21
+
22
+ # Verbose output with file lines
23
+ ic security scan -v
24
+ ```
25
+
26
+ ### 2. Pre-Commit Hook Management
27
+ Install or uninstall git pre-commit security scanner hooks:
28
+
29
+ ```bash
30
+ # Install pre-commit hook to current git repository
31
+ ic security install-hooks
32
+
33
+ # Uninstall pre-commit hook
34
+ ic security uninstall-hooks
35
+ ```
36
+
37
+ ---
38
+
39
+ ## 🔒 Configuration Security Best Practices
40
+
41
+ 1. **File Permissions**: Ensure configuration files have restricted permissions (`0o600`):
42
+ ```bash
43
+ chmod 600 ~/.ic/config/secrets.yaml
44
+ chmod 600 ~/.aws/credentials
45
+ chmod 600 ~/.tencent/credentials
46
+ ```
47
+
48
+ 2. **Git Ignore**: Ensure `secrets.yaml` and `.env` files are included in your `.gitignore`.
@@ -0,0 +1,45 @@
1
+ # Tencent Cloud Services Guide
2
+
3
+ IC CLI provides comprehensive, production-grade management for **Tencent Cloud** resources.
4
+
5
+ ## 📦 Supported Tencent Cloud Services
6
+
7
+ ### 1. CVM (Cloud Virtual Machine)
8
+ - **Command**: `ic tencent cvm info`
9
+ - **Features**: List CVM instances across regions/accounts, displaying Instance ID, Name, State, CPU/Memory, Zone, Private/Public IPs, and attached Security Groups.
10
+
11
+ ### 2. Lighthouse (Lightweight Application Server)
12
+ - **Command**: `ic tencent lighthouse info`
13
+ - **Features**: Query Lightweight server instances, blueprint/OS, status, and network configuration.
14
+
15
+ ### 3. CLB (Cloud Load Balancer)
16
+ - **Commands**:
17
+ - `ic tencent clb info`: Inspect Load Balancers, listeners, rules, health check paths, and target instance health status.
18
+ - `ic tencent clb traffic`: Query network bandwidth statistics (Client Input/Output Bandwidth Avg/Max in Mbps) and total data transfer over a given period (default: 7 days, `-d 30` for 30 days).
19
+
20
+ ### 4. VPC & Networking
21
+ - **Commands**: `ic tencent vpc info`, `ic tencent nat info`
22
+ - **Features**: Inspect Virtual Private Clouds, Subnets, and NAT Gateways.
23
+
24
+ ### 5. TKE (Tencent Kubernetes Engine)
25
+ - **Command**: `ic tencent tke info`
26
+ - **Features**: List TKE Kubernetes clusters, version, status, and node pool details.
27
+
28
+ ### 6. Security Groups
29
+ - **Commands**: `ic tencent sg info`, `ic tencent sg info -o tree`
30
+ - **Features**: Ingress/Egress rule inspection and visual tree representation of security group relations.
31
+
32
+ ### 7. Profile & Authentication Management
33
+ - **Command**: `ic tencent profile info`
34
+ - **Features**: Validate credentials stored in `~/.tencent/credentials` or `secrets.yaml`, including STS AssumeRole configuration.
35
+
36
+ ---
37
+
38
+ ## ⚙️ Configuration Example (`~/.tencent/credentials`)
39
+
40
+ ```yaml
41
+ default:
42
+ secret_id: "AKIDxxxxxxxxxxxxxxxxxxxxxxxx"
43
+ secret_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
44
+ region: "ap-seoul"
45
+ ```
@@ -0,0 +1,37 @@
1
+ # IC CLI Troubleshooting Guide
2
+
3
+ Solutions and troubleshooting steps for common issues encountered when using IC CLI.
4
+
5
+ ## ❓ Common Issues & Solutions
6
+
7
+ ### 1. AWS Health API Error (`SubscriptionRequiredException`)
8
+ - **Symptom**: `ic aws healthdashboard reboot` execution fails with `AWS Business 또는 Enterprise Support 플랜이 필요합니다.`
9
+ - **Cause**: AWS Health API requires an active Business, Enterprise On-Ramp, or Enterprise Support plan.
10
+ - **Solution**: Run on accounts with Business/Enterprise support or check standard EC2 commands (`ic aws ec2 info`).
11
+
12
+ ### 2. Missing AWS / Tencent Profiles
13
+ - **Symptom**: `❌ 조회를 진행할 AWS 계정을 찾을 수 없습니다.`
14
+ - **Cause**: No profiles found in `~/.aws/config`, `~/.aws/credentials`, or `~/.tencent/credentials`.
15
+ - **Solution**: Configure your credentials via `aws configure` / `ic config init` or specify account `-a profile_name`.
16
+
17
+ ### 3. Permission Denied / Access Denied (`AccessDeniedException`)
18
+ - **Symptom**: API calls return permission errors.
19
+ - **Cause**: IAM user/role lacks required describe permissions (e.g., `ec2:DescribeInstances`, `health:DescribeEvents`).
20
+ - **Solution**: Grant appropriate read-only policy (`ReadOnlyAccess` or specific service describe actions) to the IAM entity.
21
+
22
+ ### 4. Encoding Error (`UnicodeDecodeError` / `CP949`)
23
+ - **Symptom**: Character decoding errors on Windows.
24
+ - **Solution**: Set environment variable `PYTHONUTF8=1` in Windows PowerShell / CMD:
25
+ ```powershell
26
+ $env:PYTHONUTF8=1
27
+ ```
28
+
29
+ ---
30
+
31
+ ## 🔍 Debugging Mode
32
+
33
+ Enable verbose output to inspect full tracebacks and debug details:
34
+
35
+ ```bash
36
+ ic <platform> <service> <command> --verbose
37
+ ```
@@ -0,0 +1,79 @@
1
+ # IC (Infrastructure Commander) 사용자 종합 가이드
2
+
3
+ IC CLI는 **AWS**, **Tencent Cloud**, **GCP**, **OCI**, **Cloudflare**, **SSH** 서버 및 보안 설정을 단일 콘솔에서 통합 관리할 수 있는 멀티 클라우드 인프라 CLI 도구입니다.
4
+
5
+ ---
6
+
7
+ ## ⚡ 빠른 시작
8
+
9
+ ```bash
10
+ # 1. 설치
11
+ pip install ic-code
12
+
13
+ # 2. 버전에 대한 정보 확인
14
+ ic --version
15
+
16
+ # 3. 설정 초기화 및 검증
17
+ ic config init
18
+ ic config show
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 📦 플랫폼별 주요 명령어
24
+
25
+ ### 1. 🟧 AWS Services
26
+ - **EC2 인스턴스 조회**: `ic aws ec2 info`
27
+ - **보안 그룹 (Ingress/Egress) 분석**: `ic aws sg info` / `ic aws sg info -o tree`
28
+ - **S3 버킷 및 태그 검증**: `ic aws s3 info` / `ic aws s3 tag_check`
29
+ - **EKS & ECS 클러스터**: `ic aws eks info` / `ic aws ecs info`
30
+ - **Health Dashboard EC2 재부팅 일정 점검**:
31
+ ```bash
32
+ # 로컬 전 계정/프로필 자동 원터치 조회
33
+ ic aws healthdashboard reboot
34
+
35
+ # 명시적 전체 계정 조회
36
+ ic aws healthdashboard reboot -A
37
+
38
+ # 특정 계정 지정 및 마감(closed) 이력 포함 조회
39
+ ic aws healthdashboard reboot -a prod-account,stage-account --all-status
40
+ ```
41
+
42
+ ### 2. 🟦 Tencent Cloud Services
43
+ - **CVM (가상 서버)**: `ic tencent cvm info`
44
+ - **Lighthouse (경량 서버)**: `ic tencent lighthouse info`
45
+ - **CLB (로드 밸런서/헬스체크)**: `ic tencent clb info`
46
+ - **보안 그룹 (시각화 트리)**: `ic tencent sg info -o tree`
47
+ - **VPC / NAT / TKE**: `ic tencent vpc info` / `ic tencent nat info` / `ic tencent tke info`
48
+ - **자격 증명 확인**: `ic tencent profile info`
49
+
50
+ ### 3. 🟩 GCP Services
51
+ - **Compute Engine**: `ic gcp compute info`
52
+ - **Cloud Storage**: `ic gcp storage info`
53
+ - **VPC & Firewall**: `ic gcp vpc info`
54
+ - **GKE & Cloud SQL**: `ic gcp gke info` / `ic gcp sql info`
55
+
56
+ ### 4. 🟥 OCI (Oracle Cloud) Services
57
+ - **VM 인스턴스 & VCN**: `ic oci vm info` / `ic oci vcn info`
58
+ - **Load Balancer & NSG**: `ic oci lb info` / `ic oci nsg info`
59
+ - **IAM 컴파트먼트 & 비용**: `ic oci compartment info` / `ic oci cost usage`
60
+
61
+ ### 5. 🟧 Cloudflare & 🟦 SSH Services
62
+ - **Cloudflare Zone & DNS**: `ic cf zone info` / `ic cf dns info`
63
+ - **SSH 서버 스캔 & 탐색**: `ic ssh info`
64
+
65
+ ---
66
+
67
+ ## 🛡️ Security & Settings
68
+
69
+ ```bash
70
+ # 코드베이스 보안 스캔 (하드코딩 시크릿 탐지)
71
+ ic security scan
72
+
73
+ # Pre-commit 훅 설치
74
+ ic security install-hooks
75
+
76
+ # 설정 검증 및 보기
77
+ ic config validate
78
+ ic config show
79
+ ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ic-code"
7
- version = "1.3.1"
7
+ version = "1.3.4"
8
8
  authors = [
9
9
  {name = "sykim", email = "cruiser594@gmail.com"},
10
10
  ]
@@ -87,7 +87,8 @@ dependencies = [
87
87
  [project.optional-dependencies]
88
88
  dev = [
89
89
  "pytest>=8.0.0,<9.0.0",
90
- "pytest-cov>=5.0.0,<7.0.0",
90
+ "pytest-cov>=5.0.0,<8.0.0",
91
+ "types-PyYAML>=6.0.0",
91
92
  "black>=24.0.0,<25.0.0",
92
93
  "flake8>=7.0.0,<8.0.0",
93
94
  "mypy>=1.10.0,<2.0.0",
@@ -54,5 +54,6 @@ setuptools>=69.0.0,<76.0.0 # Package building tools
54
54
 
55
55
  # Development and Testing
56
56
  pytest>=8.0.0,<9.0.0
57
- pytest-cov>=5.0.0,<7.0.0
57
+ pytest-cov>=5.0.0,<8.0.0
58
+ types-PyYAML>=6.0.0
58
59
  pyrefly>=1.2.0
@@ -92,7 +92,7 @@ def filter_platforms_with_tests(platforms):
92
92
 
93
93
  def main():
94
94
  # All available platforms
95
- ALL_PLATFORMS = ["ncp", "ncpgov", "oci", "azure", "aws", "gcp", "ssh", "cf"]
95
+ ALL_PLATFORMS = ["aws", "tencent", "gcp", "oci", "cf", "ssh"]
96
96
 
97
97
  # Get environment variables
98
98
  event_name = os.environ.get("GITHUB_EVENT_NAME", "")
@@ -12,7 +12,7 @@ import sys
12
12
  def main():
13
13
  # Get inputs
14
14
  test_types_str = os.environ.get("TEST_TYPES", '["unit", "integration", "performance"]')
15
- platforms_str = os.environ.get("PLATFORMS", '["ncp", "ncpgov"]')
15
+ platforms_str = os.environ.get("PLATFORMS", '["aws", "tencent", "gcp", "oci", "cf", "ssh"]')
16
16
 
17
17
  try:
18
18
  test_types = json.loads(test_types_str)
@@ -174,11 +174,13 @@ setup(
174
174
  "watchdog>=4.0.0,<6.0.0",
175
175
  "cerberus>=1.3.5,<2.0.0",
176
176
  "pydantic>=2.7.0,<3.0.0",
177
+ "tencentcloud-sdk-python>=3.0.0,<4.0.0",
177
178
  ],
178
179
  extras_require={
179
180
  "dev": [
180
181
  "pytest>=8.0.0",
181
182
  "pytest-cov>=5.0.0",
183
+ "types-PyYAML>=6.0.0",
182
184
  "black>=24.0.0",
183
185
  "flake8>=7.0.0",
184
186
  "mypy>=1.10.0",
@@ -188,6 +190,7 @@ setup(
188
190
  "pytest>=8.0.0",
189
191
  "pytest-cov>=5.0.0",
190
192
  "pytest-mock>=3.10.0",
193
+ "types-PyYAML>=6.0.0",
191
194
  ],
192
195
  },
193
196
  entry_points={
@@ -4,7 +4,7 @@ IC (Infra Resource Management CLI) - A comprehensive tool for managing cloud inf
4
4
  This package provides CLI tools and libraries for managing AWS, GCP, OCI, CloudFlare, and SSH resources.
5
5
  """
6
6
 
7
- __version__ = "1.3.1"
7
+ __version__ = "1.3.4"
8
8
  __author__ = "SangYun"
9
9
  __email__ = "cruiser594@gmail.com"
10
10