diff --git a/Chart.yaml b/Chart.yaml index a4b700c..56c6b0c 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -15,10 +15,10 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.3.0 +version: 1.4.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "6.1.0" +appVersion: "6.2.0" diff --git a/README.md b/README.md index 472c45d..5ccc324 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,21 @@ # ui +A Helm chart for Kubernetes + ![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.1.0](https://img.shields.io/badge/AppVersion-6.1.0-informational?style=flat-square) -A Helm chart for Kubernetes +## About HELX-UI + +HeLx UI provides a configurable user interface for the [HeLx](https://helxplatform.github.io/) platform. +The UI supports access to a concept-based search tool, and scalebale configurable computing environments. +The helm chart in this repo has the configurations necessary for the deployment to work with other components of the HeLx platform. +Configurations support the ui implementation at [HeLx-UI Codebase](https://github.com/helxplatform/helx-ui). + +## CI/CD + +When the main branch of this chart is updated, using Github Actions we send the updated version to helm-charts repo to be indexed and packaged automatically. + +Additionally there is a workflow that allows bumping the chart version, if this is all that is needed to the cooresponding version of the appstore repository. ## Values @@ -17,20 +30,25 @@ A Helm chart for Kubernetes | config.analytics.platform | string | `"google"` | | | config.analytics.token | string | `""` | | | config.appstore_asset_branch | string | `"master"` | | +| config.brand_description | object | `{"html":""}` | Multiline value (4 space indent) with html code describing the deployment, will be displayed on the Workspaces login page | | config.brand_name | string | `""` | | -| config.default_space | string | `"search"` | | +| config.default_space | string | `"search"` | Define landing page when the deployment is loaded. Default is support. Acceptable values: "workspaces", "search", "support" | | config.hidden_result_tabs | string | `""` | | -| config.hidden_support_sections | string | `""` | | -| config.meta.description | string | `"HeLx UI"` | | -| config.meta.title | string | `"HeLx UI"` | | -| config.search.enabled | string | `"true"` | | +| config.login_title | string | `""` | Heading on the Workspaces Login screen. If not set, this will be " Workspaces" | +| config.meta.description | string | `"HeLx UI"` | Page description with a link preview. | +| config.meta.title | string | `"HeLx UI"` | Browser tab title and title on "Workspaces" login page | +| config.search.enabled | string | `"true"` | If search page should show up. This is configured to work with DUG | | config.search.url | string | `"https:\\/\\/helx.renci.org"` | | +| config.support | object | `{"faqs_url":"","help_portal_url":"","user_guide_url":""}` | Support page sections to display. If a link is provided, the corresponding section will be displayed | +| config.support.faqs_url | string | `""` | Link for a page with FAQs. | +| config.support.help_portal_url | string | `""` | Link to portal for submitting tickets/requesting features/reporting bugs | +| config.support.user_guide_url | string | `""` | Link to a page with user instructions on how to use the deployment | | config.tranql_url | string | `"https:\\/\\/helx.renci.org\\/tranql\\/"` | | -| config.workspaces.enabled | string | `"true"` | | +| config.workspaces.enabled | string | `"true"` | Allow Workspaces. | | fullnameOverride | string | `""` | | | image.pullPolicy | string | `"IfNotPresent"` | | | image.repository | string | `"helxplatform/helx-ui"` | | -| image.tag | string | `""` | | +| image.tag | string | `""` | Overrides the image tag whose default is the appVersion supplied in umbrella chart. | | imagePullSecrets | list | `[]` | | | ingress.annotations | object | `{}` | | | ingress.className | string | `""` | | @@ -48,9 +66,9 @@ A Helm chart for Kubernetes | securityContext | object | `{}` | | | service.port | int | `80` | | | service.type | string | `"ClusterIP"` | | -| serviceAccount.annotations | object | `{}` | | -| serviceAccount.create | bool | `true` | | -| serviceAccount.name | string | `""` | | +| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | +| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | +| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | | tolerations | list | `[]` | | ---------------------------------------------- diff --git a/README.md.gotmpl b/README.md.gotmpl new file mode 100644 index 0000000..c4bd640 --- /dev/null +++ b/README.md.gotmpl @@ -0,0 +1,21 @@ +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +## About HELX-UI + +HeLx UI provides a configurable user interface for the [HeLx](https://helxplatform.github.io/) platform. +The UI supports access to a concept-based search tool, and scalebale configurable computing environments. +The helm chart in this repo has the configurations necessary for the deployment to work with other components of the HeLx platform. +Configurations support the ui implementation at [HeLx-UI Codebase](https://github.com/helxplatform/helx-ui). + +## CI/CD + +When the main branch of this chart is updated, using Github Actions we send the updated version to helm-charts repo to be indexed and packaged automatically. + +Additionally there is a workflow that allows bumping the chart version, if this is all that is needed to the cooresponding version of the appstore repository. + +{{ template "chart.valuesSection" . }} + +{{ template "helm-docs.versionFooter" . }} diff --git a/templates/configmap.yaml b/templates/configmap.yaml index e7e309e..df779d4 100644 --- a/templates/configmap.yaml +++ b/templates/configmap.yaml @@ -12,12 +12,16 @@ data: meta_description: {{ .Values.config.meta.description | quote }} appstore_asset_branch: {{ .Values.config.appstore_asset_branch }} brand_name: {{ .Values.config.brand_name }} - hidden_support_sections: {{ .Values.config.hidden_support_sections | quote }} hidden_result_tabs: {{ .Values.config.hidden_result_tabs | quote }} search_enabled: {{ .Values.config.search.enabled | quote }} search_url: '{{ .Values.config.search.url }}' tranql_url: {{ .Values.config.tranql_url | quote }} + login_title: {{ .Values.config.login_title | quote }} + support_help_portal_url: {{ .Values.config.support.help_portal_url | quote }} + support_user_guide_url: {{ .Values.config.support.user_guide_url | quote }} + support_faqs_url: {{ .Values.config.support.faqs_url | quote }} workspaces_enabled: {{ .Values.config.workspaces.enabled | quote }} + brand_desc.html: {{ .Values.config.brand_description.html | nindent 4 }} {{- if and (eq .Values.config.workspaces.enabled "true") (eq .Values.config.search.enabled "false") }} default_space: "workspaces" {{- else if and (eq .Values.config.workspaces.enabled "false") (eq .Values.config.search.enabled "true") }} diff --git a/templates/deployment.yaml b/templates/deployment.yaml index 35f6497..18b2f1b 100644 --- a/templates/deployment.yaml +++ b/templates/deployment.yaml @@ -49,6 +49,10 @@ spec: port: 8080 resources: {{- toYaml .Values.resources | nindent 12 }} + volumeMounts: + - name: branddesc + mountPath: /usr/share/nginx/static/frontend/brand_desc.html + subPath: brand_desc.html env: - name: NODE_ENV value: production @@ -77,11 +81,6 @@ spec: configMapKeyRef: key: appstore_asset_branch name: {{ include "ui.fullname" . }}-config - - name: REACT_APP_HIDDEN_SUPPORT_SECTIONS - valueFrom: - configMapKeyRef: - key: hidden_support_sections - name: {{ include "ui.fullname" . }}-config - name: REACT_APP_HIDDEN_RESULT_TABS valueFrom: configMapKeyRef: @@ -122,6 +121,33 @@ spec: configMapKeyRef: key: meta_description name: {{ include "ui.fullname" . }}-config + - name: REACT_APP_LOGIN_TITLE + valueFrom: + configMapKeyRef: + key: login_title + name: {{ include "ui.fullname" . }}-config + - name: REACT_APP_SUPPORT_HELP_PORTAL_URL + valueFrom: + configMapKeyRef: + key: support_help_portal_url + name: {{ include "ui.fullname" . }}-config + - name: REACT_APP_SUPPORT_USER_GUIDE_URL + valueFrom: + configMapKeyRef: + key: support_user_guide_url + name: {{ include "ui.fullname" . }}-config + - name: REACT_APP_SUPPORT_FAQS_URL + valueFrom: + configMapKeyRef: + key: support_faqs_url + name: {{ include "ui.fullname" . }}-config + volumes: + - name: branddesc + configMap: + name: {{ include "ui.fullname" . }}-config + items: + - key: brand_desc.html + path: brand_desc.html {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} diff --git a/values.yaml b/values.yaml index 7caec35..9bcf990 100644 --- a/values.yaml +++ b/values.yaml @@ -7,7 +7,7 @@ replicaCount: 1 image: repository: helxplatform/helx-ui pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. + # -- Overrides the image tag whose default is the appVersion supplied in umbrella chart. tag: "" imagePullSecrets: [] @@ -15,12 +15,11 @@ nameOverride: "" fullnameOverride: "" serviceAccount: - # Specifies whether a service account should be created + # -- Specifies whether a service account should be created create: true - # Annotations to add to the service account + # -- Annotations to add to the service account annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template + # -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template name: "" podAnnotations: {} @@ -58,9 +57,9 @@ ingress: config: meta: - # These will configure what displays in the browser tab title - # and what shows when a link preview is displayed describing the page. + # -- Browser tab title and title on "Workspaces" login page title: HeLx UI + # -- Page description with a link preview. description: HeLx UI analytics: enabled: false @@ -68,17 +67,30 @@ config: token: "" appstore_asset_branch: "master" brand_name: "" - # If you need to hide the any section on support page, add it in a comma-separated string. (i.e "community, documentation") - # Current sections on support page: - hidden_support_sections: "" hidden_result_tabs: "" search: + # -- If search page should show up. This is configured to work with DUG enabled: "true" url: 'https:\/\/helx.renci.org' tranql_url: 'https:\/\/helx.renci.org\/tranql\/' + # -- Support page sections to display. If a link is provided, the corresponding section will be displayed + support: + # -- Link to portal for submitting tickets/requesting features/reporting bugs + help_portal_url: '' + # -- Link to a page with user instructions on how to use the deployment + user_guide_url: '' + # -- Link for a page with FAQs. + faqs_url: '' workspaces: + # -- Allow Workspaces. enabled: "true" + # -- Define landing page when the deployment is loaded. Default is support. Acceptable values: "workspaces", "search", "support" default_space: "search" + # -- Heading on the Workspaces Login screen. If not set, this will be " Workspaces" + login_title: "" + # -- Multiline value (4 space indent) with html code describing the deployment, will be displayed on the Workspaces login page + brand_description: + html: | resources: {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little