Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
269 commits
Select commit Hold shift + click to select a range
dc4bea9
Approve repo membership requests
slacmshankar Jun 29, 2022
c837701
Request user account.
slacmshankar Jun 30, 2022
ea3470e
Clean up a bit
slacmshankar Jul 11, 2022
4b40c70
Approve user account
slacmshankar Jul 11, 2022
7ef43c6
Display clusters and storage in facilities tab
slacmshankar Jul 13, 2022
4a59f0a
Consistent units for allocation.
slacmshankar Jul 13, 2022
d151034
SLAC branding. Also, specify facility and repo on new user
slacmshankar Jul 21, 2022
70b91a8
chore: add hypen to name
yee379 Jul 26, 2022
3509830
feat: k8s stuff
yee379 Jul 26, 2022
dfa3c37
fix: oddball nav menu
yee379 Jul 29, 2022
0100775
Support for impersonation - v1
slacmshankar Aug 12, 2022
766d893
Clean up the facilities page
slacmshankar Aug 13, 2022
1b8702a
Some UI cleanup for the repo/users tab
slacmshankar Aug 13, 2022
23bec22
Some work on creating access groups
slacmshankar Aug 14, 2022
5060d8a
serviceaccount and servicegroup
slacmshankar Aug 15, 2022
d7f92ef
Merge branch 'main' of github.com:slaclab/coactui into main
yee379 Aug 15, 2022
ead465b
Merge branch 'main' of github.com:slaclab/coactui into main
yee379 Aug 15, 2022
06e1f77
UI changes for register user pages
slacmshankar Aug 15, 2022
ffe232a
Request new repo
slacmshankar Oct 7, 2022
2fbd1b2
Remove the repo select from the new user account modal
slacmshankar Oct 12, 2022
ce387da
My Profile page
slacmshankar Oct 12, 2022
a8ab213
Before the Oct 25 meeting
slacmshankar Oct 19, 2022
ba648b9
Various items from the first review meeting
slacmshankar Oct 26, 2022
d07f135
Stop impersonation
slacmshankar Nov 21, 2022
587f141
Route /login to /myprofile
slacmshankar Nov 21, 2022
8737847
Use a consistent tab for users and groups
slacmshankar Nov 21, 2022
1bcca2e
Various UI changes
slacmshankar Nov 21, 2022
db92d1e
Change gid_number to gidnumber
slacmshankar Nov 22, 2022
24ed0a8
Create new access groups
slacmshankar Nov 22, 2022
c563646
Various UI changes for users and groups
slacmshankar Nov 22, 2022
9327148
Clean up some imports
slacmshankar Nov 22, 2022
e54e4f3
Landing page version 1
slacmshankar Dec 2, 2022
74ac30b
Redirect login to register
slacmshankar Dec 3, 2022
61c7902
fix: parse isImpersonating without error
yee379 Dec 6, 2022
794616c
feat: strip landing page to minimum
yee379 Dec 6, 2022
de50ec1
fix: merge routes for landing page
yee379 Dec 6, 2022
dfde4e9
fix: disable nav links if user not logged in
yee379 Dec 6, 2022
f0db403
chore: fix version
yee379 Dec 6, 2022
fb65682
feat: build and install
yee379 Dec 6, 2022
03e20c8
feat: add buttons for login
yee379 Dec 6, 2022
a4a5892
fix: footer location on landingpage
yee379 Dec 6, 2022
d7dc8d5
fix: make slac logo smaller and aligned
yee379 Dec 6, 2022
082eccd
Landing page picks up styles.
slacmshankar Dec 6, 2022
5dbac46
fix: slac logo
yee379 Dec 6, 2022
2ca6722
feat: change card titles to headers
yee379 Dec 6, 2022
7cf2bfd
feat: small text changes
yee379 Dec 6, 2022
7ead228
feat: changed purchased to acquired
yee379 Dec 6, 2022
52068c6
Revert "Landing page picks up styles."
slacmshankar Dec 6, 2022
13755f0
feat: add left margin to slac logo
yee379 Dec 6, 2022
3ccf758
Merge branch 'main' of github.com:slaclab/coactui
yee379 Dec 6, 2022
1ddcfbb
revert: add left margin to slac logo
yee379 Dec 6, 2022
8a88392
Attempt 2 for landing page
slacmshankar Dec 6, 2022
bf11431
Add the register route back in.
slacmshankar Dec 7, 2022
141d3bc
In /register, if the user is already registered, redirect to myprofile
slacmshankar Dec 7, 2022
2136f18
No top nav bar if user is not registered
slacmshankar Dec 7, 2022
bdda1e6
Switch to the post registration page after submitting the registratio…
slacmshankar Dec 7, 2022
d2f9c62
Remove Formik from register page
slacmshankar Dec 8, 2022
023b08d
Refactor repo tabs for Users+Groups+Compute+Storage
slacmshankar Dec 9, 2022
4f2aeae
Remove repo from import
slacmshankar Dec 9, 2022
ccc960a
Toolbars based on child tabs
slacmshankar Dec 12, 2022
9e1b70a
More toobar btns based on child tabs
slacmshankar Dec 12, 2022
f20f4a8
Some CSS fixes
slacmshankar Dec 12, 2022
a2ac052
feat: change landing page logo to rocket
yee379 Dec 14, 2022
f55758d
feat: add logout redirect
yee379 Dec 14, 2022
281849f
No longer need repousage
slacmshankar Dec 13, 2022
91f202b
Submit on enter fn
slacmshankar Dec 14, 2022
f2ef27e
Control active key for repos tab manually
slacmshankar Dec 14, 2022
a5acae3
Repos always goes to users
slacmshankar Dec 14, 2022
097bb66
Auto focus for impersonate
slacmshankar Dec 16, 2022
587b468
Fix modal widths for new repo
slacmshankar Jan 5, 2023
7a3feea
Don't show buttons for my requests
slacmshankar Jan 5, 2023
ee95f8d
Two prec for usage in profile
slacmshankar Jan 6, 2023
5c44db4
Small changes to my profile
slacmshankar Jan 9, 2023
d1f6d96
Some minor changes from the recent meeting
slacmshankar Jan 10, 2023
1d250f1
Change labels for requests
slacmshankar Jan 11, 2023
0df1b88
Add a reason for rejection of requests.
slacmshankar Jan 11, 2023
130eb38
Add repo to create access group mutation
slacmshankar Jan 17, 2023
d77b619
Show all repos for czars.
slacmshankar Jan 17, 2023
b21bbd4
Change SDF to S3DF in all the labels
slacmshankar Jan 18, 2023
98e306d
Lazy load user names only when the impersonate dialog is shown
slacmshankar Jan 18, 2023
3327dc6
Change SDFRequest to CoactRequest
slacmshankar Jan 19, 2023
2cc12ed
Add button for refiring request
slacmshankar Jan 21, 2023
68abde9
Audittrails version 1
slacmshankar Jan 23, 2023
58d6921
Change mutation changeUserShell to userChangeShell
slacmshankar Jan 27, 2023
a41ced7
Consistent nounVerb names for mutations
slacmshankar Jan 27, 2023
92e84fd
Temporarily disable repos, user storage requests and public html.
slacmshankar Feb 6, 2023
d7ceb99
Show completed and incomplete status for requests
slacmshankar Feb 6, 2023
390ac5b
URL's for request tabs
slacmshankar Feb 7, 2023
bc2dacb
Bug fix for request tabs
slacmshankar Feb 7, 2023
77164a4
Unset request tabs using componentWillUnmount
slacmshankar Feb 7, 2023
55743fa
Add/remove czar for facility
slacmshankar Feb 7, 2023
315fc62
Use the facilitiesIManage method for facilities
slacmshankar Feb 7, 2023
9e97bc1
Czars can register/approve new user accounts in their facility.
slacmshankar Feb 7, 2023
a348d84
Don't show the facilities tab if we are impersonating
slacmshankar Feb 7, 2023
c16267c
Support for PreApproved UserAccounts
slacmshankar Feb 7, 2023
d528163
fix: typo
yee379 Feb 8, 2023
638d54e
fix: Requests tab
yee379 Feb 8, 2023
a222032
Merge branch 'main' of github.com:slaclab/coactui
yee379 Feb 8, 2023
c5cfb88
breaking: remove home storage usage
yee379 Feb 8, 2023
10d2ca9
Performance and validation for preapprovals.
slacmshankar Feb 9, 2023
2e6fe22
Use performant search and add for repos as well
slacmshankar Feb 10, 2023
8321292
Rename server side search and add to SearchAndAdd
slacmshankar Feb 10, 2023
3fd4f4c
Turn repos back on.
slacmshankar May 1, 2023
a42cb9e
Only leaders can change access groups
slacmshankar May 11, 2023
c594aa6
Support for repos with the same name but in different facilities
slacmshankar May 11, 2023
ce299be
Users can be invited to multiple facilities
slacmshankar May 23, 2023
880ad24
Compute requirement
slacmshankar May 30, 2023
e818ae6
Mark preapproved as being approved.
slacmshankar Jun 12, 2023
71c917f
Add buttons for changing compute requirement.
slacmshankar Jun 15, 2023
ee8a278
Update the UI when the mutation completes.
slacmshankar Jun 16, 2023
bb0ba35
Repo membership needs to have a fcility
slacmshankar Jun 19, 2023
cfd201b
Show details for ChangeComputeRequirement
slacmshankar Jun 20, 2023
8480619
Refactor the requests page.
slacmshankar Jun 21, 2023
6346ed5
Refactor the requests tab
slacmshankar Jun 21, 2023
05af1f6
For new repo and repo memberships, only allow for facilities that the…
slacmshankar Aug 17, 2023
a722f28
All statuses in the requests filter
slacmshankar Aug 17, 2023
7bb927a
Add a "User as of"
slacmshankar Aug 17, 2023
32062d9
bugfix: corrected S3DF user static site URL reported in Coact profile.
Aug 23, 2023
ce9e5b5
Merge pull request #1 from slaclab/fix_public_html_url
yee379 Aug 23, 2023
a9ba360
Admins can request repos in all facilities
slacmshankar Aug 25, 2023
fd779ce
Change "Please select" to All
slacmshankar Sep 1, 2023
28734c0
Enable request for changing user shell
slacmshankar Sep 1, 2023
e2707f0
Support for adding and editing facility purchases
slacmshankar Sep 6, 2023
dc372e1
Support for public HTML
slacmshankar Sep 7, 2023
11bdad5
Temp: Disable shell and public html
slacmshankar Sep 8, 2023
5edae9f
Change repo PI, group and description
slacmshankar Sep 25, 2023
f7cfa2c
Add a button for requesting access to a facility.
slacmshankar Sep 30, 2023
be7660d
Bug: Show compute requirement in UI
slacmshankar Oct 2, 2023
15a644b
test if coactui repo gets pulled on update
pav511 Oct 2, 2023
d1f2c78
Change compute requirement
slacmshankar Oct 2, 2023
a3888eb
Show history of changes to a request
slacmshankar Oct 4, 2023
abe47fa
Add multiple users to a repo
slacmshankar Oct 6, 2023
7385e15
Show all repos for czars
slacmshankar Oct 10, 2023
d250c50
UI changes for add users modal
slacmshankar Oct 10, 2023
f2d563b
feat: use podman for builds
yee379 Oct 10, 2023
3602eef
Add closeButton
slacmshankar Oct 10, 2023
242c8c2
Add close buttons for all modals
slacmshankar Oct 10, 2023
68302b5
RepoRemoveUser
slacmshankar Oct 11, 2023
02756b5
enable change shell button
pav511 Oct 2, 2023
56d3575
Merge pull request #2 from slaclab/u/pav/enable-changeshell-button
yee379 Oct 11, 2023
a0c2226
modify shell path list
pav511 Oct 12, 2023
c6b6690
Merge pull request #3 from slaclab/u/pav/enable-changeshell-button
yee379 Oct 12, 2023
d7a75ef
Update the repo compute allocations.
slacmshankar Oct 13, 2023
32f497e
Add new repo compute allocations
slacmshankar Oct 18, 2023
805e8a4
Request more compute caters to percent of facility
slacmshankar Oct 18, 2023
aa92f5d
Add % to cmpute allocations
slacmshankar Oct 18, 2023
9b48504
All request as last element in history
slacmshankar Oct 18, 2023
2a02cd2
Absolute value for compute allocation
slacmshankar Oct 19, 2023
c1dde3c
Show start and end times in repo compute
slacmshankar Oct 19, 2023
20030bb
Include requests in audittrails.
slacmshankar Oct 19, 2023
57be3be
Initial version of import jobs and resourcehours usage
slacmshankar Oct 25, 2023
4cd2084
Show today's usage and this week's usage in Repos->Compute
slacmshankar Nov 6, 2023
533aa50
Recent usage includes yesterday and today
slacmshankar Nov 7, 2023
5cac518
Server side repo usage
slacmshankar Nov 9, 2023
a5b5b1d
Support for specifying burst factor as part of repo compute allocation
slacmshankar Nov 13, 2023
5c484c0
Use the user lookup service
slacmshankar Dec 12, 2023
1e56c86
UI bug fixes for the czar registration modal
slacmshankar Dec 13, 2023
5ee7f12
Large modal
slacmshankar Dec 13, 2023
f222c02
Repos compute list view has 0 for allocations when the allocation is …
slacmshankar Jan 12, 2024
dae0fcc
Check to see if repo name is valid when requesting repo membership
slacmshankar Feb 1, 2024
8ffc74e
Temporarily comment out burst allocation in listview and modal
slacmshankar Feb 8, 2024
b9d3952
Change label for facility.allocated
slacmshankar Feb 9, 2024
ab0147e
Fix compute report per day
slacmshankar Feb 17, 2024
8f266b0
Fix per use facility report
slacmshankar Feb 18, 2024
f74fbd7
Add lookup users by preferred email
slacmshankar Feb 27, 2024
8e16dd5
Show userid during registration
slacmshankar Feb 28, 2024
555627f
Support for past_x 5/15/60/180 aggregates
slacmshankar Mar 3, 2024
99764cd
Support for query parameters in the request page
slacmshankar Mar 5, 2024
c404729
Repo compute show 0's as blank
slacmshankar Mar 5, 2024
0ba2198
Add a past x jobs tab in the repo compute details
slacmshankar Mar 6, 2024
bd26114
Add an action in requests to lookup users in the user lookup service
slacmshankar Mar 14, 2024
a657876
Czars can add users to repo
slacmshankar Apr 5, 2024
0009c50
Various changes for preferredUserName and reassign facility
slacmshankar Mar 29, 2024
426fab3
Error message if preferredUserName is nil
slacmshankar Apr 1, 2024
3117fca
Attempt to add a reassign facility to request. Does not work. Comment…
slacmshankar Apr 1, 2024
35e891f
Add one more UI step in the registration process.
slacmshankar Apr 5, 2024
8538930
Reassign facility for requests
slacmshankar Apr 6, 2024
ec879ba
Toasts can disappear when we are scrolled down
slacmshankar May 16, 2024
d149562
Remove change compute requirement ffrom repo info tab
slacmshankar May 16, 2024
17814b9
Add a link in info to users
slacmshankar May 16, 2024
8bf4d37
Remove the tabs for Users, Access Groups, Storage and History
slacmshankar May 16, 2024
ebdd81e
Update facility compute to use recent compute usage
slacmshankar May 29, 2024
280006d
Clean up facilities page
slacmshankar May 30, 2024
08bfdd5
Refactor Repos Compute to use new aggregate
slacmshankar May 30, 2024
7c45057
Bug fix.
slacmshankar Jun 17, 2024
035dff8
Change "Add User to repo" to Manage Users
slacmshankar Jul 1, 2024
1617387
Sort by facility names in the list of facility choices
slacmshankar Jul 2, 2024
e9b974b
Add a context to requests
slacmshankar Jul 2, 2024
c648a88
Repo users breadcrumb goes back to older tab ( Thx Patrick )
slacmshankar Jul 2, 2024
e53b75f
Change facility description`
slacmshankar Jul 2, 2024
5bc0aec
facilityNames now returns a name description
slacmshankar Jul 2, 2024
0a251ad
Change to using facilitynames
slacmshankar Jul 2, 2024
cbe2dca
Dismiss modal on user registration.
slacmshankar Jul 8, 2024
9a2476a
Description in registration as a separate div
slacmshankar Jul 8, 2024
61dffbb
Plot by facility
slacmshankar Jul 22, 2024
2ec518c
Add a title for the reports
slacmshankar Jul 22, 2024
e08735b
Bug: Repo compute update no longer works.
slacmshankar Jul 26, 2024
21948b7
Only show clusters for which we have actually purchased resources
slacmshankar Aug 2, 2024
cea081a
Allow for facility purchases of 0
slacmshankar Aug 2, 2024
6c50c0d
Context is mandatory
slacmshankar Aug 23, 2024
a1a1524
Sort the list of users in the change PI box
slacmshankar Aug 24, 2024
6e7e415
Use the shuffle icon for reassign requests to new facility.
slacmshankar Sep 11, 2024
3d984d1
Rename repo
slacmshankar Sep 12, 2024
975a086
Reopen Request
slacmshankar Sep 13, 2024
7299ed8
Support for repo features
slacmshankar Sep 13, 2024
864ad04
Disable repo compute allocations for the default repos
slacmshankar Oct 9, 2024
5ca3677
If a facility has not purchased any respources, we can only set this …
slacmshankar Oct 9, 2024
3bc7c90
Admins can still edit repo compute allocations
slacmshankar Oct 9, 2024
dcc64b1
Refine repo compute allocation modals
slacmshankar Oct 9, 2024
5f50854
Change units for facility purchases to servers
slacmshankar Oct 9, 2024
951fcdd
Repo features are now name+status+options
slacmshankar Oct 9, 2024
94bd957
Only admins can add new features
slacmshankar Oct 21, 2024
6a10b62
Add display options to the repo compute page
slacmshankar Oct 23, 2024
f165400
Change repo from select to regex + datalist
slacmshankar Jan 21, 2025
d301101
Reponames must be alphanumeric
slacmshankar Jan 21, 2025
ad49d20
\w does not include -'es
slacmshankar Jan 21, 2025
c0339c3
Update the error message when the user lookup service returns empty
slacmshankar Feb 20, 2025
2a0b991
Sort faciltiy in request modal
slacmshankar Feb 26, 2025
939d976
feat: Build & publish workflow via .github/workflows/docker_publish.yml
ac6y Mar 28, 2025
f8eb139
Merge pull request #4 from slaclab/dev
ac6y Mar 28, 2025
9961cf8
feat: add attestation step to build workflow
ac6y Mar 28, 2025
be4f695
fix: only perform attestation for non-pull-request workflow jobs
ac6y Mar 28, 2025
6c9fef5
Merge pull request #5 from slaclab/dev
ac6y Mar 28, 2025
73c707e
Fix column headings in the repo -> users page
slacmshankar Apr 7, 2025
4f0b52e
Support for specifying the facility in the URL like so
slacmshankar Apr 8, 2025
57e539b
Add details for FacilityComputeAllocation
slacmshankar Apr 17, 2025
1d9a626
Add a popover for repo compute
slacmshankar Apr 28, 2025
6057f8f
Fix zebra striping on repo compute
slacmshankar May 23, 2025
f55b8ac
Add context when rquesting access to facility
slacmshankar May 23, 2025
481dfb9
Only admins can toggle features
slacmshankar May 23, 2025
45445d8
Sort facility in facilities tab alphabetically
slacmshankar May 23, 2025
6f5a447
Popover for repo compute usage
slacmshankar May 23, 2025
2403141
Add details for RenameRepo
slacmshankar May 23, 2025
845aa7f
Use the word available instead of allocated
slacmshankar May 23, 2025
dc76ed8
Cleanup up the monthly column
slacmshankar May 24, 2025
daf1de1
Minor UI changes for the profile page
slacmshankar May 28, 2025
e47e7a4
Undo Gradients
slacmshankar May 28, 2025
341143c
Consistentcy in modals and colors
slacmshankar May 29, 2025
902b16f
Undo card borders
slacmshankar May 30, 2025
e387b99
Add YTD and last years compute to facility grid view
slacmshankar Jun 19, 2025
1b7795c
Add a past month column
slacmshankar Jun 19, 2025
a3c602c
Add NavLink back
slacmshankar Jun 19, 2025
43ae09d
Fix CSS for facility -> storage
slacmshankar Aug 1, 2025
2084ab7
Add the only relevant details for RepoUpdateFeature
slacmshankar Sep 10, 2025
329cd30
Remove preferred email box
slacmshankar Sep 17, 2025
43752f5
A facility wide burst percent
slacmshankar Sep 30, 2025
b2617be
Clean up validation for the compute purchase modal
slacmshankar Oct 1, 2025
e0bc139
Integrate with SSH MFA key service.
slacmshankar Nov 7, 2025
c0e344b
Use an icon for the SSH is_valid
slacmshankar Nov 9, 2025
82cf365
Add 'frontend/' from commit 'c0e344b6fce52b5de03190368448a76ffe157c5b'
swelborn Mar 10, 2026
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
109 changes: 109 additions & 0 deletions frontend/.github/workflows/docker_publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Docker

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

on:
schedule:
- cron: '44 7 * * *'
push:
branches: [ "main", "dev" ]
# Publish semver tags as releases.
tags: [ 'v*.*.*' ]
pull_request:
branches: [ "main" ]

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}


jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write
# Allow to persist attestations
attestations: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 #v3.5.0
with:
cosign-release: 'v2.2.4'

# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}

# This step generates an artifact attestation for the image, which is an unforgeable statement about where and how it was built. It increases supply chain security for people who consume the image. For more information, see "[AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds)."
- name: Generate artifact attestation
if: github.event_name != 'pull_request'
uses: actions/attest-build-provenance@v2
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.build-and-push.outputs.digest }}
push-to-registry: true
26 changes: 26 additions & 0 deletions frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

*.swp
tags
13 changes: 13 additions & 0 deletions frontend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM node:alpine

# RUN apk add --no-cache bash curl

WORKDIR /app
COPY . /app

RUN npm install react-scripts \
&& npm install \
&& npm run build \
&& npm install -g serve

ENTRYPOINT [ "serve", "-s", "build" ]
15 changes: 15 additions & 0 deletions frontend/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
CONTAINER_RT ?= podman
REPO ?= slaclab/coact-ui
TAG ?= latest


all: build push

build: FORCE
$(CONTAINER_RT) build . -t $(REPO):$(TAG)

push: build
$(CONTAINER_RT) push $(REPO):$(TAG)


FORCE: ;
72 changes: 72 additions & 0 deletions frontend/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Getting Started with Create React App

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in your browser.

The page will reload when you make changes.\
You may also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can't go back!**

If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.

You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).

### Code Splitting

This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)

### Analyzing the Bundle Size

This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)

### Making a Progressive Web App

This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)

### Advanced Configuration

This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)

### Deployment

This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)

### `npm run build` fails to minify

This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)

#pav test coactui repo pull
4 changes: 4 additions & 0 deletions frontend/kubernetes/overlays/dev/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@


apply:
kubectl apply -k .
10 changes: 10 additions & 0 deletions frontend/kubernetes/overlays/dev/code-pvc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: coact-ui-code
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
72 changes: 72 additions & 0 deletions frontend/kubernetes/overlays/dev/code-server.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
apiVersion: v1
kind: Service
metadata:
name: code-server
spec:
ports:
- port: 8080
targetPort: 8080
name: http
selector:
app: code-server
---

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: code-server
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- host: coact-dev.slac.stanford.edu
http:
paths:
- path: /code-server(/|$)(.*)
pathType: Prefix
backend:
service:
name: code-server
port:
name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: code-server
name: code-server
spec:
selector:
matchLabels:
app: code-server
replicas: 1
template:
metadata:
labels:
app: code-server
spec:
containers:
- image: linuxserver/code-server
name: code-server
env:
- name: PASSWORD
value: "letmein"
- name: PORT
value: "8080"
- name: LOG_LEVEL
value: '5'
volumeMounts:
- name: coact-ui-code
mountPath: /config/workspace/coact-ui/
- name: coact-api-code
mountPath: /config/workspace/coact-api/
volumes:
- name: coact-ui-code
persistentVolumeClaim:
claimName: coact-ui-code
- name: coact-api-code
persistentVolumeClaim:
claimName: coact-api-code

38 changes: 38 additions & 0 deletions frontend/kubernetes/overlays/dev/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: coact-ui
labels:
app: coact-ui
spec:
replicas: 1
selector:
matchLabels:
app: coact-ui
template:
metadata:
labels:
app: coact-ui
spec:
containers:
- name: coact-ui
image: slaclab/coact-ui:latest
#command: [ "bash", "-c", "sleep infinity" ]
command: [ "npm", "start", "--host=0.0.0.0" ]
#command: [ "npm", "run", "dev" ]
env:
- name: REACT_APP_COACT_GRAPHQL_URI
value: https://coact-dev.slac.stanford.edu/graphql
- name: WDS_SOCKET_PORT
value: '443'
volumeMounts:
- name: code
mountPath: /app/src/
subPath: src
- name: code
mountPath: /app/public/
subPath: public
volumes:
- name: code
persistentVolumeClaim:
claimName: coact-ui-code
Loading