Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
429 commits
Select commit Hold shift + click to select a range
0e5e439
chore(deps): update github-actions - workflows - .github/workflows/un…
renovate[bot] Nov 18, 2025
b741bfb
Update test/1.test.ts
jescalada Nov 18, 2025
a53eeef
chore: remove unnecessary logging in push actions and routes
jescalada Nov 18, 2025
d572df1
Merge branch '1150-vitest-migration-from-service' of https://github.c…
jescalada Nov 18, 2025
890d583
chore: remove/adjust tests based on console logs
jescalada Nov 18, 2025
85e418f
Merge pull request #1279 from finos/renovate/workflows-manager
jescalada Nov 19, 2025
c299c6c
fix(deps): update npm to v5 - - package.json
renovate[bot] Nov 19, 2025
6527ea7
fix: repo mismatch issue on proxy start
jescalada Nov 19, 2025
1ee2b91
fix: drop dependency on jwk-to-pem by using native crypto
dgl Nov 19, 2025
f3d9989
chore: fix potentially invalid repo project names in testProxyRoute t…
jescalada Nov 19, 2025
5ae5c50
chore: remove casting in ConfigLoader tests
jescalada Nov 19, 2025
37c922a
Update test/generated-config.test.ts
jescalada Nov 19, 2025
a8aa410
Update test/generated-config.test.ts
jescalada Nov 19, 2025
5327e28
Update test/generated-config.test.ts
jescalada Nov 19, 2025
9723c02
Merge branch '1150-vitest-migration-from-service' of https://github.c…
jescalada Nov 19, 2025
973fbaf
test: improve assertions in generated-config.test.ts
jescalada Nov 19, 2025
c642e4d
fix: set isEmailAllowed regex to case insensitive
jescalada Nov 20, 2025
e7ffacb
chore: improve test assertions and cleanup
jescalada Nov 20, 2025
b06d61e
test: simplify scanDiff tests with generateDiffStep helper
jescalada Nov 20, 2025
119bd8b
Update test/testParseAction.test.ts
jescalada Nov 20, 2025
a4809b4
Update test/testDb.test.ts
jescalada Nov 20, 2025
e69c4d6
Update test/testCheckUserPushPermission.test.ts
jescalada Nov 20, 2025
594b8aa
test: rename auth routes tests and add new cases for status codes
jescalada Nov 20, 2025
5ada78a
Merge branch '1150-vitest-migration-from-service' of https://github.c…
jescalada Nov 20, 2025
1334689
chore: testActiveDirectoryAuth cleanup, remove old test packages from…
jescalada Nov 20, 2025
51a4a35
refactor(ssh): add PktLineParser and base function to eliminate code …
fabiovincenzi Nov 20, 2025
f6fb9eb
feat(ssh): implement server-side SSH agent forwarding with LazyAgent …
fabiovincenzi Nov 20, 2025
61b3595
feat(ssh): add SSH helper functions for connection setup and validation
fabiovincenzi Nov 20, 2025
3e0e5c0
refactor(ssh): simplify server.ts and pullRemote using helper functions
fabiovincenzi Nov 20, 2025
4a2b273
docs: add SSH proxy architecture documentation
fabiovincenzi Nov 20, 2025
0f3d3b8
fix(ssh): correct ClientWithUser to extend ssh2.Connection instead of…
fabiovincenzi Nov 20, 2025
39be87e
feat: add dependencies for SSH key management
fabiovincenzi Oct 24, 2025
dbef641
feat(db): add PublicKeyRecord type for SSH key management
fabiovincenzi Nov 6, 2025
9545ac2
feat(db): implement SSH key management for File database
fabiovincenzi Nov 6, 2025
24d499c
feat(db): implement SSH key management for MongoDB
fabiovincenzi Nov 6, 2025
df603ef
feat(db): update database wrapper with correct SSH key types
fabiovincenzi Nov 6, 2025
7e5d6d9
feat(api): add SSH key management endpoints
fabiovincenzi Nov 6, 2025
59aef6e
feat(ui): add SSH service for API calls
fabiovincenzi Nov 6, 2025
ebfff2d
feat(ui): add SSH key management UI and clone tabs
fabiovincenzi Nov 6, 2025
0570c4c
feat(cli): update SSH key deletion to use fingerprint
fabiovincenzi Nov 6, 2025
e5da79c
chore: add SSH key fingerprint API and UI updates
fabiovincenzi Nov 20, 2025
61d349f
chore: refactor CLI tests to Vitest
jescalada Nov 21, 2025
527bf4c
chore: improve proxy test todo explanation, git-proxy version in CLI …
jescalada Nov 21, 2025
a561b1a
chore: improve proxy test todo content and revert skip removal
jescalada Nov 21, 2025
7495a3e
chore: improved cleanup explanations for sample test
jescalada Nov 22, 2025
c5754c8
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Nov 22, 2025
7d5c0f1
test: add extra test for default repo creation
jescalada Nov 22, 2025
4e3b869
chore: run npm audit fix
jescalada Nov 22, 2025
cf16aef
chore: add BlueOak-1.0.0 to allowed licenses
jescalada Nov 22, 2025
2c80fbf
test: add jwt validation test using crypto.createPublicKey instead of…
jescalada Nov 24, 2025
6e45775
test: remove .only in jwt handler tests
jescalada Nov 24, 2025
ab0bdbe
refactor(ssh): remove explicit SSH algorithm configuration
fabiovincenzi Nov 26, 2025
b72d222
fix(ssh): use existing packet line parser
fabiovincenzi Nov 26, 2025
55d06ab
feat(ssh): improve agent forwarding error message and make it configu…
fabiovincenzi Nov 26, 2025
f6281d6
fix(ssh): use startsWith instead of includes for git-receive-pack det…
fabiovincenzi Nov 26, 2025
5e3e13e
feat(ssh): add SSH host key verification to prevent MitM attacks
fabiovincenzi Nov 26, 2025
d5c9a82
refactor: flatten push/:id/authorise endpoint and improve error codes
jescalada Nov 27, 2025
f42734b
refactor: remaining push route error codes and messages
jescalada Nov 27, 2025
e7d9661
test: fix push route tests and add check for error messages
jescalada Nov 27, 2025
6db3298
refactor: unify auth/me and auth/profile endpoints
jescalada Nov 28, 2025
539ce14
refactor: flatten auth profile and gitaccount endpoints, improve code…
jescalada Nov 28, 2025
78ed7cc
refactor: remaining auth endpoints error codes and messages
jescalada Nov 28, 2025
dbc5457
test: update auth endpoint tests
jescalada Nov 28, 2025
1ed0f31
chore: move publicApi.ts contents to utils.ts
jescalada Nov 28, 2025
119ad11
fix: remaining config Source casting
jescalada Nov 28, 2025
c22c860
Update test/proxy.test.ts
jescalada Nov 28, 2025
1659dc5
Update test/proxy.test.ts
jescalada Nov 28, 2025
f936e9e
chore: npm run format
jescalada Nov 28, 2025
7b2f178
chore: fix failing cypress test
jescalada Nov 29, 2025
3afa917
chore: improve default repo creation test
jescalada Nov 29, 2025
9f24d3f
Merge pull request #1284 from jescalada/1282-proxyPreparations-mismat…
jescalada Nov 29, 2025
8e02a94
Merge branch 'main' of https://github.com/finos/git-proxy into 1150-v…
jescalada Nov 29, 2025
498d3cb
chore: improve user endpoint error handling in UI
jescalada Nov 30, 2025
9ed8515
Merge branch 'main' into improve-endpoint-status-codes
jescalada Nov 30, 2025
b372027
test: fix failing e2e test due to improper error message parsing
jescalada Nov 30, 2025
1835aba
Merge branch 'main' into drop-jwk-to-pem
kriswest Dec 1, 2025
ead3eca
fix: demo video
tabathad Dec 1, 2025
c461e1d
Merge branch 'main' into fix-demo-video
kriswest Dec 1, 2025
0b5f0b9
Merge pull request #1298 from tabathad/fix-demo-video
kriswest Dec 2, 2025
90b879a
Merge branch 'main' into 1150-vitest-migration-from-service
coopernetes Dec 2, 2025
3d54835
Merge pull request #1202 from jescalada/1150-vitest-migration-from-se…
coopernetes Dec 2, 2025
618a4e1
fix(deps): update npm to v5 - - package.json
renovate[bot] Dec 2, 2025
651f538
Merge branch 'main' into improve-endpoint-status-codes
jescalada Dec 3, 2025
7a54fef
Merge branch 'main' into drop-jwk-to-pem
jescalada Dec 3, 2025
9b808ef
test: convert missing jwtAuthHandler test and remove jwk-to-pem depen…
jescalada Dec 3, 2025
cb99e2c
feat(api): add SSH config endpoint for UI
fabiovincenzi Dec 3, 2025
345d333
refactor(proxy): extract HTTPS clone logic using Strategy pattern
fabiovincenzi Dec 3, 2025
992fdae
feat(ssh): implement SSH agent forwarding for repository cloning
fabiovincenzi Dec 3, 2025
7e652d0
refactor(ssh): extract common SSH command execution logic
fabiovincenzi Dec 3, 2025
8936225
fix(ui): correct SSH URL generation in Code button
fabiovincenzi Dec 3, 2025
ae8ef8a
chore: merge upstream main from finos/git-proxy
fabiovincenzi Dec 3, 2025
10b949d
feat(ui): restore SSH key management in UserProfile
fabiovincenzi Dec 3, 2025
a128cdd
feat(ui): include SSH agent forwarding flag in clone command
fabiovincenzi Dec 3, 2025
dd71f28
fix: revert singleBranch option in pullRemote action
jescalada Dec 3, 2025
152c377
Merge branch 'renovate/major-5-npm' of https://github.com/finos/git-p…
jescalada Dec 4, 2025
d1b3b57
fix: add parameter name to wildcard route in src/service/index.ts
jescalada Dec 4, 2025
a4ec623
Merge pull request #900 from finos/renovate/major-5-npm
jescalada Dec 4, 2025
6ed56df
chore(deps): update github-actions - workflows - .github/workflows/sc…
renovate[bot] Dec 4, 2025
a84731a
Merge pull request #1306 from finos/renovate/workflows-manager
jescalada Dec 4, 2025
15686ce
chore(deps): update npm to v2 - - package.json
renovate[bot] Dec 4, 2025
c6a5133
Merge pull request #1132 from finos/renovate/major-2-npm
jescalada Dec 4, 2025
27ff9d0
fix(deps): update dependency axios to ^1.13.2 - git-proxy-cli - packa…
renovate[bot] Dec 4, 2025
a8224fb
Merge pull request #1290 from finos/renovate/git-proxy-cli-manager
jescalada Dec 4, 2025
23776b6
Merge branch 'main' into 1291-subsequent-pushes-error
kriswest Dec 4, 2025
219770e
Merge pull request #1305 from jescalada/1291-subsequent-pushes-error
kriswest Dec 4, 2025
87df95d
fix: the condition "types" here will never be used warning
andypols Dec 5, 2025
e0e06be
fix: macos test failures due to concurrent file access
coopernetes Dec 5, 2025
357cf52
fix: revert vitest config to single process for integration tests
coopernetes Dec 5, 2025
87633ac
fix: typos in db names for files
coopernetes Dec 5, 2025
4e80f93
Merge branch 'main' into fix-types-never-user-warning
jescalada Dec 6, 2025
4f73bf7
Merge pull request #1311 from andypols/fix-types-never-user-warning
jescalada Dec 6, 2025
09a0680
Merge branch 'main' into hotfix/nedb-test
kriswest Dec 8, 2025
4c54a58
fix: defer import of proxy and service until config file has been set…
kriswest Dec 8, 2025
7e625cd
Merge pull request #1312 from RBC/hotfix/nedb-test
coopernetes Dec 9, 2025
4655f62
fix: defer read of DB config until needed to fix race + move getAllPr…
kriswest Dec 9, 2025
49338a6
fix: move neDB folder initialisation to occur on first use
kriswest Dec 9, 2025
7430b1a
chore: clean up in index.ts
kriswest Dec 9, 2025
4f56a3d
Merge branch 'main' into 1313-config-race-condition-b
kriswest Dec 9, 2025
139e2dd
test: fixing issues in tests (both existing types issues and caused b…
kriswest Dec 9, 2025
8b2740a
fix: defer import of proxy and service until config file has been set…
kriswest Dec 8, 2025
c3c226f
fix: defer read of DB config until needed to fix race + move getAllPr…
kriswest Dec 9, 2025
9a8b2c6
fix: move neDB folder initialisation to occur on first use
kriswest Dec 9, 2025
b547479
test: fixing issues in tests (both existing types issues and caused b…
kriswest Dec 9, 2025
c5b030e
chore: clean up in index.ts
kriswest Dec 9, 2025
9b1d2df
Merge branch '1313-config-race-condition' of https://natwest.gitlab-d…
kriswest Dec 9, 2025
989e866
Merge branch '1313-config-race-condition-c' into 1313-config-race-con…
kriswest Dec 9, 2025
ce55423
chore: upgrade node & mongo versions in ci, actions upgrades
coopernetes Dec 9, 2025
7defaa0
Apply suggestions from code review
kriswest Dec 10, 2025
b4971c1
Apply suggestions from code review
kriswest Dec 10, 2025
d366b98
Update src/ui/views/User/UserProfile.tsx
jescalada Dec 10, 2025
72b0eda
Merge branch 'main' into improve-endpoint-status-codes
jescalada Dec 10, 2025
5d1a727
Merge pull request #1293 from jescalada/improve-endpoint-status-codes
jescalada Dec 10, 2025
446493a
fix: bump codeql to 4.31.7
jescalada Dec 11, 2025
e398a7b
Merge branch 'main' into chore/node-upgrades
jescalada Dec 11, 2025
a5a1d95
Merge branch 'finos:main' into 1313-config-race-condition-b
kriswest Dec 11, 2025
521d945
feat: add AWS credential provider support & more detailed schema for DBs
kriswest Dec 2, 2025
ee313d1
test: correct failing test after detail added to config schema
kriswest Dec 2, 2025
d832465
docs: better links in schemas and regenerate ref docs from schema
kriswest Dec 12, 2025
18d51bc
Apply suggestions from code review
kriswest Dec 12, 2025
bb8d97a
chore: replace `00000...` string with `EMPTY_COMMIT_HASH`, run `npm r…
jescalada Dec 13, 2025
f31592b
Merge pull request #1316 from kriswest/1313-config-race-condition-b
jescalada Dec 13, 2025
b785955
Merge branch 'main' into chore/node-upgrades
jescalada Dec 13, 2025
9fe4145
Merge branch 'main' into 1299-awsCredentialProviders-c
jescalada Dec 13, 2025
8c94491
chore: bump git-proxy version to v2.0.0-rc.4
jescalada Dec 13, 2025
9b6eeb2
chore: upgrade codeql actions to v4
coopernetes Dec 13, 2025
b69447b
test: add a result job to ci
coopernetes Dec 13, 2025
e767463
Merge pull request #1319 from kriswest/1299-awsCredentialProviders-c
kriswest Dec 15, 2025
ebe0842
Merge branch 'main' into bump-to-rc.4
kriswest Dec 15, 2025
ef3e78e
Merge branch 'main' into chore/node-upgrades
coopernetes Dec 15, 2025
0509d78
chore: update package-lock.json
coopernetes Dec 15, 2025
c8b2693
Merge pull request #1315 from finos/chore/node-upgrades
coopernetes Dec 15, 2025
6fcd134
Merge branch 'main' into bump-to-rc.4
jescalada Dec 15, 2025
0e02e3f
Merge branch 'main' into drop-jwk-to-pem
kriswest Dec 15, 2025
6e7fea1
Merge pull request #1283 from dgl/drop-jwk-to-pem
coopernetes Dec 15, 2025
9865253
Merge branch 'main' into bump-to-rc.4
kriswest Dec 15, 2025
45654fc
fix: move supertest to dev dependencies
andypols Dec 15, 2025
f4b6f3a
fix: convert NotAuthorized and NotFound to tsx
andypols Dec 15, 2025
75862fa
fix: convert Danger to ts and remove unused js typography
andypols Dec 15, 2025
7d60366
fix: remove Table and Tasks jsx
andypols Dec 15, 2025
fab1437
fix: remove unused CustomInput.jsx
andypols Dec 15, 2025
0a3f440
fix: convert Settings to tsx
andypols Dec 15, 2025
902265c
fix: remove unused prop-types dependency
andypols Dec 15, 2025
93f9608
Merge branch 'main' into move-supertest-to-dev
coopernetes Dec 15, 2025
73b4831
Merge pull request #1328 from andypols/move-supertest-to-dev
coopernetes Dec 15, 2025
8aeb025
Merge branch 'main' into bump-to-rc.4
kriswest Dec 15, 2025
0b53906
refactor(ssh): remove proxyUrl dependency by parsing hostname from pa…
fabiovincenzi Dec 3, 2025
863f0ab
chore: add debug logs
jescalada Dec 15, 2025
042fe47
refactor(ssh): remove SSH Key Retention system
fabiovincenzi Dec 16, 2025
8a7f914
docs(ssh): remove SSH Key Retention documentation
fabiovincenzi Dec 16, 2025
4eb234b
fix(config): remove obsolete ssh.clone.serviceToken
fabiovincenzi Dec 16, 2025
092f994
docs(config): improve SSH schema descriptions
fabiovincenzi Dec 16, 2025
095d2a2
docs(readme): clarify SSH agent forwarding
fabiovincenzi Dec 16, 2025
649625e
refactor(ssh): remove TODO in server initialization
fabiovincenzi Dec 16, 2025
c7f1f75
improve(ssh): enhance agent forwarding error message
fabiovincenzi Dec 16, 2025
222ba86
feat(ssh): add auto-generated host key management
fabiovincenzi Dec 16, 2025
77aeeba
improve(ssh): add detailed GitHub auth error messages
fabiovincenzi Dec 16, 2025
7b0ba90
fix(deps): add missing ssh2 dependency
fabiovincenzi Dec 16, 2025
c07d5cd
test(ssh): update tests for agent forwarding
fabiovincenzi Dec 16, 2025
c10047e
fix(deps): correct exports conditions order for Vite 7
fabiovincenzi Dec 16, 2025
a656040
docs: remove duplicate SSH.md documentation
fabiovincenzi Dec 16, 2025
5114b93
docs: optimize and improve SSH_ARCHITECTURE.md
fabiovincenzi Dec 16, 2025
9fff6b7
docs: fix obsolete SSH information in ARCHITECTURE.md
fabiovincenzi Dec 16, 2025
7bf20b6
fix(ssh): include ssh-agent startup in error message
fabiovincenzi Dec 16, 2025
a4df01c
Merge upstream/main: integrate latest changes and fix singleBranch
fabiovincenzi Dec 16, 2025
7062809
docs: fix processor chain count in README (17 -> 16)
fabiovincenzi Dec 16, 2025
2df3916
fix(config): remove personal test repositories from config
fabiovincenzi Dec 16, 2025
db4044a
refactor(config): remove obsolete getProxyUrl and getSSHProxyUrl func…
fabiovincenzi Dec 16, 2025
06f5052
refactor(ssh): remove unnecessary type cast for findUserBySSHKey
fabiovincenzi Dec 17, 2025
731ed35
refactor(routes): remove duplicate JavaScript route files
fabiovincenzi Dec 17, 2025
1b73bb3
security: remove SSH private keys from repository
fabiovincenzi Dec 17, 2025
bfed68a
build: add @types/ssh2 to fix TypeScript compilation errors
fabiovincenzi Dec 17, 2025
7662e6a
security: fix CodeQL command injection and URL sanitization issues
fabiovincenzi Dec 17, 2025
4230bc5
refactor(test): convert remaining test files from JavaScript to TypeS…
fabiovincenzi Dec 18, 2025
0ff683e
fix(ssh): comprehensive security enhancements and validation improvem…
fabiovincenzi Dec 18, 2025
e3e60da
Update src/proxy/ssh/AgentForwarding.ts
fabiovincenzi Dec 18, 2025
3ad0105
fix(ssh): remove password auth and add error for missing SSH identities
fabiovincenzi Dec 18, 2025
4cf238e
chore: merge changes
fabiovincenzi Dec 18, 2025
0d2e4e1
docs(ssh): emphasize .git requirement in repository URLs
fabiovincenzi Dec 18, 2025
07f15ef
Update src/proxy/ssh/server.ts
fabiovincenzi Dec 18, 2025
62c93e2
Merge branch 'ssh-agent-on-pr987' of https://github.com/fabiovincenzi…
fabiovincenzi Dec 18, 2025
5ccd921
fix(ssh): use default dual-stack binding for IPv4/IPv6 support
fabiovincenzi Dec 18, 2025
67c1016
fix(ssh): use default dual-stack binding for IPv4/IPv6 support
fabiovincenzi Dec 18, 2025
c1d92b5
Merge branch 'ssh-agent-on-pr987' of https://github.com/fabiovincenzi…
fabiovincenzi Dec 18, 2025
a648e84
test: fix User constructor calls and SSH agent forwarding mock
fabiovincenzi Dec 18, 2025
acc66d0
fix: correct SSH fingerprint verification and refactor pullRemote tests
fabiovincenzi Dec 19, 2025
bb17668
test: increase memory leak threshold for flaky performance test
fabiovincenzi Dec 19, 2025
8b78ffb
Merge branch 'main' into fix-move-ui-js-to-ts
jescalada Dec 23, 2025
102b837
Merge pull request #1329 from andypols/fix-move-ui-js-to-ts
jescalada Dec 23, 2025
05ee555
Merge branch 'main' into bump-to-rc.4
jescalada Dec 23, 2025
b5a8d9e
Merge pull request #1322 from jescalada/bump-to-rc.4
jescalada Dec 23, 2025
5fed1de
refactor(cli): make ssh-key testable - export functions and add main(…
fabiovincenzi Dec 29, 2025
7fd6c48
test(api): add SSH key management endpoints tests
fabiovincenzi Dec 29, 2025
272a1c7
test(db): add SSH key database operations tests
fabiovincenzi Dec 29, 2025
0dfcc75
test(ssh): expand sshHelpers coverage
fabiovincenzi Dec 29, 2025
d9606ae
test(cli): add ssh-key CLI tests
fabiovincenzi Dec 29, 2025
aa42962
test: add gitprotocol tests
fabiovincenzi Dec 29, 2025
5223dc5
test: add tests for ssh agent implementation
fabiovincenzi Dec 29, 2025
27314f8
refactor(ssh): extract SSH helpers and expand pullRemote tests
fabiovincenzi Dec 29, 2025
29647a0
test(ssh): add host key verification tests
fabiovincenzi Dec 29, 2025
239f7a2
Merge branch 'main' into ssh-agent-on-pr987
fabiovincenzi Dec 29, 2025
3fe3545
refactor: remove import meta
fabiovincenzi Dec 29, 2025
ed4c2a6
Merge branch 'ssh-agent-on-pr987' of https://github.com/fabiovincenzi…
fabiovincenzi Dec 29, 2025
5de929d
test: add test for server.ts
fabiovincenzi Dec 29, 2025
c2cd33e
ci: allow LicenseRef-scancode-dco-1.1 license in dependency review
fabiovincenzi Dec 29, 2025
5dc9159
feat: e2e tests using docker compose
coopernetes Oct 7, 2025
c5050c7
fix: e2e tests run in CI, pin e2e workflow deps
coopernetes Oct 7, 2025
060edb2
fix: update repo API test
coopernetes Oct 7, 2025
1396cfb
feat: add git packet capture wrapper to localgit, docs + Dockerfile e…
coopernetes Oct 7, 2025
3beeb45
fix: remove obsolete version field from docker-compose.yml
sidshas03 Sep 12, 2025
74fac6e
fix: resolve Cypress e2e test issues
sidshas03 Sep 12, 2025
cc6f0a7
fix: resolve remaining Cypress CI issues
sidshas03 Sep 12, 2025
8876fa0
fix: cypress tests, runtime cfg for apiBaseUrl + approved push e2e test
coopernetes Oct 27, 2025
25d404a
fix: remove dead code, formatting
coopernetes Oct 28, 2025
d3f7b9d
fix: update new tests to new vitest
coopernetes Dec 4, 2025
0e27447
chore: remove old apiBase code
coopernetes Dec 15, 2025
f90cc7f
feat: remove http, resolve conflicts
coopernetes Dec 15, 2025
2b5125e
chore: revert cypress test changes
coopernetes Dec 17, 2025
2bcbe98
chore: merge ui changes with new baseUrl function
coopernetes Dec 17, 2025
4674c9d
revert unused files and http support
coopernetes Dec 29, 2025
ecd6161
Merge pull request #1165 from RBC/e2e-testing
coopernetes Jan 2, 2026
8bb5282
docs: reorganize SSH documentation for better user experience
fabiovincenzi Jan 5, 2026
b2973db
Merge branch 'main' into ssh-agent-on-pr987
fabiovincenzi Jan 5, 2026
0b0a020
fix(ui): migrate ssh service from deprecated apiBase to apiConfig
fabiovincenzi Jan 5, 2026
61eda40
fix: Dockerfile permissions error
jescalada Jan 10, 2026
bfff0f7
chore: remove unused NPM auth token and flags
jescalada Jan 14, 2026
c655f05
Merge pull request #1351 from jescalada/1334-npm-release-authenticati…
jescalada Jan 14, 2026
ae77132
Merge branch 'main' into ssh-agent-on-pr987
fabiovincenzi Jan 14, 2026
92133d3
Merge branch 'main' into dockerfile-fix
coopernetes Jan 14, 2026
930a5da
Merge pull request #1341 from jescalada/dockerfile-fix
coopernetes Jan 14, 2026
74d2bc9
Merge branch 'main' into ssh-agent-on-pr987
fabiovincenzi Jan 16, 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
64 changes: 50 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,32 +17,33 @@ jobs:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
node-version: [20.x]
mongodb-version: [4.4]
node-version: [20.x, 22.x, 24.x]
mongodb-version: ['6.0', '7.0', '8.0']

steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # ratchet:step-security/harden-runner@v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # ratchet:actions/checkout@v6.0.1
with:
fetch-depth: 0

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # ratchet:actions/setup-node@v6.1.0
with:
node-version: ${{ matrix.node-version }}

- name: Start MongoDB
uses: supercharge/mongodb-github-action@90004df786821b6308fb02299e5835d0dae05d0d # 1.12.0
uses: supercharge/mongodb-github-action@315db7fe45ac2880b7758f1933e6e5d59afd5e94 # ratchet:supercharge/mongodb-github-action@1.12.1
with:
mongodb-version: ${{ matrix.mongodb-version }}

- name: Install dependencies
run: npm i
run: npm ci

# for now only check the types of the server
# tsconfig isn't quite set up right to respect what vite accepts
Expand All @@ -60,7 +61,7 @@ jobs:
npm run test-coverage-ci --workspaces --if-present

- name: Upload test coverage report
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # ratchet:codecov/codecov-action@v5.5.1
with:
files: ./coverage/lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -72,22 +73,57 @@ jobs:
run: npm run build-ui

- name: Save build folder
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # ratchet:actions/upload-artifact@v4
with:
name: build
name: build-${{ matrix.node-version }}-mongo-${{ matrix.mongodb-version }}
if-no-files-found: error
path: build

- name: Download the build folders
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # ratchet:actions/download-artifact@v5
with:
name: build
name: build-${{ matrix.node-version }}-mongo-${{ matrix.mongodb-version }}
path: build

- name: Run cypress test
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # ratchet:cypress-io/github-action@v6.10.4
with:
start: npm start &
wait-on: 'http://localhost:3000'
wait-on-timeout: 120
run: npm run cypress:run
command: npm run cypress:run

# Execute a final job to collect the results and report a single check status
results:
if: ${{ always() }}
runs-on: ubuntu-latest
name: build result
needs: [build]
steps:
- name: Check build results
run: |
result="${{ needs.build.result }}"
if [[ $result == "success" || $result == "skipped" ]]; then
echo "### ✅ All builds passed" >> $GITHUB_STEP_SUMMARY
exit 0
else
echo "### ❌ Some builds failed" >> $GITHUB_STEP_SUMMARY
exit 1
fi

- name: Parse failed matrix jobs
if: needs.build.result == 'failure'
run: |
echo "## Failed Matrix Combinations" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Node Version | MongoDB Version | Status |" >> $GITHUB_STEP_SUMMARY
echo "|--------------|-----------------|--------|" >> $GITHUB_STEP_SUMMARY

# Parse the matrix results from the build job
results='${{ toJSON(needs.build.outputs) }}'

# Since we can't directly get individual matrix job statuses,
# we'll note that the build job failed
echo "| Multiple | Multiple | ❌ Failed |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "⚠️ Check the [build job logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details on which specific matrix combinations failed." >> $GITHUB_STEP_SUMMARY
54 changes: 5 additions & 49 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: 'CodeQL'

on:
Expand All @@ -25,67 +14,34 @@ permissions:
jobs:
analyze:
name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
language: ['javascript-typescript']
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # ratchet:step-security/harden-runner@v2
with:
egress-policy: audit

- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # ratchet:actions/checkout@v6

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@42213152a85ae7569bdb6bec7bcd74cd691bfe41 # v3
uses: github/codeql-action/init@1b168cd39490f61582a9beae412bb7057a6b2c4e # ratchet:github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@42213152a85ae7569bdb6bec7bcd74cd691bfe41 # v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
uses: github/codeql-action/autobuild@1b168cd39490f61582a9beae412bb7057a6b2c4e # ratchet:github/codeql-action/autobuild@v4

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@42213152a85ae7569bdb6bec7bcd74cd691bfe41 # v3
uses: github/codeql-action/analyze@1b168cd39490f61582a9beae412bb7057a6b2c4e # ratchet:github/codeql-action/analyze@v4
with:
category: '/language:${{matrix.language}}'
8 changes: 4 additions & 4 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2
with:
egress-policy: audit

- name: 'Checkout Repository'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
- name: Dependency Review
uses: actions/dependency-review-action@45529485b5eb76184ced07362d2331fd9d26f03f # v4
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4
with:
comment-summary-in-pr: always
fail-on-severity: high
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib, BlueOak-1.0.0, LicenseRef-scancode-dco-1.1
fail-on-scopes: development, runtime
allow-dependencies-licenses: 'pkg:npm/caniuse-lite'
68 changes: 68 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: E2E Tests

permissions:
contents: read
issues: write
pull-requests: write

on:
push:
branches: [main]
issue_comment:
types: [created]

jobs:
e2e:
runs-on: ubuntu-latest
# Run on push/PR or when a maintainer comments "/test e2e" or "/run e2e"
if: |
github.event_name != 'issue_comment' || (
github.event.issue.pull_request &&
(contains(github.event.comment.body, '/test e2e') || contains(github.event.comment.body, '/run e2e')) &&
(github.event.comment.author_association == 'OWNER' ||
github.event.comment.author_association == 'MEMBER' ||
github.event.comment.author_association == 'COLLABORATOR')
)

steps:
- name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
with:
# When triggered by comment, checkout the PR branch
ref: ${{ github.event_name == 'issue_comment' && format('refs/pull/{0}/head', github.event.issue.number) || github.ref }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435

- name: Set up Docker Compose
uses: docker/setup-compose-action@364cc21a5de5b1ee4a7f5f9d3fa374ce0ccde746

- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Configure Git for CI
run: |
git config --global user.name "CI Runner"
git config --global user.email "ci@example.com"
git config --global init.defaultBranch main

- name: Build and start services with Docker Compose
run: docker compose up -d --build

- name: Wait for services to be ready
run: |
timeout 60 bash -c 'until docker compose ps | grep -q "Up"; do sleep 2; done'
sleep 10

- name: Run E2E tests
run: npm run test:e2e

- name: Stop services
if: always()
run: docker compose down -v
6 changes: 3 additions & 3 deletions .github/workflows/experimental-inventory-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 0

Expand All @@ -38,7 +38,7 @@ jobs:
node-version: ${{ matrix.node-version }}

- name: Start MongoDB
uses: supercharge/mongodb-github-action@90004df786821b6308fb02299e5835d0dae05d0d # 1.12.0
uses: supercharge/mongodb-github-action@315db7fe45ac2880b7758f1933e6e5d59afd5e94 # 1.12.1
with:
mongodb-version: ${{ matrix.mongodb-version }}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/experimental-inventory-cli-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

# Setup .npmrc file to publish to npm
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/experimental-inventory-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

# Setup .npmrc file to publish to npm
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps: # list of steps
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2
with:
egress-policy: audit

Expand All @@ -24,7 +24,7 @@ jobs:
node-version: ${{ env.NODE_VERSION }}

- name: Code Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 0

Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
with:
Expand All @@ -31,10 +31,8 @@ jobs:
VERSION=$(node -p "require('./package.json').version")
if [[ "$VERSION" == *"-"* ]]; then
echo "Publishing pre-release: $VERSION"
npm publish --provenance --access=public --tag rc
npm publish --access=public --tag rc
else
echo "Publishing stable release: $VERSION"
npm publish --provenance --access=public
npm publish --access=public
fi
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/pr-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

Expand Down
Loading
Loading