ΠΡΠΈΠΌ. ΠΏΡΠ΅Π².: ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΡ Josh Rosso β Π°ΡΡ ΠΈΡΠ΅ΠΊΡ ΠΎΡ VMware, ΡΠ°Π±ΠΎΡΠΈΠ» Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΡΠΎ CoreOS ΠΈ Heptio, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΡΡΠ°Π²ΡΠΎΡ Π½Π° Kubernetes alb-ingress-controller. ΠΠ²ΡΠΎΡΡΡ ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΌΠ°Π»ΠΊΠ° ΡΠ΅ΡΠ΅ΠΏΡΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° Π·Π° βΡΡΠ°ΡΠΎΠΌΠΎΠ΄Π½ΠΈΡΠ΅β ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ ΠΏΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΠΈ vim Π΄ΠΎΡΠΈ Π² Π΅ΠΏΠΎΡ Π°ΡΠ° Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

ΠΠΈΡΠ΅ΡΠ΅ YAML ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈ Π·Π° Kubernetes Π²ΡΠ² vim? ΠΡΠ΅ΠΊΠ°ΡΠ°Ρ
ΡΠ΅ Π±Π΅Π·Π±ΡΠΎΠΉ ΡΠ°ΡΠΎΠ²Π΅, ΠΎΠΏΠΈΡΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΡΠ΄Π΅ Π² ΡΠ°Π·ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΡΠ»Π΅Π΄Π²ΠΎΡΠΎ ΠΏΠΎΠ»Π΅? Π ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΡΠ΅ Π½Π° Π±ΡΡΠ·ΠΎ Π½Π°ΠΏΠΎΠΌΠ½ΡΠ½Π΅ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° args ΠΈ command? ΠΡΡΡ Ρ
ΠΎΡΠΎΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ! Vim Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ , Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠΏΡΠ»Π²Π°Π½Π΅, Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°. Π ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈΡ ΡΡΡΠ²ΡΡ.
(ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡ ΡΡΡΠΎ , Π² ΠΊΠΎΠ΅ΡΠΎ Π°Π²ΡΠΎΡΡΡ ΡΠ°Π·ΠΊΠ°Π·Π²Π° ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.)
ΠΠ·ΠΈΠΊΠΎΠ²ΠΈΡΡ ΡΡΡΠ²ΡΡ
ΠΠ·ΠΈΠΊΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ (language servers) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡΠ΅ Π΅Π·ΠΈΡΠΈ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΈΡΠ΅ ΠΈ IDE, ΠΊΠ°ΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» β (LSP). Π’ΠΎΠ²Π° Π΅ ΡΡΠ΄Π΅ΡΠ΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄: ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΅Π΄Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΈ/IDE. ΠΠ· Π²Π΅ΡΠ΅ Π·Π° β Π΅Π·ΠΈΠΊΠΎΠ² ΡΡΡΠ²ΡΡ Π·Π° Golang β ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² . ΠΠ΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π² YAML Π·Π° Kubernetes ΡΠ° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΈ.

ΠΠ° Π΄Π° Π·Π°ΡΠ°Π±ΠΎΡΠΈ vim ΠΏΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°ΡΠΈΠ½, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠ²Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌ, ΡΠ° ΠΈ . Π ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌ coc.vim β ΡΠΎΠ²Π° Π΅ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΡ ΠΏΠ»ΡΠ³ΠΈΠ½ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π· :
" ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ release branch (ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΎ)
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" ΠΠ»ΠΈ ΠΈΠ·Π³ΡΠ°Π΄Π΅ΡΠ΅ ΠΎΡ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ yarn: https://yarnpkg.com
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'} ΠΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ coc (ΠΈ, ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, ΡΡΡΠ²Π΅ΡΠ° Π½Π° yaml-language-server) Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ node.js:
curl -sL install-node.now.sh/lts | bash ΠΠΎΠ³Π°ΡΠΎ coc.vim Π½Π°ΡΡΡΠΎΠ΅Π½, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΡΡΡΠ²ΡΡΠ½ΠΎΡΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ coc-yaml ΠΎΡ vim:
:CocInstall coc-yaml 
ΠΠ°ΠΊΡΠ°Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° coc-vim, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° . ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΡΠ° +ΠΏΡΠΎΠ±Π΅Π» Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠΏΡΠ»Π²Π°Π½Π΅.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° yaml-language-server
ΠΠ° Π΄Π° coc ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ yaml-language-server, ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠΌΠΎΠ»ΠΈΡΠ΅ Π΄Π° Π·Π°ΡΠ΅Π΄ΠΈ ΡΡ
Π΅ΠΌΠ°ΡΠ° ΠΎΡ Kubernetes ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° YAML ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π’ΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΡΠ΅Π· ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° coc-config:
:CocConfig Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ kubernetes Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ yaml. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π΅Π·ΠΈΠΊΠΎΠ² ΡΡΡΠ²ΡΡ Π·Π° golang, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΌΠΎΡΡΠ° ΠΎΠ±ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
{
"languageserver": {
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod"],
"filetypes": ["go"]
}
},
"yaml.schemas": {
"kubernetes": "/*.yaml"
}
} kubernetes β ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ»Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈΡ ΡΡΡΠ²ΡΡ Π·Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π΄Π° Π·Π°ΡΠ΅Π΄ΠΈ ΡΡ
Π΅ΠΌΠ°ΡΠ° Π½Π° Kubernetes ΠΏΠΎ URL, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² . yaml.schemas ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡ
Π΅ΠΌΠΈ β ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΠΈΠΆΡΠ΅ Π² .
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ YAML ΡΠ°ΠΉΠ» ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅. ΠΠ°ΡΠΈΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° +ΠΏΡΠΎΠ±Π΅Π» (ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ, Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π² vim) ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ:

Π’ΡΠΊ ΡΠ°Π±ΠΎΡΠΈ +ΠΏΡΠΎΠ±Π΅Π», Π·Π°ΡΠΎΡΠΎ Π½Π°ΡΡΡΠΎΠΈΡ
inoremap coc#refresh(). ΠΠΊΠΎ Π½Π΅ ΡΡΠ΅ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠ»ΠΈ β Π²ΠΈΠΆΡΠ΅ Π·Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ΠΠ·Π±ΠΎΡ Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Kubernetes API
ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ yaml-language-server ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡ
Π΅ΠΌΠΈ Π½Π° Kubernetes 1.14.0. ΠΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡ
Π½Π°ΡΠΈΠ½ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡ
Π΅ΠΌΠ°, Π·Π°ΡΠΎΠ²Π° ΠΎΡΠ²ΠΎΡΠΈΡ
. ΠΠ° ΡΠ°ΡΡΠΈΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈΡΡ ΡΡΡΠ²ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° typescript, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ½ΠΎ ΡΡΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΡΡΠ°. ΠΠ° ΡΠ΅Π»ΡΠ° ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΌΠ΅ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° server.ts.
ΠΠ° Π΄Π° Π³ΠΎ ΠΎΡΠΊΡΠΈΠ΅ΡΠ΅ Π½Π° ΡΠ²ΠΎΡΡΠ° ΠΌΠ°ΡΠΈΠ½Π°, ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅ΡΠ΅ YAML ΡΠ°ΠΉΠ» Ρ vim ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Ρ yaml-language-server.
ps aux | grep -i yaml-language-server
joshrosso 2380 45.9 0.2 5586084 69324 ?? S 9:32PM 0:00.43 /usr/local/Cellar/node/13.5.0/bin/node /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js --node-ipc --node-ipc --clientProcessId=2379
joshrosso 2382 0.0 0.0 4399352 788 s001 S+ 9:32PM 0:00.00 grep -i yaml-language-serverΠΠ° Π½Π°Ρ Π΅ Π²Π°ΠΆΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ 2380: ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠΉ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ vim ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° YAML ΡΠ°ΠΉΠ».
ΠΠ°ΠΊΡΠΎ Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ, ΡΠ°ΠΉΠ»ΡΡ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js. ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ Π΄Π° Π³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅, ΠΏΡΠΎΠΌΠ΅Π½ΡΠΉΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° KUBERNETES_SCHEMA_URL, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π²Π΅ΡΡΠΈΡ 1.17.0:
// old 1.14.0 schema
//exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/garethr/kubernetes-json-schema/master/v1.14.0-standalone-strict/all.json";
// new 1.17.0 schema in instrumenta repo
exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/instrumenta/kubernetes-json-schema/master/v1.17.0-standalone-strict/all.json"; Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ coc-yaml ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π² ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ. ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡ
Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΎΡ garethr Π½Π° instrumenta. ΠΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ garethr Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π» ΠΊΡΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡ
Π΅ΠΌΠΈΡΠ΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΌ.
ΠΠ° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π΅ Π²Π»ΡΠ·Π»Π° Π² ΡΠΈΠ»Π°, Π²ΠΈΠΆΡΠ΅ Π΄Π°Π»ΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° ΠΏΠΎΠ»Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΈ [Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Kubernetes] Π½Π΅ Π±Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° K8s 1.14 Π½Π΅ Π±Π΅ΡΠ΅ :

Π Π΅Π·ΡΠΌΠ΅
ΠΠ°Π΄ΡΠ²Π°ΠΌ ΡΠ΅, ΡΠ°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π²ΠΈ Π΅ Π·Π°ΡΠ°Π΄Π²Π°Π»Π° ΡΠΎΠ»ΠΊΠΎΠ²Π°, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈ ΠΌΠ΅Π½. ΠΡΠΈΡΡΠ½ΠΎ YAMLβing! ΠΠ΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ Ρ ΡΠ΅Π·ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅, ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈ Π² ΡΡΠ°ΡΠΈΡΡΠ°:
- coc-vim: ;
- coc-yaml: .
P.S. ΠΎΡ ΠΏΡΠ΅Π²ΠΎΠ΄Π°ΡΠ°
Π ΠΎΡΠ΅ ΠΈΠΌΠ° , ΠΈ .
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΡΡΠΎ Π² Π½Π°ΡΠΈΡ Π±Π»ΠΎΠ³:
- «»;
- «».
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
