ShturvalServicePatch (PatchSSC)
В платформе “Штурвал” реализован кастомный ресурс ShturvalServicePatch (PatchSSC) для применения к спецификации (ShturvalServiceConfig, ssc) сервисов кластера. PatchSSC может быть полезен для массового применения типовой конфигурации экземпляров сервисов в разных кластерах. Механизм PatchSSC позволяет быстро откатить изменения в customvalues сервисов в случае ошибок или неверной конфигурации.
Вы можете подготовить один PatchSSC сервиса, добавив требуемые параметры конфигурации ssc сервиса, и раскатить его по всем необходимым кластерам.
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: patchsscname
spec:
shturvalServiceConfigName: servicename
patchOrder: 1
customvalues:
paramname: value
mode: auto
При формировании ShturvalServicePatch:
- требуется задать связанность с сервисом. Укажите имя ShturvalServiceConfig в
shturvalServiceConfigName. - необходимо указать имя для создаваемого PatchSSC в
metadata.name. Имя созданного PatchSSC недоступно для изменения. - можно задать приоритетность применения ShturvalServicePatches в
patchOrder. Чем меньше значение в patchOrder, тем выше приоритет ShturvalServicePatch. Если последовательность применения неважна, не указывайте данный параметр. - можно задать необходимые параметры конфигурации ssc сервиса. Укажите перечень параметров в
customvalues, сохраняя иерархическую структуру. - при необходимости переопределите режим управления сервиса (автоматический, ручной, отключен). Доступные значения для
mode: auto, manual, absent.
Пример примененного ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
creationTimestamp: 2025-07-03T08:02:17Z
generation: 1
labels:
ops.shturval.tech/ssc: servicename
name: servicename
ownerReferences:
- apiVersion: ops.shturval.tech/v1beta2
blockOwnerDeletion: true
controller: true
kind: ShturvalServiceConfig
name: servicename
uid: c4908b5e-df92-4996-9403-2e452a6101e1
resourceVersion: "1435845"
uid: c3ca01fb-594f-4bb8-addb-bbbafff542d0
spec:
customvalues:
paramname: value
shturvalServiceConfigName: servicename
Пример ssc c примененным ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta1
kind: ShturvalServiceConfig
metadata:
...
name: servicename
resourceVersion: '1489960'
uid: c4908b5e-df92-
selfLink: /apis/ops.shturval.tech/v1beta1/shturvalserviceconfigs/servicename
status:
appliedCustomValues:
paramname: value
## Здесь могут быть другие параметры из customvalues
appliedPatches:
- patchsscname
conditions:
- lastTransitionTime: '2025-07-01T09:03:58Z'
message: ''
reason: Install
status: 'True'
type: Install
- lastTransitionTime: '2025-07-03T07:10:44Z'
message: ''
reason: Sync
status: 'True'
type: Sync
- lastTransitionTime: '2025-07-01T09:08:11Z'
message: ''
reason: Healthy
status: 'True'
type: Healthy
- lastTransitionTime: '2025-07-03T09:44:46Z'
message: ''
reason: Patch
status: 'True'
type: Patch
currentmode: auto
currentversion: 2.11.0
ready: true
spec:
chart: servicename
customvalues: |
...
dependency:
- servicename-crds
insecure: true
mode: auto
namespace: namespacename
reponame: shturval
version: 2.11.0
Как применить в графическом интерфейсе
В графическом интерфейсе загрузить ShturvalServicePatch вы можете с помощью импорта манифестов.
Сведения о созданных ShturvalServicePatch сервиса доступны в разделе Администрирование на странице Установленные сервисы/просмотр сервиса, на вкладке Примененные PatchSSC.
Скриншот

Когда к сервису был применен ShturvalServicePatch, то у сервиса будет состояние Patch и статус Patched.
Удалить ShturvalServicePatch вы можете одним из способов:
- на вкладке Примененные PatchSSC нажмите в строке объекта;
- на странице просмотра манифеста PatchSSC нажмите .
Особенности работы ShturvalServicePatch
- Для одного сервиса возможно создать неограненное количество ShturvalServicePatches.
- С помощью ShturvalServicePatch возможно добавить или переопределить значения параметров конфигурации сервиса. С помощью ShturvalServicePatch невозможно удалить параметры и их значения в customvalues сервиса.
- Если у ShturvalServicePatches заданы приоритеты, то агрегация будет произведена с учетом приоритета, иначе - беспорядочно.
- Значение параметра в ShturvalServicePatch приоритетнее значения этого же параметра в customvalues самого сервиса. Значение параметра в customvalues будет игнорироваться при наличии этого же параметра в ShturvalServicePatch.
- Если в нескольких ShturvalServicePatch заданы одинаковые параметры, то будут применены параметры более приоритетного ShturvalServicePatch. Поэтому в таких случаях рекомендуется устанавливать
patchOrderпри создании ShturvalServicePatch. Если в таких ShturvalServicePatch не задана приоритетность, то выбор применения не предсказуем. - При создании ShturvalServicePatch автоматически проставляется дата создания.
- ShturvalServicePatch возможно применить к спецификации сервиса в режиме Автоматического (Auto) управления. Если сервис работает в Ручном (Manual) режиме управления, для применения ShturvalServicePatch переведите сервис в автоматический режим или установите ShturvalServicePatch параметр
modeсо значением auto.