Skip to content

Commit

Permalink
Merge pull request #34 from helxplatform/develop
Browse files Browse the repository at this point in the history
FEAT: Adding configurable options
  • Loading branch information
hina-shah authored Apr 24, 2024
2 parents a9d2952 + 9612327 commit 3fb15ab
Show file tree
Hide file tree
Showing 6 changed files with 110 additions and 29 deletions.
4 changes: 2 additions & 2 deletions Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
40 changes: 29 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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 "<config.meta.title> 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 | `""` | |
Expand All @@ -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 | `[]` | |

----------------------------------------------
Expand Down
21 changes: 21 additions & 0 deletions README.md.gotmpl
Original file line number Diff line number Diff line change
@@ -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" . }}
6 changes: 5 additions & 1 deletion templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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") }}
Expand Down
36 changes: 31 additions & 5 deletions templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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 }}
Expand Down
32 changes: 22 additions & 10 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,19 @@ 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: []
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: {}
Expand Down Expand Up @@ -58,27 +57,40 @@ 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
platform: google
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: <community, documentation>
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 "<config.meta.title> 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
Expand Down

0 comments on commit 3fb15ab

Please sign in to comment.