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

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

Π§ΡΠΎΠ±Ρ vim Π·Π°ΡΠ°Π±ΠΎΡΠ°Π» ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ²Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΌΠ½Π΅ ΡΠΏΠΎΡΠΎΠ±Π° β ΡΡΠΎ ΠΈ . Π ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ coc.vim β ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π° Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· :
" Use release branch (Recommend)
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Or build from source code by use 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, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ . Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½Π° Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ <Ctrl>+ΠΏΡΠΎΠ±Π΅Π» Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ 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-ΡΠ°ΠΉΠ» ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΆΠ°ΡΠΈΠ΅ <Ctrl>+ΠΏΡΠΎΠ±Π΅Π» (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² vim) Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ:

ΠΠ΄Π΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ <Ctrl>+ΠΏΡΠΎΠ±Π΅Π», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π°ΡΡΡΠΎΠΈΠ» inoremap <silent><expr> <c-space> 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βΠΈΠ½Π³Π°! ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΌΠΈ Π² ΡΡΠ°ΡΡΠ΅:
- coc-vim: ;
- coc-yaml: .
P.S. ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
Π Π΅ΡΡ Π΅ΡΡΡ , ΠΈ .
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
- «»;
- «».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com
