ic-code 1.2.6__tar.gz → 1.2.8__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 (259) hide show
  1. ic_code-1.2.8/PKG-INFO +368 -0
  2. ic_code-1.2.8/README.md +291 -0
  3. ic_code-1.2.8/docs/README.md +80 -0
  4. {ic_code-1.2.6 → ic_code-1.2.8}/docs/general/configuration.md +3 -5
  5. ic_code-1.2.8/docs/user_guide.md +113 -0
  6. {ic_code-1.2.6 → ic_code-1.2.8}/pyproject.toml +11 -2
  7. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/utils.py +28 -1
  8. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/__init__.py +1 -1
  9. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/cli.py +6 -5
  10. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/lb/info.py +118 -57
  11. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/sg/info.py +28 -7
  12. ic_code-1.2.8/src/ic/platforms/tencent/__init__.py +1 -0
  13. ic_code-1.2.8/src/ic/platforms/tencent/clb/__init__.py +0 -0
  14. ic_code-1.2.8/src/ic/platforms/tencent/clb/info.py +376 -0
  15. ic_code-1.2.8/src/ic/platforms/tencent/client.py +422 -0
  16. ic_code-1.2.8/src/ic/platforms/tencent/cvm/__init__.py +0 -0
  17. ic_code-1.2.8/src/ic/platforms/tencent/cvm/info.py +318 -0
  18. ic_code-1.2.8/src/ic/platforms/tencent/lighthouse/__init__.py +0 -0
  19. ic_code-1.2.8/src/ic/platforms/tencent/lighthouse/info.py +288 -0
  20. ic_code-1.2.8/src/ic/platforms/tencent/nat/__init__.py +0 -0
  21. ic_code-1.2.8/src/ic/platforms/tencent/nat/info.py +223 -0
  22. ic_code-1.2.8/src/ic/platforms/tencent/profile/__init__.py +0 -0
  23. ic_code-1.2.8/src/ic/platforms/tencent/profile/info.py +213 -0
  24. ic_code-1.2.8/src/ic/platforms/tencent/sg/__init__.py +0 -0
  25. ic_code-1.2.8/src/ic/platforms/tencent/sg/info.py +308 -0
  26. ic_code-1.2.8/src/ic/platforms/tencent/tke/__init__.py +0 -0
  27. ic_code-1.2.8/src/ic/platforms/tencent/tke/info.py +236 -0
  28. ic_code-1.2.8/src/ic/platforms/tencent/vpc/__init__.py +0 -0
  29. ic_code-1.2.8/src/ic/platforms/tencent/vpc/info.py +214 -0
  30. ic_code-1.2.8/src/ic_code.egg-info/PKG-INFO +368 -0
  31. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic_code.egg-info/SOURCES.txt +18 -0
  32. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic_code.egg-info/requires.txt +1 -0
  33. ic_code-1.2.6/PKG-INFO +0 -1820
  34. ic_code-1.2.6/README.md +0 -1744
  35. ic_code-1.2.6/docs/README.md +0 -141
  36. ic_code-1.2.6/docs/user_guide.md +0 -259
  37. ic_code-1.2.6/src/ic_code.egg-info/PKG-INFO +0 -1820
  38. {ic_code-1.2.6 → ic_code-1.2.8}/LICENSE +0 -0
  39. {ic_code-1.2.6 → ic_code-1.2.8}/MANIFEST.in +0 -0
  40. {ic_code-1.2.6 → ic_code-1.2.8}/SECURITY.md +0 -0
  41. {ic_code-1.2.6 → ic_code-1.2.8}/config/default.yaml +0 -0
  42. {ic_code-1.2.6 → ic_code-1.2.8}/docs/_templates/configuration.md +0 -0
  43. {ic_code-1.2.6 → ic_code-1.2.8}/docs/_templates/installation.md +0 -0
  44. {ic_code-1.2.6 → ic_code-1.2.8}/docs/_templates/troubleshooting.md +0 -0
  45. {ic_code-1.2.6 → ic_code-1.2.8}/docs/_templates/usage.md +0 -0
  46. {ic_code-1.2.6 → ic_code-1.2.8}/docs/aws/README.md +0 -0
  47. {ic_code-1.2.6 → ic_code-1.2.8}/docs/aws/aws_cli_prd.md +0 -0
  48. {ic_code-1.2.6 → ic_code-1.2.8}/docs/aws/installation.md +0 -0
  49. {ic_code-1.2.6 → ic_code-1.2.8}/docs/ci-workflow-guide.md +0 -0
  50. {ic_code-1.2.6 → ic_code-1.2.8}/docs/cloudflare_configuration_example.md +0 -0
  51. {ic_code-1.2.6 → ic_code-1.2.8}/docs/config_migration.md +0 -0
  52. {ic_code-1.2.6 → ic_code-1.2.8}/docs/deployment.md +0 -0
  53. {ic_code-1.2.6 → ic_code-1.2.8}/docs/development/README.md +0 -0
  54. {ic_code-1.2.6 → ic_code-1.2.8}/docs/development/cleanup_summary.md +0 -0
  55. {ic_code-1.2.6 → ic_code-1.2.8}/docs/development/development_guide.md +0 -0
  56. {ic_code-1.2.6 → ic_code-1.2.8}/docs/development/import_patterns.md +0 -0
  57. {ic_code-1.2.6 → ic_code-1.2.8}/docs/development/migration_guide.md +0 -0
  58. {ic_code-1.2.6 → ic_code-1.2.8}/docs/gcp/GCP_CONFIGURATION_GUIDE.md +0 -0
  59. {ic_code-1.2.6 → ic_code-1.2.8}/docs/gcp/GCP_SECURITY_BEST_PRACTICES.md +0 -0
  60. {ic_code-1.2.6 → ic_code-1.2.8}/docs/gcp/README.md +0 -0
  61. {ic_code-1.2.6 → ic_code-1.2.8}/docs/installation.md +0 -0
  62. {ic_code-1.2.6 → ic_code-1.2.8}/docs/migration.md +0 -0
  63. {ic_code-1.2.6 → ic_code-1.2.8}/docs/migration_guide.md +0 -0
  64. {ic_code-1.2.6 → ic_code-1.2.8}/docs/oci/README.md +0 -0
  65. {ic_code-1.2.6 → ic_code-1.2.8}/docs/oci/installation.md +0 -0
  66. {ic_code-1.2.6 → ic_code-1.2.8}/docs/release-guide.md +0 -0
  67. {ic_code-1.2.6 → ic_code-1.2.8}/docs/security.md +0 -0
  68. {ic_code-1.2.6 → ic_code-1.2.8}/docs/ssh/configuration.md +0 -0
  69. {ic_code-1.2.6 → ic_code-1.2.8}/docs/troubleshooting.md +0 -0
  70. {ic_code-1.2.6 → ic_code-1.2.8}/requirements.txt +0 -0
  71. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/analysis_summary.py +0 -0
  72. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/bump-version.sh +0 -0
  73. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
  74. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/ci-detect-platforms.py +0 -0
  75. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/ci-generate-matrix.py +0 -0
  76. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/cli_usage_analysis.py +0 -0
  77. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/dependency_mapper.py +0 -0
  78. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/deploy.sh +0 -0
  79. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/final_validation_and_documentation.py +0 -0
  80. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/fix_consolidated_imports.py +0 -0
  81. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/migration_execution_and_validation.py +0 -0
  82. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/oracle-policy/user_policy.py +0 -0
  83. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/performance_optimization.py +0 -0
  84. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/setup_venv.py +0 -0
  85. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/test-ci-detection.sh +0 -0
  86. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/unset_env.sh +0 -0
  87. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/validate_config.py +0 -0
  88. {ic_code-1.2.6 → ic_code-1.2.8}/scripts/validate_dependencies.py +0 -0
  89. {ic_code-1.2.6 → ic_code-1.2.8}/setup.cfg +0 -0
  90. {ic_code-1.2.6 → ic_code-1.2.8}/setup.py +0 -0
  91. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/__init__.py +0 -0
  92. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/gather_env.py +0 -0
  93. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/gcp_config_validator.py +0 -0
  94. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/gcp_monitoring.py +0 -0
  95. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/gcp_utils.py +0 -0
  96. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/log.py +0 -0
  97. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/progress_decorator.py +0 -0
  98. {ic_code-1.2.6 → ic_code-1.2.8}/src/common/slack.py +0 -0
  99. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/commands/__init__.py +0 -0
  100. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/commands/config.py +0 -0
  101. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/commands/security.py +0 -0
  102. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/compat/__init__.py +0 -0
  103. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/compat/cli.py +0 -0
  104. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/compat/common.py +0 -0
  105. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/__init__.py +0 -0
  106. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/cleanup.py +0 -0
  107. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/docs_organizer.py +0 -0
  108. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/external.py +0 -0
  109. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/installer.py +0 -0
  110. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/manager.py +0 -0
  111. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/migration.py +0 -0
  112. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/migration_utils.py +0 -0
  113. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/path_manager.py +0 -0
  114. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/schema.py +0 -0
  115. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/secrets.py +0 -0
  116. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/config/security.py +0 -0
  117. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/core/__init__.py +0 -0
  118. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/core/dependency_validator.py +0 -0
  119. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/core/logging.py +0 -0
  120. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/core/platform_discovery.py +0 -0
  121. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/core/session.py +0 -0
  122. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/core/silence_logging.py +0 -0
  123. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/__init__.py +0 -0
  124. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/__init__.py +0 -0
  125. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
  126. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/cloudfront/info.py +0 -0
  127. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
  128. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/codepipeline/build.py +0 -0
  129. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/codepipeline/deploy.py +0 -0
  130. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ec2/__init__.py +0 -0
  131. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ec2/info.py +0 -0
  132. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ec2/list_tags.py +0 -0
  133. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
  134. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ecs/__init__.py +0 -0
  135. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ecs/info.py +0 -0
  136. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ecs/service.py +0 -0
  137. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/ecs/task.py +0 -0
  138. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/eks/__init__.py +0 -0
  139. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/eks/addons.py +0 -0
  140. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/eks/fargate.py +0 -0
  141. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/eks/info.py +0 -0
  142. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/eks/nodes.py +0 -0
  143. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/eks/pods.py +0 -0
  144. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/eks/update_config.py +0 -0
  145. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/fargate/__init__.py +0 -0
  146. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/fargate/info.py +0 -0
  147. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/lb/__init__.py +0 -0
  148. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/lb/list_tags.py +0 -0
  149. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/lb/tag_check.py +0 -0
  150. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/msk/__init__.py +0 -0
  151. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/msk/broker.py +0 -0
  152. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/msk/info.py +0 -0
  153. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/nat/__init__.py +0 -0
  154. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/nat/list_tags.py +0 -0
  155. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/nat/tag_check.py +0 -0
  156. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/profile/__init__.py +0 -0
  157. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/profile/info.py +0 -0
  158. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/rds/__init__.py +0 -0
  159. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/rds/info.py +0 -0
  160. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/rds/list_tags.py +0 -0
  161. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/rds/tag_check.py +0 -0
  162. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/s3/__init__.py +0 -0
  163. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/s3/info.py +0 -0
  164. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/s3/list_tags.py +0 -0
  165. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/s3/tag_check.py +0 -0
  166. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/sg/__init__.py +0 -0
  167. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/vpc/__init__.py +0 -0
  168. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/vpc/info.py +0 -0
  169. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/vpc/list_tags.py +0 -0
  170. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
  171. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/vpn/__init__.py +0 -0
  172. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/aws/vpn/info.py +0 -0
  173. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/README.md +0 -0
  174. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/__init__.py +0 -0
  175. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/account/__init__.py +0 -0
  176. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/account/info.py +0 -0
  177. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/client.py +0 -0
  178. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
  179. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/dns/info.py +0 -0
  180. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/dns/list_info.py +0 -0
  181. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/rules/__init__.py +0 -0
  182. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/rules/info.py +0 -0
  183. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/traffic/__init__.py +0 -0
  184. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/traffic/info.py +0 -0
  185. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/waf/__init__.py +0 -0
  186. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/waf/info.py +0 -0
  187. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/zone/__init__.py +0 -0
  188. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/cloudflare/zone/info.py +0 -0
  189. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/README.md +0 -0
  190. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/__init__.py +0 -0
  191. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/billing/__init__.py +0 -0
  192. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/billing/info.py +0 -0
  193. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/billing/mock_data.json +0 -0
  194. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/compute/__init__.py +0 -0
  195. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/compute/info.py +0 -0
  196. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/compute/mock_data.json +0 -0
  197. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
  198. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/firewall/info.py +0 -0
  199. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/functions/__init__.py +0 -0
  200. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/functions/info.py +0 -0
  201. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/gke/__init__.py +0 -0
  202. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/gke/info.py +0 -0
  203. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/gke/mock_data.json +0 -0
  204. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/lb/__init__.py +0 -0
  205. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/lb/info.py +0 -0
  206. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/run/__init__.py +0 -0
  207. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/run/info.py +0 -0
  208. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/sql/__init__.py +0 -0
  209. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/sql/info.py +0 -0
  210. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/storage/__init__.py +0 -0
  211. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/storage/info.py +0 -0
  212. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
  213. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/vpc/info.py +0 -0
  214. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/gcp/vpc/mock_data.json +0 -0
  215. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/README.md +0 -0
  216. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/__init__.py +0 -0
  217. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/common/__init__.py +0 -0
  218. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/common/utils.py +0 -0
  219. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/compartment/__init__.py +0 -0
  220. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/compartment/info.py +0 -0
  221. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/cost/__init__.py +0 -0
  222. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/cost/credit.py +0 -0
  223. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/cost/usage.py +0 -0
  224. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/info/__init__.py +0 -0
  225. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/info/oci_info.py +0 -0
  226. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/lb/__init__.py +0 -0
  227. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/lb/info.py +0 -0
  228. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/nsg/__init__.py +0 -0
  229. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/nsg/info.py +0 -0
  230. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/obj/__init__.py +0 -0
  231. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/obj/info.py +0 -0
  232. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/policy/__init__.py +0 -0
  233. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/policy/info.py +0 -0
  234. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/policy/search.py +0 -0
  235. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/vcn/__init__.py +0 -0
  236. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/vcn/info.py +0 -0
  237. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/vm/__init__.py +0 -0
  238. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/vm/info.py +0 -0
  239. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/volume/__init__.py +0 -0
  240. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/oci/volume/info.py +0 -0
  241. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/README.md +0 -0
  242. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/__init__.py +0 -0
  243. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/auto/__init__.py +0 -0
  244. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/auto/scan.py +0 -0
  245. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/auto_ssh.py +0 -0
  246. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/server/__init__.py +0 -0
  247. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/server/info.py +0 -0
  248. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/platforms/ssh/server_info.py +0 -0
  249. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/README.md +0 -0
  250. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/__init__.py +0 -0
  251. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/config.py +0 -0
  252. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/detector.py +0 -0
  253. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/guidance.py +0 -0
  254. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/hooks.py +0 -0
  255. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/patterns.py +0 -0
  256. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic/security/scanner.py +0 -0
  257. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic_code.egg-info/dependency_links.txt +0 -0
  258. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic_code.egg-info/entry_points.txt +0 -0
  259. {ic_code-1.2.6 → ic_code-1.2.8}/src/ic_code.egg-info/top_level.txt +0 -0
ic_code-1.2.8/PKG-INFO ADDED
@@ -0,0 +1,368 @@
1
+ Metadata-Version: 2.4
2
+ Name: ic-code
3
+ Version: 1.2.8
4
+ Summary: Infrastructure CLI tool for managing AWS, GCP, OCI, CloudFlare, SSH, and more
5
+ Home-page: https://github.com/dgr009/ic
6
+ Author: SangYun Kim
7
+ Author-email: sykim <cruiser594@gmail.com>
8
+ Project-URL: Homepage, https://github.com/dgr009/ic
9
+ Project-URL: Bug Reports, https://github.com/dgr009/ic/issues
10
+ Project-URL: Source, https://github.com/dgr009/ic
11
+ Project-URL: Documentation, https://github.com/dgr009/ic#readme
12
+ Keywords: cli,infrastructure,aws,oci,gcp,cloudflare,ssh,devops,multi-cloud
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: System Administrators
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Topic :: System :: Systems Administration
25
+ Classifier: Topic :: Utilities
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Classifier: Environment :: Console
28
+ Requires-Python: >=3.9,<3.15
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Requires-Dist: boto3<2.0.0,>=1.34.0
32
+ Requires-Dist: botocore<2.0.0,>=1.34.0
33
+ Requires-Dist: oci<3.0.0,>=2.149.0
34
+ Requires-Dist: requests<3.0.0,>=2.31.0
35
+ Requires-Dist: kubernetes<32.0.0,>=29.0.0
36
+ Requires-Dist: awscli<2.0.0,>=1.32.0
37
+ Requires-Dist: google-cloud-compute<2.0.0,>=1.36.0
38
+ Requires-Dist: google-cloud-container<3.0.0,>=2.44.0
39
+ Requires-Dist: google-cloud-storage<3.0.0,>=2.18.0
40
+ Requires-Dist: google-cloud-functions<2.0.0,>=1.16.0
41
+ Requires-Dist: google-cloud-run<1.0.0,>=0.11.0
42
+ Requires-Dist: google-cloud-billing<2.0.0,>=1.13.0
43
+ Requires-Dist: google-cloud-resource-manager<2.0.0,>=1.12.0
44
+ Requires-Dist: google-auth<3.0.0,>=2.29.0
45
+ Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0
46
+ Requires-Dist: google-auth-httplib2<1.0.0,>=0.2.0
47
+ Requires-Dist: paramiko<5.0.0,>=3.4.0
48
+ Requires-Dist: netifaces<1.0.0,>=0.11.0
49
+ Requires-Dist: rich<15.0.0,>=13.0.0
50
+ Requires-Dist: InquirerPy<1.0.0,>=0.3.4
51
+ Requires-Dist: tqdm<5.0.0,>=4.67.0
52
+ Requires-Dist: python-dotenv<2.0.0,>=1.0.0
53
+ Requires-Dist: python-dateutil<3.0.0,>=2.9.0
54
+ Requires-Dist: PyYAML<7.0.0,>=6.0.1
55
+ Requires-Dist: click<9.0.0,>=8.1.0
56
+ Requires-Dist: docutils<1.0.0,>=0.19
57
+ Requires-Dist: invoke<3.0.0,>=2.2.0
58
+ Requires-Dist: jsonschema<5.0.0,>=4.23.0
59
+ Requires-Dist: cryptography<50.0.0,>=42.0.0
60
+ Requires-Dist: watchdog<6.0.0,>=4.0.0
61
+ Requires-Dist: cerberus<2.0.0,>=1.3.5
62
+ Requires-Dist: pydantic<3.0.0,>=2.7.0
63
+ Requires-Dist: packaging<25.0,>=24.0
64
+ Requires-Dist: setuptools<76.0.0,>=69.0.0
65
+ Requires-Dist: tencentcloud-sdk-python<4.0.0,>=3.0.0
66
+ Provides-Extra: dev
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"
69
+ Requires-Dist: black<25.0.0,>=24.0.0; extra == "dev"
70
+ Requires-Dist: flake8<8.0.0,>=7.0.0; extra == "dev"
71
+ Requires-Dist: mypy<2.0.0,>=1.10.0; extra == "dev"
72
+ Requires-Dist: pre-commit<4.0.0,>=3.7.0; extra == "dev"
73
+ Dynamic: author
74
+ Dynamic: home-page
75
+ Dynamic: license-file
76
+ Dynamic: requires-python
77
+
78
+ # IC CLI Tool (Infrastructure Commander)
79
+
80
+ [![PyPI version](https://badge.fury.io/py/ic-code.svg)](https://badge.fury.io/py/ic-code)
81
+ [![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
82
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
83
+
84
+ A comprehensive, production-grade Infrastructure Command Line Interface tool for managing multi-cloud infrastructure and server components across multiple platforms. IC CLI provides unified access to **AWS**, **Tencent Cloud**, **GCP**, **Oracle Cloud Infrastructure (OCI)**, **CloudFlare**, and **SSH** server management with rich progress indicators and secure configuration management.
85
+
86
+ ---
87
+
88
+ ## ✨ Key Features
89
+
90
+ - **🚀 Multi-Cloud Support**: AWS, Tencent Cloud, GCP, OCI, CloudFlare, and SSH server management
91
+ - **📊 Rich Progress Bars**: Real-time progress indicators for all long-running operations across accounts and regions
92
+ - **🔒 Secure Configuration**: Modern YAML-based configuration (`~/.ic/config/`) and native credential files (`~/.aws/config`, `~/.tencent/credentials`)
93
+ - **🌍 Multi-Account / Multi-Region**: Concurrent querying across multiple cloud accounts and regions with STS / CAM AssumeRole support
94
+ - **🎨 Beautiful Terminal UI**: Rich terminal output with tables, colors, JSON formatting, and tree diagrams
95
+ - **⚡ High Performance**: Optimized async and concurrent execution for fast resource discovery
96
+ - **🛡️ Security First**: Built-in credential masking, secret scanning, and pre-commit hook support
97
+
98
+ ---
99
+
100
+ ## 📦 Supported Platforms & Services
101
+
102
+ ### 1. 🟧 AWS Services (Production Ready)
103
+ - **Compute**: EC2 instances, ECS services/tasks, EKS clusters/nodes/pods, Fargate profiles
104
+ - **Storage & DB**: S3 buckets (with tagging compliance checks), RDS instances & clusters
105
+ - **Networking**: VPC, Subnets, Gateways, Load Balancers (ALB/NLB with listener rules, health check path & target health analysis), Security Groups (with Ingress & Egress rule analysis & tree view), VPN connections
106
+ - **Integrations**: CloudFront distributions, MSK Kafka brokers, CodePipeline build/deploy status, Profile management
107
+
108
+ ### 2. 🟦 Tencent Cloud Services (Production Ready)
109
+ - **Compute**: CVM instances (with CPU, Mem, Disk, IP, SGs), Lighthouse lightweight application servers
110
+ - **Containers**: TKE (Tencent Kubernetes Engine) clusters & node details
111
+ - **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)
112
+ - **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
113
+
114
+ ### 3. 🟩 GCP Services (Production Ready)
115
+ - **Compute Engine**: VM instances with status, zone, and network interface details
116
+ - **Cloud Storage**: Bucket lists, location, and storage class information
117
+ - **VPC Network**: Subnets, routes, and firewall rule visibility
118
+ - **GKE**: Kubernetes Engine clusters and node pool configurations
119
+ - **Cloud SQL**: Database instances, engines, and status
120
+
121
+ ### 4. 🟥 Oracle Cloud Infrastructure (OCI) (Production Ready)
122
+ - **Compute & Containers**: VM instances, Container instances (ACI)
123
+ - **Networking**: VCN, Subnets, Load Balancers, Network Security Groups (NSG)
124
+ - **Storage**: Block Volumes, Object Storage buckets
125
+ - **IAM & Cost**: Compartment hierarchy, IAM Policy search/validation, Cost usage & billing credits
126
+
127
+ ### 5. 🟧 CloudFlare (Production Ready)
128
+ - **DNS & Zones**: Zone listings, DNS record management, and account filtering
129
+
130
+ ### 6. 🟦 SSH Server Management (Production Ready)
131
+ - **Discovery**: Automatic server registration, connection verification, and security filtering
132
+
133
+ ---
134
+
135
+ ## 📦 Installation
136
+
137
+ ### From PyPI (Recommended)
138
+
139
+ ```bash
140
+ # Install the latest stable version (v1.2.8+)
141
+ pip install ic-code
142
+
143
+ # Verify installation
144
+ ic --version
145
+ ic --help
146
+ ```
147
+
148
+ ### From Source (Development)
149
+
150
+ ```bash
151
+ # Clone the repository
152
+ git clone https://github.com/dgr009/ic.git
153
+ cd ic
154
+
155
+ # Create and activate virtual environment
156
+ python -m venv .venv
157
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
158
+
159
+ # Install dependencies and local editable package
160
+ pip install -e .
161
+
162
+ # Verify installation
163
+ ic --version
164
+ ```
165
+
166
+ ---
167
+
168
+ ## ⚙️ Configuration Setup
169
+
170
+ IC CLI uses a modern two-file configuration system located in `~/.ic/config/` for security:
171
+
172
+ ```
173
+ ~/.ic/config/
174
+ ├── default.yaml # Non-sensitive default settings
175
+ └── secrets.yaml # Sensitive API keys, tokens, and profiles
176
+ ```
177
+
178
+ ### 1. Initialize Configuration
179
+
180
+ ```bash
181
+ # Guided interactive configuration setup
182
+ ic config init
183
+
184
+ # Or generate template for specific clouds
185
+ ic config init --template aws
186
+ ic config init --template multi-cloud
187
+ ```
188
+
189
+ ### 2. Configure Credentials (`~/.ic/config/secrets.yaml`)
190
+
191
+ ```yaml
192
+ # AWS Configuration
193
+ aws:
194
+ accounts:
195
+ - "123456789012"
196
+ profiles:
197
+ default: "my-aws-profile"
198
+ regions:
199
+ - "ap-northeast-2"
200
+ - "us-east-1"
201
+
202
+ # GCP Configuration
203
+ gcp:
204
+ project_id: "my-gcp-project-id"
205
+ credentials_file: "~/.config/gcloud/application_default_credentials.json"
206
+ regions:
207
+ - "asia-northeast3"
208
+ - "us-central1"
209
+
210
+ # Oracle Cloud Infrastructure (OCI)
211
+ oci:
212
+ config_file: "~/.oci/config"
213
+ profile: "DEFAULT"
214
+ compartments:
215
+ - "ocid1.compartment.oc1..example"
216
+
217
+ # CloudFlare Configuration
218
+ cloudflare:
219
+ api_token: "your-cloudflare-api-token"
220
+
221
+ # SSH Configuration
222
+ ssh:
223
+ key_dir: "~/.ssh"
224
+ skip_prefixes:
225
+ - "bastion"
226
+ - "jump"
227
+ ```
228
+
229
+ ### 3. Manage & Validate Config
230
+
231
+ ```bash
232
+ # Show configuration (sensitive fields masked automatically)
233
+ ic config show
234
+
235
+ # Validate configuration structure and paths
236
+ ic config validate
237
+ ```
238
+
239
+ ---
240
+
241
+ ## 🚀 Command Usage Examples
242
+
243
+ ### AWS Commands
244
+
245
+ ```bash
246
+ # List EC2 instances across configured regions
247
+ ic aws ec2 info
248
+
249
+ # Security Group Info (Shows Ingress & Egress rules by default)
250
+ ic aws sg info
251
+
252
+ # Filter Security Groups for Ingress or Egress rules only
253
+ ic aws sg info --ingress # Show Ingress rules only
254
+ ic aws sg info --egress # Show Egress rules only
255
+
256
+ # Render Security Groups in visual tree structure with direction arrows (← Ingress, → Egress)
257
+ ic aws sg info -o tree
258
+
259
+ # S3 Bucket details and tag validation
260
+ ic aws s3 info
261
+ ic aws s3 tag_check
262
+
263
+ # EKS & ECS Cluster info
264
+ ic aws eks info
265
+ ic aws ecs info
266
+ ```
267
+
268
+ ### Tencent Cloud Commands
269
+
270
+ ```bash
271
+ # List CVM instances across accounts and regions
272
+ ic tencent cvm info
273
+ ic tencent cvm info -a my-account
274
+
275
+ # List Lighthouse lightweight instances
276
+ ic tencent lighthouse info
277
+
278
+ # Security Group Info (Tables and Tree view)
279
+ ic tencent sg info
280
+ ic tencent sg info -o tree
281
+
282
+ # Load Balancer (CLB) with listeners, health check path & target health
283
+ ic tencent clb info
284
+
285
+ # VPC, Subnets, NAT Gateways & TKE Clusters
286
+ ic tencent vpc info
287
+ ic tencent nat info
288
+ ic tencent tke info
289
+
290
+ # Check credentials and profiles (~/.tencent/credentials)
291
+ ic tencent profile info
292
+ ```
293
+
294
+ ### GCP Commands
295
+
296
+ ```bash
297
+ # Compute Engine VM instances
298
+ ic gcp compute info
299
+
300
+ # Cloud Storage buckets
301
+ ic gcp storage info
302
+
303
+ # VPC networks and subnets
304
+ ic gcp vpc info
305
+
306
+ # GKE Clusters
307
+ ic gcp gke info
308
+
309
+ # Cloud SQL databases
310
+ ic gcp sql info
311
+ ```
312
+
313
+ ### OCI Commands
314
+
315
+ ```bash
316
+ # Compute VM instances
317
+ ic oci vm info
318
+
319
+ # Virtual Cloud Networks
320
+ ic oci vcn info
321
+
322
+ # Load Balancers & Network Security Groups
323
+ ic oci lb info
324
+ ic oci nsg info
325
+
326
+ # Storage & Cost usage
327
+ ic oci volume info
328
+ ic oci cost usage
329
+ ```
330
+
331
+ ### CloudFlare & SSH Commands
332
+
333
+ ```bash
334
+ # CloudFlare Zones and DNS
335
+ ic cf zone info
336
+ ic cf dns info
337
+
338
+ # SSH Server discovery
339
+ ic ssh info
340
+ ```
341
+
342
+ ### Security & Hook Commands
343
+
344
+ ```bash
345
+ # Scan codebase for hardcoded secrets
346
+ ic security scan
347
+
348
+ # Install pre-commit security hooks
349
+ ic security install-hooks
350
+ ```
351
+
352
+ ---
353
+
354
+ ## 🧪 Testing & Validation
355
+
356
+ ```bash
357
+ # Run unit & integration test suites
358
+ pytest tests/unit tests/integration
359
+
360
+ # Run End-to-End CLI validation
361
+ python tests/validation/end_to_end_cli_validation.py
362
+ ```
363
+
364
+ ---
365
+
366
+ ## 📄 License
367
+
368
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,291 @@
1
+ # IC CLI Tool (Infrastructure Commander)
2
+
3
+ [![PyPI version](https://badge.fury.io/py/ic-code.svg)](https://badge.fury.io/py/ic-code)
4
+ [![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ A comprehensive, production-grade Infrastructure Command Line Interface tool for managing multi-cloud infrastructure and server components across multiple platforms. IC CLI provides unified access to **AWS**, **Tencent Cloud**, **GCP**, **Oracle Cloud Infrastructure (OCI)**, **CloudFlare**, and **SSH** server management with rich progress indicators and secure configuration management.
8
+
9
+ ---
10
+
11
+ ## ✨ Key Features
12
+
13
+ - **🚀 Multi-Cloud Support**: AWS, Tencent Cloud, GCP, OCI, CloudFlare, and SSH server management
14
+ - **📊 Rich Progress Bars**: Real-time progress indicators for all long-running operations across accounts and regions
15
+ - **🔒 Secure Configuration**: Modern YAML-based configuration (`~/.ic/config/`) and native credential files (`~/.aws/config`, `~/.tencent/credentials`)
16
+ - **🌍 Multi-Account / Multi-Region**: Concurrent querying across multiple cloud accounts and regions with STS / CAM AssumeRole support
17
+ - **🎨 Beautiful Terminal UI**: Rich terminal output with tables, colors, JSON formatting, and tree diagrams
18
+ - **⚡ High Performance**: Optimized async and concurrent execution for fast resource discovery
19
+ - **🛡️ Security First**: Built-in credential masking, secret scanning, and pre-commit hook support
20
+
21
+ ---
22
+
23
+ ## 📦 Supported Platforms & Services
24
+
25
+ ### 1. 🟧 AWS Services (Production Ready)
26
+ - **Compute**: EC2 instances, ECS services/tasks, EKS clusters/nodes/pods, Fargate profiles
27
+ - **Storage & DB**: S3 buckets (with tagging compliance checks), RDS instances & clusters
28
+ - **Networking**: VPC, Subnets, Gateways, Load Balancers (ALB/NLB with listener rules, health check path & target health analysis), Security Groups (with Ingress & Egress rule analysis & tree view), VPN connections
29
+ - **Integrations**: CloudFront distributions, MSK Kafka brokers, CodePipeline build/deploy status, Profile management
30
+
31
+ ### 2. 🟦 Tencent Cloud Services (Production Ready)
32
+ - **Compute**: CVM instances (with CPU, Mem, Disk, IP, SGs), Lighthouse lightweight application servers
33
+ - **Containers**: TKE (Tencent Kubernetes Engine) clusters & node details
34
+ - **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
+ - **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
36
+
37
+ ### 3. 🟩 GCP Services (Production Ready)
38
+ - **Compute Engine**: VM instances with status, zone, and network interface details
39
+ - **Cloud Storage**: Bucket lists, location, and storage class information
40
+ - **VPC Network**: Subnets, routes, and firewall rule visibility
41
+ - **GKE**: Kubernetes Engine clusters and node pool configurations
42
+ - **Cloud SQL**: Database instances, engines, and status
43
+
44
+ ### 4. 🟥 Oracle Cloud Infrastructure (OCI) (Production Ready)
45
+ - **Compute & Containers**: VM instances, Container instances (ACI)
46
+ - **Networking**: VCN, Subnets, Load Balancers, Network Security Groups (NSG)
47
+ - **Storage**: Block Volumes, Object Storage buckets
48
+ - **IAM & Cost**: Compartment hierarchy, IAM Policy search/validation, Cost usage & billing credits
49
+
50
+ ### 5. 🟧 CloudFlare (Production Ready)
51
+ - **DNS & Zones**: Zone listings, DNS record management, and account filtering
52
+
53
+ ### 6. 🟦 SSH Server Management (Production Ready)
54
+ - **Discovery**: Automatic server registration, connection verification, and security filtering
55
+
56
+ ---
57
+
58
+ ## 📦 Installation
59
+
60
+ ### From PyPI (Recommended)
61
+
62
+ ```bash
63
+ # Install the latest stable version (v1.2.8+)
64
+ pip install ic-code
65
+
66
+ # Verify installation
67
+ ic --version
68
+ ic --help
69
+ ```
70
+
71
+ ### From Source (Development)
72
+
73
+ ```bash
74
+ # Clone the repository
75
+ git clone https://github.com/dgr009/ic.git
76
+ cd ic
77
+
78
+ # Create and activate virtual environment
79
+ python -m venv .venv
80
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
81
+
82
+ # Install dependencies and local editable package
83
+ pip install -e .
84
+
85
+ # Verify installation
86
+ ic --version
87
+ ```
88
+
89
+ ---
90
+
91
+ ## ⚙️ Configuration Setup
92
+
93
+ IC CLI uses a modern two-file configuration system located in `~/.ic/config/` for security:
94
+
95
+ ```
96
+ ~/.ic/config/
97
+ ├── default.yaml # Non-sensitive default settings
98
+ └── secrets.yaml # Sensitive API keys, tokens, and profiles
99
+ ```
100
+
101
+ ### 1. Initialize Configuration
102
+
103
+ ```bash
104
+ # Guided interactive configuration setup
105
+ ic config init
106
+
107
+ # Or generate template for specific clouds
108
+ ic config init --template aws
109
+ ic config init --template multi-cloud
110
+ ```
111
+
112
+ ### 2. Configure Credentials (`~/.ic/config/secrets.yaml`)
113
+
114
+ ```yaml
115
+ # AWS Configuration
116
+ aws:
117
+ accounts:
118
+ - "123456789012"
119
+ profiles:
120
+ default: "my-aws-profile"
121
+ regions:
122
+ - "ap-northeast-2"
123
+ - "us-east-1"
124
+
125
+ # GCP Configuration
126
+ gcp:
127
+ project_id: "my-gcp-project-id"
128
+ credentials_file: "~/.config/gcloud/application_default_credentials.json"
129
+ regions:
130
+ - "asia-northeast3"
131
+ - "us-central1"
132
+
133
+ # Oracle Cloud Infrastructure (OCI)
134
+ oci:
135
+ config_file: "~/.oci/config"
136
+ profile: "DEFAULT"
137
+ compartments:
138
+ - "ocid1.compartment.oc1..example"
139
+
140
+ # CloudFlare Configuration
141
+ cloudflare:
142
+ api_token: "your-cloudflare-api-token"
143
+
144
+ # SSH Configuration
145
+ ssh:
146
+ key_dir: "~/.ssh"
147
+ skip_prefixes:
148
+ - "bastion"
149
+ - "jump"
150
+ ```
151
+
152
+ ### 3. Manage & Validate Config
153
+
154
+ ```bash
155
+ # Show configuration (sensitive fields masked automatically)
156
+ ic config show
157
+
158
+ # Validate configuration structure and paths
159
+ ic config validate
160
+ ```
161
+
162
+ ---
163
+
164
+ ## 🚀 Command Usage Examples
165
+
166
+ ### AWS Commands
167
+
168
+ ```bash
169
+ # List EC2 instances across configured regions
170
+ ic aws ec2 info
171
+
172
+ # Security Group Info (Shows Ingress & Egress rules by default)
173
+ ic aws sg info
174
+
175
+ # Filter Security Groups for Ingress or Egress rules only
176
+ ic aws sg info --ingress # Show Ingress rules only
177
+ ic aws sg info --egress # Show Egress rules only
178
+
179
+ # Render Security Groups in visual tree structure with direction arrows (← Ingress, → Egress)
180
+ ic aws sg info -o tree
181
+
182
+ # S3 Bucket details and tag validation
183
+ ic aws s3 info
184
+ ic aws s3 tag_check
185
+
186
+ # EKS & ECS Cluster info
187
+ ic aws eks info
188
+ ic aws ecs info
189
+ ```
190
+
191
+ ### Tencent Cloud Commands
192
+
193
+ ```bash
194
+ # List CVM instances across accounts and regions
195
+ ic tencent cvm info
196
+ ic tencent cvm info -a my-account
197
+
198
+ # List Lighthouse lightweight instances
199
+ ic tencent lighthouse info
200
+
201
+ # Security Group Info (Tables and Tree view)
202
+ ic tencent sg info
203
+ ic tencent sg info -o tree
204
+
205
+ # Load Balancer (CLB) with listeners, health check path & target health
206
+ ic tencent clb info
207
+
208
+ # VPC, Subnets, NAT Gateways & TKE Clusters
209
+ ic tencent vpc info
210
+ ic tencent nat info
211
+ ic tencent tke info
212
+
213
+ # Check credentials and profiles (~/.tencent/credentials)
214
+ ic tencent profile info
215
+ ```
216
+
217
+ ### GCP Commands
218
+
219
+ ```bash
220
+ # Compute Engine VM instances
221
+ ic gcp compute info
222
+
223
+ # Cloud Storage buckets
224
+ ic gcp storage info
225
+
226
+ # VPC networks and subnets
227
+ ic gcp vpc info
228
+
229
+ # GKE Clusters
230
+ ic gcp gke info
231
+
232
+ # Cloud SQL databases
233
+ ic gcp sql info
234
+ ```
235
+
236
+ ### OCI Commands
237
+
238
+ ```bash
239
+ # Compute VM instances
240
+ ic oci vm info
241
+
242
+ # Virtual Cloud Networks
243
+ ic oci vcn info
244
+
245
+ # Load Balancers & Network Security Groups
246
+ ic oci lb info
247
+ ic oci nsg info
248
+
249
+ # Storage & Cost usage
250
+ ic oci volume info
251
+ ic oci cost usage
252
+ ```
253
+
254
+ ### CloudFlare & SSH Commands
255
+
256
+ ```bash
257
+ # CloudFlare Zones and DNS
258
+ ic cf zone info
259
+ ic cf dns info
260
+
261
+ # SSH Server discovery
262
+ ic ssh info
263
+ ```
264
+
265
+ ### Security & Hook Commands
266
+
267
+ ```bash
268
+ # Scan codebase for hardcoded secrets
269
+ ic security scan
270
+
271
+ # Install pre-commit security hooks
272
+ ic security install-hooks
273
+ ```
274
+
275
+ ---
276
+
277
+ ## 🧪 Testing & Validation
278
+
279
+ ```bash
280
+ # Run unit & integration test suites
281
+ pytest tests/unit tests/integration
282
+
283
+ # Run End-to-End CLI validation
284
+ python tests/validation/end_to_end_cli_validation.py
285
+ ```
286
+
287
+ ---
288
+
289
+ ## 📄 License
290
+
291
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.