diff --git a/rapps/Dockerfile_rhi b/rapps/Dockerfile_rhi
index f6b2c95..6332b20 100644
--- a/rapps/Dockerfile_rhi
+++ b/rapps/Dockerfile_rhi
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest 
 RUN mkdir /app 
 COPY ./rapps-helm-installer /app
diff --git a/rapps/Dockerfile_rhw b/rapps/Dockerfile_rhw
index a8d7d33..e480525 100644
--- a/rapps/Dockerfile_rhw
+++ b/rapps/Dockerfile_rhw
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest 
 RUN mkdir /app 
 COPY ./rapps-hello-world /app
diff --git a/rapps/Dockerfile_rim b/rapps/Dockerfile_rim
index 6c39782..f75d7fd 100644
--- a/rapps/Dockerfile_rim
+++ b/rapps/Dockerfile_rim
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest 
 RUN mkdir /app 
 COPY ./rapps-istio-mgr /app
diff --git a/rapps/Dockerfile_rkm b/rapps/Dockerfile_rkm
index afbb4fd..cb4fc65 100644
--- a/rapps/Dockerfile_rkm
+++ b/rapps/Dockerfile_rkm
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest 
 RUN mkdir /app 
 COPY ./rapps-keycloak-mgr /app
diff --git a/rapps/Dockerfile_rra b/rapps/Dockerfile_rra
index 6958e79..ae6ecaa 100644
--- a/rapps/Dockerfile_rra
+++ b/rapps/Dockerfile_rra
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest
 RUN mkdir /app
 COPY ./rapps-rapp-auth-provider /app
diff --git a/rapps/Dockerfile_rri b/rapps/Dockerfile_rri
index 0abeb13..22b1cdf 100644
--- a/rapps/Dockerfile_rri
+++ b/rapps/Dockerfile_rri
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest
 RUN mkdir /app
 COPY ./rapps-rapp-invoker /app
diff --git a/rapps/Dockerfile_rrji b/rapps/Dockerfile_rrji
index 238d90b..ad6ce42 100644
--- a/rapps/Dockerfile_rrji
+++ b/rapps/Dockerfile_rrji
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest
 RUN mkdir /app
 COPY ./rapps-rapp-jwt-invoker /app
diff --git a/rapps/Dockerfile_rrjp b/rapps/Dockerfile_rrjp
index e109a8f..027af1e 100644
--- a/rapps/Dockerfile_rrjp
+++ b/rapps/Dockerfile_rrjp
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest
 RUN mkdir /app
 COPY ./rapps-rapp-jwt-provider /app
diff --git a/rapps/Dockerfile_rrp b/rapps/Dockerfile_rrp
index 350c027..1c34baf 100644
--- a/rapps/Dockerfile_rrp
+++ b/rapps/Dockerfile_rrp
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest
 RUN mkdir /app
 COPY ./rapps-rapp-provider /app
diff --git a/rapps/Dockerfile_rrxi b/rapps/Dockerfile_rrxi
index ca5675c..5225b90 100644
--- a/rapps/Dockerfile_rrxi
+++ b/rapps/Dockerfile_rrxi
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest
 RUN mkdir /app
 RUN mkdir /certs
diff --git a/rapps/Dockerfile_rrxp b/rapps/Dockerfile_rrxp
index dfc4b30..fc79ccf 100644
--- a/rapps/Dockerfile_rrxp
+++ b/rapps/Dockerfile_rrxp
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 FROM golang:latest
 RUN mkdir /app
 COPY ./rapps-rapp-x509-provider /app
diff --git a/rapps/IstioOperator.yaml b/rapps/IstioOperator.yaml
index 83604e7..cd6d46b 100644
--- a/rapps/IstioOperator.yaml
+++ b/rapps/IstioOperator.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: install.istio.io/v1alpha1
 kind: IstioOperator
 spec:
diff --git a/rapps/README.md b/rapps/README.md
new file mode 100644
index 0000000..2972837
--- /dev/null
+++ b/rapps/README.md
@@ -0,0 +1,41 @@
+This collection of files represent rapp service exposure prototyping in O-RAN.
+Prerequisites: Istio should be installed on your cluster with the demo profile. Please refer to the istio documentation for more information.
+The deployments have been implemented and tested using minikube.
+To replicate these test you will need to setup the various host path referenced in the yaml files on your own machine.
+
+chartmuseum.yaml:             path: /var/chartmuseum/charts
+elastic-8.1.2.yaml:           path: "/var/elasticsearch/data"
+elastic-8.1.2.yaml:           path: /var/elasticsearch/config/certs
+fluentd.yaml:                 path: /var/log
+fluentd.yaml:                 path: /var/lib/docker/containers
+fluentd.yaml:                 path: /var/elasticsearch/config/certs/ca
+keycloak.yaml:                path: /auth/realms/master
+keycloak.yaml:                path: /var/keycloak/certs
+keycloak.yaml:                path: /var/keycloak/deployments/authz-js-policies.jar
+kibana-8.1.2.yaml:            path: /var/elasticsearch/config/certs/ca
+postgres.yaml:                path: "/var/keycloak/data2"
+postgres.yaml:                path: /tmp
+rapps-keycloak-mgr.yaml:      path: /var/rapps/certs
+
+or change them to match your own setup.
+
+The keycloak admin password will also need to be changed to match your own (rapps-keycloak-mgr.go: client.LoginAdmin)
+
+client_secret field in the shell scripts should be changed to match the secret for you keycloak client.
+
+All go programs need to be built prior to running the Dockerfiles
+
+Image references in the yaml files/helm charts should be changed to match your own tagged images. 
+
+You will need to package your charts and copy them to the /var/chartmuseum/charts directory before starting.
+
+To start the management pods run: start_pods.sh
+Once these pods are up and running run: curl http://<minikube ip>:<istio ingress http port>/install?chart=<rapp chart name> 
+to install your rapp
+This will setup keycloak, istio and deploy your chart.
+
+Note: x509 rapps require some manual steps prior to deployment.
+
+To uninstall run: curl http://<minikube ip>:<istio ingress http port>/uninstall?chart=<rapp chart name>
+To stop the management pods run: stop_pods.sh
+
diff --git a/rapps/auth.yaml b/rapps/auth.yaml
index 9b091ad..934e7b7 100644
--- a/rapps/auth.yaml
+++ b/rapps/auth.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/certs/client_certs.sh b/rapps/certs/client_certs.sh
index 8ac8bcb..279258d 100644
--- a/rapps/certs/client_certs.sh
+++ b/rapps/certs/client_certs.sh
@@ -1,4 +1,23 @@
 #!/bin/sh
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 
 
 CLIENT_SUBJECT="/C=IE/ST=/L=/O=/OU=Keycloak/CN=localhost/emailAddress=client@mail.com"
diff --git a/rapps/certs/server_certs.sh b/rapps/certs/server_certs.sh
index 4aab665..c399033 100644
--- a/rapps/certs/server_certs.sh
+++ b/rapps/certs/server_certs.sh
@@ -1,4 +1,23 @@
 #!/bin/sh
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 
 
 CA_SUBJECT="/C=IE/ST=/L=/O=/OU=Keycloak/CN=localhost/emailAddress=ca@mail.com"
diff --git a/rapps/certs/test_cert.sh b/rapps/certs/test_cert.sh
index c9c8b0a..4b401b2 100644
--- a/rapps/certs/test_cert.sh
+++ b/rapps/certs/test_cert.sh
@@ -1,4 +1,24 @@
 #!/bin/sh
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+
 HOST=$(minikube ip)
 KEYCLOAK_PORT=$(kubectl -n default get service keycloak -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')
 REALM="x509"
diff --git a/rapps/chartmuseum.yaml b/rapps/chartmuseum.yaml
index 6871d46..30aa4e6 100644
--- a/rapps/chartmuseum.yaml
+++ b/rapps/chartmuseum.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/hello-world/Chart.yaml b/rapps/charts/hello-world/Chart.yaml
index 576f5e9..f9c4af3 100644
--- a/rapps/charts/hello-world/Chart.yaml
+++ b/rapps/charts/hello-world/Chart.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v2
 name: hello-world
 description: A Helm chart for Kubernetes
diff --git a/rapps/charts/hello-world/templates/NOTES.txt b/rapps/charts/hello-world/templates/NOTES.txt
index 0830868..41fcd9c 100644
--- a/rapps/charts/hello-world/templates/NOTES.txt
+++ b/rapps/charts/hello-world/templates/NOTES.txt
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 1. Get the application URL by running these commands:
 {{- if .Values.ingress.enabled }}
 {{- range $host := .Values.ingress.hosts }}
diff --git a/rapps/charts/hello-world/templates/deployment.yaml b/rapps/charts/hello-world/templates/deployment.yaml
index d45d56c..61fb8df 100644
--- a/rapps/charts/hello-world/templates/deployment.yaml
+++ b/rapps/charts/hello-world/templates/deployment.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/hello-world/templates/hpa.yaml b/rapps/charts/hello-world/templates/hpa.yaml
index 3f21a38..6df80e0 100644
--- a/rapps/charts/hello-world/templates/hpa.yaml
+++ b/rapps/charts/hello-world/templates/hpa.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/rapps/charts/hello-world/templates/ingress.yaml b/rapps/charts/hello-world/templates/ingress.yaml
index 339cb07..47d4052 100644
--- a/rapps/charts/hello-world/templates/ingress.yaml
+++ b/rapps/charts/hello-world/templates/ingress.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "hello-world.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
diff --git a/rapps/charts/hello-world/templates/service.yaml b/rapps/charts/hello-world/templates/service.yaml
index e6da84e..f5ab846 100644
--- a/rapps/charts/hello-world/templates/service.yaml
+++ b/rapps/charts/hello-world/templates/service.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/rapps/charts/hello-world/templates/serviceaccount.yaml b/rapps/charts/hello-world/templates/serviceaccount.yaml
index 886099a..e547313 100644
--- a/rapps/charts/hello-world/templates/serviceaccount.yaml
+++ b/rapps/charts/hello-world/templates/serviceaccount.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/rapps/charts/hello-world/templates/tests/test-connection.yaml b/rapps/charts/hello-world/templates/tests/test-connection.yaml
index 72b1fa5..85e6dd1 100644
--- a/rapps/charts/hello-world/templates/tests/test-connection.yaml
+++ b/rapps/charts/hello-world/templates/tests/test-connection.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/rapps/charts/hello-world/values.yaml b/rapps/charts/hello-world/values.yaml
index 50f178e..64a9406 100644
--- a/rapps/charts/hello-world/values.yaml
+++ b/rapps/charts/hello-world/values.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 # Default values for hello-world.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/rapps/charts/rapp-invoker/Chart.yaml b/rapps/charts/rapp-invoker/Chart.yaml
index cdc3dbb..c01dc85 100644
--- a/rapps/charts/rapp-invoker/Chart.yaml
+++ b/rapps/charts/rapp-invoker/Chart.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v2
 name: rapp-invoker
 description: A Helm chart for Kubernetes
diff --git a/rapps/charts/rapp-invoker/templates/NOTES.txt b/rapps/charts/rapp-invoker/templates/NOTES.txt
index 87e4992..11eee02 100644
--- a/rapps/charts/rapp-invoker/templates/NOTES.txt
+++ b/rapps/charts/rapp-invoker/templates/NOTES.txt
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 1. Get the application URL by running these commands:
 {{- if .Values.ingress.enabled }}
 {{- range $host := .Values.ingress.hosts }}
diff --git a/rapps/charts/rapp-invoker/templates/clusterrole.yaml b/rapps/charts/rapp-invoker/templates/clusterrole.yaml
index e28f29f..0887293 100644
--- a/rapps/charts/rapp-invoker/templates/clusterrole.yaml
+++ b/rapps/charts/rapp-invoker/templates/clusterrole.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.rbac.create -}}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
diff --git a/rapps/charts/rapp-invoker/templates/deployment.yaml b/rapps/charts/rapp-invoker/templates/deployment.yaml
index 8aee73c..64e92ea 100644
--- a/rapps/charts/rapp-invoker/templates/deployment.yaml
+++ b/rapps/charts/rapp-invoker/templates/deployment.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/rapp-invoker/templates/hpa.yaml b/rapps/charts/rapp-invoker/templates/hpa.yaml
index 2aafb2a..9778a34 100644
--- a/rapps/charts/rapp-invoker/templates/hpa.yaml
+++ b/rapps/charts/rapp-invoker/templates/hpa.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/rapps/charts/rapp-invoker/templates/ingress.yaml b/rapps/charts/rapp-invoker/templates/ingress.yaml
index 651782f..fe99695 100644
--- a/rapps/charts/rapp-invoker/templates/ingress.yaml
+++ b/rapps/charts/rapp-invoker/templates/ingress.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "rapp-invoker.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
diff --git a/rapps/charts/rapp-invoker/templates/service.yaml b/rapps/charts/rapp-invoker/templates/service.yaml
index 3318191..11f9ce9 100644
--- a/rapps/charts/rapp-invoker/templates/service.yaml
+++ b/rapps/charts/rapp-invoker/templates/service.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/rapps/charts/rapp-invoker/templates/serviceaccount.yaml b/rapps/charts/rapp-invoker/templates/serviceaccount.yaml
index 8c95399..a6e4833 100644
--- a/rapps/charts/rapp-invoker/templates/serviceaccount.yaml
+++ b/rapps/charts/rapp-invoker/templates/serviceaccount.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/rapps/charts/rapp-invoker/templates/tests/test-connection.yaml b/rapps/charts/rapp-invoker/templates/tests/test-connection.yaml
index b934e55..d35927c 100644
--- a/rapps/charts/rapp-invoker/templates/tests/test-connection.yaml
+++ b/rapps/charts/rapp-invoker/templates/tests/test-connection.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/rapps/charts/rapp-invoker/values.yaml b/rapps/charts/rapp-invoker/values.yaml
index 6846aa4..e6515aa 100644
--- a/rapps/charts/rapp-invoker/values.yaml
+++ b/rapps/charts/rapp-invoker/values.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 # Default values for rapp-invoker.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/rapps/charts/rapp-jwt-invoker/Chart.yaml b/rapps/charts/rapp-jwt-invoker/Chart.yaml
index 843ff42..40a1b90 100644
--- a/rapps/charts/rapp-jwt-invoker/Chart.yaml
+++ b/rapps/charts/rapp-jwt-invoker/Chart.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v2
 name: rapp-jwt-invoker
 description: A Helm chart for Kubernetes
diff --git a/rapps/charts/rapp-jwt-invoker/templates/NOTES.txt b/rapps/charts/rapp-jwt-invoker/templates/NOTES.txt
index 7955f62..e3b9e00 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/NOTES.txt
+++ b/rapps/charts/rapp-jwt-invoker/templates/NOTES.txt
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 1. Get the application URL by running these commands:
 {{- if .Values.ingress.enabled }}
 {{- range $host := .Values.ingress.hosts }}
diff --git a/rapps/charts/rapp-jwt-invoker/templates/clusterrole.yaml b/rapps/charts/rapp-jwt-invoker/templates/clusterrole.yaml
index 23d1586..d75440f 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/clusterrole.yaml
+++ b/rapps/charts/rapp-jwt-invoker/templates/clusterrole.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.rbac.create -}}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
diff --git a/rapps/charts/rapp-jwt-invoker/templates/deployment.yaml b/rapps/charts/rapp-jwt-invoker/templates/deployment.yaml
index f5be0d6..8e40008 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/deployment.yaml
+++ b/rapps/charts/rapp-jwt-invoker/templates/deployment.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/rapp-jwt-invoker/templates/hpa.yaml b/rapps/charts/rapp-jwt-invoker/templates/hpa.yaml
index 71e704c..90ba42b 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/hpa.yaml
+++ b/rapps/charts/rapp-jwt-invoker/templates/hpa.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/rapps/charts/rapp-jwt-invoker/templates/ingress.yaml b/rapps/charts/rapp-jwt-invoker/templates/ingress.yaml
index e8be03d..aa7e5ca 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/ingress.yaml
+++ b/rapps/charts/rapp-jwt-invoker/templates/ingress.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "rapp-jwt-invoker.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
diff --git a/rapps/charts/rapp-jwt-invoker/templates/service.yaml b/rapps/charts/rapp-jwt-invoker/templates/service.yaml
index 2d1b89b..5c1aa42 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/service.yaml
+++ b/rapps/charts/rapp-jwt-invoker/templates/service.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/rapps/charts/rapp-jwt-invoker/templates/serviceaccount.yaml b/rapps/charts/rapp-jwt-invoker/templates/serviceaccount.yaml
index 09dd89a..e61f595 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/serviceaccount.yaml
+++ b/rapps/charts/rapp-jwt-invoker/templates/serviceaccount.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/rapps/charts/rapp-jwt-invoker/templates/tests/test-connection.yaml b/rapps/charts/rapp-jwt-invoker/templates/tests/test-connection.yaml
index 357c0f7..34fbf58 100644
--- a/rapps/charts/rapp-jwt-invoker/templates/tests/test-connection.yaml
+++ b/rapps/charts/rapp-jwt-invoker/templates/tests/test-connection.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/rapps/charts/rapp-jwt-invoker/values.yaml b/rapps/charts/rapp-jwt-invoker/values.yaml
index 199d1db..fe4faed 100644
--- a/rapps/charts/rapp-jwt-invoker/values.yaml
+++ b/rapps/charts/rapp-jwt-invoker/values.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 # Default values for rapp-jwt-invoker.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/rapps/charts/rapp-jwt-provider/Chart.yaml b/rapps/charts/rapp-jwt-provider/Chart.yaml
index 2d75dd7..81c9ffb 100644
--- a/rapps/charts/rapp-jwt-provider/Chart.yaml
+++ b/rapps/charts/rapp-jwt-provider/Chart.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v2
 name: rapp-jwt-provider
 description: A Helm chart for Kubernetes
diff --git a/rapps/charts/rapp-jwt-provider/templates/NOTES.txt b/rapps/charts/rapp-jwt-provider/templates/NOTES.txt
index a244434..5ed6aad 100644
--- a/rapps/charts/rapp-jwt-provider/templates/NOTES.txt
+++ b/rapps/charts/rapp-jwt-provider/templates/NOTES.txt
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 1. Get the application URL by running these commands:
 {{- if .Values.ingress.enabled }}
 {{- range $host := .Values.ingress.hosts }}
diff --git a/rapps/charts/rapp-jwt-provider/templates/clusterrole.yaml b/rapps/charts/rapp-jwt-provider/templates/clusterrole.yaml
index 2fab92b..814057d 100644
--- a/rapps/charts/rapp-jwt-provider/templates/clusterrole.yaml
+++ b/rapps/charts/rapp-jwt-provider/templates/clusterrole.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.rbac.create -}}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
diff --git a/rapps/charts/rapp-jwt-provider/templates/deployment.yaml b/rapps/charts/rapp-jwt-provider/templates/deployment.yaml
index 67137a3..72e34bc 100644
--- a/rapps/charts/rapp-jwt-provider/templates/deployment.yaml
+++ b/rapps/charts/rapp-jwt-provider/templates/deployment.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/rapp-jwt-provider/templates/hpa.yaml b/rapps/charts/rapp-jwt-provider/templates/hpa.yaml
index 7f4af59..7534596 100644
--- a/rapps/charts/rapp-jwt-provider/templates/hpa.yaml
+++ b/rapps/charts/rapp-jwt-provider/templates/hpa.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/rapps/charts/rapp-jwt-provider/templates/ingress.yaml b/rapps/charts/rapp-jwt-provider/templates/ingress.yaml
index b986148..cd14462 100644
--- a/rapps/charts/rapp-jwt-provider/templates/ingress.yaml
+++ b/rapps/charts/rapp-jwt-provider/templates/ingress.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "rapp-jwt-provider.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
diff --git a/rapps/charts/rapp-jwt-provider/templates/service.yaml b/rapps/charts/rapp-jwt-provider/templates/service.yaml
index 953ec4f..905134b 100644
--- a/rapps/charts/rapp-jwt-provider/templates/service.yaml
+++ b/rapps/charts/rapp-jwt-provider/templates/service.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/rapps/charts/rapp-jwt-provider/templates/serviceaccount.yaml b/rapps/charts/rapp-jwt-provider/templates/serviceaccount.yaml
index 259943a..1543f39 100644
--- a/rapps/charts/rapp-jwt-provider/templates/serviceaccount.yaml
+++ b/rapps/charts/rapp-jwt-provider/templates/serviceaccount.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/rapps/charts/rapp-jwt-provider/templates/tests/test-connection.yaml b/rapps/charts/rapp-jwt-provider/templates/tests/test-connection.yaml
index 6c71552..91c5351 100644
--- a/rapps/charts/rapp-jwt-provider/templates/tests/test-connection.yaml
+++ b/rapps/charts/rapp-jwt-provider/templates/tests/test-connection.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/rapps/charts/rapp-jwt-provider/values.yaml b/rapps/charts/rapp-jwt-provider/values.yaml
index ade36e6..705c227 100644
--- a/rapps/charts/rapp-jwt-provider/values.yaml
+++ b/rapps/charts/rapp-jwt-provider/values.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 # Default values for rapp-jwt-provider.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/rapps/charts/rapp-provider/Chart.yaml b/rapps/charts/rapp-provider/Chart.yaml
index 9712e50..cebae3d 100644
--- a/rapps/charts/rapp-provider/Chart.yaml
+++ b/rapps/charts/rapp-provider/Chart.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v2
 name: rapp-provider
 description: A Helm chart for Kubernetes
diff --git a/rapps/charts/rapp-provider/templates/NOTES.txt b/rapps/charts/rapp-provider/templates/NOTES.txt
index f2ebb5c..0294e57 100644
--- a/rapps/charts/rapp-provider/templates/NOTES.txt
+++ b/rapps/charts/rapp-provider/templates/NOTES.txt
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 1. Get the application URL by running these commands:
 {{- if .Values.ingress.enabled }}
 {{- range $host := .Values.ingress.hosts }}
diff --git a/rapps/charts/rapp-provider/templates/clusterrole.yaml b/rapps/charts/rapp-provider/templates/clusterrole.yaml
index 648ea99..3f05898 100644
--- a/rapps/charts/rapp-provider/templates/clusterrole.yaml
+++ b/rapps/charts/rapp-provider/templates/clusterrole.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.rbac.create -}}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
diff --git a/rapps/charts/rapp-provider/templates/deployment.yaml b/rapps/charts/rapp-provider/templates/deployment.yaml
index 8d503e4..403225d 100644
--- a/rapps/charts/rapp-provider/templates/deployment.yaml
+++ b/rapps/charts/rapp-provider/templates/deployment.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/rapp-provider/templates/hpa.yaml b/rapps/charts/rapp-provider/templates/hpa.yaml
index 0a3c1e5..76f5193 100644
--- a/rapps/charts/rapp-provider/templates/hpa.yaml
+++ b/rapps/charts/rapp-provider/templates/hpa.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/rapps/charts/rapp-provider/templates/ingress.yaml b/rapps/charts/rapp-provider/templates/ingress.yaml
index 4c70175..28ff776 100644
--- a/rapps/charts/rapp-provider/templates/ingress.yaml
+++ b/rapps/charts/rapp-provider/templates/ingress.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "rapp-provider.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
diff --git a/rapps/charts/rapp-provider/templates/service.yaml b/rapps/charts/rapp-provider/templates/service.yaml
index 6393645..d2b4824 100644
--- a/rapps/charts/rapp-provider/templates/service.yaml
+++ b/rapps/charts/rapp-provider/templates/service.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/rapps/charts/rapp-provider/templates/serviceaccount.yaml b/rapps/charts/rapp-provider/templates/serviceaccount.yaml
index 3adf043..3ed23d7 100644
--- a/rapps/charts/rapp-provider/templates/serviceaccount.yaml
+++ b/rapps/charts/rapp-provider/templates/serviceaccount.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/rapps/charts/rapp-provider/templates/tests/test-connection.yaml b/rapps/charts/rapp-provider/templates/tests/test-connection.yaml
index eab7b93..03e7f87 100644
--- a/rapps/charts/rapp-provider/templates/tests/test-connection.yaml
+++ b/rapps/charts/rapp-provider/templates/tests/test-connection.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/rapps/charts/rapp-provider/values.yaml b/rapps/charts/rapp-provider/values.yaml
index 5828c8f..5499849 100644
--- a/rapps/charts/rapp-provider/values.yaml
+++ b/rapps/charts/rapp-provider/values.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 # Default values for rapp-provider.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/rapps/charts/rapp-x509-invoker/Chart.yaml b/rapps/charts/rapp-x509-invoker/Chart.yaml
index 0018754..199c50b 100644
--- a/rapps/charts/rapp-x509-invoker/Chart.yaml
+++ b/rapps/charts/rapp-x509-invoker/Chart.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v2
 name: rapp-x509-invoker
 description: A Helm chart for Kubernetes
diff --git a/rapps/charts/rapp-x509-invoker/templates/NOTES.txt b/rapps/charts/rapp-x509-invoker/templates/NOTES.txt
index 200f372..7385eae 100644
--- a/rapps/charts/rapp-x509-invoker/templates/NOTES.txt
+++ b/rapps/charts/rapp-x509-invoker/templates/NOTES.txt
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 1. Get the application URL by running these commands:
 {{- if .Values.ingress.enabled }}
 {{- range $host := .Values.ingress.hosts }}
diff --git a/rapps/charts/rapp-x509-invoker/templates/clusterrole.yaml b/rapps/charts/rapp-x509-invoker/templates/clusterrole.yaml
index 71eddc2..b1e9081 100644
--- a/rapps/charts/rapp-x509-invoker/templates/clusterrole.yaml
+++ b/rapps/charts/rapp-x509-invoker/templates/clusterrole.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.rbac.create -}}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
diff --git a/rapps/charts/rapp-x509-invoker/templates/deployment.yaml b/rapps/charts/rapp-x509-invoker/templates/deployment.yaml
index f9e1abb..08861d2 100644
--- a/rapps/charts/rapp-x509-invoker/templates/deployment.yaml
+++ b/rapps/charts/rapp-x509-invoker/templates/deployment.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/rapp-x509-invoker/templates/hpa.yaml b/rapps/charts/rapp-x509-invoker/templates/hpa.yaml
index b86fa99..5eb163b 100644
--- a/rapps/charts/rapp-x509-invoker/templates/hpa.yaml
+++ b/rapps/charts/rapp-x509-invoker/templates/hpa.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/rapps/charts/rapp-x509-invoker/templates/ingress.yaml b/rapps/charts/rapp-x509-invoker/templates/ingress.yaml
index a49f3a3..ebec327 100644
--- a/rapps/charts/rapp-x509-invoker/templates/ingress.yaml
+++ b/rapps/charts/rapp-x509-invoker/templates/ingress.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "rapp-x509-invoker.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
diff --git a/rapps/charts/rapp-x509-invoker/templates/service.yaml b/rapps/charts/rapp-x509-invoker/templates/service.yaml
index e363a2f..a4674a1 100644
--- a/rapps/charts/rapp-x509-invoker/templates/service.yaml
+++ b/rapps/charts/rapp-x509-invoker/templates/service.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/rapps/charts/rapp-x509-invoker/templates/serviceaccount.yaml b/rapps/charts/rapp-x509-invoker/templates/serviceaccount.yaml
index 4c3405c..f72002b 100644
--- a/rapps/charts/rapp-x509-invoker/templates/serviceaccount.yaml
+++ b/rapps/charts/rapp-x509-invoker/templates/serviceaccount.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/rapps/charts/rapp-x509-invoker/templates/tests/test-connection.yaml b/rapps/charts/rapp-x509-invoker/templates/tests/test-connection.yaml
index ad4855a..126aa2a 100644
--- a/rapps/charts/rapp-x509-invoker/templates/tests/test-connection.yaml
+++ b/rapps/charts/rapp-x509-invoker/templates/tests/test-connection.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/rapps/charts/rapp-x509-invoker/values.yaml b/rapps/charts/rapp-x509-invoker/values.yaml
index bcdfaed..9c68851 100644
--- a/rapps/charts/rapp-x509-invoker/values.yaml
+++ b/rapps/charts/rapp-x509-invoker/values.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 # Default values for rapp-x509-invoker.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/rapps/charts/rapp-x509-provider/Chart.yaml b/rapps/charts/rapp-x509-provider/Chart.yaml
index 0148f85..4f95629 100644
--- a/rapps/charts/rapp-x509-provider/Chart.yaml
+++ b/rapps/charts/rapp-x509-provider/Chart.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v2
 name: rapp-x509-provider
 description: A Helm chart for Kubernetes
diff --git a/rapps/charts/rapp-x509-provider/templates/NOTES.txt b/rapps/charts/rapp-x509-provider/templates/NOTES.txt
index 3f038ee..4491431 100644
--- a/rapps/charts/rapp-x509-provider/templates/NOTES.txt
+++ b/rapps/charts/rapp-x509-provider/templates/NOTES.txt
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 1. Get the application URL by running these commands:
 {{- if .Values.ingress.enabled }}
 {{- range $host := .Values.ingress.hosts }}
diff --git a/rapps/charts/rapp-x509-provider/templates/clusterrole.yaml b/rapps/charts/rapp-x509-provider/templates/clusterrole.yaml
index 2747446..a71f3eb 100644
--- a/rapps/charts/rapp-x509-provider/templates/clusterrole.yaml
+++ b/rapps/charts/rapp-x509-provider/templates/clusterrole.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.rbac.create -}}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
diff --git a/rapps/charts/rapp-x509-provider/templates/deployment.yaml b/rapps/charts/rapp-x509-provider/templates/deployment.yaml
index 48b8235..1a4e91a 100644
--- a/rapps/charts/rapp-x509-provider/templates/deployment.yaml
+++ b/rapps/charts/rapp-x509-provider/templates/deployment.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/charts/rapp-x509-provider/templates/hpa.yaml b/rapps/charts/rapp-x509-provider/templates/hpa.yaml
index a716621..93bf19f 100644
--- a/rapps/charts/rapp-x509-provider/templates/hpa.yaml
+++ b/rapps/charts/rapp-x509-provider/templates/hpa.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/rapps/charts/rapp-x509-provider/templates/ingress.yaml b/rapps/charts/rapp-x509-provider/templates/ingress.yaml
index da8a2e9..4d7738e 100644
--- a/rapps/charts/rapp-x509-provider/templates/ingress.yaml
+++ b/rapps/charts/rapp-x509-provider/templates/ingress.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "rapp-x509-provider.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
diff --git a/rapps/charts/rapp-x509-provider/templates/service.yaml b/rapps/charts/rapp-x509-provider/templates/service.yaml
index 8e21778..6e46e95 100644
--- a/rapps/charts/rapp-x509-provider/templates/service.yaml
+++ b/rapps/charts/rapp-x509-provider/templates/service.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/rapps/charts/rapp-x509-provider/templates/serviceaccount.yaml b/rapps/charts/rapp-x509-provider/templates/serviceaccount.yaml
index eb675ae..e16cc4c 100644
--- a/rapps/charts/rapp-x509-provider/templates/serviceaccount.yaml
+++ b/rapps/charts/rapp-x509-provider/templates/serviceaccount.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/rapps/charts/rapp-x509-provider/templates/tests/test-connection.yaml b/rapps/charts/rapp-x509-provider/templates/tests/test-connection.yaml
index 6549eb1..ee6aa2c 100644
--- a/rapps/charts/rapp-x509-provider/templates/tests/test-connection.yaml
+++ b/rapps/charts/rapp-x509-provider/templates/tests/test-connection.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/rapps/charts/rapp-x509-provider/values.yaml b/rapps/charts/rapp-x509-provider/values.yaml
index ba6d7be..11245e0 100644
--- a/rapps/charts/rapp-x509-provider/values.yaml
+++ b/rapps/charts/rapp-x509-provider/values.yaml
@@ -1,3 +1,24 @@
+{{/*
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+*/}}
 # Default values for rapp-x509-provider.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/rapps/elastic-8.1.2.yaml b/rapps/elastic-8.1.2.yaml
index 1ed2a4e..6eae596 100644
--- a/rapps/elastic-8.1.2.yaml
+++ b/rapps/elastic-8.1.2.yaml
@@ -1,3 +1,54 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: elasticsearch-storage-pv-volume
+  namespace: logging 
+  labels:
+    type: local
+    app: elasticsearch 
+spec:
+  storageClassName: manual
+  capacity:
+    storage: 100Mi
+  accessModes:
+    - ReadWriteOnce
+  hostPath:
+    path: "/var/elasticsearch/data"
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: elasticsearch-storage-pv-claim
+  namespace: logging 
+  labels:
+    app: elasticsearch 
+spec:
+  storageClassName: manual
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 100Mi
+---
 apiVersion: v1
 kind: ConfigMap
 metadata:
@@ -105,7 +156,6 @@
         volumeMounts:
         - name: elasticsearch-storage
           mountPath: /usr/share/elasticsearch/data 
-          readOnly: false
         - name: elasticsearch-certs
           mountPath: /usr/share/elasticsearch/config/certs
           readOnly: true 
@@ -126,10 +176,8 @@
           subPath: setup_certs.sh
       volumes:
       - name: elasticsearch-storage
-        hostPath:
-          # Ensure the file directory is created.
-           path: /var/elasticsearch/data 
-           type: DirectoryOrCreate
+        persistentVolumeClaim:
+          claimName: elasticsearch-storage-pv-claim
       - name: elasticsearch-certs
         hostPath:
           # Ensure the file directory is created.
diff --git a/rapps/fluentd.yaml b/rapps/fluentd.yaml
index c402966..f4dc323 100644
--- a/rapps/fluentd.yaml
+++ b/rapps/fluentd.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: v1
 kind: ServiceAccount
 metadata:
diff --git a/rapps/hello-world-0.1.0.tgz b/rapps/hello-world-0.1.0.tgz
deleted file mode 100644
index ac2df43..0000000
--- a/rapps/hello-world-0.1.0.tgz
+++ /dev/null
Binary files differ
diff --git a/rapps/hw_test.sh b/rapps/hw_test.sh
index aed7e5d..b0aa133 100644
--- a/rapps/hw_test.sh
+++ b/rapps/hw_test.sh
@@ -1,4 +1,23 @@
 #!/bin/bash
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 INGRESS_HOST=$(minikube ip)
 INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
 TESTS=0
diff --git a/rapps/keycloak.yaml b/rapps/keycloak.yaml
index 8aa56cd..d1d3d8e 100644
--- a/rapps/keycloak.yaml
+++ b/rapps/keycloak.yaml
@@ -1,35 +1,22 @@
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: keycloak-certs-pv-volume
-  namespace: default 
-  labels:
-    type: local
-    app: keycloak 
-spec:
-  storageClassName: manual
-  capacity:
-    storage: 100Mi
-  accessModes:
-    - ReadWriteOnce
-  hostPath:
-    path: "/var/keycloak/certs"
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: keycloak-certs-pv-claim
-  namespace: default 
-  labels:
-    app: keycloak 
-spec:
-  storageClassName: manual
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 100Mi
----
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: v1
 kind: ServiceAccount
 metadata:
@@ -126,10 +113,17 @@
         volumeMounts:
         - name: keycloak-certs 
           mountPath: /etc/x509/https 
+        - name: authz-js-policies 
+          mountPath: /opt/jboss/keycloak/standalone/deployments/authz-js-policies.jar 
       volumes:
       - name: keycloak-certs 
-        persistentVolumeClaim:
-          claimName: keycloak-certs-pv-claim
+        hostPath:
+           path: /var/keycloak/certs 
+           type: Directory
+      - name: authz-js-policies 
+        hostPath:
+           path: /var/keycloak/deployments/authz-js-policies.jar 
+           type: File
 ---
 apiVersion: networking.istio.io/v1alpha3
 kind: Gateway
diff --git a/rapps/kibana-8.1.2.yaml b/rapps/kibana-8.1.2.yaml
index b5bb88d..ceaccd1 100644
--- a/rapps/kibana-8.1.2.yaml
+++ b/rapps/kibana-8.1.2.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: v1
 kind: ConfigMap
 metadata:
@@ -100,7 +119,7 @@
   labels:
     service: kibana
 spec:
-  type: NodePort
+  type: LoadBalancer 
   selector:
     run: kibana
   ports:
diff --git a/rapps/postgres.yaml b/rapps/postgres.yaml
index 8508e64..588dd8e 100644
--- a/rapps/postgres.yaml
+++ b/rapps/postgres.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: v1
 kind: PersistentVolume
 metadata:
diff --git a/rapps/rapps-hello-world.go b/rapps/rapps-hello-world.go
index dc6e707..227f85e 100644
--- a/rapps/rapps-hello-world.go
+++ b/rapps/rapps-hello-world.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-helm-installer.go b/rapps/rapps-helm-installer.go
index 6baeca0..dc92fc7 100644
--- a/rapps/rapps-helm-installer.go
+++ b/rapps/rapps-helm-installer.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-helm-installer.yaml b/rapps/rapps-helm-installer.yaml
index b790342..19969db 100644
--- a/rapps/rapps-helm-installer.yaml
+++ b/rapps/rapps-helm-installer.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: v1
 kind: ServiceAccount
 metadata:
diff --git a/rapps/rapps-helm-uninstaller.go b/rapps/rapps-helm-uninstaller.go
index 959974a..d4277ef 100644
--- a/rapps/rapps-helm-uninstaller.go
+++ b/rapps/rapps-helm-uninstaller.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-istio-mgr.go b/rapps/rapps-istio-mgr.go
index 93ed8bb..5a0761b 100644
--- a/rapps/rapps-istio-mgr.go
+++ b/rapps/rapps-istio-mgr.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-istio-mgr.yaml b/rapps/rapps-istio-mgr.yaml
index 7e98e68..6003bb5 100644
--- a/rapps/rapps-istio-mgr.yaml
+++ b/rapps/rapps-istio-mgr.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/rapps-keycloak-mgr.go b/rapps/rapps-keycloak-mgr.go
index abfc891..5fc92f4 100644
--- a/rapps/rapps-keycloak-mgr.go
+++ b/rapps/rapps-keycloak-mgr.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-keycloak-mgr.yaml b/rapps/rapps-keycloak-mgr.yaml
index 571badf..c2f14da 100644
--- a/rapps/rapps-keycloak-mgr.yaml
+++ b/rapps/rapps-keycloak-mgr.yaml
@@ -1,3 +1,22 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/rapps/rapps-rapp-auth-provider.go b/rapps/rapps-rapp-auth-provider.go
index e84c11c..e4c59bc 100644
--- a/rapps/rapps-rapp-auth-provider.go
+++ b/rapps/rapps-rapp-auth-provider.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-rapp-invoker.go b/rapps/rapps-rapp-invoker.go
index 1a73006..4dc7359 100644
--- a/rapps/rapps-rapp-invoker.go
+++ b/rapps/rapps-rapp-invoker.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-rapp-jwt-invoker.go b/rapps/rapps-rapp-jwt-invoker.go
index 7d1a6b5..9fc513a 100644
--- a/rapps/rapps-rapp-jwt-invoker.go
+++ b/rapps/rapps-rapp-jwt-invoker.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-rapp-jwt-provider.go b/rapps/rapps-rapp-jwt-provider.go
index b0abbb4..c8e2a26 100644
--- a/rapps/rapps-rapp-jwt-provider.go
+++ b/rapps/rapps-rapp-jwt-provider.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-rapp-provider.go b/rapps/rapps-rapp-provider.go
index dc6e707..227f85e 100644
--- a/rapps/rapps-rapp-provider.go
+++ b/rapps/rapps-rapp-provider.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-rapp-x509-invoker.go b/rapps/rapps-rapp-x509-invoker.go
index bdebc7a..1cad3ed 100644
--- a/rapps/rapps-rapp-x509-invoker.go
+++ b/rapps/rapps-rapp-x509-invoker.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rapps-rapp-x509-provider.go b/rapps/rapps-rapp-x509-provider.go
index f4bf4a8..1be784c 100644
--- a/rapps/rapps-rapp-x509-provider.go
+++ b/rapps/rapps-rapp-x509-provider.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package main
 
 import (
diff --git a/rapps/rp_test.sh b/rapps/rp_test.sh
index e3a7110..c1d07a2 100644
--- a/rapps/rp_test.sh
+++ b/rapps/rp_test.sh
@@ -1,4 +1,23 @@
 #!/bin/bash
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 INGRESS_HOST=$(minikube ip)
 INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
 TESTS=0
diff --git a/rapps/start_pods.sh b/rapps/start_pods.sh
index f2530f5..f4281c9 100644
--- a/rapps/start_pods.sh
+++ b/rapps/start_pods.sh
@@ -1,10 +1,25 @@
 #!/bin/sh
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 
 kubectl create -f chartmuseum.yaml 
 kubectl create -f rapps-keycloak-mgr.yaml
 kubectl create -f  rapps-istio-mgr.yaml
 kubectl create -f  rapps-helm-installer.yaml
-#istioctl kube-inject -f chartmuseum.yaml | kubectl apply -f -
-#istioctl kube-inject -f rapps-keycloak-mgr.yaml | kubectl apply -f -
-#istioctl kube-inject -f rapps-istio-mgr.yaml | kubectl apply -f -
-#istioctl kube-inject -f rapps-helm-installer.yaml | kubectl apply -f -
diff --git a/rapps/stop_pods.sh b/rapps/stop_pods.sh
index d6a2bfa..86f22ef 100644
--- a/rapps/stop_pods.sh
+++ b/rapps/stop_pods.sh
@@ -1,4 +1,23 @@
 #!/bin/sh
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 
 kubectl delete -f  rapps-helm-installer.yaml
 kubectl delete -f  rapps-istio-mgr.yaml
diff --git a/rapps/utils/generatejwt/generatejwt.go b/rapps/utils/generatejwt/generatejwt.go
index 666be24..a285d49 100644
--- a/rapps/utils/generatejwt/generatejwt.go
+++ b/rapps/utils/generatejwt/generatejwt.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package generatejwt 
 
 import (
diff --git a/rapps/utils/pemtojwks/pemtojwks.go b/rapps/utils/pemtojwks/pemtojwks.go
index 6592916..8a14902 100644
--- a/rapps/utils/pemtojwks/pemtojwks.go
+++ b/rapps/utils/pemtojwks/pemtojwks.go
@@ -1,3 +1,23 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
 package pemtojwks 
 
 import (
