Timeweb Cloud CLI (twc)
ΠΠ±Π»Π°ΠΊΠΎ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°RUΠΠΎΠ½ΡΠΎΠ»Ρ Timeweb Cloud: ΡΠ΅ΡΠ²Π΅ΡΡ, Π±Π°Π·Ρ, Kubernetes, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ, DNS ΠΈ firewall β Π²Π΅ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΠ»ΡΠ³ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΈΠ· ΡΡΡΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Π΅ΠΉ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΠΎΠ±Π»Π°ΠΊΠΎ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, Π° Π½Π΅ ΠΎΠ΄Π½Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ. Π’ΠΎΡ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Python.
Timeweb Cloud
Π°Π²ΡΠΎΡ
Python
ΡΠ·ΡΠΊ
MIT
Π»ΠΈΡΠ΅Π½Π·ΠΈΡ
β 65
GitHub Π·Π²ΡΠ·Π΄
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
pipx Π²ΠΌΠ΅ΡΡΠΎ pip Π½Π΅ ΠΏΡΠΈΡ ΠΎΡΡ: ΠΏΠ°ΠΊΠ΅Ρ ΠΆΡΡΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΠΈ click ΠΈ typer, ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π»ΠΎΠΌΠ°Π΅Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΠ°ΡΠΈΠ²Π½ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΡΠΎΡΠΌΡΠ»Ρ Homebrew Π½Π΅Ρ.
Π§ΡΠΎ ΡΠΌΠ΅Π΅Ρ
Π‘Π΅ΠΌΠ½Π°Π΄ΡΠ°ΡΡ Π³ΡΡΠΏΠΏ ΠΊΠΎΠΌΠ°Π½Π΄: ΡΠ΅ΡΠ²Π΅ΡΡ Ρ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ ΠΈΠ· ΠΌΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡΠ° ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ cloud-init, ΠΊΠ»Π°ΡΡΠ΅ΡΡ Kubernetes Ρ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ Π²ΠΎΡΠΊΠ΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠΎΠΉ kubeconfig, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π±Π°Π·Ρ, ΡΠ΅ΡΠΈ, firewall, Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ, DNS, ΡΠ²ΠΎΠΈ ΠΎΠ±ΡΠ°Π·Ρ ΠΈ ΠΊΠ»ΡΡΠΈ.
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΌΠ΅Π»ΠΎΡΡ: ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° β s3cmd ΠΈ rclone β Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΡ ΡΡΠΊΠ°ΠΌΠΈ.
ΠΠ»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΅ΡΡΡ ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π² JSON, YAML ΠΈ plain, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠ»ΡΡΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ. ΠΡΠΎΡΠΈΠ»ΠΈ ΡΡΡΡΠΎΠ΅Π½Ρ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎ: Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π°Π³ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
Π§Π΅Π³ΠΎ Π² Π½Π΅ΠΉ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π½Π΅Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΡΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ Π²ΠΎΠΉΠ΄ΡΡ: ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ². Π‘ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ DNS-Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
Π‘ΡΠΎΠΈΡ Π·Π½Π°ΡΡ ΠΈ ΠΏΡΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅: ΡΠΎΠΊΠ΅Π½ Π»Π΅ΠΆΠΈΡ ΠΎΡΠΊΡΡΡΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΠ° ΠΎΠ±ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΉΠ» Π²ΠΎΠ²ΡΠ΅.
Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
Π‘ΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠ΅Π· pip ΠΈΠ»ΠΈ pipx?
ΠΠ΅Π½Π΄ΠΎΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ pipx. ΠΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ ΠΆΡΡΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΠΈ click ΠΈ typer, ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΎ Π»ΠΎΠΌΠ°Π΅Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ; pipx ΡΡΠ°Π²ΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°ΠΌΠΈ?
Π§Π΅ΡΠ΅Π· ΠΏΡΠΎΡΠΈΠ»ΠΈ: ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π°Π²ΠΎΠ΄ΠΈΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π΄Π°Π»ΡΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΡΠΈΠ»Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠ°, Π° Π½Π΅ ΡΠ°Π±Π»ΠΈΡΡ?
Π€Π»Π°Π³ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ° Π²ΡΠ²ΠΎΠ΄Π°: Π΄ΠΎΡΡΡΠΏΠ½Ρ json, yaml ΠΈ raw, ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΈΠ»ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ β Π΄Π»Ρ JSON ΡΠΈΠ»ΡΡΡΡΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π· jq.
Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠ΅ΠΉ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²?
ΠΠ΅Ρ, ΠΈ ΡΡΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ. ΠΠ½Π΅ ΠΎΡ Π²Π°ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ. Π‘ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ DNS-Π·Π°ΠΏΠΈΡΠ΅ΠΉ.