ic-code 1.7.2__py3-none-any.whl → 1.7.4__py3-none-any.whl

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.
ic/__init__.py CHANGED
@@ -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.7.2"
7
+ __version__ = "1.7.4"
8
8
  __author__ = "sykim"
9
9
  __email__ = "cruiser594@gmail.com"
10
10
 
@@ -73,6 +73,7 @@ class DependencyValidator:
73
73
  },
74
74
 
75
75
  "ssh": {
76
+ "paramiko": ">=5.0.0",
76
77
  "netifaces": ">=0.11.0",
77
78
  },
78
79
  "config": {
@@ -5,7 +5,7 @@ This module provides functionality to collect and display CloudFront distributio
5
5
  information including origins, domains, and price classes.
6
6
  """
7
7
 
8
- __version__ = "1.0.0"
8
+ __version__ = "1.7.4"
9
9
  __author__ = "IC Development Team"
10
10
 
11
11
  from .info import CloudFrontCollector, CloudFrontRenderer
@@ -5,5 +5,5 @@ GCP Google Kubernetes Engine (GKE) 모듈
5
5
  이 모듈은 GCP GKE 클러스터 정보를 조회하고 관리하는 기능을 제공합니다.
6
6
  """
7
7
 
8
- __version__ = "1.0.0"
8
+ __version__ = "1.7.4"
9
9
  __author__ = "IC CLI Team"
@@ -5,7 +5,7 @@ This module provides functionality to build and display OCI compartment
5
5
  hierarchies in a tree structure format.
6
6
  """
7
7
 
8
- __version__ = "1.0.0"
8
+ __version__ = "1.7.4"
9
9
  __author__ = "IC Development Team"
10
10
 
11
11
  from .info import CompartmentTreeBuilder, CompartmentTreeRenderer
@@ -7,7 +7,7 @@ Available services:
7
7
  - auto: Automatic SSH host discovery and configuration
8
8
  """
9
9
 
10
- __version__ = "1.0.0"
10
+ __version__ = "1.7.4"
11
11
  __author__ = "IC CLI Team"
12
12
 
13
13
  # Service exports
@@ -197,7 +197,14 @@ def get_hostname_via_ssh(ip, key_path, user, port):
197
197
  _ssh_config = _config.get('ssh', {})
198
198
  host_key_policy = _ssh_config.get('host_key_policy', 'auto').lower()
199
199
  configure_host_key_policy(ssh, host_key_policy)
200
- ssh.connect(str(ip), username=user, key_filename=key_path, port=port, timeout=SSH_TIMEOUT)
200
+ ssh.connect(
201
+ str(ip),
202
+ username=user,
203
+ key_filename=key_path,
204
+ port=port,
205
+ timeout=SSH_TIMEOUT,
206
+ disabled_algorithms={"pubkeys": ["ssh-rsa"]},
207
+ )
201
208
  stdin, stdout, stderr = ssh.exec_command("hostname")
202
209
  hostname = stdout.read().decode().strip()
203
210
  ssh.close()
@@ -293,7 +300,8 @@ def check_ssh_connection(host):
293
300
  username=user,
294
301
  port=port,
295
302
  key_filename=identityfile[0] if identityfile else None,
296
- timeout=SSH_TIMEOUT
303
+ timeout=SSH_TIMEOUT,
304
+ disabled_algorithms={"pubkeys": ["ssh-rsa"]},
297
305
  )
298
306
  client.close()
299
307
  return (host, hostname, True, None)
@@ -122,6 +122,7 @@ class ServerInfoRetriever:
122
122
  pkey=private_key,
123
123
  port=self.port,
124
124
  timeout=SSH_TIMEOUT,
125
+ disabled_algorithms={"pubkeys": ["ssh-rsa"]},
125
126
  )
126
127
  # log_info(f"SSH 연결 성공: {self.hostname}")
127
128
  return ssh
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ic-code
3
- Version: 1.7.2
3
+ Version: 1.7.4
4
4
  Summary: Infrastructure CLI tool for managing AWS, Tencent Cloud, GCP, OCI, CloudFlare, SSH, and more
5
5
  Author-email: sykim <cruiser594@gmail.com>
6
- License: MIT
6
+ License-Expression: MIT
7
7
  Project-URL: Homepage, https://github.com/dgr009/ic
8
8
  Project-URL: Bug Reports, https://github.com/dgr009/ic/issues
9
9
  Project-URL: Source, https://github.com/dgr009/ic
@@ -42,7 +42,6 @@ Requires-Dist: watchdog<6.0.0,>=4.0.0
42
42
  Requires-Dist: cerberus<2.0.0,>=1.3.5
43
43
  Requires-Dist: pydantic<3.0.0,>=2.7.0
44
44
  Requires-Dist: packaging<25.0,>=24.0
45
- Requires-Dist: setuptools<76.0.0,>=69.0.0
46
45
  Provides-Extra: aws
47
46
  Requires-Dist: boto3<2.0.0,>=1.34.0; extra == "aws"
48
47
  Requires-Dist: botocore<2.0.0,>=1.34.0; extra == "aws"
@@ -64,7 +63,7 @@ Requires-Dist: google-auth<3.0.0,>=2.29.0; extra == "gcp"
64
63
  Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0; extra == "gcp"
65
64
  Requires-Dist: google-auth-httplib2<1.0.0,>=0.2.0; extra == "gcp"
66
65
  Provides-Extra: ssh
67
- Requires-Dist: paramiko<5.0.0,>=3.4.0; extra == "ssh"
66
+ Requires-Dist: paramiko==5.1.0; extra == "ssh"
68
67
  Requires-Dist: netifaces<1.0.0,>=0.11.0; extra == "ssh"
69
68
  Provides-Extra: k8s
70
69
  Requires-Dist: kubernetes<32.0.0,>=29.0.0; extra == "k8s"
@@ -85,7 +84,7 @@ Requires-Dist: google-cloud-resource-manager<2.0.0,>=1.12.0; extra == "all"
85
84
  Requires-Dist: google-auth<3.0.0,>=2.29.0; extra == "all"
86
85
  Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0; extra == "all"
87
86
  Requires-Dist: google-auth-httplib2<1.0.0,>=0.2.0; extra == "all"
88
- Requires-Dist: paramiko<5.0.0,>=3.4.0; extra == "all"
87
+ Requires-Dist: paramiko==5.1.0; extra == "all"
89
88
  Requires-Dist: netifaces<1.0.0,>=0.11.0; extra == "all"
90
89
  Requires-Dist: kubernetes<32.0.0,>=29.0.0; extra == "all"
91
90
  Provides-Extra: dev
@@ -7,7 +7,7 @@ common/log.py,sha256=ZIhwWmxwCzGS71l_PIaW8Rr9kqNAqG39a-Dhdqt2t3g,8109
7
7
  common/progress_decorator.py,sha256=r6ltd7atWmWYkFveqz8BcBE2L9Y7IAxVyeu-TPScsQY,20530
8
8
  common/slack.py,sha256=ZhdfNU1bLfAnFDLMRXIUMrRlzVn4XWByKlrwSBOB6x8,9013
9
9
  common/utils.py,sha256=r8b6wQVq4KY-ibUw9Yg4sC0L1gyNVAllwgLbtVObA3k,10624
10
- ic/__init__.py,sha256=lcGW01-OGPlBf9MbAzALHQ_9ckowCZt3xCvl3zpxP7s,866
10
+ ic/__init__.py,sha256=xLdnaswPTHe86XZJCUM-RqF-RhORBvJAsKQVHo0Z5bU,866
11
11
  ic/cli.py,sha256=5REZAh_nxdgguED2z_xYiiigBxgGNJaXPcwyDRDGFGk,19686
12
12
  ic/commands/__init__.py,sha256=NAJZp7Tqw28-_1DKXoxnWXJBMs6pBaMCqF0YZP0AvpY,202
13
13
  ic/commands/config.py,sha256=ChdlnBRyu271sw8dWVPl8fdnLHbhqgqGOOT28-tR9jw,60823
@@ -28,7 +28,7 @@ ic/config/schema.py,sha256=-Oi3RRYl6kc8y5tIhFBORn8shWzrANLafHRUWkGaegI,17191
28
28
  ic/config/secrets.py,sha256=VGiI3Trn__AsxssYI7udOeFqkDp4SUQ4F1IfvuHJOhc,14681
29
29
  ic/config/security.py,sha256=O-dw5UYir7OkFwZ7KMkIeR1P4QIwlkdB5OpGt5_WeQ0,34302
30
30
  ic/core/__init__.py,sha256=znRJCXSkQmATrimETinZsdx2iiWHz9oDENP_2enpUBA,351
31
- ic/core/dependency_validator.py,sha256=iL070w37PkWQIdcTD4R3k8RzTgbu-IkNIT02Gra35cA,14443
31
+ ic/core/dependency_validator.py,sha256=xaHRGvDHKcuWdhalsMXYpNaJ0TRcjjeTXO7txSZIq_o,14478
32
32
  ic/core/desc_helper.py,sha256=Z8vyNecSd-ayQPw2aonwcB9rHu2pVAKrbwFC5URnNlw,8151
33
33
  ic/core/logging.py,sha256=cuZjy8D45vXLzUx0hgwpwuViGGt9o02WH5KBMqwSoa4,10948
34
34
  ic/core/platform_discovery.py,sha256=GUZ-D9BU_Meq-jRr5vd5R7y9_M2jitC16by7ox8TIhY,18300
@@ -40,7 +40,7 @@ ic/core/interfaces/formatter.py,sha256=bAxpRXKK8vOrlAmYuItI_D42-Pe1wShBWpYIat72U
40
40
  ic/core/interfaces/result.py,sha256=hCygz8TiHSqsBbJFwRmxsFWOZHJB5KXCXWDanrvWNj4,5387
41
41
  ic/platforms/__init__.py,sha256=8c8nThSzR4Zz6W9DBZguourMi3DRyOtTMLUgP7AGtqo,21
42
42
  ic/platforms/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- ic/platforms/aws/cloudfront/__init__.py,sha256=MZCj001nZsoQNwCm29yQ7pqOaj69VN3rG7bDV8VZYjc,400
43
+ ic/platforms/aws/cloudfront/__init__.py,sha256=qINNvEDIZ4S8sod0T6XgVrb_zbCMF9gyqfC-7bCC1j8,400
44
44
  ic/platforms/aws/cloudfront/info.py,sha256=NVrt81pWk5s98DVVojk41WHbLIcNj1U4xBQvX681GFg,9240
45
45
  ic/platforms/aws/codepipeline/__init__.py,sha256=ClOZUFGCBEJLsLexDoY_ekQZ2hinUhO65X4C_7GHsy0,25
46
46
  ic/platforms/aws/codepipeline/build.py,sha256=MxkxWSUSw70awTvBmE_PVX0JbT8v4o81Bwk0lR8VgOU,9240
@@ -141,7 +141,7 @@ ic/platforms/gcp/firewall/mock_data.json,sha256=Kdj3NvT4ZBOYbb5D8fxSBAsygeXSkrBq
141
141
  ic/platforms/gcp/functions/__init__.py,sha256=0O77GkeyHWbrhvQ_nBII9rIwnkLVd8akBLRnyIWvwnE,28
142
142
  ic/platforms/gcp/functions/info.py,sha256=IgMlyTSXF6WvmQwo39RDMqnbJn7owY9Edo7SCHSKfmc,24898
143
143
  ic/platforms/gcp/functions/mock_data.json,sha256=1nQ04j9ctxK9bJL489Z_lwKCOymDwHDANtmgbtp9-u4,622
144
- ic/platforms/gcp/gke/__init__.py,sha256=ohNSoE9Jmr5fzsPtSbHFLs-wwr2q79I-Dbt3al-vuUw,221
144
+ ic/platforms/gcp/gke/__init__.py,sha256=eM3oaNB2gha-NJT8nr_qpaPwQ3Q-Nx90TrDr4j4DUPs,221
145
145
  ic/platforms/gcp/gke/info.py,sha256=nnNbtOlv8WOQL5jTcH7xAzp0HVW1-KGekjEOW7LXb8w,36061
146
146
  ic/platforms/gcp/gke/mock_data.json,sha256=9Ny8dKuN4D0PuF-R_iQfe4lv9IyUFYRGv8hux1p4-BE,10431
147
147
  ic/platforms/gcp/lb/__init__.py,sha256=kzSVCitbRKcdD1FKhYtQ6wyDePIgVKYoMzAxZZ0Q17c,27
@@ -169,7 +169,7 @@ ic/platforms/gcp/vpc/mock_data.json,sha256=4fy5NK8E15cCd74gz5yYGH__mi31lDMN2ibXd
169
169
  ic/platforms/oci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
170
  ic/platforms/oci/common/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
171
171
  ic/platforms/oci/common/utils.py,sha256=OHl2nYNIFph-UMtlH31VxdC9bxwbCCGjIIm-WMRn4hs,1556
172
- ic/platforms/oci/compartment/__init__.py,sha256=HnpPB4D_pGAMWfZpYLNU-Sfd0DMa4bOqMfjmluep92Y,387
172
+ ic/platforms/oci/compartment/__init__.py,sha256=8cyqnno09vfZierLvC-VrqMFTlgEwF8exBVoWMiVkI0,387
173
173
  ic/platforms/oci/compartment/info.py,sha256=OBnzz_UJvymelAV10dBKN-EA0G6hLD95LFu33zEVfxw,10388
174
174
  ic/platforms/oci/cost/__init__.py,sha256=c62_-mddMyybdyMFPSq-BZNdaGKnvo12IEDb3XR8xeI,233
175
175
  ic/platforms/oci/cost/credit.py,sha256=Nu6SlW7El6W4PCQMAxA9ODNjUT9OnpAEwUE73RtNcnI,6721
@@ -191,10 +191,10 @@ ic/platforms/oci/vm/__init__.py,sha256=84uba_nlfb4WX8pc9uZdmNd5ZXIQNJgjVs_Th0Mlr
191
191
  ic/platforms/oci/vm/info.py,sha256=5EryffEZaWv2n_vvkFlvgBnTHcXYuewUlekFEXvnrYA,15119
192
192
  ic/platforms/oci/volume/__init__.py,sha256=s6XCRhZVhneACW9YrYIIe2Y2zMuo3VVzBnRPn5KhLPE,92
193
193
  ic/platforms/oci/volume/info.py,sha256=BqIvEfqGo49EH7Zzx012N8urZbqG_-B1wLYhMhtA75Y,10037
194
- ic/platforms/ssh/__init__.py,sha256=CLVWFyMZpOVgWVSA9cN7CssXy-fHlyhs12gHWWO_fqg,384
195
- ic/platforms/ssh/auto_ssh.py,sha256=ajPmuGPRK3ZU-LUorPH33RWD5NPpSQpcALP-WTnt94Q,17567
194
+ ic/platforms/ssh/__init__.py,sha256=IChhX7jJgg4auGFf-AORoFw6FTIJgwV6GGgDVM7oGRo,384
195
+ ic/platforms/ssh/auto_ssh.py,sha256=Rdv28rUxD3_warHS7zOQAFwQLq-ueas4j1pTHXHEWWM,17755
196
196
  ic/platforms/ssh/policy.py,sha256=HRuaAG0j8mkl8ixXcgRyzPouv_aJXqXG-MpLO1YAMz8,2387
197
- ic/platforms/ssh/server_info.py,sha256=qBaUjcf12H6brFNdsBZKT_2nnUReQhv0Fd3W6vDIexY,22297
197
+ ic/platforms/ssh/server_info.py,sha256=cl7H_M7P3YtH7Yg5259N4bU8qxd2kHvdrfgHu5SWlCI,22359
198
198
  ic/platforms/ssh/auto/__init__.py,sha256=mILTnmBulH-8Z6LaBP5iY2ydr97WYgOFxSXnXUJ4xvM,25
199
199
  ic/platforms/ssh/auto/scan.py,sha256=R0lKCVf0ZiQmY1gKvDDamHj4W8plUwOQcRk3j9_Dobc,6066
200
200
  ic/platforms/ssh/server/__init__.py,sha256=fL-jhqfUXMnmBU6TMVcIifRHZuyULgivJGuUsSolplo,27
@@ -240,9 +240,9 @@ ic/security/guidance.py,sha256=4KzBNIGdB1YrALYoFtjuiEpOJUsdnuu6BbKBW41gG6c,16778
240
240
  ic/security/hooks.py,sha256=0o_xu64n8QoqsEpTTHyyihpGMvCaSKtumpTP_4GkiM8,9364
241
241
  ic/security/patterns.py,sha256=VWKC97RnALkXAyeUe6v2XoKh3tOjowkAe7tY85xKK1Y,10654
242
242
  ic/security/scanner.py,sha256=rZw-84DP_2CC_FdHeQA0zkYLAwrJAWFrpxM_Rd6C3ew,8840
243
- ic_code-1.7.2.dist-info/licenses/LICENSE,sha256=hv8_h-ZY0-O0lgbWO0WsggQvBgoFAjaJetBwGcjISI0,1067
244
- ic_code-1.7.2.dist-info/METADATA,sha256=8Box4GWUXdROhsfVYx0LqWkIu0Gwc9sgxnLSd_E_tkY,41539
245
- ic_code-1.7.2.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
246
- ic_code-1.7.2.dist-info/entry_points.txt,sha256=oFik4GWAH34VMH-whqMgGpoYivL8a2sVX51Q_zptmGw,35
247
- ic_code-1.7.2.dist-info/top_level.txt,sha256=Eljg2Sj0C2xyftUBNREqHBkmUa1XYQ5PW12WrZXjHuI,10
248
- ic_code-1.7.2.dist-info/RECORD,,
243
+ ic_code-1.7.4.dist-info/licenses/LICENSE,sha256=hv8_h-ZY0-O0lgbWO0WsggQvBgoFAjaJetBwGcjISI0,1067
244
+ ic_code-1.7.4.dist-info/METADATA,sha256=LzvRKe9zXqGVnjpji-ySS0_a0x_evM2zOoHuE0ZIp4A,41494
245
+ ic_code-1.7.4.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
246
+ ic_code-1.7.4.dist-info/entry_points.txt,sha256=oFik4GWAH34VMH-whqMgGpoYivL8a2sVX51Q_zptmGw,35
247
+ ic_code-1.7.4.dist-info/top_level.txt,sha256=Eljg2Sj0C2xyftUBNREqHBkmUa1XYQ5PW12WrZXjHuI,10
248
+ ic_code-1.7.4.dist-info/RECORD,,