Skip to content
Snippets Groups Projects
Commit 857d5886 authored by trantzas's avatar trantzas
Browse files

Merge branch '16-expose-all-configurable-parameters-during-kubernetes-deployment' into 'develop'

Resolve "Expose all configurable parameters during Kubernetes deployment"

See merge request !29
parents b51a6f5a e2f9eec9
No related branches found
No related tags found
3 merge requests!34Merging develop (merged from 2024Q2_RC) into main creating for 2024Q2 Release,!33Merging 2024Q2_RC into main creating for 2024Q2 Release,!29Resolve "Expose all configurable parameters during Kubernetes deployment"
Pipeline #6241 passed
Showing
with 76 additions and 187 deletions
......@@ -27,6 +27,7 @@ spec:
spec:
containers:
- image: "{{ .Values.image.mysql.repository }}:{{ .Values.image.mysql.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.mysql.pullPolicy | default "Always" }}
name: {{ include "openslice.fullname" . }}-mysql
args:
- "--ignore-db-dir=lost+found"
......
......@@ -34,6 +34,7 @@ spec:
hostNetwork: {{ .Values.hostNetwork }}
containers:
- image: "{{ .Values.image.oasapi.repository }}:{{ .Values.image.oasapi.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.oasapi.pullPolicy | default "Always" }}
name: {{ .Release.Name }}-oasapi
env:
- name: SPRING_APPLICATION_JSON
......@@ -54,7 +55,7 @@ spec:
"spring.activemq.brokerUrl": "tcp://{{ include "openslice.fullname" . }}-artemis:61616?jms.watchTopicAdvisories=false",
"spring.activemq.user": "{{ .Values.oscreds.activemq.user }}",
"spring.activemq.password": "{{ .Values.oscreds.activemq.password }}",
"logging.level.org.springframework" : "INFO"
"logging.level.org.springframework" : "{{ .Values.spring.logLevel | default "INFO" }}"
}
resources:
{{- toYaml .Values.resources | nindent 12 }}
......
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
metadata:
namespace: {{ .Release.Namespace }}
labels:
app: {{ include "openslice.fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- include "openslice.labels" . | nindent 4 }}
annotations:
{{- toYaml .Values.ingress.annotations | nindent 4 }}
name: {{ include "openslice.fullname" . }}-openslice-ingress
spec:
ingressClassName: nginx
rules:
- http:
paths:
{{- $root := . }} # Preserve the root context
{{- range .Values.ingress.paths }}
- pathType: Prefix
path: "/tmf-api"
path: "{{ .path }}"
backend:
service:
name: {{ include "openslice.fullname" . }}-osscapi
name: {{ include "openslice.fullname" $root }}-{{ .service }}
port:
number: 13082
- pathType: Prefix
path: "/oas-api"
backend:
service:
name: {{ include "openslice.fullname" . }}-oasapi
port:
number: 13101
- pathType: Prefix
path: "/auth"
backend:
service:
name: {{ include "openslice.fullname" . }}-keycloak
port:
number: 8080
- pathType: Prefix
path: "/osapi"
backend:
service:
name: {{ include "openslice.fullname" . }}-osportalapi
port:
number: 13000
- pathType: Prefix
path: "/nfvportal"
backend:
service:
name: {{ include "openslice.fullname" . }}-portalweb
port:
number: 80
- pathType: Prefix
path: "/"
backend:
service:
name: {{ include "openslice.fullname" . }}-tmfweb
port:
number: 80
number: {{ .port }}
{{- end }}
......@@ -26,6 +26,7 @@ spec:
spec:
containers:
- image: "{{ .Values.image.osom.repository }}:{{ .Values.image.osom.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.osom.pullPolicy | default "Always" }}
name: {{ include "openslice.fullname" . }}-osom
env:
- name: SPRING_APPLICATION_JSON
......@@ -34,7 +35,7 @@ spec:
"spring.activemq.brokerUrl": "tcp://{{ include "openslice.fullname" . }}-artemis:61616?jms.watchTopicAdvisories=false",
"spring.activemq.user": "{{ .Values.oscreds.activemq.user }}",
"spring.activemq.password": "{{ .Values.oscreds.activemq.password }}",
"logging.level.org.springframework" : "INFO"
"logging.level.org.springframework" : "{{ .Values.spring.logLevel | default "INFO" }}"
}
resources:
{{- toYaml .Values.resources | nindent 12 }}
......
......@@ -35,6 +35,7 @@ spec:
command: ['sh', '-c', "until nslookup {{ include "openslice.fullname" . }}-mysql; do echo waiting for mysql; sleep 2; done"]
containers:
- image: "{{ .Values.image.portalapi.repository }}:{{ .Values.image.portalapi.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.portalapi.pullPolicy | default "Always" }}
name: {{ include "openslice.fullname" . }}-osportalapi
env:
- name: SPRING_APPLICATION_JSON
......@@ -55,7 +56,7 @@ spec:
"spring.activemq.brokerUrl": "tcp://{{ include "openslice.fullname" . }}-artemis:61616?jms.watchTopicAdvisories=false",
"spring.activemq.user": "{{ .Values.oscreds.activemq.user }}",
"spring.activemq.password": "{{ .Values.oscreds.activemq.password }}",
"logging.level.org.springframework" : "INFO"
"logging.level.org.springframework" : "{{ .Values.spring.logLevel | default "INFO" }}"
}
resources:
{{- toYaml .Values.resources | nindent 12 }}
......
......@@ -34,6 +34,7 @@ spec:
command: ['sh', '-c', "until nslookup {{ include "openslice.fullname" . }}-mysql; do echo waiting for mysql; sleep 2; done"]
containers:
- image: "{{ .Values.image.osscapi.repository }}:{{ .Values.image.osscapi.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.osscapi.pullPolicy | default "Always" }}
name: {{ include "openslice.fullname" . }}-osscapi
env:
- name: SPRING_APPLICATION_JSON
......@@ -55,7 +56,7 @@ spec:
"spring.activemq.brokerUrl": "tcp://{{ include "openslice.fullname" . }}-artemis:61616?jms.watchTopicAdvisories=false",
"spring.activemq.user": "{{ .Values.oscreds.activemq.user }}",
"spring.activemq.password": "{{ .Values.oscreds.activemq.password }}",
"logging.level.org.springframework":"INFO",
"logging.level.org.springframework": "{{ .Values.spring.logLevel | default "INFO" }}",
"kroki.serverurl":"{{ .Values.rooturl }}/kroki"
}
resources:
......
kind: ConfigMap
apiVersion: v1
metadata:
name: {{ include "openslice.fullname" . }}-portalweb-config-nginx
namespace: {{ .Release.Namespace }}
labels:
app: {{ include "openslice.fullname" . }}
org.etsi.osl.service: portalweb
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- include "openslice.labels" . | nindent 4 }}
data:
default.conf: |+
# Expires map
map $sent_http_content_type $expires {
default off;
text/html epoch;
text/css max;
application/json max;
application/javascript max;
~image/ max;
}
server {
listen 80;
include /etc/nginx/mime.types;
server_name {{ .Values.rooturl }};
location / {
root /usr/share/nginx/html/;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
expires $expires;
gzip on;
}
......@@ -9,5 +9,6 @@ metadata:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- include "openslice.labels" . | nindent 4 }}
data:
config.js: "var appConfig = angular.module('portalwebapp.config',[]);\n\n\nappConfig.factory('APIEndPointService', function() {\n\t return {\t \n\t\tTITLE: \"Openslice demo\",\n\t\tWIKI: \"{{ .Values.rooturl }}\",\n\t\tBUGZILLA: \"{{ .Values.rooturl }}/bugzilla/\",\n\t\tSTATUS: \"{{ .Values.rooturl }}/\",\n\t\tAPIURL: \"{{ .Values.rooturl }}\",\n\t\tWEBURL: \"{{ .Values.rooturl }}/nfvportal\",\n\t\tAPIOAUTHURL: \"{{ .Values.rooturl }}/auth/realms/openslice\",\n\t\tAPITMFURL: \"{{ .Values.rooturl }}/tmf-api/serviceCatalogManagement/v4\"\n\t\t\n\t };\n});\n\n\n"
config.js: |
{{- tpl (.Files.Get "files/org.etsi.osl.portal.web/src/js/config.js") . | nindent 4 }}
\ No newline at end of file
......@@ -27,6 +27,7 @@ spec:
hostNetwork: {{ .Values.hostNetwork }}
containers:
- image: "{{ .Values.image.portalweb.repository }}:{{ .Values.image.portalweb.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.portalweb.pullPolicy | default "Always" }}
name: {{ include "openslice.fullname" . }}-portalweb
resources:
{{- toYaml .Values.resources | nindent 12 }}
......@@ -36,17 +37,15 @@ spec:
- name: portalweb-configuration
mountPath: /usr/share/nginx/html/nfvportal/js/config.js
subPath: config.js
- name: portalweb-configuration-nginx
readOnly: true
mountPath: "/etc/nginx/conf.d"
readinessProbe:
httpGet:
path: /tmf-api/serviceCatalogManagement/v4
port: 80
volumes:
- name: portalweb-configuration
configMap:
name: {{ include "openslice.fullname" . }}-portalweb-config
defaultMode: 420
- name: portalweb-configuration-nginx
configMap:
name: {{ include "openslice.fullname" . }}-portalweb-config-nginx
restartPolicy: Always
---
apiVersion: v1
......
kind: ConfigMap
apiVersion: v1
metadata:
namespace: {{ .Release.Namespace }}
labels:
app: {{ include "openslice.fullname" . }}
org.etsi.osl.service: tmfweb
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- include "openslice.labels" . | nindent 4 }}
name: {{ include "openslice.fullname" . }}-tmfweb-config-nginx
data:
default.conf: |+
# Expires map
map $sent_http_content_type $expires {
default off;
text/html epoch;
text/css max;
application/json max;
application/javascript max;
~image/ max;
}
server {
listen 80;
include /etc/nginx/mime.types;
server_name {{ .Values.rooturl }};
location / {
root /usr/share/nginx/html/services;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
expires $expires;
gzip on;
}
......@@ -9,44 +9,9 @@ metadata:
{{- include "openslice.labels" . | nindent 4 }}
name: {{ include "openslice.fullname" . }}-tmfweb-config
data:
config.prod.json: |+
{
"TITLE": "Openslice demo",
"PORTALVERSION":"2023-Q3 1.2.0-SNAPSHOT",
"WIKI": "https://openslice.readthedocs.io/en/stable/",
"BUGZILLA": "{BASEURL}/bugzilla/",
"STATUS": "{{ .Values.rooturl }}/",
"WEBURL": "{BASEURL}",
"PORTAL_REPO_APIURL": "{BASEURL}/osapi",
"ASSURANCE_SERVICE_MGMT_APIURL": "{BASEURL}/oas-api",
"APITMFURL": "{BASEURL}/tmf-api",
"OAUTH_CONFIG" : {
"issuer": "{BASEURL}/auth/realms/openslice",
"loginUrl": "{BASEURL}/auth/realms/openslice/protocol/openid-connect/auth",
"tokenEndpoint": "{BASEURL}/auth/realms/openslice/protocol/openid-connect/token",
"redirectUri": "{BASEURL}/redirect",
"logoutUrl": "{BASEURL}/auth/realms/openslice/protocol/openid-connect/logout",
"postLogoutRedirectUri": "{BASEURL}",
"responseType": "code",
"oidc": false,
"clientId": "osapiWebClientId",
"dummyClientSecret": "secret",
"requireHttps": false,
"useHttpBasicAuth": true,
"clearHashAfterLogin": false,
"showDebugInformation": true
}
}
config.theming.json: |+
{
"THEME_ID":"default",
"DEPLOYMENT_LOGO_PATH":"assets/images/logo_clear.png",
"DEFAULT_SERVICE_LOGO_PATH":"assets/images/logo_icon_original.png",
"FAVICON_PATH":"favicon.ico",
"WHO_WE_ARE_HTML":"<address class='font-weight-light'><span class='font-weight-bold'>openslice.io project</span> | <a href='http://openslice.io/' class='text-white'>openslice.io</a><br>openslice.io an opensource OSS</address><address class='font-weight-light'><span class='font-weight-bold'>Openslice demo</span> | <a href='http://portal.openslice.io' class='text-white'>http://portal.openslice.io</a><br>A portal that allows 5G experimenters to deploy experiment descriptors towards the infrastructure.</address><address class='font-weight-light'><span class='font-weight-bold'>Openslice demo wiki</span> | <a href='https://openslice.readthedocs.io/en/stable/' class='text-white'>https://openslice.readthedocs.io/en/stable/</a><br>A wiki containing project documentation.</address><address class='font-weight-light'><span class='font-weight-bold'>Openslice demo Report Issues</span> | <a href='http://portal.openslice.io/bugzilla/' class='text-white'>http://portal.openslice.io/bugzilla/</a><br>Our issue tracking system.</address>",
"CONNECT_WITH_US_HTML":"<div class='col-xs-12 col-sm-6 col-md-3'><div><a href='https://twitter.com/OpensliceOSS' class='font-weight-light text-white'><i class='fab fa-twitter mr-2'></i>Twitter</a></div></div><div class='col-xs-12 col-sm-6 col-md-3'><div><a href='https://openslice.slack.com/' class='font-weight-light text-white'><i class='fab fa-slack mr-2'></i>Slack</a></div></div>",
"FOOTER_HTML":"<div class='row align-items-center'><div class='col-md-2'><img src='assets/images/eu-commission.png' /></div><div class='col-md-10 font-weight-light'>openslice.io has received funding from<div class='font-weight-light'>5GinFIRE | https://5ginfire.eu/ project from the European Horizon 2020 Programme for research, technological development and demonstration under grant agreement number 732497.</div><div class='font-weight-light'>5G-VINNI project | https://5g-vinni.eu/ 5G-VINNI project has received funding from the European Horizon 2020 Programme for research, technological development and demonstration under grant agreement number 815279</div><div class='font-weight-light'>Openslice demo running openslice.io version 1.1.0-SNAPSHOT| <a href='https://openslice.io/data-protection-declaration/' class='font-weight-light'>Data Protection Declaration</a> | &copy; 2019-2021 on behalf of <a target='_blank' href='http://openslice.io/' title='openslice.io' class='font-weight-light'>openslice.io</a></div></div></div>"
}
config.prod.json: |
{{- .Files.Get "files/org.etsi.osl.tmf.web/src/assets/config/config.prod.json" | nindent 4 }}
config.theming.json: |
{{- .Files.Get "files/org.etsi.osl.tmf.web/src/assets/config/config.theming.json" | nindent 4 }}
config.theming.scss: |
{{- .Files.Get "files/org.etsi.osl.tmf.web/src/assets/config/config.theming.scss" | nindent 4 }}
......@@ -27,6 +27,7 @@ spec:
hostNetwork: {{ .Values.hostNetwork }}
containers:
- image: "{{ .Values.image.tmfweb.repository }}:{{ .Values.image.tmfweb.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.tmfweb.pullPolicy | default "Always" }}
name: {{ include "openslice.fullname" . }}-tmfweb
resources:
{{- toYaml .Values.resources | nindent 12 }}
......@@ -36,16 +37,10 @@ spec:
- name: "tmfweb-configuration"
readOnly: true
mountPath: "/usr/share/nginx/html/services/assets/config"
- name: "tmfweb-configuration-nginx"
readOnly: true
mountPath: "/etc/nginx/conf.d"
volumes:
- name: "tmfweb-configuration"
configMap:
name: {{ include "openslice.fullname" . }}-tmfweb-config
- name: "tmfweb-configuration-nginx"
configMap:
name: {{ include "openslice.fullname" . }}-tmfweb-config-nginx
restartPolicy: Always
---
apiVersion: v1
......
......@@ -7,72 +7,77 @@ replicaCount: 1
image:
artemis:
repository: apache/activemq-artemis
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "2.30.0"
blockdiag:
repository: yuzutech/kroki-blockdiag
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "latest"
bugzilla:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.bugzilla
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
centrallog:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.centrallog.service
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
keycloak:
repository: jboss/keycloak
pullPolicy: IfNotPresent
repository: quay.io/keycloak/keycloak
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "16.1.1"
kroki:
repository: yuzutech/kroki
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "latest"
manoclient:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.mano
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
osom:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.osom
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
portalapi:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.portal.api
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
osscapi:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.tmf.api
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
mysql:
repository: mysql
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "5.7.43"
oasapi:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.oas
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
portalweb:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.portal.web
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
tmfweb:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.tmf.web
pullPolicy: IfNotPresent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
cridge:
repository: labs.etsi.org:5050/osl/code/org.etsi.osl.cridge
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "develop"
......@@ -102,10 +107,14 @@ oscreds:
spring:
oauthClientSecret: secret
loglevel: INFO
mysql:
storage: 10Gi
cridge:
mode: "DEBUG"
# Storage class to be used for provisioning. Default is manual
# storageClass: ~
......@@ -142,8 +151,25 @@ service:
port: 80
ingress:
host: chart-example.local
enabled: false
paths:
- path: "/tmf-api"
service: "osscapi"
port: 13082
- path: "/oas-api"
service: "oasapi"
port: 13101
- path: "/auth"
service: "keycloak"
port: 8080
- path: "/osapi"
service: "osportalapi"
port: 13000
- path: "/nfvportal"
service: "portalweb"
port: 80
- path: "/"
service: "tmfweb"
port: 80
annotations: {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment