Skip to content
This repository was archived by the owner on Aug 11, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/go_modules_check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
echo "Processing $go_mod_file"

while IFS= read -r line; do
if [[ "$line" =~ ^replace ]]; then
if [[ "$line" =~ ^replace || "$line" =~ ^module ]]; then
continue
fi

Expand Down
4 changes: 2 additions & 2 deletions crds/doc-ru-nfsstorageclass.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ spec:
Режим монтирования NFS-раздела.
timeout:
description: |
Таймаут NFS-сервера.
Время в десятых долях секунды (600 - это 60сек.), в течение которого клиент NFS ожидает ответа, прежде чем повторить запрос NFS.
retransmissions:
description: |
Количество попыток подключения к NFS-серверу.
Количество повторных попыток клиента NFS выполнить запрос, прежде чем он предпримет дальнейшие действия по восстановлению соединения.
readOnly:
description: |
Монтирование в режиме «только чтение» (read-only).
Expand Down
4 changes: 2 additions & 2 deletions crds/nfsstorageclass.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,12 @@ spec:
timeout:
type: integer
description: |
NFS server timeout.
The time in tenths of a second (600 is 60 seconds) during which the NFS client waits for a response before repeating the NFS request.
minimum: 1
retransmissions:
type: integer
description: |
NFS retries before fail.
The number of repeated attempts by the NFS client to execute the request before it takes further steps to restore the connection.
minimum: 1
readOnly:
type: boolean
Expand Down
5 changes: 5 additions & 0 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,8 @@ cat CA1.crt CA2.crt CA3.crt | base64 -w0
```

- and so on

## What are the requirements for a Linux distribution to deploy an NFS server with RPC-with-TLS support?

- The kernel must be built with the `CONFIG_TLS` and `CONFIG_NET_HANDSHAKE` options enabled;
- The nfs-utils package (or nfs-common in Debian-based distributions) must be version >= 2.6.3.
5 changes: 5 additions & 0 deletions docs/FAQ_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,8 @@ cat CA1.crt CA2.crt CA3.crt | base64 -w0
```

- и т.д.

## Какие требования к Linux дистрибутиву для разворачивания NFS-сервера с поддержкой RPC-with-TLS?

- Ядро должно быть собрано с включенными параметрами `CONFIG_TLS` и `CONFIG_NET_HANDSHAKE`;
- Пакет nfs-utils (в дистрибутивах основанных на Debian - nfs-common) должен быть >= 2.6.3.
1 change: 0 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ For module pods to restart when the `tlsParameters` parameter is changed in the

## RPC-with-TLS mode limitations

- Only one certificate authority (CA) is supported.
- For the `mtls` security policy, only one client certificate is supported.
- A single NFS server cannot simultaneously operate in different security modes: `tls`, `mtls`, and standard (non-TLS) mode.
- The `tlshd` daemon must not be running on the cluster nodes, otherwise it will conflict with the daemon of our module. To prevent conflicts when enabling TLS, the third-party `tlshd` is automatically stopped on the nodes and its autostart is disabled.
Expand Down
1 change: 0 additions & 1 deletion docs/README_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ description: "Модуль csi-nfs: общие концепции и полож

## Ограничения режима RPC-with-TLS

- Поддерживается только один центр сертификации (CA).
- Для политики безопасности `mtls` поддерживается только один сертификат клиента.
- Один NFS-сервер не может одновременно работать в разных режимах безопасности: `tls`, `mtls` и стандартный режим (без TLS).
- На узлах кластера не должен быть запущен демон `tlshd`, иначе он будет конфликтовать с демоном нашего модуля. Для предотвращения конфликтов при включении TLS на узлах автоматически останавливается сторонний `tlshd` и отключается его автозапуск.
Expand Down
3 changes: 3 additions & 0 deletions images/tlshd/werf.inc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,6 @@ import:
add: /{{ $.ImageName }}
to: /{{ $.ImageName }}
before: setup

docker:
ENTRYPOINT: ["/{{ $.ImageName }}"]
4 changes: 2 additions & 2 deletions templates/csi/controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
mountPath: /lib/modules
- name: net-hendshake-checker
image: {{ include "helm_lib_module_image" (list . "tlshd") }}
command: ["/go-tlshd", "--mode=init-containers"]
args: ["--mode=init-containers"]
imagePullPolicy: IfNotPresent
securityContext:
privileged: true
Expand Down Expand Up @@ -67,7 +67,7 @@
{{- if .Values.csiNfs.tlsParameters.ca }}
- name: tlshd
image: {{ include "helm_lib_module_image" (list . "tlshd") }}
command: ["/go-tlshd", "--mode=containers"]
args: ["--mode=containers"]
imagePullPolicy: IfNotPresent
securityContext:
privileged: true
Expand Down
8 changes: 3 additions & 5 deletions templates/nodegroupconfiguration-tlshd-masked.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,9 @@ spec:

UNIT_FILE=tlshd.service

systemctl is-enabled $UNIT_FILE >/dev/null || {
if [ $? -eq 4 ]; then
bb-log-info "The unit file '$UNIT_FILE' doesn't exist. Skipping masking."
exit 0
fi
systemctl list-unit-files $UNIT_FILE >/dev/null || {
bb-log-info "The unit file '$UNIT_FILE' doesn't exist. Skipping masking."
exit 0
}

bb-log-info "The unit $UNIT_FILE is stopping."
Expand Down