Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Features for Unity UI #41

Merged
merged 56 commits into from
Nov 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
a7eb37d
Updated apache port to 8080.
anilnatha Jun 25, 2024
51d654c
Updated apache configuration so that Cognito headers are used to set …
anilnatha Jul 22, 2024
bc30dca
Removed AuthenticationWrapper component that is no longer needed.
anilnatha Jul 22, 2024
b26a22f
Reorganized authorization related components and utilities to resolve…
anilnatha Jul 22, 2024
21dff01
Fixed error with building docker image for the UI.
anilnatha Jul 29, 2024
996f45c
Fixed base path references for assets due to running application behi…
anilnatha Jul 29, 2024
821b77c
Modified health slice to account for change to basepath for assets.
anilnatha Jul 30, 2024
dac46f9
Removed config references for the time being from health slice.
anilnatha Jul 30, 2024
f5e3d04
Fix config reference.
anilnatha Jul 30, 2024
dc1df09
Updated domain for cognito cookies for testing.
anilnatha Jul 30, 2024
e6fef74
Updated environment variables and config variables for consistency. A…
anilnatha Aug 2, 2024
71b6405
Updated field names referenced from data from health status data usin…
anilnatha Aug 2, 2024
3487729
Fixed discrepancy with environment variable storing the base_url info…
anilnatha Aug 3, 2024
cc80620
Updated health slice so that health endpoint URL is read from the con…
anilnatha Aug 3, 2024
d29d82b
Renamed base url environment variable to use the term path instead of…
anilnatha Aug 3, 2024
9bf34fe
Fixed branding links to account for proxy path.
anilnatha Aug 3, 2024
598a81f
Removed unneeded navbar links.
anilnatha Aug 3, 2024
42b3d85
Moved gitbook link to end of list of links.
anilnatha Aug 12, 2024
07b1ad1
Updated UI to use Node.js version lts/iron instead of lts/hydrogen.
anilnatha Aug 12, 2024
899ea9a
Updated Typescript package to latest version.
anilnatha Aug 12, 2024
a0a3e08
Updated SASS Node package to latest version.
anilnatha Aug 12, 2024
9f5feec
Updated Axios Node package to latest version.
anilnatha Aug 12, 2024
f7d3800
Updated react-stellar Node package to latest version.
anilnatha Aug 12, 2024
e113d1d
Updated reduxjs/toolkit package to latest version.
anilnatha Aug 12, 2024
6e69b74
Updated react packages to their latest versions.
anilnatha Aug 12, 2024
b0546c8
Removed styled-components and jwt-decode libraries as they are no lon…
anilnatha Aug 12, 2024
bf5bf5f
Updated react-router-dom Node package to latest version.
anilnatha Aug 12, 2024
a4fecfc
Updated react-resiable-panels package to latest version.
anilnatha Aug 12, 2024
ea1538e
Upgraded aggrid packages to their latest versions.
anilnatha Aug 12, 2024
507dbdf
Updated react-helmet-async package to latest version.
anilnatha Aug 12, 2024
e1b511c
Removed crypto-browserify, stream-browserify, and util node packages …
anilnatha Aug 12, 2024
795c57f
Hid "New Job" route and associated link in navbar.
anilnatha Aug 12, 2024
3bc61e5
Commented out route and links related to viewing job monitoring dashb…
anilnatha Aug 12, 2024
a27740f
Removed unnecessary "https" protocol prefixing href URLs in health da…
anilnatha Aug 19, 2024
3c13287
Removed job monitoring and new job links and related files as they ar…
anilnatha Sep 10, 2024
87fe89a
Added styled progress bar to root app to be displayed while fetching …
anilnatha Sep 10, 2024
9a3a496
Added login recipe to Makefile to easily login to locally running con…
anilnatha Sep 10, 2024
fe7c8ed
Updated health dashboard endpoint configuration to use API GW instanc…
anilnatha Sep 16, 2024
7254c55
Updated Health API related code to use the recently migrated Health A…
anilnatha Sep 17, 2024
13bd056
Temporarily disabled minifying code to resolve issue with icons not r…
anilnatha Sep 17, 2024
8c8482f
Commented out instances where we reference Cognito client ID as we do…
anilnatha Sep 17, 2024
365e962
Updated Unity UI version number in package.json.
anilnatha Sep 17, 2024
bf4bfc2
Set build minification to false to temporarily resolve icon rendering…
anilnatha Sep 19, 2024
2bf4556
Added ability to add messaging to navbar menu to accommodate report o…
anilnatha Sep 19, 2024
b9c79a4
Updated styling of error messaging in navbar and updated error messag…
anilnatha Sep 19, 2024
618d3c7
Fixed clicking links issue in navbar menu where empty space couldn't …
anilnatha Sep 19, 2024
ad4c9e7
Added ability to display health api error message on the health dashb…
anilnatha Sep 19, 2024
d42b354
Updated health api error message on health dashboard.
anilnatha Sep 19, 2024
70e2299
Added ability to hard code health items to work around health endpoin…
anilnatha Sep 23, 2024
206b0e9
Added project and venue information to the homepage.
anilnatha Sep 24, 2024
082d73f
Added hard coded path for STAC Browser for the unity-venue-ops and em…
anilnatha Oct 2, 2024
5518c5a
Updated airflow link for emit/dev.
anilnatha Oct 8, 2024
43bbe4a
Added health check URL to health dashboard.
anilnatha Oct 15, 2024
fb73446
Fixed z-index of aggrid header resize
anilnatha Oct 15, 2024
96a414f
Updated changelog.
anilnatha Oct 22, 2024
2ba5358
Updated changelog and application version.
anilnatha Oct 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions .env/.env
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
# GENERAL
VITE_UNITY_UI_VERSION=${npm_package_version}
VITE_ADMIN_EMAIL=ENV_UNITY_UI_ADMIN_EMAIL
VITE_WWW_DOMAIN=ENV_UNITY_UI_WWW_DOMAIN
VITE_BASE_PATH=ENV_UNITY_UI_BASE_PATH
VITE_PROJECT=ENV_UNITY_UI_PROJECT
VITE_VENUE=ENV_UNITY_UI_VENUE

# Auth
VITE_AUTH_OAUTH_CLIENT_ID=ENV_UNITY_UI_AUTH_OAUTH_CLIENT_ID
#VITE_AUTH_OAUTH_CLIENT_ID=ENV_UNITY_UI_AUTH_OAUTH_CLIENT_ID
VITE_AUTH_OAUTH_REDIRECT_URI=ENV_UNITY_UI_AUTH_OAUTH_REDIRECT_URI
VITE_AUTH_OAUTH_LOGOUT_ENDPOINT=ENV_UNITY_UI_AUTH_OAUTH_LOGOUT_ENDPOINT
VITE_AUTH_OAUTH_PROVIDER_URL=ENV_UNITY_UI_AUTH_OAUTH_PROVIDER_URL
VITE_AUTH_APP_ADMIN_GROUP_NAME=ENV_UNITY_UI_AUTH_APP_ADMIN_GROUP_NAME
VITE_AUTH_APP_APP_VIEWER_GROUP_NAME=ENV_UNITY_UI_AUTH_APP_APP_VIEWER_GROUP_NAME

# CS
VITE_HEALTH_API_ENDPOINT=ENV_UNITY_UI_HEALTH_API_ENDPOINT

# ADS
VITE_ADS_URL=ENV_UNITY_UI_ADS_URL

# DS
VITE_STAC_BROWSER_URL=ENV_UNITY_UI_STAC_BROWSER_URL

# SPS
VITE_SPS_WPST_ENDPOINT=ENV_UNITY_UI_SPS_WPST_ENDPOINT
VITE_SPS_WPST_ENDPOINT=ENV_UNITY_UI_SPS_WPST_ENDPOINTVITE_ADMIN_EMAIL
12 changes: 8 additions & 4 deletions .env/.env.docker.example
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
# GENERAL
ENV_UNITY_UI_ADMIN_EMAIL=REPLACE_WITH_ADMIN_EMAIL
ENV_UNITY_UI_WWW_DOMAIN=REPLACE_WITH_UNITY_DOMAIN_NAME
ENV_UNITY_UI_BASE_PATH=REPLACE_WITH_BASE_PATH
ENV_UNITY_UI_PROJECT=REPLACE_WITH_UNITY_PROJECT_NAME
ENV_UNITY_UI_VENUE=REPLACE_WITH_UNITY_VENUE_NAME

# Auth
ENV_UNITY_UI_AUTH_OAUTH_CLIENT_ID=REPLACE_WITH_COGNITO_USER_POOL_CLIENT_ID
#ENV_UNITY_UI_AUTH_OAUTH_CLIENT_ID=REPLACE_WITH_COGNITO_USER_POOL_CLIENT_ID
ENV_UNITY_UI_AUTH_OAUTH_REDIRECT_URI=REPLACE_WITH_URL_OF_APPLICATION_WITH_PORT_IF_NEEDED
ENV_UNITY_UI_AUTH_OAUTH_LOGOUT_ENDPOINT=REPLACE_WITH_COGNITO_DOMAIN/logout
ENV_UNITY_UI_AUTH_OAUTH_PROVIDER_URL=REPLACE_WITH_COGNITO_DOMAIN/oauth2
ENV_UNITY_UI_AUTH_APP_ADMIN_GROUP_NAME=REPLACE_WITH_USER_POOL_ADMIN_GROUP_NAME
ENV_UNITY_UI_AUTH_APP_APP_VIEWER_GROUP_NAME=REPLACE_WITH_USER_PROOL_VIEWER_GROUP_NAME

# CS
ENV_UNITY_UI_HEALTH_API_ENDPOINT=REPLACE_WITH_HEALTH_API_ENDPOINT_URL

# ADS
ENV_UNITY_UI_ADS_URL=REPLACE_WITH_ADS_URL

# DS
VITE_STAC_BROWSER_URL=REPLACE_WITH_STAC_BROWSER_URL

# SPS
ENV_UNITY_UI_SPS_WPST_ENDPOINT=REPLACE_WITH_ADES_WPST_URL
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
lts/hydrogen
lts/iron
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,24 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased (0.6.0)
## Unreleased (0.8.0)
- Added support to report on when health API endpoint is not avaialble in navbar and on health dashboard
- Fixed clickable area of navbar menu items
- Added support to hard code links for projects/venues
- Added health check URL to health dashboard
- Fixed health dashboard column resizer element z-index

## [0.7.0] 2024-09-27
- Updated node version lts/iron
- Added ability to fetch health information from Health API Endpoint for Health Dashboard
- Removed cognito authentication
- Added authorization via httpd proxy
- Removed unneeded navigation links
- Removed job monitoring and new job features
- Added progress bar to be displayed when health information is being fetched
- Various code cleanup and optimization activities

## [0.6.0] (unreleased)
- Added Health Dashboard using static JSON file containing example health information. [#29](https://github.com/unity-sds/unity-ui/issues/29)
- Updated navbar menu so that it is (partially) dynamic. External UI information is loaded via the Health JSON file. [#20](https://github.com/unity-sds/unity-ui/issues/20)

Expand Down
13 changes: 9 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
############################################################
# Code Building Stage

FROM node:lts-hydrogen as builder
FROM node:lts-iron AS builder

RUN apt-get update

Expand All @@ -29,7 +29,7 @@ ENV UNITY_WWW_ROOT=/var/www/unity-ui
ENV ENTRYPOINT_FOLDER=/entrypoint.d

RUN apt-get update \
&& apt-get install -y apache2 \
&& apt-get install -y apache2 libapache2-mod-auth-openidc\
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean

Expand All @@ -38,16 +38,21 @@ WORKDIR ${UNITY_WWW_ROOT}
COPY --from=builder /usr/src/app/dist ./

# Configure apache2
COPY ./etc/apache2/sites-available/unity-ui.conf /etc/apache2/sites-available/
RUN a2enmod headers \
&& a2enmod rewrite \
&& a2enmod setenvif \
&& a2enmod auth_openidc
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
RUN sed -i "s/Listen 80/Listen 8080/g" /etc/apache2/ports.conf
COPY ./etc/apache2/sites-available/unity-ui.conf /etc/apache2/sites-available/
RUN a2dissite 000-default.conf
RUN a2ensite unity-ui.conf

# Copy and set up files needed for container startup
COPY ./entrypoint.d/* ${ENTRYPOINT_FOLDER}/
RUN chmod 777 -R ${ENTRYPOINT_FOLDER}/* && chmod +x -R ${ENTRYPOINT_FOLDER}/*

EXPOSE 80
EXPOSE 8080

# Default process to run on container startup
ENTRYPOINT ["/entrypoint.d/docker-entrypoint.sh"]
Expand Down
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@ destroy-image:
kill:
docker kill ${CONTAINER_NAME}

login:
docker exec -it $(CONTAINER_NAME) /bin/bash

run:
docker run --env-file=./.env/.env.docker -t -i --rm -p 8080:80 --name ${CONTAINER_NAME} ${IMAGE_NAME}
docker run --env-file=./.env/.env.docker -t -i --rm -p 8080:8080 --name ${CONTAINER_NAME} ${IMAGE_NAME}

start:
docker start ${CONTAINER_NAME}
Expand Down
9 changes: 8 additions & 1 deletion etc/apache2/sites-available/unity-ui.conf
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
<VirtualHost *:80>
<VirtualHost *:8080>

ServerName localhost
DocumentRoot /var/www/unity-ui/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SetEnvIf oidc_access_token ^(.*)$ OIDC_ACCESS_TOKEN=$1
SetEnvIf oidc_claim_username ^(.*)$ OIDC_CLAIM_USERNAME=$1
SetEnvIf oidc_claim_email ^(.*)$ OIDC_CLAIM_EMAIL=$1
Header add Set-Cookie oidc_access_token=%{OIDC_ACCESS_TOKEN}e;Domain=${ENV_UNITY_UI_WWW_DOMAIN};Path=/;SameSite=strict;
Header add Set-Cookie oidc_claim_username=%{OIDC_CLAIM_USERNAME}e;Domain=${ENV_UNITY_UI_WWW_DOMAIN};Path=/;SameSite=strict;
Header add Set-Cookie oidc_claim_email=%{OIDC_CLAIM_EMAIL}e;Domain=${ENV_UNITY_UI_WWW_DOMAIN};Path=/;SameSite=strict;

<Directory /var/www/unity-ui/>
Options -Indexes
AllowOverride All
Expand Down
Loading