diff --git a/README.md b/README.md
index 09ed04d..71e6f2c 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,10 @@ Execute following script to create a single node development k8s cluster
 create_kind_cluster.sh
 ```
 
+WARNING APACHE & NGINX ARE NOT RUNNING:
+- `sudo /etc/init.d/apache2 stop`
+- `sudo nginx -s stop`
+
 It will create a *opencloud* docker container running kubernetes services.
 
 ## Clone all the microservices repositories taking part of the opencloud environment
diff --git a/clone_opencloud_microservices.sh b/clone_opencloud_microservices.sh
index 679f3da..649025d 100755
--- a/clone_opencloud_microservices.sh
+++ b/clone_opencloud_microservices.sh
@@ -2,13 +2,10 @@
 
 
 REPOS=(
-    "https://cloud.o-forge.io/core/oc-aggregator.git"
     "https://cloud.o-forge.io/core/oc-auth.git"
     "https://cloud.o-forge.io/core/oc-catalog.git"
     "https://cloud.o-forge.io/core/oc-datacenter.git"
-    "https://cloud.o-forge.io/core/oc-discovery.git"
     "https://cloud.o-forge.io/core/oc-front.git"
-    "https://cloud.o-forge.io/core/oc-discovery.git"
     "https://cloud.o-forge.io/core/oc-monitord.git"
     "https://cloud.o-forge.io/core/oc-peer.git"
     "https://cloud.o-forge.io/core/oc-shared.git"
@@ -20,6 +17,7 @@ REPOS=(
 
 # Function to clone repositories
 clone_repo() {
+    local branch=${2:-main}
     local repo_url="$1"
     local repo_name=$(basename "$repo_url" .git)
 
@@ -27,7 +25,7 @@ clone_repo() {
 
     if [ -d "$repo_name" ]; then
         echo "Repository '$repo_name' already exists. Pulling latest changes..."
-        cd "$repo_name" && git pull && cd ..
+        cd "$repo_name" && git checkout $branch && git pull && cd ..
     else
         echo "Cloning repository: $repo_name"
         git clone "$repo_url"
@@ -37,10 +35,10 @@ clone_repo() {
         fi
     fi
 }
-
+branch=${1:-main}
 # Iterate through each repository in the list
 for repo in "${REPOS[@]}"; do
-    clone_repo "$repo"
+    clone_repo "$repo" "$branch"
 done
 
 echo "All repositories processed successfully."
diff --git a/install.sh b/install.sh
new file mode 100644
index 0000000..b87eb51
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+RELEASE_NAME=${1:-dev}
+RELEASE_NAMESPACE=${1:-dev}
+
+helm install ${RELEASE_NAME} opencloud -n ${RELEASE_NAMESPACE} --create-namespace -f opencloud/${RELEASE_NAME}-values.yaml
diff --git a/install_development.sh b/install_development.sh
deleted file mode 100755
index 94944ae..0000000
--- a/install_development.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-RELEASE_NAME=dev
-RELEASE_NAMESPACE=dev
-
-helm install ${RELEASE_NAME} opencloud -n ${RELEASE_NAMESPACE} --create-namespace -f opencloud/dev-values.yaml
diff --git a/install_production.sh b/install_production.sh
deleted file mode 100755
index 91693de..0000000
--- a/install_production.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-RELEASE_NAME=prod
-RELEASE_NAMESPACE=prod
-
-helm install ${RELEASE_NAME} opencloud -n ${RELEASE_NAMESPACE} --create-namespace -f opencloud/prod-values.yaml
diff --git a/opencloud/dev-values.yaml b/opencloud/dev-values.yaml
index eed622f..885f46b 100644
--- a/opencloud/dev-values.yaml
+++ b/opencloud/dev-values.yaml
@@ -243,7 +243,6 @@ keto:
           name: open-cloud
       dsn: memory
 
-
 loki:
   enabled: true
   loki:
@@ -470,17 +469,6 @@ ocSchedulerd:
       cpu: "128m"
       memory: "256Mi"
 
-ocDiscovery:
-  enabled: true
-  image: oc/oc-discovery:0.0.1
-  resources:
-    limits:
-      cpu: "128m"
-      memory: "256Mi"
-    requests:
-      cpu: "128m"
-      memory: "256Mi"
-
 ocScheduler:
   enabled: true
   image: oc/oc-scheduler:0.0.1
@@ -492,17 +480,6 @@ ocScheduler:
       cpu: "128m"
       memory: "256Mi"
 
-ocAggregator:
-  enabled: true
-  image: oc/oc-aggregator:0.0.1
-  resources:
-    limits:
-      cpu: "128m"
-      memory: "256Mi"
-    requests:
-      cpu: "128m"
-      memory: "256Mi"
-
 docker-registry-ui:
   enabled: true
   ui:
diff --git a/opencloud/prod-values.yaml b/opencloud/prod-values.yaml
index e3d3a95..f639170 100644
--- a/opencloud/prod-values.yaml
+++ b/opencloud/prod-values.yaml
@@ -469,17 +469,6 @@ ocSchedulerd:
       cpu: "128m"
       memory: "256Mi"
 
-ocDiscovery:
-  enabled: true
-  image: "registry-opencloud.pf.irt-saintexupery.com/oc-discovery:0.0.1"
-  resources:
-    limits:
-      cpu: "128m"
-      memory: "256Mi"
-    requests:
-      cpu: "128m"
-      memory: "256Mi"
-
 ocScheduler:
   enabled: true
   image: "registry-opencloud.pf.irt-saintexupery.com/oc-scheduler:0.0.1"
@@ -491,17 +480,6 @@ ocScheduler:
       cpu: "128m"
       memory: "256Mi"
 
-ocAggregator:
-  enabled: true
-  image: "registry-opencloud.pf.irt-saintexupery.com/oc-aggregator:0.0.1"
-  resources:
-    limits:
-      cpu: "128m"
-      memory: "256Mi"
-    requests:
-      cpu: "128m"
-      memory: "256Mi"
-
 docker-registry-ui:
   enabled: true
   ui:
diff --git a/opencloud/templates/oc-aggregator/deployment.yaml b/opencloud/templates/oc-aggregator/deployment.yaml
deleted file mode 100644
index 5d61077..0000000
--- a/opencloud/templates/oc-aggregator/deployment.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-{{- if index .Values.ocAggregator.enabled }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  labels:
-    app: oc-aggregator
-  name: {{ .Release.Name }}-oc-aggregator
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: oc-aggregator
-  template:
-    metadata:
-      labels:
-        app: oc-aggregator
-    spec:
-      {{- if or (eq .Values.env "prod") (eq .Values.env "staging") }}
-      imagePullSecrets:
-        - name: regcred
-      {{- end }}
-      containers:
-      - image: "{{ .Values.ocAggregator.image }}"
-        name: oc-aggregator
-        envFrom:
-        - configMapRef:
-            name: opencloud-config
-        ports:
-          - name: http
-            containerPort: 8080
-            protocol: TCP
-        resources:
-          limits:
-            cpu: "{{ .Values.ocAggregator.resources.limits.cpu }}"
-            memory: "{{ .Values.ocAggregator.resources.limits.memory }}"
-          requests:
-            cpu: "{{ .Values.ocAggregator.resources.requests.cpu }}"
-            memory: "{{ .Values.ocAggregator.resources.requests.memory }}"
-  {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-aggregator/ingress.yaml b/opencloud/templates/oc-aggregator/ingress.yaml
deleted file mode 100644
index 54cf8b2..0000000
--- a/opencloud/templates/oc-aggregator/ingress.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-{{- if index .Values.ocAggregator.enabled }}
-apiVersion: traefik.io/v1alpha1
-kind: IngressRoute
-metadata:
-  name: oc-aggregator-ingress
-spec:
-  entryPoints:
-    - web
-  routes:                           
-    - kind: Rule
-      match:   Host(`{{ .Values.host }}`) && PathPrefix(`/aggregator`)
-      priority: 10                    
-      services:
-      - kind: Service
-        name: oc-aggregator-svc
-        port: 8080
-      middlewares:
-      - name: strip-aggregator-prefix
-      {{- if index .Values.ocAuth.enableTraefikProxyIntegration }}
-      - name: forward-auth
-      {{- end }}
-
----
-apiVersion:  traefik.io/v1alpha1
-kind: Middleware
-metadata:
-  name: strip-aggregator-prefix
-spec:
-  stripPrefix:
-    prefixes:
-      - "/aggregator"
-{{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-aggregator/service.yaml b/opencloud/templates/oc-aggregator/service.yaml
deleted file mode 100644
index 4f25083..0000000
--- a/opencloud/templates/oc-aggregator/service.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if index .Values.ocAggregator.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: oc-aggregator-svc
-  labels:
-    app: oc-aggregator-svc
-spec:
-  ports:
-  - name: http
-    port: 8080
-    protocol: TCP
-    targetPort: 8080
-  selector:
-    app: oc-aggregator
-  type: ClusterIP
-{{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-auth/deployment.yaml b/opencloud/templates/oc-auth/deployment.yaml
index d9bb6cf..bb92260 100644
--- a/opencloud/templates/oc-auth/deployment.yaml
+++ b/opencloud/templates/oc-auth/deployment.yaml
@@ -10,7 +10,6 @@ spec:
   selector:
     matchLabels:
       app: oc-auth
-  strategy: {}
   template:
     metadata:
       labels:
@@ -47,9 +46,9 @@ spec:
             protocol: TCP
         resources:
           limits:
-            cpu: "{{ .Values.ocFront.resources.limits.cpu }}"
-            memory: "{{ .Values.ocFront.resources.limits.memory }}"
+            cpu: "{{ .Values.ocAuth.resources.limits.cpu }}"
+            memory: "{{ .Values.ocAuth.resources.limits.memory }}"
           requests:
-            cpu: "{{ .Values.ocFront.resources.requests.cpu }}"
-            memory: "{{ .Values.ocFront.resources.requests.memory }}"        
+            cpu: "{{ .Values.ocAuth.resources.requests.cpu }}"
+            memory: "{{ .Values.ocAuth.resources.requests.memory }}"        
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-auth/ingress.yaml b/opencloud/templates/oc-auth/ingress.yaml
index a6956c8..fa60206 100644
--- a/opencloud/templates/oc-auth/ingress.yaml
+++ b/opencloud/templates/oc-auth/ingress.yaml
@@ -8,16 +8,16 @@ spec:
     - web
   routes:                           
     - kind: Rule
-      match:  Host(`{{ .Values.host }}`) &&  PathPrefix(`/auth`)
+      match:   Host(`{{ .Values.host }}`) && PathPrefix(`/auth`)
       priority: 10                    
       services:
       - kind: Service
         name: oc-auth-svc
-        port: 8094
+        port: 8080
       middlewares:
-      {{- if index .Values.ocAuth.enableTraefikProxyIntegration }}
-      - name: forward-auth
-      {{- end }}
+      #{{- if index .Values.ocAuth.enableTraefikProxyIntegration }}
+      #- name: forward-auth
+      #{{- end }}
       - name: strip-auth-prefix
 ---
 apiVersion:  traefik.io/v1alpha1
@@ -25,7 +25,7 @@ kind: Middleware
 metadata:
   name: strip-auth-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/auth"
+  replacePathRegex:
+    regex: ^/auth(.*)
+    replacement: /oc$1
 {{- end }}      
diff --git a/opencloud/templates/oc-auth/service.yaml b/opencloud/templates/oc-auth/service.yaml
index 02ad1b8..e72f585 100644
--- a/opencloud/templates/oc-auth/service.yaml
+++ b/opencloud/templates/oc-auth/service.yaml
@@ -8,7 +8,7 @@ metadata:
 spec:
   ports:
   - name: http
-    port: 8094
+    port: 8080
     protocol: TCP
     targetPort: 8080
   selector:
diff --git a/opencloud/templates/oc-catalog/ingress.yaml b/opencloud/templates/oc-catalog/ingress.yaml
index 63dd3b4..d6dc1b5 100644
--- a/opencloud/templates/oc-catalog/ingress.yaml
+++ b/opencloud/templates/oc-catalog/ingress.yaml
@@ -26,7 +26,7 @@ kind: Middleware
 metadata:
   name: strip-catalog-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/catalog"
+  replacePathRegex:
+    regex: ^/catalog(.*)
+    replacement: /oc$1
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-datacenter/ingress.yaml b/opencloud/templates/oc-datacenter/ingress.yaml
index d2d7970..d91cbe0 100644
--- a/opencloud/templates/oc-datacenter/ingress.yaml
+++ b/opencloud/templates/oc-datacenter/ingress.yaml
@@ -16,7 +16,9 @@ spec:
         port: 8080
       middlewares:
       - name: strip-datacenter-prefix
-      - name:  forward-auth
+      {{- if index .Values.ocAuth.enableTraefikProxyIntegration }}
+      - name: forward-auth
+      {{- end }}
 
 ---
 apiVersion:  traefik.io/v1alpha1
@@ -24,7 +26,7 @@ kind: Middleware
 metadata:
   name: strip-datacenter-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/datacenter"
+  replacePathRegex:
+    regex: ^/datacenter(.*)
+    replacement: /oc$1
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-discovery/deployment.yaml b/opencloud/templates/oc-discovery/deployment.yaml
deleted file mode 100644
index 4b4523c..0000000
--- a/opencloud/templates/oc-discovery/deployment.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-{{- if index .Values.ocDiscovery.enabled }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  labels:
-    app: oc-discovery
-  name: {{ .Release.Name }}-oc-discovery
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: oc-discovery
-  template:
-    metadata:
-      labels:
-        app: oc-discovery
-    spec:
-      {{- if or (eq .Values.env "prod") (eq .Values.env "staging") }}
-      imagePullSecrets:
-        - name: regcred
-      {{- end }}
-      containers:
-      - image: "{{ .Values.ocDiscovery.image }}"
-        name: oc-discovery
-        envFrom:
-        - configMapRef:
-            name: opencloud-config
-        ports:
-          - name: http
-            containerPort: 8080
-            protocol: TCP
-        resources:
-          limits:
-            cpu: "{{ .Values.ocDiscovery.resources.limits.cpu }}"
-            memory: "{{ .Values.ocDiscovery.resources.limits.memory }}"
-          requests:
-            cpu: "{{ .Values.ocDiscovery.resources.requests.cpu }}"
-            memory: "{{ .Values.ocDiscovery.resources.requests.memory }}"
-  {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-discovery/ingress.yaml b/opencloud/templates/oc-discovery/ingress.yaml
deleted file mode 100644
index c377ba6..0000000
--- a/opencloud/templates/oc-discovery/ingress.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-{{- if index .Values.ocDiscovery.enabled }}
-apiVersion: traefik.io/v1alpha1
-kind: IngressRoute
-metadata:
-  name: oc-discovery-ingress
-spec:
-  entryPoints:
-    - web
-  routes:                           
-    - kind: Rule
-      match:   Host(`{{ .Values.host }}`) && PathPrefix(`/discovery`)
-      priority: 10                    
-      services:
-      - kind: Service
-        name: oc-discovery-svc
-        port: 8080
-      middlewares:
-      - name: strip-discovery-prefix
-
----
-apiVersion:  traefik.io/v1alpha1
-kind: Middleware
-metadata:
-  name: strip-discovery-prefix
-spec:
-  stripPrefix:
-    prefixes:
-      - "/discovery"
-{{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-discovery/service.yaml b/opencloud/templates/oc-discovery/service.yaml
deleted file mode 100644
index 9f80512..0000000
--- a/opencloud/templates/oc-discovery/service.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if index .Values.ocDiscovery.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: oc-discovery-svc
-  labels:
-    app: oc-discovery-svc
-spec:
-  ports:
-  - name: http
-    port: 8080
-    protocol: TCP
-    targetPort: 8080
-  selector:
-    app: oc-discovery
-  type: ClusterIP
-{{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-front/config.yaml b/opencloud/templates/oc-front/config.yaml
index 7daf17d..cda0b3a 100644
--- a/opencloud/templates/oc-front/config.yaml
+++ b/opencloud/templates/oc-front/config.yaml
@@ -6,15 +6,14 @@ metadata:
 data:
   config.json: |
     {
-      "WORKSPACE_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/workspace/oc",
-      "WORKFLOW_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/workflow/oc",
-      "ITEM_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/catalog/oc",
-      "SCHEDULER_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/scheduler/oc",
-      "LOGS_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/logs",
-      "PEER_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/peers/oc",
-      "DATACENTER_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/datacenter/oc",
-      "COLLABORATIVE_AREA_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/shared/oc",
-      "HOST": "{{ .Values.scheme }}://{{ .Values.host }}/oc",
-      "AUTH_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/auth/oc"
+      "WORKSPACE_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/workspace",
+      "WORKFLOW_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/workflow",
+      "CATALOG_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/catalog",
+      "SCHEDULER_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/scheduler",
+      "PEER_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/peers",
+      "DATACENTER_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/datacenter",
+      "COLLABORATIVE_AREA_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/shared",
+      "HOST": "{{ .Values.scheme }}://{{ .Values.host }}",
+      "AUTH_HOST": "{{ .Values.scheme }}://{{ .Values.host }}/auth"
     }
 {{- end }}
diff --git a/opencloud/templates/oc-peer/ingress.yaml b/opencloud/templates/oc-peer/ingress.yaml
index 04ff169..72b376f 100644
--- a/opencloud/templates/oc-peer/ingress.yaml
+++ b/opencloud/templates/oc-peer/ingress.yaml
@@ -8,7 +8,7 @@ spec:
     - web
   routes:                           
     - kind: Rule
-      match:   Host(`{{ .Values.host }}`) && PathPrefix(`/peers`)
+      match: Host(`{{ .Values.host }}`) && PathPrefix(`/peer`)
       priority: 10                    
       services:
       - kind: Service
@@ -27,7 +27,7 @@ kind: Middleware
 metadata:
   name: strip-peer-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/peers"
+  replacePathRegex:
+    regex: ^/peer(.*)
+    replacement: /oc$1
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-scheduler/ingress.yaml b/opencloud/templates/oc-scheduler/ingress.yaml
index e5a7d10..03e8c4f 100644
--- a/opencloud/templates/oc-scheduler/ingress.yaml
+++ b/opencloud/templates/oc-scheduler/ingress.yaml
@@ -27,7 +27,7 @@ kind: Middleware
 metadata:
   name: strip-scheduler-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/scheduler"
+  replacePathRegex:
+    regex: ^/scheduler(.*)
+    replacement: /oc$1
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-shared/ingress.yaml b/opencloud/templates/oc-shared/ingress.yaml
index 391a59b..83c956e 100644
--- a/opencloud/templates/oc-shared/ingress.yaml
+++ b/opencloud/templates/oc-shared/ingress.yaml
@@ -26,7 +26,7 @@ kind: Middleware
 metadata:
   name: strip-shared-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/shared"
+  replacePathRegex:
+    regex: ^/shared(.*)
+    replacement: /oc$1
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-workflow/ingress.yaml b/opencloud/templates/oc-workflow/ingress.yaml
index 9aa79cc..fc0e85e 100644
--- a/opencloud/templates/oc-workflow/ingress.yaml
+++ b/opencloud/templates/oc-workflow/ingress.yaml
@@ -27,7 +27,7 @@ kind: Middleware
 metadata:
   name: strip-workflow-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/workflow"
+  replacePathRegex:
+    regex: ^/workflow(.*)
+    replacement: /oc$1
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/oc-workspace/ingress.yaml b/opencloud/templates/oc-workspace/ingress.yaml
index 598c5e8..015b0a5 100644
--- a/opencloud/templates/oc-workspace/ingress.yaml
+++ b/opencloud/templates/oc-workspace/ingress.yaml
@@ -26,7 +26,7 @@ kind: Middleware
 metadata:
   name: strip-workspace-prefix
 spec:
-  stripPrefix:
-    prefixes:
-      - "/workspace"
+  replacePathRegex:
+    regex: ^/workspace(.*)
+    replacement: /oc$1
 {{- end }}
\ No newline at end of file
diff --git a/opencloud/templates/traefik.yaml b/opencloud/templates/traefik.yaml
index 2ed1868..24b7c92 100644
--- a/opencloud/templates/traefik.yaml
+++ b/opencloud/templates/traefik.yaml
@@ -4,5 +4,5 @@ metadata:
   name: forward-auth
 spec:
   forwardAuth:
-    address: "http://oc-auth-svc.{{ .Release.Namespace }}:8094/oc/forward"
+    address: "http://oc-auth-svc.{{ .Release.Namespace }}:8080/oc/forward"
     trustForwardHeader: true
diff --git a/uninstall_development.sh b/uninstall.sh
similarity index 57%
rename from uninstall_development.sh
rename to uninstall.sh
index 14a207e..2f37120 100755
--- a/uninstall_development.sh
+++ b/uninstall.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-RELEASE_NAME=dev
-RELEASE_NAMESPACE=dev
+RELEASE_NAME=${1:-dev}
+RELEASE_NAMESPACE=${1:-dev}
 
 helm uninstall ${RELEASE_NAME} -n ${RELEASE_NAMESPACE}
diff --git a/upgrade.sh b/upgrade.sh
new file mode 100644
index 0000000..d57e64c
--- /dev/null
+++ b/upgrade.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+RELEASE_NAME=${1:-dev}
+RELEASE_NAMESPACE=${1:-dev}
+
+helm upgrade ${RELEASE_NAME} opencloud -n ${RELEASE_NAMESPACE} --create-namespace -f opencloud/${RELEASE_NAME}-values.yaml
\ No newline at end of file
diff --git a/upgrade_development.sh b/upgrade_development.sh
deleted file mode 100755
index 60349a9..0000000
--- a/upgrade_development.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-RELEASE_NAME=dev
-RELEASE_NAMESPACE=dev
-
-helm upgrade ${RELEASE_NAME} opencloud -n ${RELEASE_NAMESPACE} --create-namespace -f opencloud/dev-values.yaml
diff --git a/upgrade_development_dry_run.sh b/upgrade_development_dry_run.sh
deleted file mode 100755
index a919069..0000000
--- a/upgrade_development_dry_run.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-RELEASE_NAME=dev
-RELEASE_NAMESPACE=dev
-
-helm upgrade ${RELEASE_NAME} opencloud -n ${RELEASE_NAMESPACE} --create-namespace -f opencloud/dev-values.yaml --dry-run  --debug
diff --git a/upgrade_production.sh b/upgrade_production.sh
deleted file mode 100755
index 18ed974..0000000
--- a/upgrade_production.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-RELEASE_NAME=prod
-RELEASE_NAMESPACE=prod
-
-helm upgrade ${RELEASE_NAME} opencloud -n ${RELEASE_NAMESPACE} -f opencloud/prod-values.yaml