allow vault-manager chart disable
In order to disable a chart the k8sapp plugin needs to override the execute_kustomize_updates method. Copy Bob's fluxcd kustomize example in platform-integ-apps: https://opendev.org/starlingx/platform-armada-app/commit/928c047b Note: Disabling the vault-manager suggests that another process will unseal the vault. The vault server will not be unsealed vault-manager. If it remains sealed the server's readinessprobe will fail and this will prevent application-apply. Set vault values.yaml server.readinessProbe.enabled 'false' if necessary to allow the application-apply to complete. The same applies for initialization of the vault. Test Plan: PASS system helm-chart-attribute-modify works to enable and disable the vault-manager chart PASS vault sanity PASS USM upgrade with vault applied Story: 2011073 Task: 51071 Change-Id: Icda71ceef89cdb84ecaca8d927f41db92a4626bb Signed-off-by: Michel Thebeau <Michel.Thebeau@windriver.com>
This commit is contained in:
parent
9b4ba083ed
commit
fd6f4311e2
@ -41,6 +41,13 @@ class VaultManagerHelm(base.FluxCDBaseHelm):
|
|||||||
CHART = app_constants.HELM_CHART_VAULT_MANAGER
|
CHART = app_constants.HELM_CHART_VAULT_MANAGER
|
||||||
HELM_RELEASE = app_constants.HELM_RELEASE_VAULT_MANAGER
|
HELM_RELEASE = app_constants.HELM_RELEASE_VAULT_MANAGER
|
||||||
|
|
||||||
|
def execute_kustomize_updates(self, operator):
|
||||||
|
# On application load this chart is enabled. Only disable if
|
||||||
|
# specified by the user
|
||||||
|
if not self._is_enabled(operator.APP, self.CHART,
|
||||||
|
common.HELM_NS_VAULT):
|
||||||
|
operator.helm_release_resource_delete(self.CHART)
|
||||||
|
|
||||||
def get_namespaces(self):
|
def get_namespaces(self):
|
||||||
"""Return the list of supported namespaces"""
|
"""Return the list of supported namespaces"""
|
||||||
return self.SUPPORTED_NAMESPACES
|
return self.SUPPORTED_NAMESPACES
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2024 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
|
class quoted_str(str):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# force strings to be single-quoted to avoid interpretation as numeric values
|
||||||
|
def quoted_presenter(dumper, data):
|
||||||
|
return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style="'")
|
||||||
|
|
||||||
|
|
||||||
|
yaml.add_representer(quoted_str, quoted_presenter)
|
@ -0,0 +1,28 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2024 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
|
||||||
|
""" System inventory Kustomization resource operator."""
|
||||||
|
|
||||||
|
from sysinv.common import constants
|
||||||
|
from sysinv.helm import kustomize_base as base
|
||||||
|
|
||||||
|
|
||||||
|
class VaultFluxCDKustomizeOperator(base.FluxCDKustomizeOperator):
|
||||||
|
|
||||||
|
APP = constants.HELM_APP_VAULT
|
||||||
|
|
||||||
|
def platform_mode_kustomize_updates(self, dbapi, mode):
|
||||||
|
""" Update the top-level kustomization resource list
|
||||||
|
|
||||||
|
Make changes to the top-level kustomization resource list based
|
||||||
|
on the platform mode
|
||||||
|
|
||||||
|
:param dbapi: DB api object
|
||||||
|
:param mode: mode to control when to update the resource list
|
||||||
|
"""
|
||||||
|
pass
|
@ -36,6 +36,9 @@ systemconfig.helm_plugins.vault =
|
|||||||
001_vault = k8sapp_vault.helm.vault:VaultHelm
|
001_vault = k8sapp_vault.helm.vault:VaultHelm
|
||||||
002_vault-manager = k8sapp_vault.helm.vault_manager:VaultManagerHelm
|
002_vault-manager = k8sapp_vault.helm.vault_manager:VaultManagerHelm
|
||||||
|
|
||||||
|
systemconfig.fluxcd.kustomize_ops =
|
||||||
|
vault = k8sapp_vault.kustomize.kustomize_vault:VaultFluxCDKustomizeOperator
|
||||||
|
|
||||||
systemconfig.app_lifecycle =
|
systemconfig.app_lifecycle =
|
||||||
vault = k8sapp_vault.lifecycle.lifecycle_vault:VaultAppLifecycleOperator
|
vault = k8sapp_vault.lifecycle.lifecycle_vault:VaultAppLifecycleOperator
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user