Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
980 commits
Select commit Hold shift + click to select a range
340f2ba
Use import alias consistently
J12934 Nov 8, 2025
42c2e28
Fix minor typescript warning
J12934 Nov 8, 2025
85171f8
Fix minor go linting warnings
J12934 Nov 8, 2025
9c023fb
Make passcode length configuable and default to 12 instead of 8
J12934 Nov 8, 2025
e286261
Update browser list
J12934 Nov 8, 2025
f25dd95
Improve navbar layout on mobile devices
J12934 Nov 8, 2025
22de2a8
Update error to conform to go staticcheck
J12934 Nov 8, 2025
a8478e0
Update helm snapshots
J12934 Nov 8, 2025
0c12fb8
Restructure passcode display to break into muliple rows when overflowing
J12934 Nov 8, 2025
7c42e8d
remove accidentally generated lock file on the wrong level
J12934 Nov 8, 2025
9f053b4
Add seccomp profiles to all pods by default
J12934 Nov 8, 2025
356aac9
Update feature list in the readme with some of the "newer" feature
J12934 Nov 8, 2025
d81407e
Update helm snapshots with seccomp profiles
J12934 Nov 8, 2025
8029a62
Update / remove package json
J12934 Nov 8, 2025
12c0493
Chown the binaries and other files to be owned by root instead of the
J12934 Nov 8, 2025
1164608
Remove some boilerplate comments
J12934 Nov 8, 2025
13dd8cb
Switch to OpemMoji Icon for first solve icon
J12934 Nov 22, 2025
a5e6676
Modernize passcode copying by having a join link which can be shared to
J12934 Nov 22, 2025
070407f
Rename translation strings to be more clear
J12934 Nov 22, 2025
275f349
Remove upgrade-insecure-requests from default CSP.
J12934 Nov 22, 2025
cdfe8d7
Remove broad https img-src
J12934 Nov 22, 2025
2d7108b
Update to JuiceShop v19.1.1
J12934 Nov 22, 2025
db14b36
Regenerate helm docs
J12934 Nov 22, 2025
54fc971
Add task to regenerate helm docs
J12934 Nov 22, 2025
d68f58a
Update chown to 755 to ensure that files are readable, but not writable
J12934 Nov 22, 2025
5552104
Update helm shapshots
J12934 Nov 22, 2025
4fc7c04
chore(deps): bump the golang-dependencies group
dependabot[bot] Nov 24, 2025
52a2238
chore(deps): bump the golang-dependencies group
dependabot[bot] Nov 24, 2025
3c03726
chore(deps): bump the npm-dependencies group
dependabot[bot] Nov 24, 2025
a51c3b6
chore(deps): bump the golang-dependencies group
dependabot[bot] Nov 24, 2025
db67559
chore(deps): bump actions/checkout
dependabot[bot] Nov 24, 2025
dd71130
Add Romanian language support
bogminic Nov 25, 2025
b2bdb2c
Auto-format translation file
J12934 Nov 25, 2025
b353122
chore(deps): bump the npm-dependencies group
dependabot[bot] Dec 1, 2025
1ba05c1
Update code with new prettier rules
J12934 Dec 3, 2025
6eb6f87
chore(deps): bump the npm-dependencies group
dependabot[bot] Dec 8, 2025
8f89140
chore(deps): bump the golang-dependencies group
dependabot[bot] Dec 15, 2025
5d57c80
chore(deps): bump the npm-dependencies group
dependabot[bot] Dec 15, 2025
5c04620
chore(deps): bump the golang-dependencies group
dependabot[bot] Dec 15, 2025
43c2a8e
chore(deps): bump the golang-dependencies group
dependabot[bot] Dec 15, 2025
18370e8
chore(deps-dev): bump @types/node from 24.10.1 to 25.0.2 in /balancer/ui
dependabot[bot] Dec 15, 2025
08a998a
chore(deps): bump the npm-dependencies group
dependabot[bot] Dec 22, 2025
b028e1a
chore(deps): bump stefanzweifel/git-auto-commit-action
dependabot[bot] Dec 22, 2025
cb05bc1
chore(deps): bump react-intl from 7.1.14 to 8.0.6 in /balancer/ui
dependabot[bot] Dec 27, 2025
a81c1df
chore(deps): bump the golang-dependencies group
dependabot[bot] Dec 22, 2025
3217092
Replace depracated client ser builder
J12934 Dec 27, 2025
dc2f37f
chore(deps): bump the golang-dependencies group
dependabot[bot] Dec 22, 2025
d652228
Update clientset init for the cleaner
J12934 Dec 27, 2025
1b66b66
chore(deps): bump the golang-dependencies group
dependabot[bot] Dec 22, 2025
9503adb
Add a list challenges endpoint
J12934 Dec 28, 2025
b002505
chore(deps-dev): bump the npm-dependencies group
dependabot[bot] Dec 29, 2025
310a24f
Add CTF PoC to MultiJuicer
J12934 Jan 1, 2026
8c2f93d
Migrate CTF styles to tailwind
J12934 Jan 2, 2026
9f593a7
Remove distracting pulse animation
J12934 Jan 2, 2026
d7ad4fb
Each team gets it's own unique geometric background on the scoreboard.
J12934 Jan 13, 2026
b7a0aba
graph add
sawankshrma Jan 15, 2026
dd80b66
Decrease delay for when the popup shows up
J12934 Jan 20, 2026
b191f5c
Remove manuall useMemo calls
J12934 Jan 20, 2026
4d6003e
Translate all user facing strings
J12934 Jan 20, 2026
af9fbfd
Add a small explanation for single cheat scores to explain why there …
J12934 Jan 20, 2026
662d8f0
prettier and go fmt
J12934 Jan 20, 2026
6d047e1
prettier again
J12934 Jan 20, 2026
dd75632
chore(deps): bump golang.org/x/crypto
dependabot[bot] Jan 19, 2026
a053aed
Directly color in the countries patterns when a challenge gets newly
J12934 Jan 23, 2026
9622375
Fix THREE.WebGLProgram shader warning
J12934 Jan 23, 2026
42dceed
fmt
J12934 Jan 23, 2026
f47a2f3
Fix issues with some country with jagged edges not being filled in
J12934 Jan 23, 2026
d4b4e9d
Fix: Use Chart.AppVersion for image tags to support Flux OCIRepository
kass-soptim Jan 21, 2026
dfcb90a
Fix duplicate key in release note generator config
J12934 Jan 25, 2026
4233128
Implement basic notification to post to all users
J12934 Feb 1, 2026
8162fd7
Add very basic markdown support for the messages
J12934 Feb 1, 2026
6f00d63
Add translation string to for the newly added UI texts
J12934 Feb 1, 2026
3105e8a
Ensure that the wait-for-update-after remains at the latest recieved
J12934 Feb 1, 2026
5f2917c
Fix issue with long poll when clearing notifications
J12934 Feb 1, 2026
90fbd68
Prettier
J12934 Feb 1, 2026
71c7abe
Merge branch 'main' into feature/ctf
J12934 Feb 1, 2026
2a500ee
Show warning if clipboard access is denied
J12934 Feb 1, 2026
fa8d8c8
chore(deps-dev): bump globals from 16.5.0 to 17.0.0 in /balancer/ui
dependabot[bot] Feb 1, 2026
1d0c8ce
Move service interfaces to bundle to allow them to also be injected v…
J12934 Feb 1, 2026
017cef6
Include team-creation in the activity timeline
sawankshrma Feb 5, 2026
f972a87
Use more of a type union approach to handle the sovled / joined events
J12934 Feb 7, 2026
613dec5
Simplify to just "<team> joined" and make it translatable
J12934 Feb 7, 2026
b5c3b3f
chore(deps-dev): bump jsdom from 27.4.0 to 28.0.0 in /balancer/ui
dependabot[bot] Feb 2, 2026
e2bbade
chore(deps): bump the npm-dependencies group
dependabot[bot] Feb 2, 2026
e65107a
chore(deps): bump the npm-dependencies group
dependabot[bot] Feb 9, 2026
5241e93
Add JuiceShop style "AI Tool Disclosure" disclosure to MJ repo
J12934 Feb 8, 2026
8234e6a
add password reset from admin page
sawankshrma Feb 2, 2026
73b08c4
add test for admin-reset-passocode route handler
sawankshrma Feb 8, 2026
53e81fb
Catch and return an error if the update to the passcode fails
J12934 Feb 12, 2026
1329da1
Move isAdmin validation to a shared middleware
J12934 Feb 12, 2026
6f89c0e
Add missing translation strings for passcode reset
J12934 Feb 12, 2026
ca341ba
Scroll and highlight countries if they are getting solved
J12934 Feb 14, 2026
e6d4996
Auto rotate globe when inactive
J12934 Feb 14, 2026
7fc1d61
Show system wide notification on CTF Page
J12934 Feb 14, 2026
165f388
Have the globe reset to roughtly the equator when starting to
J12934 Feb 14, 2026
d794e56
Minor tailwind improvement
J12934 Feb 14, 2026
00d661c
Fix ts error
J12934 Feb 14, 2026
27fc442
Ignore params starting with _
J12934 Feb 14, 2026
d5f4867
Slightly zoom into a country when marking it as solved
J12934 Feb 15, 2026
418458a
Add fancy pattern reveal animation and fix issue with patterns in Brazil
J12934 Feb 15, 2026
b99f8a0
lint fix
J12934 Feb 15, 2026
854a430
Increase max zoom distance
J12934 Feb 15, 2026
145c143
Remove depth fade effect
J12934 Feb 15, 2026
bf84da1
Remove unused "plain" striped material
J12934 Feb 15, 2026
95bfb07
Improve loading behaviour by calculating updates from the live
J12934 Feb 18, 2026
f08edb0
🐝🐝🐝
J12934 Feb 18, 2026
df973ab
Extract and test some of the crazier parts of CtfPage
J12934 Feb 18, 2026
15067bd
Increase activity feed cap to 30
J12934 Feb 18, 2026
f7295f6
Remove rotation transform
J12934 Feb 18, 2026
40c9d3b
Ensure that no stack traces are logged during successful test executions
J12934 Feb 19, 2026
2fdc3d2
Fix weird seam appearing in the americas for certain patterns
J12934 Feb 19, 2026
de495b3
Add tests for the pattern selection
J12934 Feb 19, 2026
5005098
Animate live activity sidebar entries when they newly appear
J12934 Feb 19, 2026
b3e3074
Make CTF Page translatable
J12934 Feb 27, 2026
69fd079
Replace font awesome icons with emojis
J12934 Feb 27, 2026
4cf5861
Add go fix / fmt to lint:fix task
J12934 Feb 27, 2026
23e24ae
Make CI fail if the go code isn't properly formatted / fixed
J12934 Feb 27, 2026
981c309
Add initial support for a Countdown / event end date
J12934 Feb 28, 2026
edb30e9
Properly prefil currently set system wide notification data to the
J12934 Feb 28, 2026
bf29072
Properly display challenge description on CTF Page
J12934 Feb 28, 2026
d517222
Remove capital markers
J12934 Feb 28, 2026
b52af01
Consistently use docker.io prefix for all docker sources using dockerhub
J12934 Feb 28, 2026
c4c84a7
Upgrade to golang 1.26
J12934 Feb 28, 2026
8c9e68c
We already have go installed
J12934 Feb 28, 2026
8e30cbe
chore(deps): bump rollup from 4.46.2 to 4.59.0 in /balancer/ui
dependabot[bot] Feb 28, 2026
0dfd961
chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /balancer/ui
dependabot[bot] Feb 28, 2026
76f8930
chore(deps): bump the golang-dependencies group
dependabot[bot] Feb 16, 2026
eeda63f
chore(deps): bump the npm-dependencies group across 1 directory with …
dependabot[bot] Feb 28, 2026
a3d75ff
chore(deps): bump the golang-dependencies group
dependabot[bot] Feb 28, 2026
e1d6fd9
chore(deps): bump the golang-dependencies group
dependabot[bot] Feb 28, 2026
21bb797
Configure JuiceShop to display the notifications too.
J12934 Feb 14, 2026
7e8a231
chore(deps-dev): bump the npm-dependencies group
dependabot[bot] Mar 2, 2026
37733d7
chore(deps): bump the golang-dependencies group
dependabot[bot] Mar 2, 2026
2b8f842
Include secure flag and clear site data header for logged out responses
J12934 Mar 2, 2026
b0cda74
Add semgrep integration and resolve the basic findings (mostly false
J12934 Mar 2, 2026
39393e7
Make long polling max timeout configurable to allow long polling tests
J12934 Mar 6, 2026
b4d6b9e
chore(deps): bump dompurify from 3.3.1 to 3.3.2 in /balancer/ui
dependabot[bot] Mar 9, 2026
2f1497f
chore(deps): bump the github-actions-dependencies group with 6 updates
dependabot[bot] Mar 9, 2026
bb4516f
Update references in monitoring guide
J12934 Mar 2, 2026
adedf2c
Upgrade to vite 8
J12934 Mar 13, 2026
d97ee7a
chore(deps): bump the npm-dependencies group across 1 directory with …
dependabot[bot] Mar 13, 2026
02b9df4
chore(deps): bump undici from 7.22.0 to 7.24.1 in /balancer/ui
dependabot[bot] Mar 13, 2026
5628a3b
chore(deps): bump golang.org/x/crypto
dependabot[bot] Mar 16, 2026
7cbe568
chore(deps-dev): bump jsdom from 28.1.0 to 29.0.0 in /balancer/ui
dependabot[bot] Mar 16, 2026
0b0b7fe
chore(deps): bump react-intl from 8.1.3 to 10.0.0 in /balancer/ui
dependabot[bot] Mar 16, 2026
8e19664
chore(deps): bump picomatch from 4.0.3 to 4.0.4 in /balancer/ui
dependabot[bot] Mar 26, 2026
2b8c749
chore(deps): bump the npm-dependencies group
dependabot[bot] Mar 23, 2026
f2cd131
chore(deps): bump the golang-dependencies group
dependabot[bot] Mar 23, 2026
113d8e3
chore(deps): bump the golang-dependencies group
dependabot[bot] Mar 23, 2026
3a74b92
chore(deps): bump the golang-dependencies group
dependabot[bot] Mar 23, 2026
83ee890
chore(deps-dev): bump flatted from 3.3.3 to 3.4.2 in /balancer/ui
dependabot[bot] Mar 21, 2026
3ba6fc5
chore(deps): bump the npm-dependencies group across 1 directory with …
dependabot[bot] Mar 26, 2026
b3d8737
chore(deps-dev): bump vite from 8.0.3 to 8.0.5 in /balancer/ui
dependabot[bot] Apr 6, 2026
1bdda75
chore(deps): bump the npm-dependencies group across 1 directory with …
dependabot[bot] Apr 7, 2026
f37af28
chore(deps-dev): bump typescript from 5.9.3 to 6.0.2 in /balancer/ui
dependabot[bot] Apr 7, 2026
f901b56
Adopt neon colors from Juice Shop website
bkimminich Apr 3, 2026
216e054
fix: use strict comparator for sort to follow Go contract
rajeshuchil Apr 10, 2026
fbcabca
chore(deps): bump golang.org/x/crypto
dependabot[bot] Apr 13, 2026
749c2c6
chore(deps): bump the npm-dependencies group
dependabot[bot] Apr 13, 2026
329c7e9
chore(deps): bump dompurify from 3.3.3 to 3.4.0 in /balancer/ui
dependabot[bot] Apr 22, 2026
d4ad84e
chore(deps): bump the golang-dependencies group
dependabot[bot] Apr 20, 2026
404bf90
chore(deps): bump the golang-dependencies group
dependabot[bot] Apr 20, 2026
31197d3
chore(deps): bump the golang-dependencies group
dependabot[bot] Apr 20, 2026
fc0c906
chore(deps): bump the npm-dependencies group across 1 directory with …
dependabot[bot] Apr 26, 2026
5d1b145
Proxy AI/LLM requests thorugh the balancer to hide the actual AI token
J12934 Apr 18, 2026
e627762
Move service and secret cleanup to ownerReferences to simplify the
J12934 Apr 18, 2026
f63dad8
Migrate logging to slog and more structured logs
J12934 Apr 19, 2026
5fcbcc5
Add note about llm setup being currently unavailable
J12934 Apr 26, 2026
59cae46
go fmt
J12934 Apr 26, 2026
9758600
Restructure repo to more easily run build ands tests across all services
J12934 Apr 26, 2026
c10daea
Ensure that fmt and fix are properly used during normal lint runs
J12934 Apr 26, 2026
5b6759b
Update static check in CI
J12934 Apr 26, 2026
82476ef
Update CoC to the OWASP / JuiceShop one
J12934 Apr 26, 2026
525bf94
Pin CI package versions
J12934 Apr 26, 2026
28220c4
Move build-and-deploy.sh script to be inline in the task file
J12934 Apr 26, 2026
bac73c8
Mark docker build as quiet by default during the dev step
J12934 Apr 26, 2026
1bee100
Kepp a placeholder favicon to keep the icon working is older installs
J12934 May 8, 2026
66b228f
Remove cleaner icon and readme.
J12934 May 8, 2026
939c478
Update architecture guide for llm gateway
J12934 May 8, 2026
2ea9dd3
chore(deps): bump the golang-dependencies group with 3 updates
dependabot[bot] May 8, 2026
c4015fa
chore(deps): bump the npm-dependencies group in /ui with 13 updates
dependabot[bot] May 8, 2026
df171df
chore(deps): bump sigstore/cosign-installer
dependabot[bot] May 8, 2026
c30e41c
npm audit fix
J12934 May 8, 2026
799c9db
set min release age and ignore scripts by default to avoid *some* supply
J12934 May 8, 2026
dc48433
rename ui ci jobs for a bit more consistency
J12934 May 8, 2026
7a97b5c
Mark the verbose multi line cmd as silent to not echo it out every time
J12934 May 8, 2026
28cf31e
Add customization guide
J12934 May 8, 2026
7a28b4b
Add some user flow screenshots to allow people new to MJ to see it in
J12934 May 8, 2026
495ba7c
Try to simplify the dev flow by auto installing the node deps when
J12934 May 8, 2026
4360303
Add a contributing guide with tooling references
J12934 May 8, 2026
d8ec256
Add note about current readme state
J12934 May 8, 2026
0aa5563
Link to the CTF View from the navbar
J12934 May 8, 2026
b9c88a8
Move all release notes categories to use labels instead of label
J12934 May 8, 2026
b717605
Update tests to use mocked time to not wait for timeout / retries
J12934 May 8, 2026
afbd0a2
Simplify MultiJuicer Architecture into a single balancer deployment
J12934 May 9, 2026
181b48d
renmae markdown docs to follow a consistent spelling scheme
J12934 May 9, 2026
4cddf4e
remove reference to deleted build and deploy script
J12934 May 9, 2026
cc3fdb0
Move if to the task to keep the output nicer
J12934 May 9, 2026
38781d4
Update to the now recommended way to include the react compiler via vite
J12934 May 9, 2026
840be25
Run staticcheck via go tool
J12934 May 9, 2026
99bf945
Move package.jso to the top level
J12934 May 10, 2026
14bfd8f
Update the ts config for modern best practices
J12934 May 10, 2026
4c25aac
Ignore claude folder
J12934 May 10, 2026
d2fe44d
Restructure routes so that private and public are registered
J12934 May 10, 2026
cd13b3c
Add schema for better editor support
J12934 May 10, 2026
7031383
Export all metrics for all paths (execpt metrics and healthchecks) with
J12934 May 10, 2026
e86f02f
Switch to the more default /metrics path
J12934 May 10, 2026
145d054
Add a build task to test the golang build locally
J12934 May 10, 2026
2f2f5e9
Properly align bundle usage across parts of the codebase previously
J12934 May 10, 2026
030d0fd
Default tests to non interactive
J12934 May 10, 2026
2f80b78
Rename balancer to simply "multi-juicer"
J12934 May 10, 2026
d2b9842
Let the service remap the quirky internal port number
J12934 May 10, 2026
cc82a96
Remove workaround to replace challenge icons
J12934 May 10, 2026
c8133b0
Regenerate high level architecture svg with updated descriptions
J12934 May 10, 2026
e4cab23
chore(deps): bump the npm-dependencies group with 2 updates
dependabot[bot] May 10, 2026
f62ca78
chore(deps): bump golang.org/x/crypto in the golang-dependencies group
dependabot[bot] May 10, 2026
b81cefd
Update default JuiceShop version to v20
J12934 May 13, 2026
8466ce0
Remove warnings about v10 being unreleased
J12934 May 13, 2026
7a18dc3
chore(deps): bump the npm-dependencies group with 6 updates
dependabot[bot] May 13, 2026
9b3ff46
chore(deps): bump the golang-dependencies group with 3 updates
dependabot[bot] May 13, 2026
a6b6800
chore(deps): bump library/node
dependabot[bot] May 13, 2026
5eddb4d
Add auto-update for releases on https://owasp-juice.shop
bkimminich May 13, 2026
afff9a3
chore(deps): bump the npm-dependencies group with 12 updates
dependabot[bot] May 20, 2026
75b08c3
Validate content-type header for JSON endpoints
J12934 May 21, 2026
027c1ca
Add custom balancer logo option
ethical-buddy May 27, 2026
6489d11
chore(deps): bump the github-actions-dependencies group with 4 updates
dependabot[bot] May 27, 2026
7a93c25
chore(deps): bump golang.org/x/crypto in the golang-dependencies group
dependabot[bot] May 27, 2026
9f94b21
Move MJ theming to config.theme and make favicon configurable too
J12934 May 31, 2026
4f05db2
Fix outdated JS version referenced in helm docs
J12934 May 31, 2026
e088017
Reword the descriptions to make it clear what format are support /
J12934 May 31, 2026
ba12138
Add notes to the theming guide on how to set the theming values
J12934 May 31, 2026
ad554cb
Add gocritic and resolve its warnings
J12934 May 31, 2026
cec8c13
Add French language support
jub0bs Jun 3, 2026
c45fbc8
chore(deps): bump the github-actions-dependencies group with 2 updates
dependabot[bot] Jun 4, 2026
5464db2
Freeze scoreboard when the timer runs out of time
J12934 Jun 11, 2026
d428966
Migrate to biome.js
J12934 Jun 12, 2026
eaaad53
biome auto-format
J12934 Jun 12, 2026
727db63
chore(deps): bump golang.org/x/crypto in the golang-dependencies group
dependabot[bot] Jun 10, 2026
0125c59
Remove unused lib
J12934 Jun 13, 2026
79fa3de
Set engines to get fnm to auto switch to node 26
J12934 Jun 13, 2026
46ae43c
chore(deps-dev): bump vite from 8.0.13 to 8.0.16
dependabot[bot] Jun 16, 2026
07442e8
chore(deps): bump the golang-dependencies group with 3 updates
dependabot[bot] Jun 17, 2026
29865fd
chore(deps): bump the npm-dependencies group with 5 updates
dependabot[bot] Jun 17, 2026
4689071
chore(deps): bump undici from 7.25.0 to 7.28.0
dependabot[bot] Jun 20, 2026
b122e71
chore(deps): bump dompurify from 3.4.5 to 3.4.11
dependabot[bot] Jun 20, 2026
4c20ee8
Upgrade default JuiceShop version to v20.1.0
J12934 Jun 23, 2026
560e29b
npm audit fix
J12934 Jun 23, 2026
a52b278
fix docker build
J12934 Jun 23, 2026
e504d73
chore(deps): bump the github-actions-dependencies group with 2 updates
dependabot[bot] Jun 24, 2026
a5a1578
chore(deps): bump the npm-dependencies group with 4 updates
dependabot[bot] Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 30 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.git
.github
.gitignore
.idea
.vscode
.dockerignore

# Build artifacts
**/node_modules
ui/build

# Test files inside containers (Go tests aren't run from Dockerfiles)
**/*_test.go

# Documentation and unrelated assets
guides
images
helm
ARCHITECTURE.md
README.md
ATTRIBUTION.md
LICENSE
CODE_OF_CONDUCT.md
*.md

# Tooling and local dev
Taskfile.yaml

# OS junk
.DS_Store
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
### Description

<!-- ✍️-->
A clear and concise summary of the change and which issue (if any) it fixes. Should also include relevant motivation and context.

### AI Tool Disclosure

- [ ] My contribution does not include any AI-generated content
- [ ] My contribution includes AI-generated content, as disclosed below:
- AI Tools: `[e.g. GitHub CoPilot, ChatGPT, JetBrains Junie etc.]`
- LLMs and versions: `[e.g. GPT-4.1, Claude Haiku 4.5, Gemini 2.5 Pro etc.]`
- Prompts: `[Summarize the key prompts or instructions given to the AI tools]`
57 changes: 57 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "chore"
include: "scope"
groups:
golang-dependencies:
patterns:
- "*"

- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "chore"
include: "scope"
groups:
npm-dependencies:
patterns:
- "*"
update-types:
- "minor"
- "patch"
npm-breaking-updates-dependencies:
patterns:
- "*"
update-types:
- "major"

- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "chore"
include: "scope"
groups:
docker-dependencies:
patterns:
- "*"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "chore"
include: "scope"
groups:
github-actions-dependencies:
patterns:
- "*"
23 changes: 0 additions & 23 deletions .github/release-drafter.yml

This file was deleted.

20 changes: 20 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
changelog:
categories:
- title: "🚀 Features"
labels:
- "feature"
- "enhancement"
- title: "🐛 Bug Fixes"
labels:
- "fix"
- "bugfix"
- "bug"
- title: "📚 Docs"
labels:
- "documentation"
- title: "🌐 I18N"
labels:
- "i18n"
- title: "🧰 Maintenance"
labels:
- "maintenance"
106 changes: 66 additions & 40 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,67 +1,93 @@
name: "Release Build"
on:
release:
types: [published]
name: "Publish Docker Images"
env:
CONTAINER_REGISTRY: ghcr.io/juice-shop
jobs:
helmRelease:
name: "Package Helm Chart"
name: "Publish Helm Chart"
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v1
- name: "Install yq"
run: |
sudo snap install yq
- name: "Patch Chart.yaml to the current released version"
working-directory: helm/multi-juicer/
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- id: release-version
name: Parse Release Version
run: |
RELEASE_VERSION="${GITHUB_REF#refs/*/}"
# Remove leading 'v' from git tag to create valid semver
RELEASE_VERSION="${RELEASE_VERSION//v}"
# patch the version & appVersion in the Chart.yaml to the release version
yq eval -i ".version = \"$RELEASE_VERSION\", .appVersion = \"$RELEASE_VERSION\"" Chart.yaml
- uses: J12934/helm-gh-pages-action@v2.0.0
with:
access-token: ${{ secrets.ACCESS_TOKEN }}
charts-folder: helm
deploy-branch: gh-pages
echo "version=$RELEASE_VERSION" >> "$GITHUB_OUTPUT"

- name: "Login to Package Registry"
run: 'echo "${{ secrets.GITHUB_TOKEN }}" | helm registry login --username ${{ github.actor }} --password-stdin ${{ env.CONTAINER_REGISTRY }}'

- name: "Package Helm Chart"
working-directory: helm/multi-juicer/
run: |
helm package --version "${{ steps.release-version.outputs.version }}" --app-version "${{ steps.release-version.outputs.version }}" .

- name: "Push Helm Chart"
working-directory: helm/multi-juicer/
run: |
helm push "multi-juicer-${{ steps.release-version.outputs.version }}.tgz" oci://${{ env.CONTAINER_REGISTRY }}/multi-juicer/helm

dockerBuilds:
name: "Build"
runs-on: ubuntu-latest
strategy:
matrix:
component:
- progress-watchdog
- cleaner
- juice-balancer
permissions:
contents: read
packages: write
id-token: write # needed for signing the images with GitHub OIDC Token
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Install Cosign
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.0

- name: Docker Meta
id: docker_meta
uses: docker/metadata-action@v3
- id: image-metadata
name: Container Image Metadata
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6.1.0
with:
images: iteratec/${{ matrix.component }}
images: ${{ env.CONTAINER_REGISTRY }}/multi-juicer/multi-juicer
tags: |
type=semver,pattern={{raw}}

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
- name: Login to Container Registry
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: ${{ env.CONTAINER_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract JuiceShop Version from Helm Values
id: extract-juice-shop-version
run: |
JUICE_SHOP_VERSION=$(yq eval '.config.juiceShop.tag' helm/multi-juicer/values.yaml)
echo "version=$JUICE_SHOP_VERSION" >> "$GITHUB_OUTPUT"

- name: Build and Push
uses: docker/build-push-action@v3
- id: build-and-push
name: Build and Push
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: ./${{ matrix.component }}
file: ./${{ matrix.component }}/Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
tags: ${{ steps.image-metadata.outputs.tags }}
labels: ${{ steps.image-metadata.outputs.labels }}
build-args: |
JUICE_SHOP_VERSION=${{ steps.extract-juice-shop-version.outputs.version }}

- name: Sign the images with GitHub OIDC Token
env:
DIGEST: ${{ steps.build-and-push.outputs.digest }}
TAGS: ${{ steps.image-metadata.outputs.tags }}
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
17 changes: 0 additions & 17 deletions .github/workflows/release-notes.yaml

This file was deleted.

Loading