[APACHECNF] Various updates of the demo 39/131639/3
authorLukasz Rajewski <lukasz.rajewski@t-mobile.pl>
Fri, 21 Oct 2022 08:36:42 +0000 (10:36 +0200)
committerLukasz Rajewski <lukasz.rajewski@t-mobile.pl>
Fri, 21 Oct 2022 12:02:36 +0000 (14:02 +0200)
Issue-ID: INT-2164
Signed-off-by: Lukasz Rajewski <lukasz.rajewski@t-mobile.pl>
Change-Id: I1ce506db959d5fd865898422cb018b1428ec41ac

32 files changed:
tutorials/ApacheCNF/README.txt
tutorials/ApacheCNF/automation/Pipfile
tutorials/ApacheCNF/automation/__init__.py
tutorials/ApacheCNF/automation/healthcheck.py
tutorials/ApacheCNF/automation/instantiate.py
tutorials/ApacheCNF/automation/k8s_client.py [deleted file]
tutorials/ApacheCNF/automation/onap_settings.py
tutorials/ApacheCNF/automation/onap_settings_tnap.py [new file with mode: 0644]
tutorials/ApacheCNF/service_config.yaml
tutorials/ApacheCNF/templates/cba/Definitions/CNF.json
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config.tar.gz [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/Chart.yaml [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/.helmignore [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/Chart.yaml [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/README.md [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_affinities.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_capabilities.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_errors.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_images.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_labels.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_names.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_secrets.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_storage.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_tplvalues.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_utils.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_validations.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_warnings.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/values.yaml [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/templates/_helpers.tpl [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/templates/deployment.yaml [deleted file]
tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/values.yaml [deleted file]
tutorials/ApacheCNF/templates/helm/Makefile

index d113090..80c9f06 100644 (file)
@@ -1,13 +1,14 @@
 Demo directory structure:
 
 Demo directory structure:
 
-/templates/           #Base directory containing vFW resources
-    |- /base_dummy    #Directory containing base payload of VSP package in OpenStack VSP format, doesn't need further proceeding
-    |- /base_native   #Directory containing base payload of VSP package in Helm VSP, doesn't need further proceeding
-    |- /helm          #Directory containing helm charts that need to be packaged and attached to VSP package
-    \- /cba           #Directory containing CBA content to be included to csar package. It is prepared for 
-/examples/            #Directory with context-specific overrides over general resources
-/automation/          #Directory with automation scripts. For more details read README file inside.
+/service_config.yaml  # Main configuration faile. Only here eventual changes are required
+/templates/           # Base directory containing Apache CNF resources
+    |- /base_native   # Directory containing base payload of VSP package in Helm VSP, doesn't need further proceeding
+    |- /helm          # Directory containing helm charts that need to be packaged and attached to VSP package
+    \- /cba           # Directory containing CBA content to be included to csar package. It is prepared for deployment
+                      # and configuration of apache helm package
+/automation/          # Directory with automation scripts. For more details read README file inside.
 
 
-Note: Makefile script generates two VSP packages, one in Frankfurt format with helm associated with dummy heat templates and second
-with native Helm VSP format where helm packages are standalone. CBA folder contains CBA Definition for native VSP format but 
-make is coverting the definition into Frankfurt format for Frankfurt VSP. Frankfurt VSP is still supported in Guilin. 
+Installation requirements:
+* Helm 3.5
+* make
+* python 3.8 or higher
index a8e7926..c8d35a7 100644 (file)
@@ -6,9 +6,9 @@ verify_ssl = true
 [dev-packages]
 
 [packages]
 [dev-packages]
 
 [packages]
-onapsdk = "==9.3.0"
+onapsdk = "==10.1.0"
 markupsafe = "==2.0.1"
 markupsafe = "==2.0.1"
-kubernetes = "*"
+click = "==8.1.3"
 
 [requires]
 python_version = "3.8"
 
 [requires]
 python_version = "3.8"
index 9525040..e3af805 100644 (file)
@@ -16,4 +16,3 @@
 # ============LICENSE_END=========================================================
 
 from .config import Config
 # ============LICENSE_END=========================================================
 
 from .config import Config
-from .k8s_client import K8sClient
index aee101d..9c33375 100644 (file)
 # limitations under the License.
 #
 # ============LICENSE_END=========================================================
 # limitations under the License.
 #
 # ============LICENSE_END=========================================================
-#todo update when onapsdk > 9.3.0
 import logging
 import logging
+import os
 import zipfile
 import zipfile
+from io import BytesIO
 
 from onapsdk.aai.business import Customer
 from onapsdk.cds.blueprint import Workflow, Blueprint
 
 from onapsdk.aai.business import Customer
 from onapsdk.cds.blueprint import Workflow, Blueprint
-
-from config import Config
+from config import Config, VariablesDict
 
 #FIXME remove from global scope
 logger = logging.getLogger("")
 
 #FIXME remove from global scope
 logger = logging.getLogger("")
@@ -32,29 +32,24 @@ fh.setFormatter(fh_formatter)
 logger.addHandler(fh)
 
 
 logger.addHandler(fh)
 
 
-def resolve_hc_inputs():
+def resolve_hc_inputs(config: Config):
     logger.info("******** Check Customer *******")
     logger.info("******** Check Customer *******")
-    customer = None
-    for found_customer in list(Customer.get_all()):
-        logger.debug("Customer %s found", found_customer.subscriber_name)
-        if found_customer.subscriber_name == Config.GLOBAL_CUSTOMER_ID:
-            logger.info("Customer %s found", found_customer.subscriber_name)
-            customer = found_customer
-            break
+    customer_id = config.service_instance["customer_id"]
+    customer = Customer.get_by_global_customer_id(customer_id)
     if customer is None:
     if customer is None:
-        raise Exception("Customer %s wasn't found in ONAP" % Config.GLOBAL_CUSTOMER_ID)
+        raise Exception("Customer %s wasn't found in ONAP" % customer_id)
     logger.info("******** Check Service Subscription *******")
     service_subscription = None
     for service_sub in customer.service_subscriptions:
         logger.debug("Service subscription %s is found", service_sub.service_type)
     logger.info("******** Check Service Subscription *******")
     service_subscription = None
     for service_sub in customer.service_subscriptions:
         logger.debug("Service subscription %s is found", service_sub.service_type)
-        if service_sub.service_type == Config.SERVICENAME:
-            logger.info("Service %s subscribed", Config.SERVICENAME)
+        if service_sub.service_type == config.service_model["model_name"]:
+            logger.info("Service %s subscribed", config.service_model["model_name"])
             service_subscription = service_sub
             break
     logger.info("******** Retrieve Service Metadata *******")
     service_instance = None
     for single_service in service_subscription.service_instances:
             service_subscription = service_sub
             break
     logger.info("******** Retrieve Service Metadata *******")
     service_instance = None
     for single_service in service_subscription.service_instances:
-        if single_service.instance_name == Config.SERVICE_INSTANCE_NAME:
+        if single_service.instance_name == config.service_instance["instance_name"]:
             service_instance = single_service
             break
     service_id = service_instance.instance_id
             service_instance = single_service
             break
     service_id = service_instance.instance_id
@@ -67,26 +62,32 @@ def resolve_hc_inputs():
     return service_id, vnf_id
 
 def main():
     return service_id, vnf_id
 
 def main():
-    blueprint = None
-    with zipfile.ZipFile(Config.VSPFILE, 'r') as package:
-        with package.open("CBA.zip", 'r') as cba:
-            blueprint = Blueprint(cba.read())
+    mypath = os.path.dirname(os.path.realpath(__file__))
+    config = Config(env_dict=VariablesDict.env_variable)
+    for vnf in config.service_model["vnfs"]:
+        file = vnf["vsp"]["vsp_file"]
+        file_path = os.path.join(mypath, file)
+        with zipfile.ZipFile(file_path, 'r') as package:
+            cba_io = BytesIO(package.read("CBA.zip"))
+            cba_io.seek(0)
+            blueprint = Blueprint(cba_io.read())
+
+            healthcheck: Workflow = blueprint.get_workflow_by_name('health-check')
+            serv_id, vnf_id = resolve_hc_inputs(config)
+            cds_input = {"health-check-properties":
+                {
+                    "service-instance-id": serv_id,
+                    "vnf-id": vnf_id
+                }
+            }
 
 
-    healthcheck = Workflow('health-check', None, blueprint)
-    serv_id, vnf_id = resolve_hc_inputs()
-    cds_input = {"health-check-properties":
-        {
-            "service-instance-id": serv_id,
-            "vnf-id": vnf_id
-        }
-    }
-    logger.info("Requesting Healthcheck for CBA %s:%s with inputs:\n%s",
-            blueprint.metadata.template_name,
-            blueprint.metadata.template_version,
-            cds_input)
-    result = healthcheck.execute(cds_input)
-    logger.info("Healthcheck process completed with result: %s", result)
-    logger.info("Please check cds-blueprints-processor logs to see exact status")
+            logger.info("Requesting Healthcheck for CBA %s:%s with inputs:\n%s",
+                    blueprint.metadata.template_name,
+                    blueprint.metadata.template_version,
+                    cds_input)
+            result = healthcheck.execute(cds_input)
+            logger.info("Healthcheck process completed with result: %s", result)
+            logger.info("Please check cds-blueprints-processor logs to see exact status")
 
 if __name__ == "__main__":
     main()
 
 if __name__ == "__main__":
     main()
index 0d9dc5e..ecbeaa4 100644 (file)
@@ -1,5 +1,6 @@
 # ============LICENSE_START=======================================================
 # Copyright (C) 2021 Orange
 # ============LICENSE_START=======================================================
 # Copyright (C) 2021 Orange
+# Modification Copyright (C) 2022 Deutsche Telekom AG
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -32,7 +33,6 @@ from onapsdk.so.instantiation import (
     ServiceInstantiation,
     InstantiationParameter, SoService, SoServiceVnf)
 from onapsdk.sdc.service import Service
     ServiceInstantiation,
     InstantiationParameter, SoService, SoServiceVnf)
 from onapsdk.sdc.service import Service
-# from onapsdk.vid import LineOfBusiness, OwningEntity, Platform, Project
 from onapsdk.so.so_element import OrchestrationRequest
 from onapsdk.aai.service_design_and_creation import Service as AaiService
 
 from onapsdk.so.so_element import OrchestrationRequest
 from onapsdk.aai.service_design_and_creation import Service as AaiService
 
@@ -203,7 +203,7 @@ def get_aai_service(service_type):
 
 
 def instantiate_service_macro(config, service, cloud_region, tenant, customer, owning_entity,
 
 
 def instantiate_service_macro(config, service, cloud_region, tenant, customer, owning_entity,
-                              vid_project, vid_line_of_business, vid_platform):
+                              project, line_of_business, platform):
     service_instance_name = config.service_instance["instance_name"]
     so_input = config.so_input
     for vnf in so_input["vnfs"]:
     service_instance_name = config.service_instance["instance_name"]
     so_input = config.so_input
     for vnf in so_input["vnfs"]:
@@ -232,9 +232,9 @@ def instantiate_service_macro(config, service, cloud_region, tenant, customer, o
         tenant=tenant,
         customer=customer,
         owning_entity=owning_entity,
         tenant=tenant,
         customer=customer,
         owning_entity=owning_entity,
-        project=vid_project,
-        line_of_business=vid_line_of_business,
-        platform=vid_platform,
+        project=project,
+        line_of_business=line_of_business,
+        platform=platform,
         service_instance_name=service_instance_name,
         aai_service=aai_service,
         so_service=so_service
         service_instance_name=service_instance_name,
         aai_service=aai_service,
         so_service=so_service
@@ -347,7 +347,7 @@ def get_properties(vnf):
 
 def instantiate_service_alacarte(config, service_subscription, service_model, cloud_region, tenant, customer,
                                  owning_entity,
 
 def instantiate_service_alacarte(config, service_subscription, service_model, cloud_region, tenant, customer,
                                  owning_entity,
-                                 vid_project, vid_line_of_business, vid_platform):
+                                 project, line_of_business, platform):
     raise NotImplementedError("Not supported since 2022")
 
     service_instance_name = config.service_instance["instance_name"]
     raise NotImplementedError("Not supported since 2022")
 
     service_instance_name = config.service_instance["instance_name"]
@@ -358,7 +358,7 @@ def instantiate_service_alacarte(config, service_subscription, service_model, cl
         tenant=tenant,
         customer=customer,
         owning_entity=owning_entity,
         tenant=tenant,
         customer=customer,
         owning_entity=owning_entity,
-        project=vid_project,
+        project=project,
         service_instance_name=service_instance_name
     )
     check_orchestration_status(service_instantiation)
         service_instance_name=service_instance_name
     )
     check_orchestration_status(service_instantiation)
@@ -375,8 +375,8 @@ def instantiate_service_alacarte(config, service_subscription, service_model, cl
         #  TODO: instance name
         vnf_instantiation = service_instance.add_vnf(
             vnf=vnf,
         #  TODO: instance name
         vnf_instantiation = service_instance.add_vnf(
             vnf=vnf,
-            line_of_business=vid_line_of_business,
-            platform=vid_platform,
+            line_of_business=line_of_business,
+            platform=platform,
             vnf_parameters=vnf_parameters
         )
         check_orchestration_status(vnf_instantiation)
             vnf_parameters=vnf_parameters
         )
         check_orchestration_status(vnf_instantiation)
@@ -443,8 +443,8 @@ def main():
     logger.info("******** Business Objects (OE, P, Pl, LoB) *******")
     project = "Project-Demonstration"
     platform = "Platform-test"
     logger.info("******** Business Objects (OE, P, Pl, LoB) *******")
     project = "Project-Demonstration"
     platform = "Platform-test"
-    line_of_business = "Orange-LOB"
-    owning_entity = add_owning_entity("Orange")
+    line_of_business = config.user_params["company_name"] + "-LOB"
+    owning_entity = add_owning_entity(config.user_params["company_name"])
 
     logger.info("******** Delete old profiles ********")
     delete_old_profiles(service, config.service_instance)
 
     logger.info("******** Delete old profiles ********")
     delete_old_profiles(service, config.service_instance)
diff --git a/tutorials/ApacheCNF/automation/k8s_client.py b/tutorials/ApacheCNF/automation/k8s_client.py
deleted file mode 100644 (file)
index 98b451b..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 Orange
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# ============LICENSE_END=========================================================
-
-import os
-from pprint import pprint
-
-import oyaml as yaml
-from kubernetes import config, client
-from kubernetes.client import OpenApiException
-
-
-class K8sClient:
-    def __init__(self, kubeconfig_path):
-        self.mypath = os.path.dirname(os.path.realpath(__file__))
-        config.load_kube_config(config_file=os.path.join(self.mypath, kubeconfig_path))
-        self.api_instance = client.CustomObjectsApi()
-
-    def read_custom_object_file(self, file_path):
-        with open(file_path) as crd_file:
-            crd_body = yaml.load(crd_file, Loader=yaml.FullLoader)
-        return crd_body
-
-    def get_custom_object_details(self, crd_body):
-        group = crd_body["apiVersion"].split("/")[0]
-        version = crd_body["apiVersion"].split("/")[1]
-        plural = crd_body["kind"].lower() + "s"
-        #name = crd_body["metadata"]["name"]
-
-        return group, version, plural #, name
-
-    def create_custom_object(self, file_path):
-        crd_body = self.read_custom_object_file(file_path)
-        #group, version, plural, name = self.get_custom_object_details(crd_body)
-        group, version, plural = self.get_custom_object_details(crd_body)
-        api_response = None
-        try:
-            api_response = self.api_instance.create_cluster_custom_object(group=group,
-                                                                          version=version,
-                                                                          plural=plural,
-                                                                          body=crd_body,
-                                                                          pretty="true")
-        except OpenApiException as error:
-            print(str(error.status) + " " + error.reason)
-            pprint(error.body)
-        return api_response
index e0bad35..414685e 100644 (file)
 # ONAP SERVICES URLS #
 #                    #
 ######################
 # ONAP SERVICES URLS #
 #                    #
 ######################
+import logging.config
+
+LOG_CONFIG = {
+    "version": 1,
+    "disable_existing_loggers": False,
+    "formatters": {
+        "default": {
+            "class": "logging.Formatter",
+            "format": "%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s"
+        }
+    },
+    "handlers": {
+        "console": {
+            "level": "DEBUG",
+            "class": "logging.StreamHandler",
+            "formatter": "default"
+        },
+        "file": {
+            "level": "DEBUG",
+            "class": "logging.FileHandler",
+            "formatter": "default",
+            "filename": "/tmp/pythonsdk.debug.log",
+            "mode": "w"
+        }
+    },
+    "root": {
+        "level": "DEBUG",
+        "handlers": ["console", "file"]
+    }
+}
+
+logging.config.dictConfig(LOG_CONFIG)
+
 
 AAI_URL         = "https://aai.api.sparky.simpledemo.onap.org:30233"
 AAI_API_VERSION = "v23"
 
 AAI_URL         = "https://aai.api.sparky.simpledemo.onap.org:30233"
 AAI_API_VERSION = "v23"
diff --git a/tutorials/ApacheCNF/automation/onap_settings_tnap.py b/tutorials/ApacheCNF/automation/onap_settings_tnap.py
new file mode 100644 (file)
index 0000000..90455ec
--- /dev/null
@@ -0,0 +1,106 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 Orange
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END=========================================================
+
+"""Global settings module."""  # pylint: disable=bad-whitespace
+# uncomment if socks is used
+#from onapsdk.onap_service import OnapService
+
+######################
+#                    #
+# ONAP SERVICES URLS #
+#                    #
+######################
+
+import logging.config
+
+LOG_CONFIG = {
+    "version": 1,
+    "disable_existing_loggers": False,
+    "formatters": {
+        "default": {
+            "class": "logging.Formatter",
+            "format": "%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s"
+        }
+    },
+    "handlers": {
+        "console": {
+            "level": "DEBUG",
+            "class": "logging.StreamHandler",
+            "formatter": "default"
+        },
+        "file": {
+            "level": "DEBUG",
+            "class": "logging.FileHandler",
+            "formatter": "default",
+            "filename": "/tmp/pythonsdk.debug.log",
+            "mode": "w"
+        }
+    },
+    "root": {
+        "level": "DEBUG",
+        "handlers": ["console", "file"]
+    }
+}
+
+logging.config.dictConfig(LOG_CONFIG)
+TNAP_ENV        = "onap.local:81"
+AAI_URL         = f"http://{TNAP_ENV}/aai-api"
+AAI_API_VERSION = "v23"
+AAI_AUTH        = "Basic QUFJOkFBSQ=="
+CDS_URL         = "http://portal.api.simpledemo.onap.org:30449"
+CDS_AUTH        = ("ccsdkapps", "ccsdkapps")
+MSB_URL         = f"http://{TNAP_ENV}/msb"
+SDC_BE_URL      = f"http://{TNAP_ENV}/sdc-be"
+SDC_FE_URL      = f"http://{TNAP_ENV}/sdc-fe"
+SDC_AUTH        = "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+SDNC_URL        = "https://sdnc.api.simpledemo.onap.org:30267"
+SDNC_AUTH       = "Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="
+SO_URL          = f"http://{TNAP_ENV}/so"
+SO_API_VERSION  = "v7"
+SO_AUTH         = "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+SO_CAT_DB_AUTH  = "Basic YnBlbDpwYXNzd29yZDEk"
+VID_URL         = "https://vid.api.simpledemo.onap.org:30200"
+VID_API_VERSION = "/vid"
+CLAMP_URL       = "https://clamp.api.simpledemo.onap.org:30258"
+CLAMP_AUTH      = "Basic ZGVtb0BwZW9wbGUub3NhYWYub3JnOmRlbW8xMjM0NTYh"
+VES_URL         = "http://ves.api.simpledemo.onap.org:30417"
+DMAAP_URL       = "http://dmaap.api.simpledemo.onap.org:3904"
+NBI_URL         = "https://nbi.api.simpledemo.onap.org:30274"
+NBI_API_VERSION = "/nbi/api/v4"
+DCAEMOD_URL = ""
+HOLMES_URL = "https://aai.api.sparky.simpledemo.onap.org:30293"
+POLICY_URL = ""
+
+## GUI
+AAI_GUI_URL = "https://aai.api.sparky.simpledemo.onap.org:30220"
+AAI_GUI_SERVICE = f"{AAI_GUI_URL}/services/aai/webapp/index.html#/browse"
+CDS_GUI_SERVICE = f"{CDS_URL}/"
+SO_MONITOR_GUI_SERVICE = f"{SO_URL}/"
+SDC_GUI_SERVICE = f"{SDC_FE_URL}/sdc1/portal"
+SDNC_DG_GUI_SERVICE = f"{SDNC_URL}/nifi/"
+SDNC_ODL_GUI_SERVICE = f"{SDNC_URL}/odlux/index.html"
+
+DCAEMOD_GUI_SERVICE = f"{DCAEMOD_URL}/"
+HOLMES_GUI_SERVICE = f"{HOLMES_URL}/iui/holmes/default.html"
+POLICY_GUI_SERVICE = f"{POLICY_URL}/onap/login.html"
+POLICY_CLAMP_GUI_SERVICE = f"{CLAMP_URL}/"
+
+# uncomment if socks is used
+#OnapService.set_proxy({'http': 'socks5h://127.0.0.1:8081', 'https': 'socks5h://127.0.0.1:8081'})
+
+# execute in the shell to apply these settings
+# export ONAP_PYTHON_SDK_SETTINGS="onap_settings"
index ef88fd2..623832a 100644 (file)
@@ -1,5 +1,6 @@
 # ============LICENSE_START=======================================================
 # Copyright (C) 2022 Orange
 # ============LICENSE_START=======================================================
 # Copyright (C) 2022 Orange
+# Modification Copyright (C) 2022 Deutsche Telekom AG
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,6 +16,7 @@
 #
 # ============LICENSE_END=========================================================
 user_params:
 #
 # ============LICENSE_END=========================================================
 user_params:
+  company_name: &company company
   cnf_name: &cnf_name apache
   k8s_namespace: test-cnf
   k8s_version: 1.18.9
   cnf_name: &cnf_name apache
   k8s_namespace: test-cnf
   k8s_version: 1.18.9
@@ -28,7 +30,7 @@ cloud_regions:
   - name: *region
     cloud_owner: K8sCloudOwner
     cloud_type: k8s
   - name: *region
     cloud_owner: K8sCloudOwner
     cloud_type: k8s
-    complex_id: k8s-complex1
+    complex_id: k8scomplex1
     tenants:
       - name: &tenant  "{{ user_params.k8s_region }}-tenant"
         k8s_version: "{{ user_params.k8s_version }}"
     tenants:
       - name: &tenant  "{{ user_params.k8s_region }}-tenant"
         k8s_version: "{{ user_params.k8s_version }}"
@@ -66,7 +68,7 @@ service_model:
 service_instance:
   model_name: *service_model_name
   instance_name: I_{{ service_model.model_name }}_{{ user_params.release_name }}
 service_instance:
   model_name: *service_model_name
   instance_name: I_{{ service_model.model_name }}_{{ user_params.release_name }}
-  customer_id: orange
+  customer_id: *company
   cloud_region: *region # "{{ cloud_regions[0].name }}"
   tenant_name: *tenant  # "{{ cloud_regions[0].tenants[0].name }}"
   service_type: *cnf_name
   cloud_region: *region # "{{ cloud_regions[0].name }}"
   tenant_name: *tenant  # "{{ cloud_regions[0].tenants[0].name }}"
   service_type: *cnf_name
@@ -87,7 +89,6 @@ service_instance:
             k8s-rb-instance-release-name: "{{ user_params.release_name }}"
             k8s-rb-profile-namespace: "{{ user_params.k8s_namespace }}"
             k8s-rb-config-template-name: replica-count-template
             k8s-rb-instance-release-name: "{{ user_params.release_name }}"
             k8s-rb-profile-namespace: "{{ user_params.k8s_namespace }}"
             k8s-rb-config-template-name: replica-count-template
-            k8s-rb-config-template-source: deployment-config
             k8s-rb-config-name: replica-count-change
             k8s-rb-config-value-source: custom-values
 #  pnfs:
             k8s-rb-config-name: replica-count-change
             k8s-rb-config-value-source: custom-values
 #  pnfs:
index bf1a423..2e30ce0 100644 (file)
                             }
                         }
                     }
                             }
                         }
                     }
-                },
-                "artifacts": {
-                    "deployment-config": {
-                        "type": "artifact-k8sconfig-content",
-                        "file": "Templates/k8s-configs/deployment-config.tar.gz"
-                    }
                 }
             },
             "k8s-config-apply": {
                 }
             },
             "k8s-config-apply": {
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config.tar.gz b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config.tar.gz
deleted file mode 100644 (file)
index 44fc1dd..0000000
Binary files a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config.tar.gz and /dev/null differ
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/Chart.yaml b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/Chart.yaml
deleted file mode 100644 (file)
index 82fb790..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-apiVersion: v1
-appVersion: 2.4.46
-description: A Helm chart to modify Apache deployment
-engine: gotpl
-name: apache
-version: 7.6.0
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/.helmignore b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/.helmignore
deleted file mode 100644 (file)
index 50af031..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
-.vscode/
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/Chart.yaml b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/Chart.yaml
deleted file mode 100644 (file)
index 85ef7d6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-annotations:
-  category: Infrastructure
-apiVersion: v1
-appVersion: 0.8.2
-description: A Library Helm Chart for grouping common logic between bitnami charts.
-  This chart is not deployable by itself.
-home: https://github.com/bitnami/charts/tree/master/bitnami/common
-icon: https://bitnami.com/downloads/logos/bitnami-mark.png
-keywords:
-- common
-- helper
-- template
-- function
-- bitnami
-maintainers:
-- email: containers@bitnami.com
-  name: Bitnami
-name: common
-sources:
-- https://github.com/bitnami/charts
-- http://www.bitnami.com/
-version: 0.8.2
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/README.md b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/README.md
deleted file mode 100644 (file)
index 9bcdfd6..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-# Bitnami Common Library Chart
-
-A [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm) for grouping common logic between bitnami charts.
-
-## TL;DR
-
-```yaml
-dependencies:
-  - name: common
-    version: 0.x.x
-    repository: https://charts.bitnami.com/bitnami
-```
-
-```bash
-$ helm dependency update
-```
-
-```yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.names.fullname" . }}
-data:
-  myvalue: "Hello World"
-```
-
-## Introduction
-
-This chart provides a common template helpers which can be used to develop new charts using [Helm](https://helm.sh) package manager.
-
-Bitnami charts can be used with [Kubeapps](https://kubeapps.com/) for deployment and management of Helm Charts in clusters. This Helm chart has been tested on top of [Bitnami Kubernetes Production Runtime](https://kubeprod.io/) (BKPR). Deploy BKPR to get automated TLS certificates, logging and monitoring for your applications.
-
-## Prerequisites
-
-- Kubernetes 1.12+
-- Helm 2.12+ or Helm 3.0-beta3+
-
-## Parameters
-
-The following table lists the helpers available in the library which are scoped in different sections.
-
-### Affinities
-
-| Helper identifier                   | Description                                                     | Expected Input                                                   |
-|-------------------------------------|-----------------------------------------------------------------|------------------------------------------------------------------|
-| `common.affinities.node.soft`       | Return a soft nodeAffinity definition                           | `dict "key" "FOO" "values" (list "BAR" "BAZ")`                   |
-| `common.affinities.node.hard`       | Return a hard nodeAffinity definition                           | `dict "key" "FOO" "values" (list "BAR" "BAZ")`                   |
-| `common.affinities.pod.soft`        | Return a soft podAffinity/podAntiAffinity definition            | `dict "component" "FOO" "context" $`                             |
-| `common.affinities.pod.hard`        | Return a hard podAffinity/podAntiAffinity definition            | `dict "component" "FOO" "context" $`                             |
-
-### Capabilities
-
-| Helper identifier                              | Description                                                     | Expected Input             |
-|------------------------------------------------|-----------------------------------------------------------------|----------------------------|
-| `common.capabilities.deployment.apiVersion`    | Return the appropriate apiVersion for deployment.               | `.` Chart context          |
-| `common.capabilities.statefulset.apiVersion`   | Return the appropriate apiVersion for statefulset.              | `.` Chart context          |
-| `common.capabilities.ingress.apiVersion`       | Return the appropriate apiVersion for ingress.                  | `.` Chart context          |
-
-### Errors
-
-| Helper identifier                        | Description                                                                                                                                                            | Expected Input                                                                      |
-|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
-| `common.errors.upgrade.passwords.empty`  | It will ensure required passwords are given when we are upgrading a chart. If `validationErrors` is not empty it will throw an error and will stop the upgrade action. | `dict "validationErrors" (list $validationError00 $validationError01)  "context" $` |
-
-### Images
-
-| Helper identifier              | Description                                                     | Expected Input                                                                                              |
-|--------------------------------|-----------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|
-| `common.images.image`          | Return the proper and full image name                           | `dict "imageRoot" .Values.path.to.the.image "global" $`, see [ImageRoot](#imageroot) for the structure.     |
-| `common.images.pullSecrets`    | Return the proper Docker Image Registry Secret Names            | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global`       |
-
-### Labels
-
-| Helper identifier              | Description                                                     | Expected Input              |
-|--------------------------------|-----------------------------------------------------------------|-----------------------------|
-| `common.labels.standard`       | Return Kubernetes standard labels                               | `.` Chart context           |
-| `common.labels.matchLabels`    | Return the proper Docker Image Registry Secret Names            | `.` Chart context           |
-
-### Names
-
-| Helper identifier              | Description                                                     | Expected Inpput             |
-|--------------------------------|-----------------------------------------------------------------|-----------------------------|
-| `common.names.name`            | Expand the name of the chart or use `.Values.nameOverride`      | `.` Chart context           |
-| `common.names.fullname`        | Create a default fully qualified app name.                      | `.` Chart context           |
-| `common.names.chart`           | Chart name plus version                                         | `.` Chart context           |
-
-### Secrets
-
-| Helper identifier              | Description                                                     | Expected Input                                                                                                                                                 |
-|--------------------------------|-----------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `common.secrets.name`          | Generate the name of the secret.                                | `dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $` see [ExistingSecret](#existingsecret) for the structure. |
-| `common.secrets.key`           | Generate secret key.                                            | `dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName"` see [ExistingSecret](#existingsecret) for the structure.                            |
-
-### Storage
-
-| Helper identifier              | Description                                                     | Expected Input                                                                                                      |
-|--------------------------------|-----------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
-| `common.affinities.node.soft`    | Return a soft nodeAffinity definition                           | `dict "persistence" .Values.path.to.the.persistence "global" $`, see [Persistence](#persistence) for the structure. |
-
-### TplValues
-
-| Helper identifier              | Description                                                     | Expected Input                                                                                                                                           |
-|--------------------------------|-----------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `common.tplvalues.render`      | Renders a value that contains template                          | `dict "value" .Values.path.to.the.Value "context" $`, value is the value should rendered as template, context frecuently is the chart context `$` or `.` |
-
-### Utils
-
-| Helper identifier              | Description                                                     | Expected Input                                                         |
-|--------------------------------|-----------------------------------------------------------------|------------------------------------------------------------------------|
-| `common.utils.fieldToEnvVar`   | Build environment variable name given a field.                  | `dict "field" "my-password"`                                           |
-| `common.utils.secret.getvalue` | Print instructions to get a secret value.                       | `dict "secret" "secret-name" "field" "secret-value-field" "context" $` |
-| `common.utils.getValueFromKey` | Gets a value from `.Values` object given its key path           | `dict "key" "path.to.key" "context" $`                                 |
-
-### Validations
-
-| Helper identifier                                | Description                                                                                                            | Expected Input                                                                                                                                                                                                                           |
-|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `common.validations.values.single.empty`         | Validate a value must not be empty.                                                                                    | `dict "valueKey" "path.to.value" "secret" "secret.name" "field" "my-password" "context" $` secret and field are optional. In case they are given, the helper will generate a how to get instruction. See [ValidateValue](#validatevalue) |
-| `common.validations.values.multiple.empty`       | Validate a multiple values must not be empty. It returns a shared error for all the values.                            | `dict "required" (list $validateValueConf00 $validateValueConf01) "context" $`. See [ValidateValue](#validatevalue)                                                                                                                      |
-| `common.validations.values.mariadb.passwords`    | This helper will ensure required password for MariaDB are not empty. It returns a shared error for all the values.     | `dict "secret" "mariadb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use postgresql chart and the helper.                                                   |
-| `common.validations.values.postgresql.passwords` | This helper will ensure required password for PostgreSQL are not empty. It returns a shared error for all the values.  | `dict "secret" "postgresql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use postgresql chart and the helper.                                                |
-
-### Warnings
-
-| Helper identifier              | Description                                                     | Expected Input                                                   |
-|--------------------------------|-----------------------------------------------------------------|------------------------------------------------------------------|
-| `common.warnings.rollingTag`   | Warning about using rolling tag.                                | `ImageRoot` see [ImageRoot](#imageroot) for the structure.       |
-
-## Special input schemas
-
-### ImageRoot
-
-```yaml
-registry:
-  type: string
-  description: Docker registry where the image is located
-  example: docker.io
-
-repository:
-  type: string
-  description: Repository and image name
-  example: bitnami/nginx
-
-tag:
-  type: string
-  description: image tag
-  example: 1.16.1-debian-10-r63
-
-pullPolicy:
-  type: string
-  description: Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
-
-pullSecrets:
-  type: array
-  items:
-    type: string
-  description: Optionally specify an array of imagePullSecrets.
-
-debug:
-  type: boolean
-  description: Set to true if you would like to see extra information on logs
-  example: false
-
-## An instance would be:
-# registry: docker.io
-# repository: bitnami/nginx
-# tag: 1.16.1-debian-10-r63
-# pullPolicy: IfNotPresent
-# debug: false
-```
-
-### Persistence
-
-```yaml
-enabled:
-  type: boolean
-  description: Whether enable persistence.
-  example: true
-
-storageClass:
-  type: string
-  description: Ghost data Persistent Volume Storage Class, If set to "-", storageClassName: "" which disables dynamic provisioning.
-  example: "-"
-
-accessMode:
-  type: string
-  description: Access mode for the Persistent Volume Storage.
-  example: ReadWriteOnce
-
-size:
-  type: string
-  description: Size the Persistent Volume Storage.
-  example: 8Gi
-
-path:
-  type: string
-  description: Path to be persisted.
-  example: /bitnami
-
-## An instance would be:
-# enabled: true
-# storageClass: "-"
-# accessMode: ReadWriteOnce
-# size: 8Gi
-# path: /bitnami
-```
-
-### ExistingSecret
-
-```yaml
-name:
-  type: string
-  description: Name of the existing secret.
-  example: mySecret
-keyMapping:
-  description: Mapping between the expected key name and the name of the key in the existing secret.
-  type: object
-
-## An instance would be:
-# name: mySecret
-# keyMapping:
-#   password: myPasswordKey
-```
-
-#### Example of use
-
-When we store sensitive data for a deployment in a secret, some times we want to give to users the possiblity of using theirs existing secrets.
-
-```yaml
-# templates/secret.yaml
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.names.fullname" . }}
-  labels:
-    app: {{ include "common.names.fullname" . }}
-type: Opaque
-data:
-  password: {{ .Values.password | b64enc | quote }}
-
-# templates/dpl.yaml
----
-...
-      env:
-        - name: PASSWORD
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.secrets.name" (dict "existingSecret" .Values.existingSecret "context" $) }}
-              key: {{ include "common.secrets.key" (dict "existingSecret" .Values.existingSecret "key" "password") }}
-...
-
-# values.yaml
----
-name: mySecret
-keyMapping:
-  password: myPasswordKey
-```
-
-### ValidateValue
-
-#### NOTES.txt
-
-```console
-{{- $validateValueConf00 := (dict "valueKey" "path.to.value00" "secret" "secretName" "field" "password-00") -}}
-{{- $validateValueConf01 := (dict "valueKey" "path.to.value01" "secret" "secretName" "field" "password-01") -}}
-
-{{ include "common.validations.values.multiple.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }}
-```
-
-If we force those values to be empty we will see some alerts
-
-```console
-$ helm install test mychart --set path.to.value00="",path.to.value01=""
-    'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value:
-
-        export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 --decode)
-
-    'path.to.value01' must not be empty, please add '--set path.to.value01=$PASSWORD_01' to the command. To get the current value:
-
-        export PASSWORD_01=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-01}" | base64 --decode)
-```
-
-## Notable changes
-
-N/A
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_affinities.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_affinities.tpl
deleted file mode 100644 (file)
index 40f575c..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-
-{{/*
-Return a soft nodeAffinity definition 
-{{ include "common.affinities.nodes.soft" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}}
-*/}}
-{{- define "common.affinities.nodes.soft" -}}
-preferredDuringSchedulingIgnoredDuringExecution:
-  - preference:
-      matchExpressions:
-        key: {{ .key }}
-        operator: In
-        values:
-          {{- range .values }}
-          - {{ . }}
-          {{- end }}
-    weight: 1
-{{- end -}}
-
-{{/*
-Return a hard nodeAffinity definition
-{{ include "common.affinities.nodes.hard" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}}
-*/}}
-{{- define "common.affinities.nodes.hard" -}}
-requiredDuringSchedulingIgnoredDuringExecution:
-  nodeSelectorTerms:
-    - matchExpressions:
-        key: {{ .key }}
-        operator: In
-        values:
-          {{- range .values }}
-          - {{ . }}
-          {{- end }}
-{{- end -}}
-
-{{/*
-Return a nodeAffinity definition
-{{ include "common.affinities.nodes" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}}
-*/}}
-{{- define "common.affinities.nodes" -}}
-  {{- if eq .type "soft" }}
-    {{- include "common.affinities.nodes.soft" . -}}
-  {{- else if eq .type "hard" }}
-    {{- include "common.affinities.nodes.hard" . -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Return a soft podAffinity/podAntiAffinity definition
-{{ include "common.affinities.pods.soft" (dict "component" "FOO" "context" $) -}}
-*/}}
-{{- define "common.affinities.pods.soft" -}}
-{{- $component := default "" .component -}}
-preferredDuringSchedulingIgnoredDuringExecution:
-  - podAffinityTerm:
-      labelSelector:
-        matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 10 }}
-          {{- if not (empty $component) }}
-          {{ printf "app.kubernetes.io/component: %s" $component }}
-          {{- end }}
-      namespaces:
-        - {{ .context.Release.Namespace }}
-      topologyKey: kubernetes.io/hostname
-    weight: 1
-{{- end -}}
-
-{{/*
-Return a hard podAffinity/podAntiAffinity definition
-{{ include "common.affinities.pods.hard" (dict "component" "FOO" "context" $) -}}
-*/}}
-{{- define "common.affinities.pods.hard" -}}
-{{- $component := default "" .component -}}
-requiredDuringSchedulingIgnoredDuringExecution:
-  - labelSelector:
-      matchLabels: {{- (include "common.labels.matchLabels" .context) | nindent 8 }}
-        {{- if not (empty $component) }}
-        {{ printf "app.kubernetes.io/component: %s" $component }}
-        {{- end }}
-    namespaces:
-      - {{ .context.Release.Namespace }}
-    topologyKey: kubernetes.io/hostname
-{{- end -}}
-
-{{/*
-Return a podAffinity/podAntiAffinity definition
-{{ include "common.affinities.pods" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}}
-*/}}
-{{- define "common.affinities.pods" -}}
-  {{- if eq .type "soft" }}
-    {{- include "common.affinities.pods.soft" . -}}
-  {{- else if eq .type "hard" }}
-    {{- include "common.affinities.pods.hard" . -}}
-  {{- end -}}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_capabilities.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_capabilities.tpl
deleted file mode 100644 (file)
index 143bef2..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Return the appropriate apiVersion for deployment.
-*/}}
-{{- define "common.capabilities.deployment.apiVersion" -}}
-{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
-{{- print "extensions/v1beta1" -}}
-{{- else -}}
-{{- print "apps/v1" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the appropriate apiVersion for statefulset.
-*/}}
-{{- define "common.capabilities.statefulset.apiVersion" -}}
-{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
-{{- print "apps/v1beta1" -}}
-{{- else -}}
-{{- print "apps/v1" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the appropriate apiVersion for ingress.
-*/}}
-{{- define "common.capabilities.ingress.apiVersion" -}}
-{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
-{{- print "extensions/v1beta1" -}}
-{{- else -}}
-{{- print "networking.k8s.io/v1beta1" -}}
-{{- end -}}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_errors.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_errors.tpl
deleted file mode 100644 (file)
index d6d3ec6..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Through error when upgrading using empty passwords values that must not be empty.
-
-Usage:
-{{- $validationError00 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password00" "secret" "secretName" "field" "password-00") -}}
-{{- $validationError01 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password01" "secret" "secretName" "field" "password-01") -}}
-{{ include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $validationError00 $validationError01) "context" $) }}
-
-Required password params:
-  - validationErrors - String - Required. List of validation strings to be return, if it is empty it won't throw error.
-  - context - Context - Required. Parent context.
-*/}}
-{{- define "common.errors.upgrade.passwords.empty" -}}
-  {{- $validationErrors := join "" .validationErrors -}}
-  {{- if and $validationErrors .context.Release.IsUpgrade -}}
-    {{- $errorString := "\nPASSWORDS ERROR: you must provide your current passwords when upgrade the release%s" -}}
-    {{- printf $errorString $validationErrors | fail -}}
-  {{- end -}}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_images.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_images.tpl
deleted file mode 100644 (file)
index aafde9f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Return the proper image name
-{{ include "common.images.image" ( dict "imageRoot" .Values.path.to.the.image "global" $) }}
-*/}}
-{{- define "common.images.image" -}}
-{{- $registryName := .imageRoot.registry -}}
-{{- $repositoryName := .imageRoot.repository -}}
-{{- $tag := .imageRoot.tag | toString -}}
-{{- if .global }}
-    {{- if .global.imageRegistry }}
-     {{- $registryName = .global.imageRegistry -}}
-    {{- end -}}
-{{- end -}}
-{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
-{{- end -}}
-
-{{/*
-Return the proper Docker Image Registry Secret Names
-{{ include "common.images.pullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global) }}
-*/}}
-{{- define "common.images.pullSecrets" -}}
-  {{- $pullSecrets := list }}
-
-  {{- if .global }}
-    {{- range .global.imagePullSecrets -}}
-      {{- $pullSecrets = append $pullSecrets . -}}
-    {{- end -}}
-  {{- end -}}
-
-  {{- range .images -}}
-    {{- range .pullSecrets -}}
-      {{- $pullSecrets = append $pullSecrets . -}}
-    {{- end -}}
-  {{- end -}}
-
-  {{- if (not (empty $pullSecrets)) }}
-imagePullSecrets:
-    {{- range $pullSecrets }}
-  - name: {{ . }}
-    {{- end }}
-  {{- end }}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_labels.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_labels.tpl
deleted file mode 100644 (file)
index 252066c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Kubernetes standard labels
-*/}}
-{{- define "common.labels.standard" -}}
-app.kubernetes.io/name: {{ include "common.names.name" . }}
-helm.sh/chart: {{ include "common.names.chart" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
-*/}}
-{{- define "common.labels.matchLabels" -}}
-app.kubernetes.io/name: {{ include "common.names.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_names.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_names.tpl
deleted file mode 100644 (file)
index adf2a74..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "common.names.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "common.names.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "common.names.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_secrets.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_secrets.tpl
deleted file mode 100644 (file)
index ebfb5d4..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Generate secret name.
-
-Usage:
-{{ include "common.secrets.name" (dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $) }}
-
-Params:
-  - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user
-    to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility.
-    +info: https://github.com/bitnami/charts/tree/master/bitnami/common#existingsecret
-  - defaultNameSuffix - String - Optional. It is used only if we have several secrets in the same deployment.
-  - context - Dict - Required. The context for the template evaluation.
-*/}}
-{{- define "common.secrets.name" -}}
-{{- $name := (include "common.names.fullname" .context) -}}
-
-{{- if .defaultNameSuffix -}}
-{{- $name = printf "%s-%s" $name .defaultNameSuffix | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{- with .existingSecret -}}
-{{- if not (typeIs "string" .) -}}
-{{- $name = .name -}}
-{{- else -}}
-{{- $name = . -}}
-{{- end -}}
-{{- end -}}
-
-{{- printf "%s" $name -}}
-{{- end -}}
-
-{{/*
-Generate secret key.
-
-Usage:
-{{ include "common.secrets.key" (dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName") }}
-
-Params:
-  - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user
-    to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility.
-    +info: https://github.com/bitnami/charts/tree/master/bitnami/common#existingsecret
-  - key - String - Required. Name of the key in the secret.
-*/}}
-{{- define "common.secrets.key" -}}
-{{- $key := .key -}}
-
-{{- if .existingSecret -}}
-  {{- if not (typeIs "string" .existingSecret) -}}
-    {{- if .existingSecret.keyMapping -}}
-      {{- $key = index .existingSecret.keyMapping $.key -}}
-    {{- end -}}
-  {{- end }}
-{{- end -}}
-
-{{- printf "%s" $key -}}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_storage.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_storage.tpl
deleted file mode 100644 (file)
index 60e2a84..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Return  the proper Storage Class
-{{ include "common.storage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }}
-*/}}
-{{- define "common.storage.class" -}}
-
-{{- $storageClass := .persistence.storageClass -}}
-{{- if .global -}}
-    {{- if .global.storageClass -}}
-        {{- $storageClass = .global.storageClass -}}
-    {{- end -}}
-{{- end -}}
-
-{{- if $storageClass -}}
-  {{- if (eq "-" $storageClass) -}}
-      {{- printf "storageClassName: \"\"" -}}
-  {{- else }}
-      {{- printf "storageClassName: %s" $storageClass -}}
-  {{- end -}}
-{{- end -}}
-
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_tplvalues.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_tplvalues.tpl
deleted file mode 100644 (file)
index 2db1668..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Renders a value that contains template.
-Usage:
-{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $) }}
-*/}}
-{{- define "common.tplvalues.render" -}}
-    {{- if typeIs "string" .value }}
-        {{- tpl .value .context }}
-    {{- else }}
-        {{- tpl (.value | toYaml) .context }}
-    {{- end }}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_utils.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_utils.tpl
deleted file mode 100644 (file)
index 74774a3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Print instructions to get a secret value.
-Usage:
-{{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }}
-*/}}
-{{- define "common.utils.secret.getvalue" -}}
-{{- $varname := include "common.utils.fieldToEnvVar" . -}}
-export {{ $varname }}=$(kubectl get secret --namespace {{ .context.Release.Namespace }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 --decode)
-{{- end -}}
-
-{{/*
-Build env var name given a field
-Usage:
-{{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }}
-*/}}
-{{- define "common.utils.fieldToEnvVar" -}}
-  {{- $fieldNameSplit := splitList "-" .field -}}
-  {{- $upperCaseFieldNameSplit := list -}}
-
-  {{- range $fieldNameSplit -}}
-    {{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}}
-  {{- end -}}
-
-  {{ join "_" $upperCaseFieldNameSplit }}
-{{- end -}}
-
-{{/*
-Gets a value from .Values given
-Usage:
-{{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }}
-*/}}
-{{- define "common.utils.getValueFromKey" -}}
-{{- $splitKey := splitList "." .key -}}
-{{- $value := "" -}}
-{{- $latestObj := $.context.Values -}}
-{{- range $splitKey -}}
-  {{- if not $latestObj -}}
-    {{- printf "please review the entire path of '%s' exists in values" $.key | fail -}}
-  {{- end -}}
-  {{- $value = ( index $latestObj . ) -}}
-  {{- $latestObj = $value -}}
-{{- end -}}
-{{- printf "%v" (default "" $value) -}} 
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_validations.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_validations.tpl
deleted file mode 100644 (file)
index 05d1edb..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Validate values must not be empty.
-
-Usage:
-{{- $validateValueConf00 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-00") -}}
-{{- $validateValueConf01 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-01") -}}
-{{ include "common.validations.values.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }}
-
-Validate value params:
-  - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password"
-  - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret"
-  - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password"
-*/}}
-{{- define "common.validations.values.multiple.empty" -}}
-  {{- range .required -}}
-    {{- include "common.validations.values.single.empty" (dict "valueKey" .valueKey "secret" .secret "field" .field "context" $.context) -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Validate a value must not be empty.
-
-Usage:
-{{ include "common.validations.value.empty" (dict "valueKey" "mariadb.password" "secret" "secretName" "field" "my-password" "context" $) }}
-
-Validate value params:
-  - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password"
-  - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret"
-  - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password"
-*/}}
-{{- define "common.validations.values.single.empty" -}}
-  {{- $value := include "common.utils.getValueFromKey" (dict "key" .valueKey "context" .context) }}
-
-  {{- if not $value -}}
-    {{- $varname := "my-value" -}}
-    {{- $getCurrentValue := "" -}}
-    {{- if and .secret .field -}}
-      {{- $varname = include "common.utils.fieldToEnvVar" . -}}
-      {{- $getCurrentValue = printf " To get the current value:\n\n        %s\n" (include "common.utils.secret.getvalue" .) -}}
-    {{- end -}}
-    {{- printf "\n    '%s' must not be empty, please add '--set %s=$%s' to the command.%s" .valueKey .valueKey $varname $getCurrentValue -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Validate MariaDB required passwords are not empty.
-
-Usage:
-{{ include "common.validations.values.mariadb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }}
-Params:
-  - secret - String - Required. Name of the secret where MariaDB values are stored, e.g: "mysql-passwords-secret"
-  - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false
-*/}}
-{{- define "common.validations.values.mariadb.passwords" -}}
-  {{- $existingSecret := include "common.mariadb.values.existingSecret" . -}}
-  {{- $enabled := include "common.mariadb.values.enabled" . -}}
-  {{- $architecture := include "common.mariadb.values.architecture" . -}}
-  {{- $authPrefix := include "common.mariadb.values.key.auth" . -}}
-  {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}}
-  {{- $valueKeyUsername := printf "%s.username" $authPrefix -}}
-  {{- $valueKeyPassword := printf "%s.password" $authPrefix -}}
-  {{- $valueKeyReplicationPassword := printf "%s.replicationPassword" $authPrefix -}}
-
-  {{- if and (not $existingSecret) (eq $enabled "true") -}}
-    {{- $requiredPasswords := list -}}
-
-    {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mariadb-root-password" -}}
-    {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}}
-
-    {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }}
-    {{- if not (empty $valueUsername) -}}
-        {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mariadb-password" -}}
-        {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}}
-    {{- end -}}
-
-    {{- if (eq $architecture "replication") -}}
-        {{- $requiredReplicationPassword := dict "valueKey" $valueKeyReplicationPassword "secret" .secret "field" "mariadb-replication-password" -}}
-        {{- $requiredPasswords = append $requiredPasswords $requiredReplicationPassword -}}
-    {{- end -}}
-
-    {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}}
-
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for existingSecret.
-
-Usage:
-{{ include "common.mariadb.values.existingSecret" (dict "context" $) }}
-Params:
-  - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false
-*/}}
-{{- define "common.mariadb.values.existingSecret" -}}
-  {{- if .subchart -}}
-    {{- .context.Values.mariadb.existingSecret | quote -}}
-  {{- else -}}
-    {{- .context.Values.existingSecret | quote -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for enabled mariadb.
-
-Usage:
-{{ include "common.mariadb.values.enabled" (dict "context" $) }}
-*/}}
-{{- define "common.mariadb.values.enabled" -}}
-  {{- if .subchart -}}
-    {{- printf "%v" .context.Values.mariadb.enabled -}}
-  {{- else -}}
-    {{- printf "%v" (not .context.Values.enabled) -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for architecture
-
-Usage:
-{{ include "common.mariadb.values.architecture" (dict "subchart" "true" "context" $) }}
-Params:
-  - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false
-*/}}
-{{- define "common.mariadb.values.architecture" -}}
-  {{- if .subchart -}}
-    {{- .context.Values.mariadb.architecture -}}
-  {{- else -}}
-    {{- .context.Values.architecture -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for the key auth
-
-Usage:
-{{ include "common.mariadb.values.key.auth" (dict "subchart" "true" "context" $) }}
-Params:
-  - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false
-*/}}
-{{- define "common.mariadb.values.key.auth" -}}
-  {{- if .subchart -}}
-    mariadb.auth
-  {{- else -}}
-    auth
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Validate PostgreSQL required passwords are not empty.
-
-Usage:
-{{ include "common.validations.values.postgresql.passwords" (dict "secret" "secretName" "subchart" false "context" $) }}
-Params:
-  - secret - String - Required. Name of the secret where postgresql values are stored, e.g: "mysql-passwords-secret"
-  - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false
-*/}}
-{{- define "common.validations.values.postgresql.passwords" -}}
-  {{- $existingSecret := include "common.postgresql.values.existingSecret" . -}}
-  {{- $enabled := include "common.postgresql.values.enabled" . -}}
-  {{- $valueKeyPostgresqlPassword := include "common.postgresql.values.key.postgressPassword" . -}}
-  {{- $enabledReplication := include "common.postgresql.values.enabled.replication" . -}}
-  {{- $valueKeyPostgresqlReplicationEnabled := include "common.postgresql.values.key.replicationPassword" . -}}
-
-  {{- if and (not $existingSecret) (eq $enabled "true") -}}
-    {{- $requiredPasswords := list -}}
-
-    {{- $requiredPostgresqlPassword := dict "valueKey" $valueKeyPostgresqlPassword "secret" .secret "field" "postgresql-password" -}}
-    {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlPassword -}}
-
-    {{- if (eq $enabledReplication "true") -}}
-        {{- $requiredPostgresqlReplicationPassword := dict "valueKey" $valueKeyPostgresqlReplicationEnabled "secret" .secret "field" "postgresql-replication-password" -}}
-        {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlReplicationPassword -}}
-    {{- end -}}
-
-    {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to decide whether evaluate global values.
-
-Usage:
-{{ include "common.postgresql.values.use.global" (dict "key" "key-of-global" "context" $) }}
-Params:
-  - key - String - Required. Field to be evaluated within global, e.g: "existingSecret"
-*/}}
-{{- define "common.postgresql.values.use.global" -}}
-  {{- if .context.Values.global -}}
-    {{- if .context.Values.global.postgresql -}}
-      {{- index .context.Values.global.postgresql .key | quote -}}
-    {{- end -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for existingSecret.
-
-Usage:
-{{ include "common.postgresql.values.existingSecret" (dict "context" $) }}
-*/}}
-{{- define "common.postgresql.values.existingSecret" -}}
-  {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "existingSecret" "context" .context) -}}
-
-  {{- if .subchart -}}
-    {{- default (.context.Values.postgresql.existingSecret | quote) $globalValue -}}
-  {{- else -}}
-    {{- default (.context.Values.existingSecret | quote) $globalValue -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for enabled postgresql.
-
-Usage:
-{{ include "common.postgresql.values.enabled" (dict "context" $) }}
-*/}}
-{{- define "common.postgresql.values.enabled" -}}
-  {{- if .subchart -}}
-    {{- printf "%v" .context.Values.postgresql.enabled -}}
-  {{- else -}}
-    {{- printf "%v" (not .context.Values.enabled) -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for the key postgressPassword.
-
-Usage:
-{{ include "common.postgresql.values.key.postgressPassword" (dict "subchart" "true" "context" $) }}
-Params:
-  - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false
-*/}}
-{{- define "common.postgresql.values.key.postgressPassword" -}}
-  {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "postgresqlUsername" "context" .context) -}}
-
-  {{- if not $globalValue -}}
-    {{- if .subchart -}}
-      postgresql.postgresqlPassword
-    {{- else -}}
-      postgresqlPassword
-    {{- end -}}
-  {{- else -}}
-    global.postgresql.postgresqlPassword
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for enabled.replication.
-
-Usage:
-{{ include "common.postgresql.values.enabled.replication" (dict "subchart" "true" "context" $) }}
-Params:
-  - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false
-*/}}
-{{- define "common.postgresql.values.enabled.replication" -}}
-  {{- if .subchart -}}
-    {{- printf "%v" .context.Values.postgresql.replication.enabled -}}
-  {{- else -}}
-    {{- printf "%v" .context.Values.replication.enabled -}}
-  {{- end -}}
-{{- end -}}
-
-{{/*
-Auxiliar function to get the right value for the key replication.password.
-
-Usage:
-{{ include "common.postgresql.values.key.replicationPassword" (dict "subchart" "true" "context" $) }}
-Params:
-  - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false
-*/}}
-{{- define "common.postgresql.values.key.replicationPassword" -}}
-  {{- if .subchart -}}
-    postgresql.replication.password
-  {{- else -}}
-    replication.password
-  {{- end -}}
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_warnings.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/templates/_warnings.tpl
deleted file mode 100644 (file)
index ae10fa4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Warning about using rolling tag.
-Usage:
-{{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }}
-*/}}
-{{- define "common.warnings.rollingTag" -}}
-
-{{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }}
-WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment.
-+info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/
-{{- end }}
-
-{{- end -}}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/values.yaml b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/charts/common/values.yaml
deleted file mode 100644 (file)
index 9ecdc93..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-## bitnami/common
-## It is required by CI/CD tools and processes.
-exampleValue: common-chart
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/templates/_helpers.tpl b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/templates/_helpers.tpl
deleted file mode 100644 (file)
index e2e1401..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "apache.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-*/}}
-{{- define "apache.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Common labels
-*/}}
-{{- define "apache.labels" -}}
-app.kubernetes.io/name: {{ include "apache.name" . }}
-helm.sh/chart: {{ include "apache.chart" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
-*/}}
-{{- define "apache.matchLabels" -}}
-app.kubernetes.io/name: {{ include "apache.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-
-{{/*
-Return the proper Apache image name
-*/}}
-{{- define "apache.image" -}}
-{{- $registryName := .Values.image.registry -}}
-{{- $repositoryName := .Values.image.repository -}}
-{{- $tag := .Values.image.tag | toString -}}
-{{/*
-Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
-but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
-Also, we can't use a single if because lazy evaluation is not an option
-*/}}
-{{- if .Values.global }}
-    {{- if .Values.global.imageRegistry }}
-        {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}}
-    {{- else -}}
-        {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
-    {{- end -}}
-{{- else -}}
-    {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the proper Apache Docker Image Registry Secret Names
-*/}}
-{{- define "apache.imagePullSecrets" -}}
-{{/*
-Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
-but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
-Also, we can't use a single if because lazy evaluation is not an option
-*/}}
-{{- if .Values.global }}
-{{- if .Values.global.imagePullSecrets }}
-imagePullSecrets:
-{{- range .Values.global.imagePullSecrets }}
-  - name: {{ . }}
-{{- end }}
-{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets }}
-imagePullSecrets:
-{{- range .Values.image.pullSecrets }}
-  - name: {{ . }}
-{{- end }}
-{{- range .Values.metrics.image.pullSecrets }}
-  - name: {{ . }}
-{{- end }}
-{{- end -}}
-{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets }}
-imagePullSecrets:
-{{- range .Values.image.pullSecrets }}
-  - name: {{ . }}
-{{- end }}
-{{- range .Values.metrics.image.pullSecrets }}
-  - name: {{ . }}
-{{- end }}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the proper image name (for the metrics image)
-*/}}
-{{- define "apache.metrics.image" -}}
-{{- $registryName := .Values.metrics.image.registry -}}
-{{- $repositoryName := .Values.metrics.image.repository -}}
-{{- $tag := .Values.metrics.image.tag | toString -}}
-{{/*
-Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
-but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
-Also, we can't use a single if because lazy evaluation is not an option
-*/}}
-{{- if .Values.global }}
-    {{- if .Values.global.imageRegistry }}
-        {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}}
-    {{- else -}}
-        {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
-    {{- end -}}
-{{- else -}}
-    {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return true if mouting a static web page
-*/}}
-{{- define "apache.useHtdocs" -}}
-{{ default "" (or .Values.cloneHtdocsFromGit.enabled .Values.htdocsConfigMap .Values.htdocsPVC) }}
-{{- end -}}
-
-{{/*
-Return associated volume
-*/}}
-{{- define "apache.htdocsVolume" -}}
-{{- if .Values.cloneHtdocsFromGit.enabled }}
-emptyDir: {}
-{{- else if .Values.htdocsConfigMap }}
-configMap:
-  name: {{ .Values.htdocsConfigMap }}
-{{- else if .Values.htdocsPVC }}
-persistentVolumeClaim:
-  claimName: {{ .Values.htdocsPVC }}
-{{- end }}
-{{- end -}}
-
-{{/*
-Validate data
-*/}}
-{{- define "apache.validateValues" -}}
-{{- $messages := list -}}
-{{- $messages := append $messages (include "apache.validateValues.htdocs" .) -}}
-{{- $messages := append $messages (include "apache.validateValues.htdocsGit" .) -}}
-{{- $messages := without $messages "" -}}
-{{- $message := join "\n" $messages -}}
- {{- if $message -}}
-{{-   printf "\nVALUES VALIDATION:\n%s" $message | fail -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "apache.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Validate data (htdocs)
-*/}}
-{{- define "apache.validateValues.htdocs" -}}
-{{- if or (and .Values.cloneHtdocsFromGit.enabled (or .Values.htdocsPVC .htdocsConfigMap )) (and .Values.htdocsPVC (or .Values.htdocsConfigMap .Values.cloneHtdocsFromGit.enabled )) (and .Values.htdocsConfigMap (or .Values.htdocsPVC .Values.cloneHtdocsFromGit.enabled )) }}
-apache: htdocs
-    You have selected more than one way of deploying htdocs. Please select only one of htdocsConfigMap cloneHtdocsFromGit or htdocsVolume
-{{- end }}
-{{- end -}}
-
-{{/*
-Validate data (htdocs git)
-*/}}
-{{- define "apache.validateValues.htdocsGit" -}}
-{{- if .Values.cloneHtdocsFromGit.enabled }}
-  {{- if not .Values.cloneHtdocsFromGit.repository }}
-apache: htdocs-git-repository
-    You did not specify a git repository to clone. Please set cloneHtdocsFromGit.repository
-  {{- end }}
-  {{- if not .Values.cloneHtdocsFromGit.branch }}
-apache: htdocs-git-branch
-    You did not specify a branch to checkout in the git repository. Please set cloneHtdocsFromGit.branch
-  {{- end }}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Validate values of Apache - Incorrect extra volume settings
-*/}}
-{{- define "apache.validateValues.extraVolumes" -}}
-{{- if and (.Values.extraVolumes) (not .Values.extraVolumeMounts) -}}
-apache: missing-extra-volume-mounts
-    You specified extra volumes but not mount points for them. Please set
-    the extraVolumeMounts value
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the proper git image name
-*/}}
-{{- define "git.image" -}}
-{{- $registryName := .Values.git.registry -}}
-{{- $repositoryName := .Values.git.repository -}}
-{{- $tag := .Values.git.tag | toString -}}
-{{/*
-Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
-but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
-Also, we can't use a single if because lazy evaluation is not an option
-*/}}
-{{- if .Values.global }}
-    {{- if .Values.global.imageRegistry }}
-        {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}}
-    {{- else -}}
-        {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
-    {{- end -}}
-{{- else -}}
-    {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Get the vhosts config map name.
-*/}}
-{{- define "apache.vhostsConfigMap" -}}
-{{- if .Values.vhostsConfigMap -}}
-    {{- printf "%s" (tpl .Values.vhostsConfigMap $) -}}
-{{- else -}}
-    {{- printf "%s-vhosts" (include "apache.fullname" . ) -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Get the httpd.conf config map name.
-*/}}
-{{- define "apache.httpdConfConfigMap" -}}
-{{- if .Values.httpdConfConfigMap -}}
-    {{- printf "%s" (tpl .Values.httpdConfConfigMap $) -}}
-{{- else -}}
-    {{- printf "%s-httpd-conf" (include "apache.fullname" . ) -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Renders a value that contains template.
-Usage:
-{{ include "apache.tplValue" ( dict "value" .Values.path.to.the.Value "context" $) }}
-*/}}
-{{- define "apache.tplValue" -}}
-    {{- if typeIs "string" .value }}
-        {{- tpl .value .context }}
-    {{- else }}
-        {{- tpl (.value | toYaml) .context }}
-    {{- end }}
-{{- end -}}
-
-
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/templates/deployment.yaml b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/templates/deployment.yaml
deleted file mode 100644 (file)
index 4507712..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: {{ include "apache.fullname" . }}
-  labels: {{- include "apache.labels" . | nindent 4 }}
-spec:
-  selector:
-    matchLabels: {{- include "apache.matchLabels" . | nindent 6 }}
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels: {{- include "apache.labels" . | nindent 8 }}
-      {{- if or .Values.podAnnotations (and .Values.metrics.enabled .Values.metrics.podAnnotations) }}
-      annotations:
-        {{- if .Values.podAnnotations }}
-        {{- include "apache.tplValue" (dict "value" .Values.podAnnotations "context" $) | nindent 8 }}
-        {{- end }}
-        {{- if and .Values.metrics.enabled .Values.metrics.podAnnotations }}
-        {{- include "apache.tplValue" (dict "value" .Values.metrics.podAnnotations "context" $) | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    spec:
-{{- include "apache.imagePullSecrets" . | nindent 6 }}
-      hostAliases:
-        - ip: "127.0.0.1"
-          hostnames:
-            - "status.localhost"
-      {{- if .Values.affinity }}
-      affinity: {{- include "apache.tplValue" (dict "value" .Values.affinity "context" $) | nindent 8 }}
-      {{- else }}
-      affinity:
-        podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAffinityPreset "context" $) | nindent 10 }}
-        podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAntiAffinityPreset "context" $) | nindent 10 }}
-        nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.nodeAffinityPreset.type "key" .Values.nodeAffinityPreset.key "values" .Values.nodeAffinityPreset.values) | nindent 10 }}
-      {{- end }}
-      {{- if .Values.nodeSelector }}
-      nodeSelector: {{- include "apache.tplValue" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.tolerations }}
-      tolerations: {{- include "apache.tplValue" (dict "value" .Values.tolerations "context" $) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.cloneHtdocsFromGit.enabled }}
-      initContainers:
-        - name: git-clone-repository
-          image: {{ include "git.image" . }}
-          imagePullPolicy: {{ .Values.git.pullPolicy | quote }}
-          command:
-            - /bin/bash
-            - -ec
-            - |
-              git clone {{ .Values.cloneHtdocsFromGit.repository }} --branch {{ .Values.cloneHtdocsFromGit.branch }} /app
-          resources: {{- toYaml .Values.cloneHtdocsFromGit.resources | nindent 12 }}
-          volumeMounts:
-            - name: htdocs
-              mountPath: /app
-      containers:
-        - name: git-repo-syncer
-          image: {{ include "git.image" . }}
-          imagePullPolicy: {{ .Values.git.pullPolicy | quote }}
-          command:
-            - /bin/bash
-            - -ec
-            - |
-              while true; do
-                  cd /app && git pull origin {{ .Values.cloneHtdocsFromGit.branch }}
-                  sleep {{ .Values.cloneHtdocsFromGit.interval }}
-              done
-          resources: {{- toYaml .Values.cloneHtdocsFromGit.resources | nindent 12 }}
-          volumeMounts:
-            - name: htdocs
-              mountPath: /app
-      {{- else }}
-      containers:
-      {{- end }}
-        - name: apache
-          image: {{ include "apache.image" . }}
-          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
-          env:
-            - name: BITNAMI_DEBUG
-              value: {{ ternary "true" "false" .Values.image.debug | quote }}
-            {{- if .Values.extraEnvVars }}
-              {{- include "apache.tplValue" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }}
-            {{- end }}
-          ports:
-            - name: http
-              containerPort: 8080
-            - name: https
-              containerPort: 8443
-          {{- if .Values.livenessProbe.enabled }}
-          livenessProbe:
-            httpGet:
-              path: {{ .Values.livenessProbe.path }}
-              port: http
-            initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
-            periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
-            timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
-            successThreshold: {{ .Values.livenessProbe.successThreshold }}
-            failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
-          {{- end }}
-          {{- if .Values.readinessProbe.enabled }}
-          readinessProbe:
-            httpGet:
-              path: {{ .Values.readinessProbe.path }}
-              port: http
-            initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
-            periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
-            timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
-            successThreshold: {{ .Values.readinessProbe.successThreshold }}
-            failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
-          {{- end }}
-          {{- if .Values.resources }}
-          resources: {{- toYaml .Values.resources | nindent 12 }}
-          {{- end }}
-          volumeMounts:
-            {{- if (include "apache.useHtdocs" .) }}
-            - name: htdocs
-              mountPath: /app
-            {{- end }}
-            {{- if or (.Files.Glob "files/vhosts/*.conf") (.Values.vhostsConfigMap) }}
-            - name: vhosts
-              mountPath: /vhosts
-            {{- end }}
-            {{- if or (.Files.Glob "files/httpd.conf") (.Values.httpdConfConfigMap) }}
-            - name: httpd-conf
-              mountPath: /opt/bitnami/apache/conf/httpd.conf
-              subPath: httpd.conf
-            {{- end }}
-            {{- if .Values.extraVolumeMounts }}
-            {{- include "common.tplvalues.render" ( dict "value" .Values.extraVolumeMounts "context" $) | nindent 12 }}
-            {{- end }}
-        {{- if .Values.metrics.enabled }}
-        - name: metrics
-          image: {{ template "apache.metrics.image" . }}
-          imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }}
-          command: ['/bin/apache_exporter', '--scrape_uri', 'http://status.localhost:8080/server-status/?auto']
-          ports:
-            - name: metrics
-              containerPort: 9117
-          livenessProbe:
-            httpGet:
-              path: /metrics
-              port: metrics
-            initialDelaySeconds: 15
-            timeoutSeconds: 5
-          readinessProbe:
-            httpGet:
-              path: /metrics
-              port: metrics
-            initialDelaySeconds: 5
-            timeoutSeconds: 1
-          {{- if .Values.metrics.resources }}
-          resources: {{- toYaml .Values.metrics.resources | nindent 12 }}
-          {{- end }}
-        {{- end }}
-      volumes:
-        {{- if (include "apache.useHtdocs" .) }}
-        - name: htdocs
-          {{- include "apache.htdocsVolume" . | nindent 10 }}
-        {{- end }}
-        {{- if or (.Files.Glob "files/vhosts/*.conf") (.Values.vhostsConfigMap) }}
-        - name: vhosts
-          configMap:
-            name: {{ include "apache.vhostsConfigMap" . }}
-        {{- end }}
-        {{- if or (.Files.Glob "files/httpd.conf") (.Values.httpdConfConfigMap) }}
-        - name: httpd-conf
-          configMap:
-            name: {{ include "apache.httpdConfConfigMap" . }}
-        {{- end }}
-        {{- if .Values.extraVolumes }}
-        {{- include "common.tplvalues.render" ( dict "value" .Values.extraVolumes "context" $) | nindent 8 }}
-        {{- end }}
diff --git a/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/values.yaml b/tutorials/ApacheCNF/templates/cba/Templates/k8s-configs/deployment-config/values.yaml
deleted file mode 100644 (file)
index 3437982..0000000
+++ /dev/null
@@ -1,310 +0,0 @@
-## Global Docker image parameters
-## Please, note that this will override the image parameters, including dependencies, configured to use the global value
-## Current available global Docker image parameters: imageRegistry and imagepullSecrets
-##
-# global:
-#   imageRegistry: myRegistryName
-#   imagePullSecrets:
-#     - myRegistryKeySecretName
-
-## Bitnami Apache image version
-## ref: https://hub.docker.com/r/bitnami/apache/tags/
-##
-image:
-  registry: docker.io
-  repository: bitnami/apache
-  tag: 2.4.46-debian-10-r62
-  ## Specify a imagePullPolicy
-  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
-  ##
-  pullPolicy: IfNotPresent
-  ## Optionally specify an array of imagePullSecrets.
-  ## Secrets must be manually created in the namespace.
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
-  ##
-  # pullSecrets:
-  #   - myRegistryKeySecretName
-
-  ## Set to true if you would like to see extra information on logs
-  ## ref:  https://github.com/bitnami/minideb-extras/#turn-on-bash-debugging
-  ##
-  debug: false
-
-## Bitnami Git image version
-## ref: https://hub.docker.com/r/bitnami/git/tags/
-##
-git:
-  registry: docker.io
-  repository: bitnami/git
-  tag: 2.29.0-debian-10-r0
-  pullPolicy: IfNotPresent
-  ## Optionally specify an array of imagePullSecrets.
-  ## Secrets must be manually created in the namespace.
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
-  ##
-  # pullSecrets:
-  #   - myRegistryKeySecretName
-
-## String to partially override apache.fullname template (will maintain the release name)
-##
-# nameOverride:
-
-## String to fully override apache.fullname template
-##
-# fullnameOverride:
-
-## Number of Apache replicas to deploy
-##
-replicaCount: 1
-
-## Pod affinity preset
-## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-## Allowed values: soft, hard
-##
-podAffinityPreset: ""
-
-## Pod anti-affinity preset
-## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-## Allowed values: soft, hard
-##
-podAntiAffinityPreset: soft
-
-## Node affinity preset
-## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
-## Allowed values: soft, hard
-##
-nodeAffinityPreset:
-  ## Node affinity type
-  ## Allowed values: soft, hard
-  type: ""
-  ## Node label key to match
-  ## E.g.
-  ## key: "kubernetes.io/e2e-az-name"
-  ##
-  key: ""
-  ## Node label values to match
-  ## E.g.
-  ## values:
-  ##   - e2e-az1
-  ##   - e2e-az2
-  ##
-  values: []
-
-## Affinity for pod assignment
-## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
-## Note: podAffinityPreset, podAntiAffinityPreset, and  nodeAffinityPreset will be ignored when it's set
-##
-affinity: {}
-
-## Node labels for pod assignment
-## Ref: https://kubernetes.io/docs/user-guide/node-selection/
-##
-nodeSelector: {}
-
-## Tolerations for pod assignment
-## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-##
-tolerations: []
-
-## Get the server static content from a git repository
-##
-cloneHtdocsFromGit:
-  enabled: false
-  # repository:
-  # branch:
-  interval: 60
-  resources: {}
-
-## Name of a config map with the server static content
-##
-# htdocsConfigMap:
-
-## Name of a PVC with the server static content
-##
-# htdocsPVC:
-
-## Name of a config map with the virtual hosts content
-##
-# vhostsConfigMap:
-
-## Name of a config map with the httpd.conf file contents
-##
-# httpdConfConfigMap:
-
-## Pod annotations
-## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-##
-podAnnotations: {}
-
-## Apache pods' resource requests and limits
-## ref: http://kubernetes.io/docs/user-guide/compute-resources/
-##
-resources:
-  # We usually recommend not to specify default resources and to leave this as a conscious
-  # choice for the user. This also increases chances charts run on environments with little
-  # resources, such as Minikube. If you do want to specify resources, uncomment the following
-  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
-  limits: {}
-  #   cpu: 100m
-  #   memory: 128Mi
-  requests: {}
-  #   cpu: 100m
-  #   memory: 128Mi
-
-## Apache container's liveness and readiness probes
-## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-##
-livenessProbe:
-  enabled: true
-  path: "/"
-  port: http
-  initialDelaySeconds: 180
-  periodSeconds: 20
-  timeoutSeconds: 5
-  failureThreshold: 6
-  successThreshold: 1
-readinessProbe:
-  enabled: true
-  path: "/"
-  port: http
-  initialDelaySeconds: 30
-  periodSeconds: 10
-  timeoutSeconds: 5
-  failureThreshold: 6
-  successThreshold: 1
-
-## Ingress paramaters
-##
-ingress:
-  ## Set to true to enable ingress record generation
-  ##
-  enabled: false
-
-  ## Set this to true in order to add the corresponding annotations for cert-manager
-  ##
-  certManager: false
-
-  ## When the ingress is enabled, a host pointing to this will be created
-  ##
-  hostname: example.local
-
-  ## Ingress annotations done as key:value pairs
-  ## For a full list of possible ingress annotations, please see
-  ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
-  ##
-  ## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set
-  ## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set
-  annotations: {}
-  #  kubernetes.io/ingress.class: nginx
-
-  ## The list of additional hostnames to be covered with this ingress record.
-  ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
-  ## hosts:
-  ## - name: example.local
-  ##   path: /
-
-  ## The tls configuration for the ingress
-  ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
-  ##
-  tls:
-    - hosts:
-        - example.local
-      secretName: example.local-tls
-
-  secrets:
-  ## If you're providing your own certificates, please use this to add the certificates as secrets
-  ## key and certificate should start with -----BEGIN CERTIFICATE----- or
-  ## -----BEGIN RSA PRIVATE KEY-----
-  ##
-  ## name should line up with a tlsSecret set further up
-  ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
-  ##
-  ## It is also possible to create and manage the certificates outside of this helm chart
-  ## Please see README.md for more information
-  # - name: apache.local-tls
-  #   key:
-  #   certificate:
-
-## Prometheus Exporter / Metrics
-##
-metrics:
-  enabled: false
-  ## Bitnami Apache Prometheus Exporter image
-  ## ref: https://hub.docker.com/r/bitnami/apache-exporter/tags/
-  ##
-  image:
-    registry: docker.io
-    repository: bitnami/apache-exporter
-    tag: 0.8.0-debian-10-r186
-    pullPolicy: IfNotPresent
-    ## Optionally specify an array of imagePullSecrets.
-    ## Secrets must be manually created in the namespace.
-    ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
-    ##
-    # pullSecrets:
-    #   - myRegistryKeySecretName
-  ## Metrics exporter pod Annotation and Labels
-  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-  ##
-  podAnnotations:
-    prometheus.io/scrape: "true"
-    prometheus.io/port: "9117"
-  ## Apache Prometheus exporter resource requests and limits
-  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  ##
-  resources:
-    # We usually recommend not to specify default resources and to leave this as a conscious
-    # choice for the user. This also increases chances charts run on environments with little
-    # resources, such as Minikube. If you do want to specify resources, uncomment the following
-    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
-    limits: {}
-    #   cpu: 100m
-    #   memory: 128Mi
-    requests: {}
-    #   cpu: 100m
-    #   memory: 128Mi
-
-## Array to add extra volumes (evaluated as a template)
-##
-extraVolumes: []
-
-## Array to add extra mounts (normally used with extraVolumes, evaluated as a template)
-##
-extraVolumeMounts: []
-
-## An array to add extra env vars
-##
-extraEnvVars: []
-
-## Service paramaters
-##
-service:
-  ## Service type
-  ##
-  type: LoadBalancer
-  ## HTTP Port
-  ##
-  port: 80
-  ## HTTPS Port
-  ##
-  httpsPort: 443
-  ## Specify the nodePort(s) value(s) for the LoadBalancer and NodePort service types.
-  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
-  ##
-  nodePorts:
-    http: ""
-    https: ""
-  ## Set the LoadBalancer service type to internal only.
-  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
-  ##
-  # loadBalancerIP:
-  ## Provide any additional annotations which may be required. This can be used to
-  ## set the LoadBalancer service type to internal only.
-  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
-  ##
-  annotations: {}
-
-  ## Enable client source IP preservation
-  ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
-  ##
-  externalTrafficPolicy: Cluster
index 5bcea8f..21043b3 100644 (file)
@@ -10,7 +10,7 @@ $(vf-modules:=-package): %-package: %-build
 
 $(vf-modules:=-build): %-build: %-clean
        helm repo add bitnami https://charts.bitnami.com/bitnami
 
 $(vf-modules:=-build): %-build: %-clean
        helm repo add bitnami https://charts.bitnami.com/bitnami
-       helm pull bitnami/apache --version 7.6.0
+       helm pull bitnami/apache --version 8.12.0
 
 $(vf-modules:=-clean):
        rm -f $(@:-clean=)-*.tgz
 
 $(vf-modules:=-clean):
        rm -f $(@:-clean=)-*.tgz