From aa5312b915dc4a03019a2017e4d846dfff4421fe Mon Sep 17 00:00:00 2001 From: KesavanMasilamani <kesavan.masilamani@syncfusion.com> Date: Tue, 30 Apr 2024 20:56:51 +0530 Subject: [PATCH 1/6] v6.1.34 documentation and manifest file changes --- deploy/Log4Net.config | 7 + deploy/deployment.yaml | 128 +++- deploy/destination_rule.yaml | 14 + deploy/hpa.yaml | 36 + deploy/hpa_gke.yaml | 26 + deploy/ingress.yaml | 77 ++- deploy/istio_gateway.yaml | 13 + deploy/log4net_config.yaml | 7 + deploy/service.yaml | 19 +- docs/amazon-eks.md | 14 +- docs/google-gke.md | 14 +- docs/index.md | 2 +- docs/microsoft-aks.md | 14 +- docs/on-premise.md | 14 +- helm/README.md | 2 +- helm/boldreports/Chart.yaml | 4 +- helm/boldreports/templates/alb-ingress.yaml | 7 + helm/boldreports/templates/deployment.yaml | 6 +- .../templates/destination_rule.yaml | 2 + helm/boldreports/templates/ingress.yaml | 82 +++ helm/boldreports/templates/istio_gateway.yaml | 13 + helm/boldreports/templates/service.yaml | 2 + helm/boldreports/values.yaml | 20 +- helm/custom-values/aks-values.yaml | 14 +- helm/custom-values/eks-alb-values.yaml | 19 +- helm/custom-values/eks-values.yaml | 14 +- helm/custom-values/gke-values.yaml | 14 +- helm/custom-values/values.yaml | 14 +- istio/README.md | 2 +- istio/amazon-eks.md | 16 +- istio/google-gke.md | 16 +- istio/microsoft-aks.md | 16 +- istio/on-premise.md | 16 +- upgrade/6-1_upgrade.md | 114 ++++ upgrade/6-1_upgrade.sh | 142 ++++ upgrade/6-1_upgrade/deployment.yaml | 471 +++++++++++++ upgrade/6-1_upgrade/destination_rule.yaml | 125 ++++ upgrade/6-1_upgrade/hpa.yaml | 323 +++++++++ upgrade/6-1_upgrade/hpa_gke.yaml | 233 +++++++ upgrade/6-1_upgrade/ingress.yaml | 642 ++++++++++++++++++ upgrade/6-1_upgrade/istio_gateway.yaml | 141 ++++ upgrade/6-1_upgrade/log4net_config.yaml | 67 ++ upgrade/6-1_upgrade/service.yaml | 152 +++++ upgrade/upgrade.md | 112 ++- 44 files changed, 3082 insertions(+), 104 deletions(-) create mode 100644 upgrade/6-1_upgrade.md create mode 100644 upgrade/6-1_upgrade.sh create mode 100644 upgrade/6-1_upgrade/deployment.yaml create mode 100644 upgrade/6-1_upgrade/destination_rule.yaml create mode 100644 upgrade/6-1_upgrade/hpa.yaml create mode 100644 upgrade/6-1_upgrade/hpa_gke.yaml create mode 100644 upgrade/6-1_upgrade/ingress.yaml create mode 100644 upgrade/6-1_upgrade/istio_gateway.yaml create mode 100644 upgrade/6-1_upgrade/log4net_config.yaml create mode 100644 upgrade/6-1_upgrade/service.yaml diff --git a/deploy/Log4Net.config b/deploy/Log4Net.config index c7ca1ea..ef67361 100644 --- a/deploy/Log4Net.config +++ b/deploy/Log4Net.config @@ -6,6 +6,7 @@ <appender-ref ref="ConsoleAppender" /> <appender-ref ref="FILE_DEBUG_APPENDER" /> <appender-ref ref="FILE_ERROR_APPENDER" /> + <appender-ref ref="aiAppender"/> </root> <!-- === File Appender for NON-ERROR messages file === --> @@ -52,6 +53,12 @@ <conversionPattern type="log4net.Util.PatternString" value="%newline%%-5level %property{loggername} %env{HOSTNAME} %%date [%%thread] %%message%newline" /> </layout> </appender> + <!-- === Appender for ApplicationInsights logs === --> + <appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender"> + <layout type="log4net.Layout.PatternLayout"> + <conversionPattern value="%message%newline" /> + </layout> + </appender> </log4net> </configuration> \ No newline at end of file diff --git a/deploy/deployment.yaml b/deploy/deployment.yaml index ce033d9..346d84f 100644 --- a/deploy/deployment.yaml +++ b/deploy/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: id-web-container - image: gcr.io/boldreports/bold-identity:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-identity:6.1.34 ports: - containerPort: 80 resources: @@ -63,9 +63,17 @@ spec: labels: app: id-api spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: id-api-volume containers: - name: id-api-container - image: gcr.io/boldreports/bold-idp-api:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-idp-api:6.1.34 ports: - containerPort: 80 resources: @@ -108,9 +116,17 @@ spec: labels: app: id-ums spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: id-ums-volume containers: - name: id-ums-container - image: gcr.io/boldreports/bold-ums:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-ums:6.1.34 ports: - containerPort: 80 resources: @@ -153,9 +169,17 @@ spec: labels: app: reports-web spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-web-volume containers: - name: reports-web-container - image: gcr.io/boldreports/boldreports-server:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-server:6.1.34 ports: - containerPort: 80 resources: @@ -197,9 +221,17 @@ spec: labels: app: reports-api spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-api-volume containers: - name: reports-api-container - image: gcr.io/boldreports/boldreports-server-api:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-server-api:6.1.34 ports: - containerPort: 80 resources: @@ -241,9 +273,17 @@ spec: labels: app: reports-jobs spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-jobs-volume containers: - name: reports-jobs-container - image: gcr.io/boldreports/boldreports-server-jobs:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-server-jobs:6.1.34 ports: - containerPort: 80 resources: @@ -285,9 +325,17 @@ spec: labels: app: reports-reportservice spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-reportservice-volume containers: - name: reports-reportservice-container - image: gcr.io/boldreports/boldreports-designer:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-designer:6.1.34 ports: - containerPort: 80 resources: @@ -329,9 +377,17 @@ spec: labels: app: reports-viewer spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-viewer-volume containers: - name: reports-viewer-container - image: gcr.io/boldreports/boldreports-viewer:5.4.30 + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-viewer:6.1.34 ports: - containerPort: 80 resources: @@ -354,6 +410,62 @@ spec: persistentVolumeClaim: claimName: bold-services-fileserver-claim readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bold-etl-deployment + namespace: bold-services +spec: + selector: + matchLabels: + app: bold-etl + replicas: 1 + template: + metadata: + labels: + app: bold-etl + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: bold-etl-volume + containers: + - name: bold-etl-container + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-etl:6.1.34 + ports: + - containerPort: 80 + env: + - name: BOLD_SERVICES_HOSTING_ENVIRONMENT + value: k8s + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 20 + periodSeconds: 15 + timeoutSeconds: 5 + volumeMounts: + - mountPath: /application/app_data + name: bold-etl-volume + - mountPath: /application/etl/etlservice/logs/k8s + name: log4net-config-volume + volumes: + - name: bold-etl-volume + persistentVolumeClaim: + claimName: bold-services-fileserver-claim + readOnly: false - name: log4net-config-volume configMap: name: log4net-config \ No newline at end of file diff --git a/deploy/destination_rule.yaml b/deploy/destination_rule.yaml index 0961bdc..1519c93 100644 --- a/deploy/destination_rule.yaml +++ b/deploy/destination_rule.yaml @@ -108,4 +108,18 @@ spec: consistentHash: httpCookie: name: boldreports.k8s.reports.viewer.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: bold-services + name: bold-etl-rule +spec: + host: bold-etl-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: bold.k8s.bold.etl.pod.id ttl: 600s \ No newline at end of file diff --git a/deploy/hpa.yaml b/deploy/hpa.yaml index 9488bbd..942b41c 100644 --- a/deploy/hpa.yaml +++ b/deploy/hpa.yaml @@ -263,6 +263,42 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: bold-etl-hpa + namespace: bold-services +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: bold-etl-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: - type: Resource resource: name: cpu diff --git a/deploy/hpa_gke.yaml b/deploy/hpa_gke.yaml index 2c443f6..4f5bcbd 100644 --- a/deploy/hpa_gke.yaml +++ b/deploy/hpa_gke.yaml @@ -193,6 +193,32 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: bold-etl-hpa + namespace: bold-services +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: bold-etl-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: - type: Resource resource: name: cpu diff --git a/deploy/ingress.yaml b/deploy/ingress.yaml index 0cf1501..99f5f38 100644 --- a/deploy/ingress.yaml +++ b/deploy/ingress.yaml @@ -493,6 +493,73 @@ metadata: proxy_pass http://upstream_balancer; proxy_redirect off; } + + location ~* "^/etlservice(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/etlservice(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-bold-etl-service-6009"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/etlservice(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } spec: # tls: # - hosts: @@ -564,4 +631,12 @@ spec: service: name: reports-jobs-service port: - number: 6552 \ No newline at end of file + number: 6552 + + - path: /boldetl/(/|$)(.*) + pathType: Prefix + backend: + service: + name: bold-etl-service + port: + number: 6009 \ No newline at end of file diff --git a/deploy/istio_gateway.yaml b/deploy/istio_gateway.yaml index 00c4d4d..af3fc0f 100644 --- a/deploy/istio_gateway.yaml +++ b/deploy/istio_gateway.yaml @@ -123,6 +123,19 @@ spec: port: number: 6000 host: id-web-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /etlservice + rewrite: + uri: / + route: + - destination: + port: + number: 6009 + host: bold-etl-service.bold-services.svc.cluster.local retries: attempts: 3 retryOn: gateway-error,connect-failure,refused-stream \ No newline at end of file diff --git a/deploy/log4net_config.yaml b/deploy/log4net_config.yaml index a83f84e..1dd9732 100644 --- a/deploy/log4net_config.yaml +++ b/deploy/log4net_config.yaml @@ -13,6 +13,7 @@ data: <!-- <appender-ref ref="ConsoleAppender" /> --> <appender-ref ref="FILE_DEBUG_APPENDER" /> <appender-ref ref="FILE_ERROR_APPENDER" /> + <appender-ref ref="aiAppender"/> </root> <!-- === File Appender for NON-ERROR messages file === --> <appender name="FILE_DEBUG_APPENDER" type="log4net.Appender.RollingFileAppender" class="ch.qos.logback.classic.AsyncAppender"> @@ -56,5 +57,11 @@ data: <conversionPattern type="log4net.Util.PatternString" value="%newline%%-5level %property{loggername} %env{HOSTNAME} %%date [%%thread] %%message%newline" /> </layout> </appender> + <!-- === Appender for ApplicationInsights logs === --> + <appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender"> + <layout type="log4net.Layout.PatternLayout"> + <conversionPattern value="%message%newline" /> + </layout> + </appender> </log4net> </configuration> diff --git a/deploy/service.yaml b/deploy/service.yaml index ad5b5d3..a5877c0 100644 --- a/deploy/service.yaml +++ b/deploy/service.yaml @@ -132,4 +132,21 @@ spec: targetPort: 80 protocol: TCP selector: - app: reports-viewer \ No newline at end of file + app: reports-viewer +--- +apiVersion: v1 +kind: Service +metadata: + name: bold-etl-service + namespace: bold-services + labels: + app: bold-etl +spec: + type: NodePort + ports: + - name: bold-etl-port + port: 6009 + targetPort: 80 + protocol: TCP + selector: + app: bold-etl \ No newline at end of file diff --git a/docs/amazon-eks.md b/docs/amazon-eks.md index f851c92..710dfda 100644 --- a/docs/amazon-eks.md +++ b/docs/amazon-eks.md @@ -4,13 +4,13 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in Amazon EKS: - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_eks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_eks.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/ingress.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_eks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_eks.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/ingress.yaml) 2. Create an Amazon EKS cluster and [node group](https://docs.aws.amazon.com/eks/latest/userguide/eks-compute.html) to deploy Bold Reports. diff --git a/docs/google-gke.md b/docs/google-gke.md index 8c19166..c9164cb 100644 --- a/docs/google-gke.md +++ b/docs/google-gke.md @@ -4,13 +4,13 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in GKE: - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_gke.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa_gke.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/ingress.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_gke.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa_gke.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/ingress.yaml) 2. Create a Kubernetes cluster in Google Cloud Platform (GCP) to deploy Bold Reports. diff --git a/docs/index.md b/docs/index.md index 41f5d98..ef09144 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,4 +15,4 @@ # Upgrade Bold Reports -If you are upgrading Bold Reports to 5.4.30, please follow the steps in this [link](/upgrade/upgrade.md). \ No newline at end of file +If you are upgrading Bold Reports to 6.1.34, please follow the steps in this [link](/upgrade/upgrade.md). \ No newline at end of file diff --git a/docs/microsoft-aks.md b/docs/microsoft-aks.md index f6360c1..333b2dd 100644 --- a/docs/microsoft-aks.md +++ b/docs/microsoft-aks.md @@ -4,13 +4,13 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in AKS: - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_aks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_aks.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/ingress.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_aks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_aks.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/ingress.yaml) 2. Create a Kubernetes cluster in Microsoft Azure Kubernetes Service (AKS) to deploy Bold Reports. diff --git a/docs/on-premise.md b/docs/on-premise.md index 52d6741..3a34b48 100644 --- a/docs/on-premise.md +++ b/docs/on-premise.md @@ -4,13 +4,13 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in On-Premise. - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_onpremise.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_onpremise.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/ingress.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_onpremise.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_onpremise.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [ingress.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/ingress.yaml) 2. Create a folder in your machine to store the shared folders for applications usage. diff --git a/helm/README.md b/helm/README.md index cc79ee9..d7836f5 100644 --- a/helm/README.md +++ b/helm/README.md @@ -26,7 +26,7 @@ helm repo update helm search repo boldreports NAME CHART VERSION APP VERSION DESCRIPTION -boldreports/boldreports 5.4.30 5.4.30 Make bolder business decisions with complete reporting solutions... +boldreports/boldreports 6.1.34 6.1.34 Make bolder business decisions with complete reporting solutions... ``` _See [helm repo](https://helm.sh/docs/helm/helm_repo/) for command documentation._ diff --git a/helm/boldreports/Chart.yaml b/helm/boldreports/Chart.yaml index ecd2d84..1ca9b91 100644 --- a/helm/boldreports/Chart.yaml +++ b/helm/boldreports/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 name: boldreports type: application -appVersion: 5.4.30 -version: 5.4.30 +appVersion: 6.1.34 +version: 6.1.34 description: Make bolder business decisions with complete reporting solutions, unleash the power of your data with paginated, printable reports, and make intelligent decisions. home: https://www.boldreports.com/ icon: https://on-premise-demo.boldreports.com/reporting/images/application/boldreports/main_logo.svg \ No newline at end of file diff --git a/helm/boldreports/templates/alb-ingress.yaml b/helm/boldreports/templates/alb-ingress.yaml index c8156d1..8e5a30d 100644 --- a/helm/boldreports/templates/alb-ingress.yaml +++ b/helm/boldreports/templates/alb-ingress.yaml @@ -51,6 +51,13 @@ spec: name: reports-reportservice-service port: number: 6553 + - path: "/etlservice/*" + pathType: ImplementationSpecific + backend: + service: + name: bold-etl-service + port: + number: 6009 - path: "/reporting/viewer/*" pathType: ImplementationSpecific backend: diff --git a/helm/boldreports/templates/deployment.yaml b/helm/boldreports/templates/deployment.yaml index 6487c41..3d853f1 100644 --- a/helm/boldreports/templates/deployment.yaml +++ b/helm/boldreports/templates/deployment.yaml @@ -33,7 +33,7 @@ spec: - name: id-web-initialization image: busybox:1.28 command: ["/bin/sh","-c"] - args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + args: ["if [ ! -f /application/app_data/configuration/config.json ]; then echo waiting for id-web; sleep 10; else echo config.json file exist; fi"] volumeMounts: - mountPath: /application/app_data name: {{ $service.app }}-volume @@ -56,6 +56,8 @@ spec: image: "{{ $.Values.image.reportsRepo }}/boldreports-designer:{{ $.Values.image.reportsTag }}" {{- else if eq $service.app "reports-viewer" }} image: "{{ $.Values.image.reportsRepo }}/boldreports-viewer:{{ $.Values.image.reportsTag }}" + {{- else if eq $service.app "bold-etl" }} + image: "{{ $.Values.image.reportsRepo }}/bold-etl:{{ $.Values.image.reportsTag }}" {{- end }} ports: - containerPort: 80 @@ -104,6 +106,8 @@ spec: - mountPath: /application/reporting/reportservice/logs {{- else if eq $service.app "reports-viewer" }} - mountPath: /application/reporting/viewer/logs + {{- else if eq $service.app "bold-etl" }} + - mountPath: /application/etl/etlservice/logs/k8s {{- end }} name: log4net-config-volume volumes: diff --git a/helm/boldreports/templates/destination_rule.yaml b/helm/boldreports/templates/destination_rule.yaml index 7735260..53c814a 100644 --- a/helm/boldreports/templates/destination_rule.yaml +++ b/helm/boldreports/templates/destination_rule.yaml @@ -38,6 +38,8 @@ spec: name: bold.k8s.reports.reportservice.pod.id {{- else if eq $service.app "reports-viewer" }} name: bold.k8s.reports.viewer.pod.id + {{- else if eq $service.app "bold-etl" }} + name: bold.k8s.bold.etl.pod.id {{- end }} ttl: {{ $.Values.loadBalancer.affinityCookie.affinityCookieExpiration }}s --- diff --git a/helm/boldreports/templates/ingress.yaml b/helm/boldreports/templates/ingress.yaml index e5c1f81..0e096a5 100644 --- a/helm/boldreports/templates/ingress.yaml +++ b/helm/boldreports/templates/ingress.yaml @@ -505,6 +505,73 @@ metadata: proxy_pass http://upstream_balancer; proxy_redirect off; } + + location ~* "^/etlservice(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/etlservice(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-bold-etl-service-6009"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/etlservice(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } spec: {{- if and $ingressSupportsIngressClassName .Values.loadBalancer.ingressClassName }} ingressClassName: {{ .Values.loadBalancer.ingressClassName }} @@ -652,4 +719,19 @@ spec: serviceName: reports-reportservice-service servicePort: 6553 {{- end }} + + - path: /boldetl/(/|$)(.*) + {{- if $ingressSupportsPathType }} + pathType: {{ $ingressPathType }} + {{- end }} + backend: + {{- if $ingressApiIsStable }} + service: + name: bold-etl-service + port: + number: 6009 + {{- else }} + serviceName: bold-etl-service + servicePort: 6009 + {{- end }} {{- end }} \ No newline at end of file diff --git a/helm/boldreports/templates/istio_gateway.yaml b/helm/boldreports/templates/istio_gateway.yaml index f3d8d03..34dce99 100644 --- a/helm/boldreports/templates/istio_gateway.yaml +++ b/helm/boldreports/templates/istio_gateway.yaml @@ -167,4 +167,17 @@ spec: retries: attempts: 3 retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /etlservice + rewrite: + uri: / + route: + - destination: + port: + number: 6009 + host: bold-etl-service + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream {{- end }} \ No newline at end of file diff --git a/helm/boldreports/templates/service.yaml b/helm/boldreports/templates/service.yaml index 6a22b56..415a1af 100644 --- a/helm/boldreports/templates/service.yaml +++ b/helm/boldreports/templates/service.yaml @@ -36,6 +36,8 @@ spec: port: 6553 {{- else if eq $service.app "reports-viewer" }} port: 6554 + {{- else if eq $service.app "bold-etl" }} + port: 6009 {{- end }} targetPort: {{ $.Values.service.port }} protocol: TCP diff --git a/helm/boldreports/values.yaml b/helm/boldreports/values.yaml index 2f32589..65f6d4e 100644 --- a/helm/boldreports/values.yaml +++ b/helm/boldreports/values.yaml @@ -23,15 +23,21 @@ persistentVolume: azureStorageAccountName: '' # base64 string azureStorageAccountKey: '' + nfs: + # fileshare name as 'storageaccountname/filesharename' Ex:premiumstorage1234/boldreports. + fileShareName: '' + + # hostname of the fileshare Ex:premiumstorage1234.file.core.windows.net. + hostName: '' onpremise: hostPath: '' image: - idRepo: gcr.io/boldreports - reportsRepo: gcr.io/boldreports + idRepo: us-docker.pkg.dev/boldreports/v6-1-34 + reportsRepo: us-docker.pkg.dev/boldreports/v6-1-34 # Overrides the image tag whose default is the chart appVersion. - idTag: 5.4.30 - reportsTag: 5.4.30 + idTag: 6.1.34 + reportsTag: 6.1.34 pullPolicy: IfNotPresent imagePullSecrets: [] @@ -101,6 +107,12 @@ instanceConfig: maxReplicas: 20 cpuResourceRequests: 250m memoryResourceRequests: 750Mi + - app: bold-etl + replicaCount: 1 + minReplicas: 1 + maxReplicas: 20 + cpuResourceRequests: 250m + memoryResourceRequests: 750Mi service: type: ClusterIP diff --git a/helm/custom-values/aks-values.yaml b/helm/custom-values/aks-values.yaml index f166b18..aead010 100644 --- a/helm/custom-values/aks-values.yaml +++ b/helm/custom-values/aks-values.yaml @@ -29,11 +29,11 @@ persistentVolume: hostName: '' image: - idRepo: gcr.io/boldreports - reportsRepo: gcr.io/boldreports + idRepo: us-docker.pkg.dev/boldreports/v6-1-34 + reportsRepo: us-docker.pkg.dev/boldreports/v6-1-34 # Overrides the image tag whose default is the chart appVersion. - idTag: 5.4.30 - reportsTag: 5.4.30 + idTag: 6.1.34 + reportsTag: 6.1.34 pullPolicy: IfNotPresent imagePullSecrets: [] @@ -103,6 +103,12 @@ instanceConfig: maxReplicas: 20 cpuResourceRequests: 250m memoryResourceRequests: 750Mi + - app: bold-etl + replicaCount: 1 + minReplicas: 1 + maxReplicas: 20 + cpuResourceRequests: 250m + memoryResourceRequests: 750Mi autoscaling: enabled: true diff --git a/helm/custom-values/eks-alb-values.yaml b/helm/custom-values/eks-alb-values.yaml index a501117..7e0e796 100644 --- a/helm/custom-values/eks-alb-values.yaml +++ b/helm/custom-values/eks-alb-values.yaml @@ -16,17 +16,17 @@ persistentVolume: efsFileSystemId: '' image: - idRepo: gcr.io/boldreports - reportsRepo: gcr.io/boldreports + idRepo: us-docker.pkg.dev/boldreports/v6-1-34 + reportsRepo: us-docker.pkg.dev/boldreports/v6-1-34 # Overrides the image tag whose default is the chart appVersion. - idTag: 5.4.30 - reportsTag: 5.4.30 + idTag: 6.1.34 + reportsTag: 6.1.34 pullPolicy: IfNotPresent imagePullSecrets: [] versions: - idp: "4.21.1" - reports: "5.4.30" + idp: "4.23.1" + reports: "6.1.34" loadBalancer: type: alb @@ -98,6 +98,13 @@ instanceConfig: maxReplicas: 1 cpuResourceRequests: 250m memoryResourceRequests: 750Mi + - app: bold-etl + product: boldreports + replicaCount: 1 + minReplicas: 1 + maxReplicas: 20 + cpuResourceRequests: 250m + memoryResourceRequests: 750Mi service: type: ClusterIP diff --git a/helm/custom-values/eks-values.yaml b/helm/custom-values/eks-values.yaml index 5e85940..fd5adca 100644 --- a/helm/custom-values/eks-values.yaml +++ b/helm/custom-values/eks-values.yaml @@ -16,11 +16,11 @@ persistentVolume: efsFileSystemId: '' image: - idRepo: gcr.io/boldreports - reportsRepo: gcr.io/boldreports + idRepo: us-docker.pkg.dev/boldreports/v6-1-34 + reportsRepo: us-docker.pkg.dev/boldreports/v6-1-34 # Overrides the image tag whose default is the chart appVersion. - idTag: 5.4.30 - reportsTag: 5.4.30 + idTag: 6.1.34 + reportsTag: 6.1.34 pullPolicy: IfNotPresent imagePullSecrets: [] @@ -90,6 +90,12 @@ instanceConfig: maxReplicas: 20 cpuResourceRequests: 250m memoryResourceRequests: 750Mi + - app: bold-etl + replicaCount: 1 + minReplicas: 1 + maxReplicas: 20 + cpuResourceRequests: 250m + memoryResourceRequests: 750Mi service: type: ClusterIP diff --git a/helm/custom-values/gke-values.yaml b/helm/custom-values/gke-values.yaml index ebb9204..e03de2a 100644 --- a/helm/custom-values/gke-values.yaml +++ b/helm/custom-values/gke-values.yaml @@ -17,11 +17,11 @@ persistentVolume: fileShareIp: '' image: - idrepo: gcr.io/boldreports - reportsRepo: gcr.io/boldreports + idrepo: us-docker.pkg.dev/boldreports/v6-1-34 + reportsRepo: us-docker.pkg.dev/boldreports/v6-1-34 # Overrides the image tag whose default is the chart appVersion. - idTag: 5.4.30 - reportsTag: 5.4.30 + idTag: 6.1.34 + reportsTag: 6.1.34 pullPolicy: IfNotPresent imagePullSecrets: [] @@ -91,6 +91,12 @@ instanceConfig: maxReplicas: 20 cpuResourceRequests: 250m memoryResourceRequests: 750Mi + - app: bold-etl + replicaCount: 1 + minReplicas: 1 + maxReplicas: 20 + cpuResourceRequests: 250m + memoryResourceRequests: 750Mi autoscaling: enabled: true diff --git a/helm/custom-values/values.yaml b/helm/custom-values/values.yaml index 5e2c63f..3ac4921 100644 --- a/helm/custom-values/values.yaml +++ b/helm/custom-values/values.yaml @@ -27,11 +27,11 @@ persistentVolume: hostPath: '' image: - idRepo: gcr.io/boldreports - reportsRepo: gcr.io/boldreports + idRepo: us-docker.pkg.dev/boldreports/v6-1-34 + reportsRepo: us-docker.pkg.dev/boldreports/v6-1-34 # Overrides the image tag whose default is the chart appVersion. - idTag: 5.4.30 - reportsTag: 5.4.30 + idTag: 6.1.34 + reportsTag: 6.1.34 pullPolicy: IfNotPresent imagePullSecrets: [] @@ -101,6 +101,12 @@ instanceConfig: maxReplicas: 20 cpuResourceRequests: 250m memoryResourceRequests: 750Mi + - app: bold-etl + replicaCount: 1 + minReplicas: 1 + maxReplicas: 20 + cpuResourceRequests: 250m + memoryResourceRequests: 750Mi service: type: ClusterIP diff --git a/istio/README.md b/istio/README.md index d5d63a2..aeca7c4 100644 --- a/istio/README.md +++ b/istio/README.md @@ -15,4 +15,4 @@ Bold Reports can be deployed manually on Kubernetes cluster. You can create Kube # Upgrade Bold Reports -If you are upgrading Bold Reports to 5.4.30, please follow the steps in this [link](/upgrade/upgrade.md). \ No newline at end of file +If you are upgrading Bold Reports to 6.1.34, please follow the steps in this [link](/upgrade/upgrade.md). \ No newline at end of file diff --git a/istio/amazon-eks.md b/istio/amazon-eks.md index 692f79c..af2c9d3 100644 --- a/istio/amazon-eks.md +++ b/istio/amazon-eks.md @@ -4,14 +4,14 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in Amazon EKS: - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_eks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_eks.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/istio_gateway.yaml) - * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/destination_rule.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_eks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_eks.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/istio_gateway.yaml) + * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/destination_rule.yaml) 2. Create an Amazon EKS cluster and [node group](https://docs.aws.amazon.com/eks/latest/userguide/eks-compute.html) to deploy Bold Reports. diff --git a/istio/google-gke.md b/istio/google-gke.md index 355dd7a..cb3712d 100644 --- a/istio/google-gke.md +++ b/istio/google-gke.md @@ -4,14 +4,14 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in GKE: - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_gke.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa_gke.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/istio_gateway.yaml) - * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/destination_rule.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_gke.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa_gke.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa_gke.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/istio_gateway.yaml) + * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/destination_rule.yaml) 2. Create a Kubernetes cluster in Google Cloud Platform (GCP) to deploy Bold Reports. diff --git a/istio/microsoft-aks.md b/istio/microsoft-aks.md index b490fe1..0426f79 100644 --- a/istio/microsoft-aks.md +++ b/istio/microsoft-aks.md @@ -4,14 +4,14 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in AKS: - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_aks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_aks.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/istio_gateway.yaml) - * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/destination_rule.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_aks.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_aks.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/istio_gateway.yaml) + * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/destination_rule.yaml) 2. Create a Kubernetes cluster in Microsoft Azure Kubernetes Service (AKS) to deploy Bold Reports. diff --git a/istio/on-premise.md b/istio/on-premise.md index 1c725ef..bc103bf 100644 --- a/istio/on-premise.md +++ b/istio/on-premise.md @@ -4,14 +4,14 @@ For fresh installation, continue with the following steps to deploy Bold Reports 1. Download the following files for Bold Reports deployment in On-Premise. - * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/namespace.yaml) - * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/log4net_config.yaml) - * [pvclaim_onpremise.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/pvclaim_onpremise.yaml) - * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/deployment.yaml) - * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/hpa.yaml) - * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/service.yaml) - * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/istio_gateway.yaml) - * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v5.4.30/deploy/destination_rule.yaml) + * [namespace.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/namespace.yaml) + * [log4net_config.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/log4net_config.yaml) + * [pvclaim_onpremise.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/pvclaim_onpremise.yaml) + * [deployment.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/deployment.yaml) + * [hpa.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/hpa.yaml) + * [service.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/service.yaml) + * [istio_gateway.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/istio_gateway.yaml) + * [destination_rule.yaml](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1.34/deploy/destination_rule.yaml) 2. Create a folder in your machine to store the shared folders for applications usage. diff --git a/upgrade/6-1_upgrade.md b/upgrade/6-1_upgrade.md new file mode 100644 index 0000000..368645a --- /dev/null +++ b/upgrade/6-1_upgrade.md @@ -0,0 +1,114 @@ +# Upgrading Bold Reports to latest version + +This section explains how to upgrade Bold Reports to latest version in your Kubernetes cluster. You can refer to the features and enhancements from this [Release Notes](https://www.boldreports.com/release-history/embedded-reporting). + + +## Backup the existing data +Before upgrading the Bold Reports to latest version, make sure to take the backup of the following items. + +* Files and folders from the shared location, which you have mounted to the deployments by persistent volume claims (pvclaim_*.yaml). + +* Database backup - Take a backup of Database, to restore incase if the upgrade was not successful or if applications are not working properly after the upgrade. + + +## Proceeding with upgrade +Bold Reports updates the database schema of your current version to the latest version. The upgrade process will retain all the resources and settings from the previous deployment. + +You can download the upgrade script from this [link](https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh) or use the below command. + +```sh +curl -o upgrade.sh https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh +``` + +Run the following command to execute the shell script to upgrade Bold Reports. + +```sh +./upgrade.sh --version="<image_tag>" --namespace="<namespace>" --application_base_url="<application_base_url>" --optional_libs="<comma_separated_library_names>" --tls_secret_name="<tls_secret_name>" --environment="<your_kubernetes_environment>" --load_balancer="<your_load_balancer_type>" --ingress_name="<ingress_name>" --pvc_name="<pvc_name>" +``` + + +> **INFO:** +> 1. You can ignore `--ingress_name`,`--tls_secret_name` and `--pvc_name` arguments from the above upgrade command if you are using custom names for ingress,tls secret and pvc. +> 2. You can also ignore `--optional_libs` argument if not needed. + +<table> + <tr> + <td> + version + </td> + <td> + Image tag of the current version, which you are going to upgrade. + </td> + </tr> + <tr> + <td> + namespace (optional) + </td> + <td> + namespace in which your existing Bold Reports application was running. </br> + Default value: <i>default</i> + </td> + </tr> + <tr> + <td> + application_base_url + </td> + <td> + Application base URL of your Bold Reports Deployment. + </td> + </tr> + <tr> + <td> + comma_separated_library_names (optional) + </td> + <td> + Comma seperated optional libraries. </br> + Default value is <i>null</i> + </td> + </tr> + <tr> + <td> + tls_secret_name (optional) + </td> + <td> + Secret name created for tls. </br> + Default value: <i>boldreports-tls</i> + </td> + </tr> + <tr> + <td> + environment + </td> + <td> + Cloud Provider you chose for host the application in the kubernetes + </td> + </tr> + <tr> + <td> + load_balancer + </td> + <td> + Type of load balancer which is using in existing Bold Reports application was running. + </td> + </tr> + <tr> + <td> + ingress_name (optional) + </td> + <td> + If you are using custom name for ingress. Give the name of the ingress which is using in existing ingress file. </br> + Default value: <i>boldreports-ingress</i> + </td> + </tr> + <tr> + <td> + pvc_name (optional) + </td> + <td> + If you are using custom name for persistent volume claim. Give the name of the PVC which is using existing pvc file. </br> + Default value: <i>bold-services-fileserver-claim</i> + </td> + </tr> +</table> + +If you are upgrading the bold reports application from v5.3 or below, then you need to enable puppeteer.Please refer [this](/docs/enable-puppeteer-when-upgrading-lower-version-to-v5.4.20.md) documentation for enabling puppeteer. \ No newline at end of file diff --git a/upgrade/6-1_upgrade.sh b/upgrade/6-1_upgrade.sh new file mode 100644 index 0000000..3468a07 --- /dev/null +++ b/upgrade/6-1_upgrade.sh @@ -0,0 +1,142 @@ +#!/usr/bin/env bash +# Copyright (c) Syncfusion Inc. All rights reserved. +# + +while [ $# -gt 0 ]; do + case "$1" in + --version=*) + version="${1#*=}" + ;; + --namespace=*) + namespace="${1#*=}" + ;; + --application_base_url=*) + application_base_url="${1#*=}" + ;; + --tls_secret_name=*) + tls_secret_name="${1#*=}" + ;; + --optional_libs=*) + optional_libs="${1#*=}" + ;; + --environment=*) + environment="${1#*=}" + ;; + --load_balancer=*) + load_balancer="${1#*=}" + ;; + --ingress_name=*) + ingress_name="${1#*=}" + ;; + --pvc_name=*) + pvc_name="${1#*=}" + ;; + *) + esac + shift +done + +[ -n "$version" ] || read -p 'Enter the version to upgrade: ' version + +if [ -z "$version" ] +then + echo "Version is empty." +else + if [ -z "$namespace" ] + then + namespace="default" + fi + + if [ -z "$ingress_name" ] + then + ingress_name="boldreports-ingress" + fi + + if [ -z "$pvc_name" ] + then + pvc_name="bold-services-fileserver-claim" + fi + + if [ -z "$tls_secret_name" ] + then + tls_secret_name="boldreports-tls" + fi + + if [[ "$version" == *"boldreports_releasetesting_6.2_04252024"* ]] + then + [ -n "$application_base_url" ] || read -p 'Enter the application_base_url: ' application_base_url + + dns_name=$(echo $application_base_url | sed -e 's|^[^/]*//||' -e 's|/.*$||') + + if [ ! -d "boldreports_6-1" ]; then mkdir boldreports_6-1; fi + + # Downloading deployment files.." + if [ ! -f "boldreports_6-1/hpa.yaml" ]; then curl -o boldreports_6-1/hpa.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/hpa.yaml; fi + if [ ! -f "boldreports_6-1/hpa_gke.yaml" ]; then curl -o boldreports_6-1/hpa_gke.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/hpa_gke.yaml; fi + if [ ! -f "boldreports_6-1/service.yaml" ]; then curl -o boldreports_6-1/service.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/service.yaml; fi + if [ ! -f "boldreports_6-1/deployment.yaml" ]; then curl -o boldreports_6-1/deployment.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/deployment.yaml; fi + if [ ! -f "boldreports_6-1/ingress.yaml" ]; then curl -o boldreports_6-1/ingress.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/ingress.yaml; fi + if [ ! -f "boldreports_6-1/destination_rule.yaml" ]; then curl -o boldreports_6-1/destination_rule.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/destination_rule.yaml; fi + if [ ! -f "boldreports_6-1/istio_gateway.yaml" ]; then curl -o boldreports_6-1/istio_gateway.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/istio_gateway.yaml; fi + if [ ! -f "boldreports_6-1/log4net_config.yaml" ]; then curl -o boldreports_6-1/log4net_config.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/log4net_config.yaml; fi + + # deployment file changes changes + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/hpa.yaml + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/hpa_gke.yaml + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/service.yaml + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/deployment.yaml + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/istio_gateway.yaml + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/destination_rule.yaml + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/ingress.yaml + sed -i "s/<namespace>/$namespace/g" boldreports_6-1/log4net_config.yaml + sed -i "s/<ingress_name>/$ingress_name/g" boldreports_6-1/ingress.yaml + sed -i "s/<image_tag>/$version/g" boldreports_6-1/deployment.yaml + sed -i "s/<pvc_name>/$pvc_name/g" boldreports_6-1/deployment.yaml + sed -i "s,<application_base_url>,$application_base_url,g" boldreports_6-1/deployment.yaml + sed -i "s/<comma_separated_library_names>/$optional_libs/g" boldreports_6-1/deployment.yaml + + # applying new changes to cluster + kubectl apply -f boldreports_6-1/service.yaml + kubectl apply -f boldreports_6-1/deployment.yaml + kubectl apply -f boldreports_6-1/log4net_config.yaml + + if [[ "$environment" == *"GKE"* ]] + then + kubectl apply -f boldreports_6-1/hpa_gke.yaml + else + kubectl apply -f boldreports_6-1/hpa.yaml + fi + + # Extract the protocol and domain from the URL + protocol=$(echo "$application_base_url" | awk -F: '{print $1}') + + # Function to check if a string is an IP address + is_ip() { + [[ $1 =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]] + } + + if [[ "$load_balancer" == *"ingress"* ]] + then + # Check if application_base_url is an IP address + if is_ip "$dns_name"; then + kubectl apply -f boldreports_6-1/ingress.yaml + else + # Update the Ingress file based on the protocol + if [ "$protocol" == "http" ]; then + sed -i -e "s|^ *- #host: <dns_name>| - host: $dns_name|" "boldreports_6-1/ingress.yaml" + kubectl apply -f boldreports_6-1/ingress.yaml + elif [ "$protocol" == "https" ]; then + sed -i -e "s|^ *# tls| tls|" "boldreports_6-1/ingress.yaml" + sed -i -e "s|^ *# - hosts:| - hosts:|" "boldreports_6-1/ingress.yaml" + sed -i -e "s|^ *# - <dns_name>| - $dns_name|" "boldreports_6-1/ingress.yaml" + sed -i -e "s|^ *# secretName: <tls_secret_name>| secretName: $tls_secret_name|" "boldreports_6-1/ingress.yaml" + sed -i -e "s|^ *- #host: <dns_name>| - host: $dns_name|" "boldreports_6-1/ingress.yaml" + kubectl apply -f boldreports_6-1/ingress.yaml + fi + fi + else + kubectl apply -f boldreports_6-1/istio_gateway.yaml + kubectl apply -f boldreports_6-1/destination_rule.yaml + fi + fi +fi \ No newline at end of file diff --git a/upgrade/6-1_upgrade/deployment.yaml b/upgrade/6-1_upgrade/deployment.yaml new file mode 100644 index 0000000..1f44056 --- /dev/null +++ b/upgrade/6-1_upgrade/deployment.yaml @@ -0,0 +1,471 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: id-web-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: id-web + replicas: 1 + template: + metadata: + labels: + app: id-web + spec: + containers: + - name: id-web-container + image: us-docker.pkg.dev/boldreports-dev/images/bold-identity:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + env: + - name: APP_BASE_URL + value: <application_base_url> + - name: INSTALL_OPTIONAL_LIBS + value: <comma_separated_library_names> + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 200 + periodSeconds: 10 + timeoutSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: id-web-volume + - mountPath: /application/idp/web/logs + name: log4net-config-volume + volumes: + - name: id-web-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: id-api-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: id-api + replicas: 1 + template: + metadata: + labels: + app: id-api + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: id-api-volume + containers: + - name: id-api-container + image: us-docker.pkg.dev/boldreports-dev/images/bold-idp-api:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 200 + periodSeconds: 10 + timeoutSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: id-api-volume + - mountPath: /application/idp/api/logs + name: log4net-config-volume + volumes: + - name: id-api-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: id-ums-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: id-ums + replicas: 1 + template: + metadata: + labels: + app: id-ums + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: id-ums-volume + containers: + - name: id-ums-container + image: us-docker.pkg.dev/boldreports-dev/images/bold-ums:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 200 + periodSeconds: 10 + timeoutSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: id-ums-volume + - mountPath: /application/idp/ums/logs + name: log4net-config-volume + volumes: + - name: id-ums-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reports-web-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: reports-web + replicas: 1 + template: + metadata: + labels: + app: reports-web + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-web-volume + containers: + - name: reports-web-container + image: us-docker.pkg.dev/boldreports-dev/images/boldreports-server:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 20 + periodSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: reports-web-volume + - mountPath: /application/reporting/web/logs + name: log4net-config-volume + volumes: + - name: reports-web-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reports-api-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: reports-api + replicas: 1 + template: + metadata: + labels: + app: reports-api + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-api-volume + containers: + - name: reports-api-container + image: us-docker.pkg.dev/boldreports-dev/images/boldreports-server-api:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 20 + periodSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: reports-api-volume + - mountPath: /application/reporting/api/logs + name: log4net-config-volume + volumes: + - name: reports-api-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reports-jobs-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: reports-jobs + replicas: 1 + template: + metadata: + labels: + app: reports-jobs + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-jobs-volume + containers: + - name: reports-jobs-container + image: us-docker.pkg.dev/boldreports-dev/images/boldreports-server-jobs:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 20 + periodSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: reports-jobs-volume + - mountPath: /application/reporting/jobs/logs + name: log4net-config-volume + volumes: + - name: reports-jobs-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reports-reportservice-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: reports-reportservice + replicas: 1 + template: + metadata: + labels: + app: reports-reportservice + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-reportservice-volume + containers: + - name: reports-reportservice-container + image: us-docker.pkg.dev/boldreports-dev/images/boldreports-designer:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 40 + periodSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: reports-reportservice-volume + - mountPath: /application/reporting/reportservice/logs + name: log4net-config-volume + volumes: + - name: reports-reportservice-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reports-viewer-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: reports-viewer + replicas: 1 + template: + metadata: + labels: + app: reports-viewer + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: reports-viewer-volume + containers: + - name: reports-viewer-container + image: us-docker.pkg.dev/boldreports-dev/images/boldreports-viewer:<image_tag> + ports: + - containerPort: 80 + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 40 + periodSeconds: 10 + volumeMounts: + - mountPath: /application/app_data + name: reports-viewer-volume + - mountPath: /application/reporting/viewer/logs + name: log4net-config-volume + volumes: + - name: reports-viewer-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bold-etl-deployment + namespace: <namespace> +spec: + selector: + matchLabels: + app: bold-etl + replicas: 1 + template: + metadata: + labels: + app: bold-etl + spec: + initContainers: + - name: id-web-initialization + image: busybox:1.28 + command: ["/bin/sh","-c"] + args: ["if [ ! -f /application/app_data/configuration/config.xml ]; then echo waiting for id-web; sleep 5; else echo config.xml file exist; fi"] + volumeMounts: + - mountPath: /application/app_data + name: bold-etl-volume + containers: + - name: bold-etl-container + image: us-docker.pkg.dev/boldreports-dev/images/bold-etl:<image_tag> + ports: + - containerPort: 80 + env: + - name: BOLD_SERVICES_HOSTING_ENVIRONMENT + value: k8s + resources: + requests: + cpu: 250m + memory: 750Mi + readinessProbe: + httpGet: + path: /health-check + port: 80 + initialDelaySeconds: 20 + periodSeconds: 15 + timeoutSeconds: 5 + volumeMounts: + - mountPath: /application/app_data + name: bold-etl-volume + - mountPath: /application/etl/etlservice/logs/k8s + name: log4net-config-volume + volumes: + - name: bold-etl-volume + persistentVolumeClaim: + claimName: <pvc_name> + readOnly: false + - name: log4net-config-volume + configMap: + name: log4net-config \ No newline at end of file diff --git a/upgrade/6-1_upgrade/destination_rule.yaml b/upgrade/6-1_upgrade/destination_rule.yaml new file mode 100644 index 0000000..4284692 --- /dev/null +++ b/upgrade/6-1_upgrade/destination_rule.yaml @@ -0,0 +1,125 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: id-web-rule +spec: + host: id-web-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.id.web.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: id-api-rule +spec: + host: id-api-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.id.api.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: id-ums-rule +spec: + host: id-ums-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.id.ums.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: reports-web-rule +spec: + host: reports-web-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.reports.web.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: reports-api-rule +spec: + host: reports-api-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.reports.api.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: reports-jobs-rule +spec: + host: reports-jobs-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.reports.jobs.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: reports-reportservice-rule +spec: + host: reports-reportservice-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.reports.reportservice.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: reports-viewer-rule +spec: + host: reports-viewer-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: boldreports.k8s.reports.viewer.pod.id + ttl: 600s +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + namespace: <namespace> + name: bold-etl-rule +spec: + host: bold-etl-service.bold-services.svc.cluster.local + trafficPolicy: + loadBalancer: + consistentHash: + httpCookie: + name: bold.k8s.bold.etl.pod.id + ttl: 600s \ No newline at end of file diff --git a/upgrade/6-1_upgrade/hpa.yaml b/upgrade/6-1_upgrade/hpa.yaml new file mode 100644 index 0000000..41408be --- /dev/null +++ b/upgrade/6-1_upgrade/hpa.yaml @@ -0,0 +1,323 @@ +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: id-web-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: id-web-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: id-api-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: id-api-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: id-ums-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: id-ums-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-web-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-web-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-api-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-api-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-jobs-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-jobs-deployment + minReplicas: 1 + maxReplicas: 1 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-reportservice-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-reportservice-deployment + minReplicas: 1 + maxReplicas: 1 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-viewer-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-viewer-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: bold-etl-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: bold-etl-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 60 + policies: + - type: Pods + value: 1 + periodSeconds: 60 + - type: Percent + value: 10 + periodSeconds: 60 \ No newline at end of file diff --git a/upgrade/6-1_upgrade/hpa_gke.yaml b/upgrade/6-1_upgrade/hpa_gke.yaml new file mode 100644 index 0000000..9854760 --- /dev/null +++ b/upgrade/6-1_upgrade/hpa_gke.yaml @@ -0,0 +1,233 @@ +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: id-web-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: id-web-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: id-api-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: id-api-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: id-ums-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: id-ums-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-web-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-web-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-api-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-api-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-jobs-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-jobs-deployment + minReplicas: 1 + maxReplicas: 1 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-reportservice-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-reportservice-deployment + minReplicas: 1 + maxReplicas: 1 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: reports-viewer-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: reports-viewer-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: bold-etl-hpa + namespace: <namespace> +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: bold-etl-deployment + minReplicas: 1 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 \ No newline at end of file diff --git a/upgrade/6-1_upgrade/ingress.yaml b/upgrade/6-1_upgrade/ingress.yaml new file mode 100644 index 0000000..9e7c76a --- /dev/null +++ b/upgrade/6-1_upgrade/ingress.yaml @@ -0,0 +1,642 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: <ingress_name> + namespace: <namespace> + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/proxy-buffer-size: "128k" + nginx.ingress.kubernetes.io/proxy-buffers: "4 256k" + nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "256k" + nginx.ingress.kubernetes.io/large-client-header-buffers: "4 16k" + nginx.ingress.kubernetes.io/fastcgi-buffers: "16 16k" + nginx.ingress.kubernetes.io/fastcgi-buffer-size: "32k" + nginx.ingress.kubernetes.io/proxy-connect-timeout: "300" + nginx.ingress.kubernetes.io/proxy-read-timeout: "300" + nginx.ingress.kubernetes.io/proxy-send-timeout: "300" + nginx.ingress.kubernetes.io/affinity: cookie + nginx.ingress.kubernetes.io/session-cookie-hash: sha1 + nginx.ingress.kubernetes.io/session-cookie-name: "boldreports.k8s.pod.id" + nginx.ingress.kubernetes.io/session-cookie-max-age: "432000" + nginx.ingress.kubernetes.io/session-cookie-expires: "200" + nginx.ingress.kubernetes.io/proxy-body-size: 200m + nginx.ingress.kubernetes.io/server-snippet: | + client_max_body_size 200m; + set $boldreports_namespace "<namespace>"; + + location ~* "^/reporting/api(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/reportsapi6551/reporting/api(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-reports-api-service-6551"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/reportsapi6551/reporting/api(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } + + location ~* "^/reporting/viewer(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/reportsviewer6554/reporting/viewer(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-reports-viewer-service-6554"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/reportsviewer6554/reporting/viewer(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } + + location ~* "^/reporting/jobs(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/reportsjobs6552/reporting/jobs(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-reports-jobs-service-6552"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/reportsjobs6552/reporting/jobs(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } + + location ~* "^/reporting/reportservice(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/reportsdesigner6553/reportservice(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-reports-reportservice-service-6553"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/reportsdesigner6553/reportservice(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } + + location ~* "^/reporting(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/reportsweb6550/reporting(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-reports-web-service-6550"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/reportsweb6550/reporting(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } + + location ~* "^/api(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/idapi6001/api(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-id-api-service-6001"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/idapi6001/api(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } + + location ~* "^/ums(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/idums6002/ums(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-id-ums-service-6002"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/idums6002/ums(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } + + location ~* "^/etlservice(/|$)(.*)" { + set $namespace $boldreports_namespace; + set $ingress_name "boldreports-ingress"; + set $service_name ""; + set $service_port ""; + set $location_path "/etlservice(/|${literal_dollar})(.*)"; + rewrite_by_lua_block { + lua_ingress.rewrite({ + force_ssl_redirect = false, + ssl_redirect = true, + force_no_ssl_redirect = false, + use_port_in_redirects = false, + }) + balancer.rewrite() + plugins.run() + } + header_filter_by_lua_block { + lua_ingress.header() + plugins.run() + } + body_filter_by_lua_block { + } + log_by_lua_block { + balancer.log() + monitor.call() + plugins.run() + } + port_in_redirect off; + set $balancer_ewma_score -1; + set $proxy_upstream_name "${boldreports_namespace}-bold-etl-service-6009"; + set $proxy_host $proxy_upstream_name; + set $pass_access_scheme $scheme; + set $pass_server_port $server_port; + set $best_http_host $http_host; + set $pass_port $pass_server_port; + set $proxy_alternative_upstream_name ""; + proxy_set_header Host $best_http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header X-Request-ID $req_id; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Host $best_http_host; + proxy_set_header X-Forwarded-Port $pass_port; + proxy_set_header X-Forwarded-Proto $pass_access_scheme; + proxy_set_header X-Scheme $pass_access_scheme; + proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for; + proxy_set_header Proxy ""; + proxy_connect_timeout 300s; + proxy_send_timeout 300s; + proxy_read_timeout 300s; + proxy_buffering off; + proxy_buffer_size 4k; + proxy_buffers 4 4k; + proxy_max_temp_file_size 1024m; + proxy_request_buffering on; + proxy_http_version 1.1; + proxy_cookie_domain off; + proxy_cookie_path off; + proxy_next_upstream error timeout; + proxy_next_upstream_timeout 0; + proxy_next_upstream_tries 3; + rewrite "(?i)/etlservice(/|$)(.*)" /$2 break; + proxy_pass http://upstream_balancer; + proxy_redirect off; + } +spec: + # tls: + # - hosts: + # - <dns_name> + # secretName: <tls_secret_name> + rules: + - #host: <dns_name> + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: id-web-service + port: + number: 6000 + + - path: /idapi6001(/|$)(.*) + pathType: Prefix + backend: + service: + name: id-api-service + port: + number: 6001 + + - path: /idums6002(/|$)(.*) + pathType: Prefix + backend: + service: + name: id-ums-service + port: + number: 6002 + + - path: /reportsweb6550(/|$)(.*) + pathType: Prefix + backend: + service: + name: reports-web-service + port: + number: 6550 + + - path: /reportsapi6551(/|$)(.*) + pathType: Prefix + backend: + service: + name: reports-api-service + port: + number: 6551 + + - path: /reportsdesigner6553(/|$)(.*) + pathType: Prefix + backend: + service: + name: reports-reportservice-service + port: + number: 6553 + + - path: /reportsviewer6554(/|$)(.*) + pathType: Prefix + backend: + service: + name: reports-viewer-service + port: + number: 6554 + + - path: /reportsjobs6552(/|$)(.*) + pathType: Prefix + backend: + service: + name: reports-jobs-service + port: + number: 6552 + + - path: /boldetl/(/|$)(.*) + pathType: Prefix + backend: + service: + name: bold-etl-service + port: + number: 6009 \ No newline at end of file diff --git a/upgrade/6-1_upgrade/istio_gateway.yaml b/upgrade/6-1_upgrade/istio_gateway.yaml new file mode 100644 index 0000000..577d2d8 --- /dev/null +++ b/upgrade/6-1_upgrade/istio_gateway.yaml @@ -0,0 +1,141 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + namespace: <namespace> + name: boldreports-gateway +spec: + selector: + istio: ingressgateway # use Istio default gateway implementation + servers: + - port: + number: 80 + name: http + protocol: HTTP + # tls: + # httpsRedirect: true + hosts: + - "*" + # - example.com + # - port: + # number: 443 + # name: https + # protocol: HTTPS + # tls: + # mode: SIMPLE + # credentialName: boldreports-tls + # hosts: + # - example.com +--- +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + namespace: <namespace> + name: boldreports-virtual-service +spec: + hosts: + - "*" + # - example.com + gateways: + - boldreports-gateway + http: + - match: + - uri: + prefix: /reporting/reportservice + route: + - destination: + port: + number: 6553 + host: reports-reportservice-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /reporting/api + route: + - destination: + port: + number: 6551 + host: reports-api-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /reporting/jobs + route: + - destination: + port: + number: 6552 + host: reports-jobs-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /reporting/viewer + route: + - destination: + port: + number: 6554 + host: reports-viewer-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /reporting + route: + - destination: + port: + number: 6550 + host: reports-web-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /api + route: + - destination: + port: + number: 6001 + host: id-api-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /ums + route: + - destination: + port: + number: 6002 + host: id-ums-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: / + route: + - destination: + port: + number: 6000 + host: id-web-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream + - match: + - uri: + prefix: /etlservice + rewrite: + uri: / + route: + - destination: + port: + number: 6009 + host: bold-etl-service.bold-services.svc.cluster.local + retries: + attempts: 3 + retryOn: gateway-error,connect-failure,refused-stream \ No newline at end of file diff --git a/upgrade/6-1_upgrade/log4net_config.yaml b/upgrade/6-1_upgrade/log4net_config.yaml new file mode 100644 index 0000000..bb6a08d --- /dev/null +++ b/upgrade/6-1_upgrade/log4net_config.yaml @@ -0,0 +1,67 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: log4net-config + namespace: <namespace> +data: + Log4Net.config: | + <?xml version="1.0" encoding="utf-8" ?> + <configuration> + <log4net threshold="ALL"> + <root> + <level value="ALL" /> + <!-- <appender-ref ref="ConsoleAppender" /> --> + <appender-ref ref="FILE_DEBUG_APPENDER" /> + <appender-ref ref="FILE_ERROR_APPENDER" /> + <appender-ref ref="aiAppender"/> + </root> + <!-- === File Appender for NON-ERROR messages file === --> + <appender name="FILE_DEBUG_APPENDER" type="log4net.Appender.RollingFileAppender" class="ch.qos.logback.classic.AsyncAppender"> + <file type="log4net.Util.PatternString" value="%property{AppDataPath}/logs/%property{loggername}/debug-info-%env{HOSTNAME}.txt" /> + <filter type="log4net.Filter.LevelMatchFilter"> + <levelToMatch value="INFO" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + <additivity value="true" /> + <appendToFile value="true" /> + <maxSizeRollBackups value="1" /> + <maximumFileSize value="300KB" /> + <rollingStyle value="Size" /> + <staticLogFileName value="true" /> + <layout type="log4net.Layout.PatternLayout"> + <header type="log4net.Util.PatternString" value="#Software: %property{loggername} %newline#Date: %date %newline#Fields: date thread namespace methodname message %newline" /> + <conversionPattern value="%date [%thread] %message%newline" /> + </layout> + </appender> + <!-- === File Appender for ERROR messages file === --> + <appender name="FILE_ERROR_APPENDER" type="log4net.Appender.RollingFileAppender" class="ch.qos.logback.classic.AsyncAppender"> + <file type="log4net.Util.PatternString" value="%property{AppDataPath}/logs/%property{loggername}/errors-%env{HOSTNAME}.txt" /> + <filter type="log4net.Filter.LevelMatchFilter"> + <levelToMatch value="ERROR" /> + </filter> + <filter type="log4net.Filter.DenyAllFilter" /> + <additivity value="true" /> + <appendToFile value="true" /> + <maxSizeRollBackups value="10" /> + <maximumFileSize value="100KB" /> + <rollingStyle value="Size" /> + <staticLogFileName value="true" /> + <layout type="log4net.Layout.PatternLayout"> + <header type="log4net.Util.PatternString" value="#Software: %property{loggername} %newline#Date: %date %newline#Fields: date thread namespace methodname message %newline" /> + <conversionPattern value="%date [%thread] %-5level %message%newline" /> + </layout> + </appender> + <!-- === Console Appender to use in BufferingForwardingAppender === --> + <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> + <layout type="log4net.Layout.PatternLayout"> + <conversionPattern type="log4net.Util.PatternString" value="%newline%%-5level %property{loggername} %env{HOSTNAME} %%date [%%thread] %%message%newline" /> + </layout> + </appender> + <!-- === Appender for ApplicationInsights logs === --> + <appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender"> + <layout type="log4net.Layout.PatternLayout"> + <conversionPattern value="%message%newline" /> + </layout> + </appender> + </log4net> + </configuration> diff --git a/upgrade/6-1_upgrade/service.yaml b/upgrade/6-1_upgrade/service.yaml new file mode 100644 index 0000000..a20c033 --- /dev/null +++ b/upgrade/6-1_upgrade/service.yaml @@ -0,0 +1,152 @@ +apiVersion: v1 +kind: Service +metadata: + name: id-web-service + namespace: <namespace> + labels: + app: id-web +spec: + type: NodePort + ports: + - name: id-web-port + port: 6000 + targetPort: 80 + protocol: TCP + selector: + app: id-web +--- +apiVersion: v1 +kind: Service +metadata: + name: id-api-service + namespace: <namespace> + labels: + app: id-api +spec: + type: NodePort + ports: + - name: id-api-port + port: 6001 + targetPort: 80 + protocol: TCP + selector: + app: id-api +--- +apiVersion: v1 +kind: Service +metadata: + name: id-ums-service + namespace: <namespace> + labels: + app: id-ums +spec: + type: NodePort + ports: + - name: id-ums-port + port: 6002 + targetPort: 80 + protocol: TCP + selector: + app: id-ums +--- +apiVersion: v1 +kind: Service +metadata: + name: reports-web-service + namespace: <namespace> + labels: + app: reports-web +spec: + type: NodePort + ports: + - name: reports-web-port + port: 6550 + targetPort: 80 + protocol: TCP + selector: + app: reports-web +--- +apiVersion: v1 +kind: Service +metadata: + name: reports-api-service + namespace: <namespace> + labels: + app: reports-api +spec: + type: NodePort + ports: + - name: reports-api-port + port: 6551 + targetPort: 80 + protocol: TCP + selector: + app: reports-api +--- +apiVersion: v1 +kind: Service +metadata: + name: reports-jobs-service + namespace: <namespace> + labels: + app: reports-jobs +spec: + type: NodePort + ports: + - name: reports-jobs-port + port: 6552 + targetPort: 80 + protocol: TCP + selector: + app: reports-jobs +--- +apiVersion: v1 +kind: Service +metadata: + name: reports-reportservice-service + namespace: <namespace> + labels: + app: reports-reportservice +spec: + type: NodePort + ports: + - name: reports-reportservice-port + port: 6553 + targetPort: 80 + protocol: TCP + selector: + app: reports-reportservice +--- +apiVersion: v1 +kind: Service +metadata: + name: reports-viewer-service + namespace: <namespace> + labels: + app: reports-viewer +spec: + type: NodePort + ports: + - name: reports-viewer-port + port: 6554 + targetPort: 80 + protocol: TCP + selector: + app: reports-viewer +--- +apiVersion: v1 +kind: Service +metadata: + name: bold-etl-service + namespace: <namespace> + labels: + app: bold-etl +spec: + type: NodePort + ports: + - name: bold-etl-port + port: 6009 + targetPort: 80 + protocol: TCP + selector: + app: bold-etl \ No newline at end of file diff --git a/upgrade/upgrade.md b/upgrade/upgrade.md index 106c472..368645a 100644 --- a/upgrade/upgrade.md +++ b/upgrade/upgrade.md @@ -2,5 +2,113 @@ This section explains how to upgrade Bold Reports to latest version in your Kubernetes cluster. You can refer to the features and enhancements from this [Release Notes](https://www.boldreports.com/release-history/embedded-reporting). -* [Upgrade Bold Reports from v5.1 to latest](/upgrade/5-2_refresh_upgrade.md) -* [Upgrade Bold Reports from older version(below v5.1) to latest](/upgrade/5-1_upgrade.md) \ No newline at end of file + +## Backup the existing data +Before upgrading the Bold Reports to latest version, make sure to take the backup of the following items. + +* Files and folders from the shared location, which you have mounted to the deployments by persistent volume claims (pvclaim_*.yaml). + +* Database backup - Take a backup of Database, to restore incase if the upgrade was not successful or if applications are not working properly after the upgrade. + + +## Proceeding with upgrade +Bold Reports updates the database schema of your current version to the latest version. The upgrade process will retain all the resources and settings from the previous deployment. + +You can download the upgrade script from this [link](https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh) or use the below command. + +```sh +curl -o upgrade.sh https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh +``` + +Run the following command to execute the shell script to upgrade Bold Reports. + +```sh +./upgrade.sh --version="<image_tag>" --namespace="<namespace>" --application_base_url="<application_base_url>" --optional_libs="<comma_separated_library_names>" --tls_secret_name="<tls_secret_name>" --environment="<your_kubernetes_environment>" --load_balancer="<your_load_balancer_type>" --ingress_name="<ingress_name>" --pvc_name="<pvc_name>" +``` + + +> **INFO:** +> 1. You can ignore `--ingress_name`,`--tls_secret_name` and `--pvc_name` arguments from the above upgrade command if you are using custom names for ingress,tls secret and pvc. +> 2. You can also ignore `--optional_libs` argument if not needed. + +<table> + <tr> + <td> + version + </td> + <td> + Image tag of the current version, which you are going to upgrade. + </td> + </tr> + <tr> + <td> + namespace (optional) + </td> + <td> + namespace in which your existing Bold Reports application was running. </br> + Default value: <i>default</i> + </td> + </tr> + <tr> + <td> + application_base_url + </td> + <td> + Application base URL of your Bold Reports Deployment. + </td> + </tr> + <tr> + <td> + comma_separated_library_names (optional) + </td> + <td> + Comma seperated optional libraries. </br> + Default value is <i>null</i> + </td> + </tr> + <tr> + <td> + tls_secret_name (optional) + </td> + <td> + Secret name created for tls. </br> + Default value: <i>boldreports-tls</i> + </td> + </tr> + <tr> + <td> + environment + </td> + <td> + Cloud Provider you chose for host the application in the kubernetes + </td> + </tr> + <tr> + <td> + load_balancer + </td> + <td> + Type of load balancer which is using in existing Bold Reports application was running. + </td> + </tr> + <tr> + <td> + ingress_name (optional) + </td> + <td> + If you are using custom name for ingress. Give the name of the ingress which is using in existing ingress file. </br> + Default value: <i>boldreports-ingress</i> + </td> + </tr> + <tr> + <td> + pvc_name (optional) + </td> + <td> + If you are using custom name for persistent volume claim. Give the name of the PVC which is using existing pvc file. </br> + Default value: <i>bold-services-fileserver-claim</i> + </td> + </tr> +</table> + +If you are upgrading the bold reports application from v5.3 or below, then you need to enable puppeteer.Please refer [this](/docs/enable-puppeteer-when-upgrading-lower-version-to-v5.4.20.md) documentation for enabling puppeteer. \ No newline at end of file From 1f328a33721ef24f82277e232345eec5969b211d Mon Sep 17 00:00:00 2001 From: KesavanMasilamani <kesavan.masilamani@syncfusion.com> Date: Tue, 30 Apr 2024 21:03:28 +0530 Subject: [PATCH 2/6] Changed dev project --- upgrade/6-1_upgrade/deployment.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/upgrade/6-1_upgrade/deployment.yaml b/upgrade/6-1_upgrade/deployment.yaml index 1f44056..470b774 100644 --- a/upgrade/6-1_upgrade/deployment.yaml +++ b/upgrade/6-1_upgrade/deployment.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: id-web-container - image: us-docker.pkg.dev/boldreports-dev/images/bold-identity:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-identity:<image_tag> ports: - containerPort: 80 resources: @@ -73,7 +73,7 @@ spec: name: id-api-volume containers: - name: id-api-container - image: us-docker.pkg.dev/boldreports-dev/images/bold-idp-api:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-idp-api:<image_tag> ports: - containerPort: 80 resources: @@ -126,7 +126,7 @@ spec: name: id-ums-volume containers: - name: id-ums-container - image: us-docker.pkg.dev/boldreports-dev/images/bold-ums:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-ums:<image_tag> ports: - containerPort: 80 resources: @@ -179,7 +179,7 @@ spec: name: reports-web-volume containers: - name: reports-web-container - image: us-docker.pkg.dev/boldreports-dev/images/boldreports-server:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-server:<image_tag> ports: - containerPort: 80 resources: @@ -231,7 +231,7 @@ spec: name: reports-api-volume containers: - name: reports-api-container - image: us-docker.pkg.dev/boldreports-dev/images/boldreports-server-api:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-server-api:<image_tag> ports: - containerPort: 80 resources: @@ -283,7 +283,7 @@ spec: name: reports-jobs-volume containers: - name: reports-jobs-container - image: us-docker.pkg.dev/boldreports-dev/images/boldreports-server-jobs:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-server-jobs:<image_tag> ports: - containerPort: 80 resources: @@ -335,7 +335,7 @@ spec: name: reports-reportservice-volume containers: - name: reports-reportservice-container - image: us-docker.pkg.dev/boldreports-dev/images/boldreports-designer:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-designer:<image_tag> ports: - containerPort: 80 resources: @@ -387,7 +387,7 @@ spec: name: reports-viewer-volume containers: - name: reports-viewer-container - image: us-docker.pkg.dev/boldreports-dev/images/boldreports-viewer:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/boldreports-viewer:<image_tag> ports: - containerPort: 80 resources: @@ -439,7 +439,7 @@ spec: name: bold-etl-volume containers: - name: bold-etl-container - image: us-docker.pkg.dev/boldreports-dev/images/bold-etl:<image_tag> + image: us-docker.pkg.dev/boldreports/v6-1-34/bold-etl:<image_tag> ports: - containerPort: 80 env: From 8bdf60e8097007017c5e83f84cf689bafbc758db Mon Sep 17 00:00:00 2001 From: KesavanMasilamani <kesavan.masilamani@syncfusion.com> Date: Tue, 30 Apr 2024 21:16:35 +0530 Subject: [PATCH 3/6] Reverted unwanted changes --- upgrade/5-2_refresh_upgrade.md | 2 +- upgrade/5-2_upgrade.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/upgrade/5-2_refresh_upgrade.md b/upgrade/5-2_refresh_upgrade.md index 685904b..0bb667b 100644 --- a/upgrade/5-2_refresh_upgrade.md +++ b/upgrade/5-2_refresh_upgrade.md @@ -23,7 +23,7 @@ curl -o upgrade.sh https://raw.githubusercontent.com/boldreports/bold-reports-ku Run the following command to execute the shell script to upgrade Bold Reports. ```sh -./upgrade.sh --version="5.4.30" --namespace="default" +./upgrade.sh --version="5.4.20" --namespace="default" ``` <table> diff --git a/upgrade/5-2_upgrade.md b/upgrade/5-2_upgrade.md index 6cc0f5b..dcf77a0 100644 --- a/upgrade/5-2_upgrade.md +++ b/upgrade/5-2_upgrade.md @@ -23,7 +23,7 @@ curl -o upgrade.sh https://raw.githubusercontent.com/boldreports/bold-reports-ku Run the following command to execute the shell script to upgrade Bold Reports. ```sh -./upgrade.sh --version="5.4.30" --namespace="default" +./upgrade.sh --version="5.2.26" --namespace="default" ``` <table> From ca22bccbe5f685347e144c0a84e80549e71104c8 Mon Sep 17 00:00:00 2001 From: KesavanMasilamani <kesavan.masilamani@syncfusion.com> Date: Tue, 30 Apr 2024 21:36:06 +0530 Subject: [PATCH 4/6] Changed production repo --- upgrade/5-2_refresh_upgrade.md | 2 +- upgrade/5-2_upgrade.md | 2 +- upgrade/6-1_upgrade.md | 4 ++-- upgrade/6-1_upgrade.sh | 16 ++++++++-------- upgrade/upgrade.md | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/upgrade/5-2_refresh_upgrade.md b/upgrade/5-2_refresh_upgrade.md index 0bb667b..685904b 100644 --- a/upgrade/5-2_refresh_upgrade.md +++ b/upgrade/5-2_refresh_upgrade.md @@ -23,7 +23,7 @@ curl -o upgrade.sh https://raw.githubusercontent.com/boldreports/bold-reports-ku Run the following command to execute the shell script to upgrade Bold Reports. ```sh -./upgrade.sh --version="5.4.20" --namespace="default" +./upgrade.sh --version="5.4.30" --namespace="default" ``` <table> diff --git a/upgrade/5-2_upgrade.md b/upgrade/5-2_upgrade.md index dcf77a0..3a4d5b9 100644 --- a/upgrade/5-2_upgrade.md +++ b/upgrade/5-2_upgrade.md @@ -23,7 +23,7 @@ curl -o upgrade.sh https://raw.githubusercontent.com/boldreports/bold-reports-ku Run the following command to execute the shell script to upgrade Bold Reports. ```sh -./upgrade.sh --version="5.2.26" --namespace="default" +./upgrade.sh --version="5.2.30" --namespace="default" ``` <table> diff --git a/upgrade/6-1_upgrade.md b/upgrade/6-1_upgrade.md index 368645a..f2c6b6b 100644 --- a/upgrade/6-1_upgrade.md +++ b/upgrade/6-1_upgrade.md @@ -14,10 +14,10 @@ Before upgrading the Bold Reports to latest version, make sure to take the backu ## Proceeding with upgrade Bold Reports updates the database schema of your current version to the latest version. The upgrade process will retain all the resources and settings from the previous deployment. -You can download the upgrade script from this [link](https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh) or use the below command. +You can download the upgrade script from this [link](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh) or use the below command. ```sh -curl -o upgrade.sh https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh +curl -o upgrade.sh https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh ``` Run the following command to execute the shell script to upgrade Bold Reports. diff --git a/upgrade/6-1_upgrade.sh b/upgrade/6-1_upgrade.sh index 3468a07..49d7a6a 100644 --- a/upgrade/6-1_upgrade.sh +++ b/upgrade/6-1_upgrade.sh @@ -71,14 +71,14 @@ else if [ ! -d "boldreports_6-1" ]; then mkdir boldreports_6-1; fi # Downloading deployment files.." - if [ ! -f "boldreports_6-1/hpa.yaml" ]; then curl -o boldreports_6-1/hpa.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/hpa.yaml; fi - if [ ! -f "boldreports_6-1/hpa_gke.yaml" ]; then curl -o boldreports_6-1/hpa_gke.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/hpa_gke.yaml; fi - if [ ! -f "boldreports_6-1/service.yaml" ]; then curl -o boldreports_6-1/service.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/service.yaml; fi - if [ ! -f "boldreports_6-1/deployment.yaml" ]; then curl -o boldreports_6-1/deployment.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/deployment.yaml; fi - if [ ! -f "boldreports_6-1/ingress.yaml" ]; then curl -o boldreports_6-1/ingress.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/ingress.yaml; fi - if [ ! -f "boldreports_6-1/destination_rule.yaml" ]; then curl -o boldreports_6-1/destination_rule.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/destination_rule.yaml; fi - if [ ! -f "boldreports_6-1/istio_gateway.yaml" ]; then curl -o boldreports_6-1/istio_gateway.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/istio_gateway.yaml; fi - if [ ! -f "boldreports_6-1/log4net_config.yaml" ]; then curl -o boldreports_6-1/log4net_config.yaml https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/log4net_config.yaml; fi + if [ ! -f "boldreports_6-1/hpa.yaml" ]; then curl -o boldreports_6-1/hpa.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/hpa.yaml; fi + if [ ! -f "boldreports_6-1/hpa_gke.yaml" ]; then curl -o boldreports_6-1/hpa_gke.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/hpa_gke.yaml; fi + if [ ! -f "boldreports_6-1/service.yaml" ]; then curl -o boldreports_6-1/service.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/service.yaml; fi + if [ ! -f "boldreports_6-1/deployment.yaml" ]; then curl -o boldreports_6-1/deployment.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/deployment.yaml; fi + if [ ! -f "boldreports_6-1/ingress.yaml" ]; then curl -o boldreports_6-1/ingress.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/ingress.yaml; fi + if [ ! -f "boldreports_6-1/destination_rule.yaml" ]; then curl -o boldreports_6-1/destination_rule.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/destination_rule.yaml; fi + if [ ! -f "boldreports_6-1/istio_gateway.yaml" ]; then curl -o boldreports_6-1/istio_gateway.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/istio_gateway.yaml; fi + if [ ! -f "boldreports_6-1/log4net_config.yaml" ]; then curl -o boldreports_6-1/log4net_config.yaml https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade/log4net_config.yaml; fi # deployment file changes changes sed -i "s/<namespace>/$namespace/g" boldreports_6-1/hpa.yaml diff --git a/upgrade/upgrade.md b/upgrade/upgrade.md index 368645a..f2c6b6b 100644 --- a/upgrade/upgrade.md +++ b/upgrade/upgrade.md @@ -14,10 +14,10 @@ Before upgrading the Bold Reports to latest version, make sure to take the backu ## Proceeding with upgrade Bold Reports updates the database schema of your current version to the latest version. The upgrade process will retain all the resources and settings from the previous deployment. -You can download the upgrade script from this [link](https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh) or use the below command. +You can download the upgrade script from this [link](https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh) or use the below command. ```sh -curl -o upgrade.sh https://raw.githubusercontent.com/KesavanMasilamani/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh +curl -o upgrade.sh https://raw.githubusercontent.com/boldreports/bold-reports-kubernetes/v6.1/upgrade/6-1_upgrade.sh ``` Run the following command to execute the shell script to upgrade Bold Reports. From ac3f874f9920a34efdbe2a1e8cef8e8144f66a8b Mon Sep 17 00:00:00 2001 From: KesavanMasilamani <kesavan.masilamani@syncfusion.com> Date: Tue, 30 Apr 2024 21:38:13 +0530 Subject: [PATCH 5/6] Included spaces --- upgrade/6-1_upgrade.md | 2 +- upgrade/upgrade.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/upgrade/6-1_upgrade.md b/upgrade/6-1_upgrade.md index f2c6b6b..db1da6a 100644 --- a/upgrade/6-1_upgrade.md +++ b/upgrade/6-1_upgrade.md @@ -111,4 +111,4 @@ Run the following command to execute the shell script to upgrade Bold Reports. </tr> </table> -If you are upgrading the bold reports application from v5.3 or below, then you need to enable puppeteer.Please refer [this](/docs/enable-puppeteer-when-upgrading-lower-version-to-v5.4.20.md) documentation for enabling puppeteer. \ No newline at end of file +If you are upgrading the bold reports application from v5.3 or below, then you need to enable puppeteer. Please refer [this](/docs/enable-puppeteer-when-upgrading-lower-version-to-v5.4.20.md) documentation for enabling puppeteer. \ No newline at end of file diff --git a/upgrade/upgrade.md b/upgrade/upgrade.md index f2c6b6b..db1da6a 100644 --- a/upgrade/upgrade.md +++ b/upgrade/upgrade.md @@ -111,4 +111,4 @@ Run the following command to execute the shell script to upgrade Bold Reports. </tr> </table> -If you are upgrading the bold reports application from v5.3 or below, then you need to enable puppeteer.Please refer [this](/docs/enable-puppeteer-when-upgrading-lower-version-to-v5.4.20.md) documentation for enabling puppeteer. \ No newline at end of file +If you are upgrading the bold reports application from v5.3 or below, then you need to enable puppeteer. Please refer [this](/docs/enable-puppeteer-when-upgrading-lower-version-to-v5.4.20.md) documentation for enabling puppeteer. \ No newline at end of file From 3c169ae463a5acf4183e1e286460e2ed9745c2c0 Mon Sep 17 00:00:00 2001 From: KesavanMasilamani <kesavan.masilamani@syncfusion.com> Date: Tue, 30 Apr 2024 21:41:18 +0530 Subject: [PATCH 6/6] Reverted unwanted changes --- upgrade/5-2_upgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upgrade/5-2_upgrade.md b/upgrade/5-2_upgrade.md index 3a4d5b9..6cc0f5b 100644 --- a/upgrade/5-2_upgrade.md +++ b/upgrade/5-2_upgrade.md @@ -23,7 +23,7 @@ curl -o upgrade.sh https://raw.githubusercontent.com/boldreports/bold-reports-ku Run the following command to execute the shell script to upgrade Bold Reports. ```sh -./upgrade.sh --version="5.2.30" --namespace="default" +./upgrade.sh --version="5.4.30" --namespace="default" ``` <table>