Skip to content

Commit 61d4d3a

Browse files
committed
[uk] Plugins - developer/tutorial-postrenderer-plugin.mdx
Signed-off-by: Andrii Holovin <[email protected]>
1 parent f1fe193 commit 61d4d3a

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
title: "Посібник: Створення втулків Postrenderer"
3+
sidebar_label: Створення втулків Postrenderer
4+
---
5+
6+
import GetVersion from "@site/src/components/GetVersion";
7+
import CodeBlock from "@theme/CodeBlock";
8+
9+
Створіть втулок, який додає власні мітки до всіх ресурсів Kubernetes.
10+
11+
## Subprocess Runtime
12+
13+
Створімо втулок Postrenderer, який виконується в Subprocess.
14+
15+
### Передумови {#prerequisites}
16+
17+
1. Встановіть останню версію Helm 4: **<GetVersion majorVersion="4" label={false} link={true} />**
18+
2. В терміналі створіть аліас `helm` для завантаженої версії. Команда `helm version --short` повинна показати правильну версію Helm у цьому терміналі.
19+
3. Встановіть `mikefarah/yq`: https://github.com/mikefarah/yq/#install
20+
21+
### 1. Створіть теку для втулка {#1-create-plugin-directory}
22+
23+
Ви можете створити її в будь-якому місці вашої файлової системи. Наприклад:
24+
25+
```bash
26+
mkdir -p $HOME/code/helm/plugins/label-injector
27+
cd $HOME/code/helm/plugins/label-injector
28+
```
29+
30+
### 2. Створіть маніфест втулка {#2-create-plugin-manifest}
31+
32+
```yaml title="plugin.yaml" showLineNumbers
33+
apiVersion: v1
34+
type: postrenderer/v1
35+
name: label-injector
36+
version: 0.1.0
37+
runtime: subprocess
38+
runtimeConfig:
39+
platformCommand:
40+
- command: ${HELM_PLUGIN_DIR}/inject-labels.sh
41+
```
42+
43+
### 3. Створіть скрипт {#3-create-script}
44+
45+
```bash title="inject-labels.sh" showLineNumbers
46+
#!/usr/bin/env sh
47+
# set -e
48+
cat <&0 | yq '.metadata.labels.postrendered-by = "helm-label-injector-plugin"'
49+
```
50+
51+
Зробіть його виконуваним:
52+
53+
```bash
54+
chmod +x inject-labels.sh
55+
```
56+
57+
### 4. Встановлення в режимі розробки та тестування {#4-install-in-dev-mode-and-test}
58+
59+
Встановлення втулка з вашої файлової системи відбувається в локальному режимі розробки. Це дозволяє обійти перевірку або підтвердження походження:
60+
61+
```bash
62+
% helm plugin install $HOME/code/helm/plugins/label-injector
63+
Installing plugin from local directory (development mode)
64+
Installed plugin: label-injector
65+
```
66+
67+
Як ми бачили в [посібнику з втулків CLI](/plugins/developer/tutorial-cli-plugin.mdx) та [Getter](/plugins/developer/tutorial-getter-plugin.mdx), встановлення в локальному режимі розробки створює символічне посилання з теки джерел вашого втулка до теки втулків. Тепер у вас встановлено три втулки:
68+
69+
```bash
70+
% ls -lah $(helm env HELM_PLUGINS)
71+
total 0
72+
drwxr-xr-x@ 5 r6by staff 160B Nov 10 04:04 .
73+
drwxr-xr-x@ 3 r6by staff 96B Jan 21 2025 ..
74+
lrwxr-xr-x 1 r6by staff 41B Nov 10 04:04 demo-getter -> /Users/r6by/code/helm/plugins/demo-getter
75+
lrwxr-xr-x 1 r6by staff 44B Nov 10 03:02 label-injector -> /Users/r6by/code/helm/plugins/label-injector
76+
lrwxr-xr-x 1 r6by staff 41B Nov 10 02:18 system-info -> /Users/r6by/code/helm/plugins/system-info
77+
```
78+
79+
Тепер ви можете переглянути детальну інформацію про встановлений втулок Postrenderer, а також про встановлені втулки CLI та Getter, використовуючи команду `helm plugin list`:
80+
81+
```bash
82+
% helm plugin list
83+
NAME VERSION TYPE APIVERSION PROVENANCE SOURCE
84+
demo-getter 0.1.0 getter/v1 v1 local dev unknown
85+
label-injector 0.1.0 postrenderer/v1 v1 local dev unknown
86+
system-info 0.1.0 cli/v1 v1 local dev unknown
87+
```
88+
89+
Давайте спробуємо:
90+
91+
```bash
92+
% helm create ../mychart
93+
% helm template ../mychart --post-renderer label-injector
94+
```
95+
96+
У вихідних даних ви повинні побачити такі мітки:
97+
98+
```yaml
99+
metadata:
100+
labels:
101+
postrendered-by: helm-label-injector-plugin
102+
```
103+
104+
Що ви створили: втулок Postrenderer, що використовує середовище виконання Subprocess!
105+
106+
Далі створімо версію в середовищі виконання Wasm…
107+
108+
## Wasm Runtime
109+
110+
### Передумови {#prerequisites-1}
111+
112+
- Вимоги з [Subprocess Runtime](#subprocess-runtime)
113+
- Встановлений Go 1.25
114+
115+
:::warning
116+
To-do: одати цей розділ
117+
:::

0 commit comments

Comments
 (0)