diff --git a/kubernetes/helm/README.md b/kubernetes/helm/README.md index 7507a2e4c18e9b473753d21993bb3dfbf93a1abe..5cab13c98d0514aa123250386d27629b4fb581a2 100644 --- a/kubernetes/helm/README.md +++ b/kubernetes/helm/README.md @@ -173,8 +173,11 @@ mysql: ## Configure Web UI -In folder `kubernetes/helm/openslice/files/org.etsi.osl.portal.web/src/js` edit the `config.js.default` configuration file with your configuration. +In folder `kubernetes/helm/openslice/files/org.etsi.osl.portal.web/src/js` you must make a copy of `config.js.default` file and rename it to `config.js`. +This is **mandatory** for the configuration file to be discoverable. + +Edit the `config.js` configuration file with your static configuration, if needed. ``` { @@ -189,30 +192,22 @@ In folder `kubernetes/helm/openslice/files/org.etsi.osl.portal.web/src/js` edit } ``` -Example file: -``` -{ - BUGZILLA: "ROOTURL/bugzilla/", - STATUS: "ROOTURL/status/", - APIURL: "http://localhost", - WEBURL: "ROOTURL/nfvportal", - APIOAUTHURL: "ROOTURL/auth/realms/openslice", - APITMFURL: "ROOTURL/tmf-api/serviceCatalogManagement/v4" -} -``` -Rename `config.js.default` to `config.js`. This is **mandatory** for the configuration file to be discoverable. ## Configure TMF Web UI In the folder `kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config` there are 3 files available for configuration: -* config.prod.json (Basic information + API configuration) -* theming.scss (CSS color palette theming) -* config.theming.json (HTML configuration - Logo, Favicon, Footer) +* config.prod.default.json (Basic information + API configuration) +* theming.default.scss (CSS color palette theming) +* config.theming.default.json (HTML configuration - Logo, Favicon, Footer) +You must make a copy of files: -The first 2 files above (i.e. config.prod.json, theming.scss) are essential for the successful deployment of OpenSlice, thus created automatically during the initial deployment at `org.etsi.osl.tmf.web/src/assets/config` directory as a copy of the default ones from the remote repository. +* `config.prod.default.json` and rename it to `config.prod.json` +* `theming.default.scss` and rename it to `theming.scss` + +The 2 files above (i.e. config.prod.json, theming.scss) are essential for the successful deployment of OpenSlice, and executing the above steps is **mandatory** for the configuration files to be discoverable. Ensure that you check the `config.prod.json` and `theming.scss` files and readjust to your deployment if needed. @@ -257,9 +252,9 @@ E.g. You may edit "TITLE", "WIKI", etc properties with your domain title. Also c } ``` -> The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of Openslice, then {BASEURL} is automatically translated to "http://localhost". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. "https://portal.openslice.io". +> The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of OpenSlice, then {BASEURL} is automatically translated to "http://localhost". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. "https://portal.openslice.io". -If further customization, apart from the default provided, is needed for branding (Logo, Footer) then `config.theming.json` needs to be created in io.openslice.tmf.web/src/assets/config directory, as follows: +If further customization, apart from the default provided, is needed for branding (Logo, Footer) then `config.theming.json` needs to be created in kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config directory, as follows: ```bash # Starting from the root project directory @@ -269,8 +264,7 @@ cd kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config ```bash sudo cp config.theming.default.json config.theming.json ``` -> ***IMPORTANT NOTE:*** -If you want to apply changes to the JSON configuration files without the need to rebuild the application, you have to apply the changes at the `org.etsi.osl.tmf.web/dist/io-openslice-portal-web/assets/config` directory. Although, it is <u>mandatory</u> to also apply these changes to the `org.etsi.osl.tmf.web/src/assets/config` for <u>persistancy</u>, as after any future rebuild of OpenSlice the `/dist` directory is being overwritten along with its contents. The OpenSlice team strongly recommends to always apply your changes to the TMF web UI configuration files at `org.etsi.osl.tmf.web/src/assets/config` and rebuild the application. + ### 3. Deploy the Helm Chart @@ -403,6 +397,7 @@ This step is mandatory so as to access the OpenSlice Web UI. To add an OpenSlice > That user is different from the Keycloak admin user. It is required to login and browse the OpenSlice Web UI. The Role ADMIN guarantee full access through the OpenSlice UI, thus such a user is always required. ***IMPORTANT: The following is not currently supported in Kubernetes installation.** + ### Keycloak at localhost > **This is an important step if you run Keycloak on localhost!** diff --git a/kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config/config.theming.default.scss b/kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config/config.theming.default.scss deleted file mode 100644 index 54839f3b7f6ddf66c56ecfac1de0d715e776fb40..0000000000000000000000000000000000000000 --- a/kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config/config.theming.default.scss +++ /dev/null @@ -1,149 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ - -// @import "@angular/material/prebuilt-themes/indigo-pink.css"; - -@import "~@danielmoncada/angular-datetime-picker/assets/style/picker.min.css"; - -/* override bootstrap's 4 blue color */ -$primary: #428bca; -$secondary: #6c6c6c; - -@import "src/assets/config/theming.scss"; - -@import "~bootstrap/scss/bootstrap"; - -// .mat-chip-list-wrapper { -// flex-wrap: nowrap !important; -// } - -.mat-chip { - overflow: unset !important; - white-space: nowrap !important; -} - -* { - font-family: 'Open Sans', sans-serif; - font-weight: 300; -} - -h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 { - font-weight: 300 !important; -} - -.btn { - font-weight: 300 !important; -} - -.shadowed { - text-shadow: 4px 4px 6px #aaa; -} - -.shadowed-dark{ - text-shadow: 4px 4px 6px #513838; -} - -.universal-tooltip { - font-size: .9rem; - // width: 450px; -} - -mat-form-field.white-background .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-outline { - background-color: #fff; - border-radius: 5px -} - -mat-form-field { - width: 100%; -} - -.jumbotron.jumbotron-small.jumbotron-list-container { - min-height: 345px; -} - - -.card.card-paper { - border-radius: 12px; - box-shadow: 0 6px 10px -4px rgba(0,0,0,.15); - background-color: #fff; - color: #252422; - margin-bottom: 20px; - position: relative; - border: 0; - transition: box-shadow .2s ease,-webkit-transform .3s cubic-bezier(.34,2,.6,1); - transition: transform .3s cubic-bezier(.34,2,.6,1),box-shadow .2s ease; - transition: transform .3s cubic-bezier(.34,2,.6,1),box-shadow .2s ease,-webkit-transform .3s cubic-bezier(.34,2,.6,1); -} - -.card.card-paper .card-header { - // padding: 15px 15px 0; - padding: 15px; - // border: 0; -} - -.card.card-paper .card-body { - padding: 15px 15px 0px; -} - -.card.card-paper .card-footer { - padding: 0px 15px 15px; - border: 0; - background: transparent; -} - -.card-stats { - font-size: .9rem; -} - -.card-stats i { - font-size: .8em; -} - -.filter-container mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper { - padding: 0; -} - -.table.table-generic { - margin-bottom: 0; - // border: 1px solid #ddd; - // font-family:inherit; -} - -.table.table-generic th { - padding: .5rem; - font-weight: 600; - font-size: 0.9rem; -} - -.table.table-generic td { - vertical-align: middle; - padding: .5rem -} - -.mat-paginator { - font-weight: 600; -} - -mat-panel-title { - font-weight: bold; -} - -.nav-link.active mat-checkbox .mat-checkbox-layout .mat-checkbox-inner-container .mat-checkbox-frame { - border-color:#fff -} - -.nav-link mat-checkbox label { - margin-bottom: 0 ; -} - -.minh-30vh { - min-height: 30vh; -} - -html, body { height: 100%; } -body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } - -@media screen and (min-width: 576px) { - .jumbotron.jumbotron-small { - padding: 2rem; - } - } \ No newline at end of file diff --git a/kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config/theming.default.scss b/kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config/theming.default.scss new file mode 100644 index 0000000000000000000000000000000000000000..8e515db3e922c32fc2bbf203e8be8f8a1af0d2dc --- /dev/null +++ b/kubernetes/helm/openslice/files/org.etsi.osl.tmf.web/src/assets/config/theming.default.scss @@ -0,0 +1,22 @@ +/* Default theme */ + +$primary: #428bca; +$secondary: #6c6c6c; + +/* ------------------------------ */ +/* Predefined palette 1 theme */ + +/* $primary: rgba(0,45,126); */ +/* $secondary: #6c6c6c; */ + +/* ------------------------------ */ +/* Predefined palette 2 theme */ + +/* $primary: rgba(255, 124, 0); */ +/* $secondary: #6c6c6c; */ + +/* ------------------------------ */ +/* Predefined palette 3 theme */ + +/* $primary: rgba(247,1, 2); */ +/* $secondary: #6c6c6c; */ diff --git a/kubernetes/helm/openslice/templates/cridge.yaml b/kubernetes/helm/openslice/templates/cridge.yaml index 5ddf1aa057cc50742810f3d6b9807b36645cf377..f65c1ade77f1d83bba1dd56a54d153962a513792 100644 --- a/kubernetes/helm/openslice/templates/cridge.yaml +++ b/kubernetes/helm/openslice/templates/cridge.yaml @@ -40,7 +40,7 @@ spec: "spring.activemq.user": "{{ .Values.oscreds.activemq.user }}", "spring.activemq.password": "{{ .Values.oscreds.activemq.password }}", "logging.level.org.springframework" : "{{ .Values.spring.logLevel | default "INFO" }}", - "logging.level.org.etsi.osl.cridge" : "{{ .Values.cridge.logLevel | default "DEBUG" }}" + "logging.level.org.etsi.osl.cridge" : "{{ .Values.cridge.logLevel | default "INFO" }}" } resources: {{- toYaml .Values.resources | nindent 12 }} diff --git a/kubernetes/helm/openslice/templates/tmfweb-config.yaml b/kubernetes/helm/openslice/templates/tmfweb-config.yaml index 89a772799a3aa727afd0f51538c3e1617996c774..f0354e76b6759dc079bf83c55bf2902ebbbba46d 100644 --- a/kubernetes/helm/openslice/templates/tmfweb-config.yaml +++ b/kubernetes/helm/openslice/templates/tmfweb-config.yaml @@ -13,5 +13,5 @@ data: {{- .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 }} + theming.scss: | + {{- .Files.Get "files/org.etsi.osl.tmf.web/src/assets/config/theming.scss" | nindent 4 }} diff --git a/kubernetes/helm/openslice/values.yaml b/kubernetes/helm/openslice/values.yaml index 0298ecb92ababd27629089d70a5b75b43affa54a..9e602b1fd12010d8ffb7860ce6b1d2c7786706e2 100644 --- a/kubernetes/helm/openslice/values.yaml +++ b/kubernetes/helm/openslice/values.yaml @@ -81,7 +81,7 @@ image: pullPolicy: Always # Overrides the image tag whose default is the chart appVersion. tag: "develop" - logLevel: DEBUG + logLevel: INFO bugzillaurl: example.com:443/bugzilla bugzillakey: VH2Vw0iI5aYgALFFzVDWqhACwt6Hu3bXla9kSC1Z @@ -117,7 +117,7 @@ mysql: storage: 10Gi cridge: - mode: "DEBUG" + mode: "INFO" # Storage class to be used for provisioning. Default is manual # storageClass: ~