Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

v1.0.0 #798

Draft
wants to merge 378 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
378 commits
Select commit Hold shift + click to select a range
b9609f1
theme component customization (#221)
michaelquigley Oct 21, 2024
7571a38
mui styling (#221)
michaelquigley Oct 21, 2024
b40e692
branding (#221)
michaelquigley Oct 21, 2024
ba34f47
component model refactoring (#221)
michaelquigley Oct 21, 2024
fe97b6d
throwing things at the wall (#221)
michaelquigley Oct 23, 2024
492e53b
more random junk at the wall (#221)
michaelquigley Oct 23, 2024
9e167a9
Merge branch 'main' into v1_0_0
michaelquigley Oct 24, 2024
d2556b2
Merge branch 'v1_0_0' into agent_ui_1
michaelquigley Oct 24, 2024
9867067
de-leaked (#221)
michaelquigley Oct 28, 2024
c84b2a3
@mui/material/Grid2 (#221)
michaelquigley Oct 29, 2024
9a12ab4
responsive layout improvements (#221)
michaelquigley Oct 29, 2024
e34e661
handler tweaks (#221)
michaelquigley Oct 29, 2024
0a99e3b
oops (#221)
michaelquigley Oct 29, 2024
2a6ecc6
tweaks (#221)
michaelquigley Oct 29, 2024
472b397
new share form improvements (#221)
michaelquigley Oct 29, 2024
84c1b8c
agent console iteration (#221)
michaelquigley Oct 29, 2024
553c2fe
bigger (#221)
michaelquigley Oct 29, 2024
6f1c8e6
size (#221)
michaelquigley Oct 29, 2024
b747216
Merge branch 'main' into v1_0_0
michaelquigley Nov 5, 2024
475c939
Merge branch 'v1_0_0' into agent_ui_1
michaelquigley Nov 5, 2024
47295e3
Merge branch 'main' into v1_0_0
michaelquigley Nov 6, 2024
99a2e66
Merge branch 'v1_0_0' into agent_ui_1
michaelquigley Nov 6, 2024
fe08a19
basic ranged auto listener (#779)
michaelquigley Nov 6, 2024
a0b7416
endpoint -> address (#779)
michaelquigley Nov 6, 2024
e7331e8
move autolistener into util (#780)
michaelquigley Nov 7, 2024
bf6f795
'--auto' mode for 'zrok access private' (#780)
michaelquigley Nov 7, 2024
3f8e760
update agent protocol to support auto mode (#780)
michaelquigley Nov 7, 2024
c728ae8
support --auto mode for agent-based private shares (#780)
michaelquigley Nov 7, 2024
f00835d
changelog (#780)
michaelquigley Nov 7, 2024
1face3b
error handing for '--subordinate' in 'zrok access private' (#789)
michaelquigley Nov 8, 2024
662aa59
debugging lint
michaelquigley Nov 8, 2024
35fc32b
error handling dry (#789)
michaelquigley Nov 8, 2024
94cfba7
subordinate mode messaging improvements (#789)
michaelquigley Nov 12, 2024
f5601e3
reworked 'tail' function for subordinate access (#789)
michaelquigley Nov 12, 2024
ef5e654
subordinate protocol update for 'zrok share private' (#789)
michaelquigley Nov 12, 2024
bf3a470
update 'zrok share reserved' to latest subordinate protocol (#789)
michaelquigley Nov 12, 2024
133087f
Merge branch 'main' into v1_0_0
michaelquigley Nov 13, 2024
f4fa04e
Merge branch 'v1_0_0' into agent_ui_1
michaelquigley Nov 13, 2024
85a2295
refactored 'share.tail' for new subordinate boot protocol (#789)
michaelquigley Nov 13, 2024
6b4dbaa
use json logging when in subordinate mode (#789)
michaelquigley Nov 13, 2024
77eca93
first iteration of work on the subordinate process framework (#789)
michaelquigley Nov 13, 2024
9ab803b
Merge branch 'main' into v1_0_0
michaelquigley Nov 14, 2024
4398746
deps
michaelquigley Nov 14, 2024
1e89bad
Merge branch 'v1_0_0' into agent_ui_1
michaelquigley Nov 14, 2024
a41ed30
tweaks (#789)
michaelquigley Nov 14, 2024
5c4cf9b
migrated the access infrastructure in the agent over to the new 'subo…
michaelquigley Nov 14, 2024
3205b92
port the share infrastructure over to the subordinate framework (#789)
michaelquigley Nov 15, 2024
0bdbc9e
new typescript skeleton for agent ui (#781)
michaelquigley Nov 18, 2024
fe77e69
prune unused dependencies (#781)
michaelquigley Nov 18, 2024
32f661c
package lint (#221)
michaelquigley Nov 18, 2024
6a535a1
exercise the generated api (#781)
michaelquigley Nov 18, 2024
7377b02
skip typescript checking for production builds (for now) (#221)
michaelquigley Nov 18, 2024
c3a6ef1
more typescript porting (#221)
michaelquigley Nov 19, 2024
418a7a4
Merge branch 'main' into v1_0_0
michaelquigley Nov 19, 2024
7f9f610
Merge branch 'v1_0_0' into agent_ui_1
michaelquigley Nov 19, 2024
0f2418e
share and access cards ported (#221)
michaelquigley Nov 19, 2024
7944985
new share modal ported to typescript (#221)
michaelquigley Nov 19, 2024
5298326
everything ported to typescript (#221)
michaelquigley Nov 19, 2024
fe6b861
replaced the old javascript 'agentUi' with the new typescript 'agentU…
michaelquigley Nov 19, 2024
6f674db
idiomatic lint (#221)
michaelquigley Nov 20, 2024
569dfce
typography lint (#221)
michaelquigley Nov 20, 2024
2770090
better idiom (#221)
michaelquigley Nov 20, 2024
7e641a9
error handling lint (#221)
michaelquigley Nov 20, 2024
5a9ed02
changelog for desktop ui (#221)
michaelquigley Nov 20, 2024
786a4e7
last round of generator testing to make sure everything is dialed in …
michaelquigley Nov 20, 2024
639510b
Merge pull request #797 from openziti/agent_ui_1
michaelquigley Nov 20, 2024
1f6cfe4
initial ui100 scaffolding (#724)
michaelquigley Nov 20, 2024
eed5a2e
generate rest model for ui100 (#724)
michaelquigley Nov 20, 2024
460baa3
ignore 'tsc' for dist build (#724)
michaelquigley Nov 20, 2024
4b45227
scaffolding (#724)
michaelquigley Nov 20, 2024
f394074
more react scaffolding; basic api calls (#724)
michaelquigley Nov 20, 2024
67ac841
first steps with reagraph (#799)
michaelquigley Nov 22, 2024
8ed6b91
NavBar (#724)
michaelquigley Nov 22, 2024
d259485
Merge branch 'main' into v1_0_0
michaelquigley Dec 2, 2024
381eef2
Merge branch 'v1_0_0' into ui100
michaelquigley Dec 2, 2024
6eb1981
add react-router 7 (#724)
michaelquigley Dec 2, 2024
ceb96b3
minimum viable login layout (#802)
michaelquigley Dec 2, 2024
40783cd
new login/logout infrastructure rough-in (#724, #802)
michaelquigley Dec 3, 2024
4411eca
login/logout infrastructure improvements (#724, #802)
michaelquigley Dec 3, 2024
96eb246
updated branding; tweaks (#724)
michaelquigley Dec 3, 2024
334637b
react-flow; lint; layouting (#799)
michaelquigley Dec 4, 2024
3df2924
more visual iteration (#799)
michaelquigley Dec 4, 2024
af5becb
tweaks; better 'VisualOverview' building (#799)
michaelquigley Dec 5, 2024
9f2a335
add shares to VisualOverview (#799)
michaelquigley Dec 5, 2024
8582077
first round of custom nodes for visualizer (#799)
michaelquigley Dec 5, 2024
87116b3
support for accesses in visualizer (#799)
michaelquigley Dec 5, 2024
5c07c39
visual lint (#724)
michaelquigley Dec 5, 2024
e7cc9e3
more branding polish (#724)
michaelquigley Dec 5, 2024
16ba28d
draw animated connections for accesses of owned/active shares (#799)
michaelquigley Dec 6, 2024
348e86e
lint (#799)
michaelquigley Dec 6, 2024
d020851
iterating on visual overview differencing (#803)
michaelquigley Dec 6, 2024
496b363
Merge branch 'main' into v1_0_0
michaelquigley Dec 12, 2024
9e73daf
Merge branch 'v1_0_0' into ui100
michaelquigley Dec 13, 2024
336aed8
update vulnerable dependency (#724)
michaelquigley Dec 13, 2024
a99848d
agent ui dep update
michaelquigley Dec 13, 2024
5d16a6f
work in progress on porting the graph merging algorithm to the new 'v…
michaelquigley Dec 16, 2024
5a568d7
initial full port of the merge algorithm (#803)
michaelquigley Dec 16, 2024
e17b4bd
finally, deltas (#803)
michaelquigley Dec 17, 2024
6dca3bb
better selection in visualizer (#804)
michaelquigley Dec 17, 2024
b62355d
removed unused code (#803)
michaelquigley Dec 17, 2024
b91d781
remove minimap (#804)
michaelquigley Dec 17, 2024
4443249
layout (#804)
michaelquigley Dec 17, 2024
36383cc
wow... selection working (#804)
michaelquigley Dec 17, 2024
8fbd40b
roughed in all the side panel types and the necessary responsive layo…
michaelquigley Dec 17, 2024
4d7bf27
not interactive (#804)
michaelquigley Dec 17, 2024
d736a93
file naming lint... it's actually green (#724)
michaelquigley Dec 18, 2024
c7dbb37
align the agent console styling with the ui100 console (#724)
michaelquigley Dec 18, 2024
2dbd6a5
deal with dynamic handles later (#799)
michaelquigley Dec 18, 2024
5d54b2c
using zustand for state (#809); activity sparkline in account node (#…
michaelquigley Dec 18, 2024
6476d68
auto-hide account sparkline when no activity (#799)
michaelquigley Dec 18, 2024
686443c
extraneous store cruft (#809)
michaelquigley Dec 18, 2024
2f3fa58
move visual overview into state store (#809)
michaelquigley Dec 18, 2024
7428b8a
store naming lint (#809)
michaelquigley Dec 18, 2024
6b63a04
sparklines on environment nodes (#799)
michaelquigley Dec 18, 2024
b044c7a
account panel (#724)
michaelquigley Dec 19, 2024
5d863dd
environment panel (#724)
michaelquigley Dec 19, 2024
58f33e3
share panel (#724)
michaelquigley Dec 19, 2024
cdfed28
console spam (#724)
michaelquigley Dec 19, 2024
f47bec6
fixed some typescript lint (#724)
michaelquigley Dec 20, 2024
db85823
i didn't make up 'layouted' (#724)
michaelquigley Dec 20, 2024
544c175
more state store, less random property wiring (#724)
michaelquigley Dec 20, 2024
bc2e07f
better alignment for secret toggle control (#724)
michaelquigley Dec 20, 2024
afeb860
styled minimap; better secret placeholder (#724)
michaelquigley Dec 20, 2024
16aed27
more linty visual tweaks (#724)
michaelquigley Dec 20, 2024
b419300
moved styling components (#724)
michaelquigley Dec 20, 2024
7b53ad0
improved feels PropertyTable (#804)
michaelquigley Jan 6, 2025
4949b39
improvements to interface-switching code (#724)
michaelquigley Jan 6, 2025
f5a08b2
support custom labels (implement selected) for panels (#804)
michaelquigley Jan 7, 2025
0c551c8
initial tabular view mode and additional state to manage viewport tra…
michaelquigley Jan 8, 2025
deb0d8c
selection and state management between the visualizer and tabular vie…
michaelquigley Jan 8, 2025
4b6613a
move overview->[nodes, edges] state management into ApiConsole (#819,…
michaelquigley Jan 8, 2025
be0bf95
Merge branch 'main' into v1_0_0
michaelquigley Jan 8, 2025
2e839f1
Merge branch 'v1_0_0' into ui100
michaelquigley Jan 8, 2025
cba3b95
improvements to selection handling (#819, #823); side panel only cons…
michaelquigley Jan 8, 2025
70a1a43
improvements to selection handling (#819, #823); side panel only cons…
michaelquigley Jan 8, 2025
272cc87
structural and naming lint (#724)
michaelquigley Jan 9, 2025
0294827
add new '/sparklines' endpoint (#823); organization endpoints
michaelquigley Jan 10, 2025
89a9f5b
roughed in '/sparklines' handler (#823)
michaelquigley Jan 10, 2025
56277a4
global store sparkline first plumbing attempt (#823)
michaelquigley Jan 10, 2025
a558131
improved sparkdata state (#823)
michaelquigley Jan 13, 2025
5e64f03
improved combined state view in tabular view; includes sparkdata stat…
michaelquigley Jan 13, 2025
566bf56
'top' is working (#819)
michaelquigley Jan 13, 2025
3041e96
marshall the state back and forth (#819)
michaelquigley Jan 13, 2025
5da0c8c
lint removal
michaelquigley Jan 13, 2025
76e1f2d
include ui mode toggle in navbar (#819)
michaelquigley Jan 14, 2025
96c556f
remove hamburger from agentUi, also
michaelquigley Jan 14, 2025
9f048c6
sketching in action buttons (#822)
michaelquigley Jan 15, 2025
27515ec
more actions (get started) (#822)
michaelquigley Jan 15, 2025
2d444a5
release environment modal implementation (#822)
michaelquigley Jan 21, 2025
3751d0b
better l&f (#822)
michaelquigley Jan 21, 2025
8da300b
panel improvements (#804)
michaelquigley Jan 22, 2025
f3fbb09
release share action (#822)
michaelquigley Jan 22, 2025
353b3aa
smoothstep lines in visualizer (#799)
michaelquigley Jan 22, 2025
4551899
working access->share edges (#799)
michaelquigley Jan 22, 2025
6981e81
release access; better graph state merging (#724)
michaelquigley Jan 22, 2025
06ae147
no need to display the environment identity in the access panel (#827)
michaelquigley Jan 22, 2025
39b173d
polish (#724)
michaelquigley Jan 23, 2025
32f0d7e
vestigial leftovers (#724)
michaelquigley Jan 23, 2025
a2f8cac
split ReleaseAccessModal out to a separate file (#724):
michaelquigley Jan 24, 2025
edc3d08
split out ReleaseEnvironmentModal (#724)
michaelquigley Jan 24, 2025
143c4b8
split out ReleaseShareModal (#822)
michaelquigley Jan 24, 2025
62e78eb
set minimap position (#799)
michaelquigley Jan 24, 2025
3857899
move release share logic into ReleaseShareModal (#822)
michaelquigley Jan 24, 2025
3a71848
lint
michaelquigley Jan 24, 2025
a6bd682
move releaseEnvironment logic into ReleaseEnvironmentModal (#822)
michaelquigley Jan 24, 2025
7df7141
mode releaseAccess logic into ReleaseAccessModal (#822)
michaelquigley Jan 24, 2025
e986c90
useStore -> useApiConsoleStore to avoid zustand import name collision…
michaelquigley Jan 24, 2025
449d45c
api call semantics cleanup (#724)
michaelquigley Jan 24, 2025
41384a9
roughed in modals for account actions (#822)
michaelquigley Jan 24, 2025
2b998e1
regenerate account token text improvements (#822)
michaelquigley Jan 24, 2025
5dc9d0d
wired up regeneration (#822)
michaelquigley Jan 24, 2025
1af626d
reload after regenerate (#822)
michaelquigley Jan 24, 2025
ec39625
copy to clipboard, hopefully done to a much better standard (#724)
michaelquigley Jan 25, 2025
625dfe8
might as well throw those clipboard widgets around more (#724)
michaelquigley Jan 25, 2025
2172836
lint (#724)
michaelquigley Jan 27, 2025
e3cd4f9
ApiConsole refactor/reorg (#724)
michaelquigley Jan 27, 2025
f962a7d
cracked the approach for live form editing; password change (#822)
michaelquigley Jan 27, 2025
efbf713
error handling in ReleaseAccessModal (#837)
michaelquigley Jan 27, 2025
ffe279b
modal error handling (#837)
michaelquigley Jan 27, 2025
0d53518
allowedHosts (ui100)
michaelquigley Jan 27, 2025
8a41028
account metrics modal (#828)
michaelquigley Jan 28, 2025
1779f04
environment metrics panel (#828)
michaelquigley Jan 28, 2025
3b3f1a1
share metrics modal (#828)
michaelquigley Jan 28, 2025
f341b83
roughed in ui for 'forgot password' function (#840)
michaelquigley Jan 28, 2025
06c20a1
add a title (#840)
michaelquigley Jan 28, 2025
66c13a6
more forgot password ui tweakage (#840)
michaelquigley Jan 28, 2025
352a7fa
roughed in the bulk of the registration form (#841)
michaelquigley Jan 28, 2025
9df8c2e
Merge branch 'main' into v1_0_0
michaelquigley Jan 29, 2025
4765bf3
Merge branch 'v1_0_0' into ui100
michaelquigley Jan 29, 2025
8add935
x-charts
michaelquigley Jan 29, 2025
3ef44bf
the fix for dangling environment activity (#824)
michaelquigley Jan 29, 2025
c5381b5
standardize on @mui/x-charts (#828)
michaelquigley Jan 29, 2025
f3adf0c
the registration process is a bit of an embedded 'micro app' (#841)
michaelquigley Jan 30, 2025
ff8e464
Merge branch 'main' into v1_0_0
michaelquigley Jan 31, 2025
1841662
Merge branch 'v1_0_0' into ui100
michaelquigley Jan 31, 2025
65ce8b6
forgot password request (#840)
michaelquigley Jan 31, 2025
9f31112
reset password micro-app (#840)
michaelquigley Jan 31, 2025
d13a47d
api polish: change password (#834)
michaelquigley Feb 3, 2025
a881854
replace legacy api console with ui100 api console (#724)
michaelquigley Feb 3, 2025
b97c6d9
invite api polish (#834)
michaelquigley Feb 3, 2025
3f0d36e
login api polish (#834)
michaelquigley Feb 3, 2025
164fb96
api polish for register endpoint (#834)
michaelquigley Feb 3, 2025
d9b32e1
reset password endpoint polish (#834)
michaelquigley Feb 3, 2025
14d03b8
verify endpoint polish (#834)
michaelquigley Feb 3, 2025
62d8086
admin endpoints polish and lint removal (#834)
michaelquigley Feb 3, 2025
9c77fba
invite token generate lint (#834)
michaelquigley Feb 3, 2025
fc45d4b
changelog
michaelquigley Feb 3, 2025
9f63b91
enable endpoint refactoring (#834)
michaelquigley Feb 3, 2025
0fc139e
lint and polish for disable endpoint (#834)
michaelquigley Feb 3, 2025
0a8c5f2
access endpoint tweaks (#834)
michaelquigley Feb 3, 2025
fc4a32b
update share endpoint tweaks (#834)
michaelquigley Feb 4, 2025
8351710
unshare and unaccess lint removal (#834)
michaelquigley Feb 4, 2025
5821280
remove password requirements (#834); deep regeneration of nodejs and …
michaelquigley Feb 4, 2025
503dd43
frontend token shorthand 'feToken' (#820, #834)
michaelquigley Feb 4, 2025
d2bebc9
invite token -> 'invToken' (#820, #834)
michaelquigley Feb 4, 2025
7685c06
regenerateToken -> regenerateAccountToken (#820, #834)
michaelquigley Feb 4, 2025
47421e6
regToken, accountToken (#820, #834)
michaelquigley Feb 4, 2025
8f86829
reset token (#820, #834)
michaelquigley Feb 4, 2025
4e81bbf
share token (#820)
michaelquigley Feb 4, 2025
fa8200a
account token (#820, #834)
michaelquigley Feb 4, 2025
09fdb92
frontend token (#820, #834)
michaelquigley Feb 4, 2025
598bfcc
organization toke (#820, #834)
michaelquigley Feb 4, 2025
3a08a84
registration, invite, and organization tokens (#820, #834)
michaelquigley Feb 4, 2025
a71f9eb
tokens, tokens, tokens... tokens all the way down (#820, #834)
michaelquigley Feb 4, 2025
f7cf543
more spec lint; frontendId (#834)
michaelquigley Feb 4, 2025
a0383b4
add description to 'frontends' (#834)
michaelquigley Feb 4, 2025
c9c60b4
description for access request (frontend) (#834)
michaelquigley Feb 4, 2025
2a49705
support for 'patch' access (frontend) to update description (for bind…
michaelquigley Feb 5, 2025
5228e25
implemented patching frontend descriptions (#834)
michaelquigley Feb 5, 2025
e95e5c3
frontendToken; frontend description (#834)
michaelquigley Feb 5, 2025
e7f126b
frontend bind address data wiring (#834)
michaelquigley Feb 5, 2025
66ad600
additional data for frontend details (#834)
michaelquigley Feb 5, 2025
9d22528
bind address wiring (#834)
michaelquigley Feb 5, 2025
4ec40eb
access interface improvements (#834)
michaelquigley Feb 5, 2025
3261c4c
suppress frontend description (for now) (#834)
michaelquigley Feb 5, 2025
98aae8f
clipboard text (#724)
michaelquigley Feb 5, 2025
eb7c558
limited data plumbing (#649)
michaelquigley Feb 5, 2025
eb09899
basic bandwidth limit indicators (#649)
michaelquigley Feb 5, 2025
e424df4
the full bandwidth limit indicator set (#649)
michaelquigley Feb 5, 2025
122d004
access panel tweaks (#724)
michaelquigley Feb 5, 2025
1ad6e23
first we need a really obnoxious button (#835)
michaelquigley Feb 5, 2025
8a0a6f5
plumbed in the getting started/help control in the navbar (#835)
michaelquigley Feb 6, 2025
ab9a4fe
getting started modal (#835)
michaelquigley Feb 6, 2025
cf73280
getting started tweaks (#835)
michaelquigley Feb 6, 2025
b195d2b
help link (#835)
michaelquigley Feb 6, 2025
1aba174
Merge pull request #854 from openziti/ui100
michaelquigley Feb 6, 2025
af9be0d
release workflow; agentui
michaelquigley Feb 6, 2025
cbc76fa
build-darwin?
michaelquigley Feb 6, 2025
229070c
all platforms
michaelquigley Feb 6, 2025
7d6feba
Merge branch 'main' into v1_0_0
michaelquigley Feb 6, 2025
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
  •  
  •  
  •  
14 changes: 12 additions & 2 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,29 @@ jobs:
- name: setup-node
uses: actions/setup-node@v4
with:
node-version: 18.x
node-version: 20.x

- name: install ui node modules
shell: bash
run: npm install
working-directory: ui

- name: build node ui
- name: build ui
shell: bash
run: npm run build
working-directory: ui
env:
CI: "true"

- name: install agent ui node modules
shell: bash
run: npm install
working-directory: agent/agentUi

- name: build agent ui
shell: bash
run: npm run build
working-directory: agent/agentUi

- name: go install
shell: bash
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,14 @@ jobs:
env:
CI: "true"

- run: npm install
working-directory: agent/agentUi

- run: npm run build
working-directory: agent/agentUi
env:
CI: "true"

- uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
Expand Down Expand Up @@ -114,6 +122,14 @@ jobs:
env:
CI: "true"

- run: npm install
working-directory: agent/agentUi

- run: npm run build
working-directory: agent/agentUi
env:
CI: "true"

- uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
Expand Down Expand Up @@ -184,6 +200,14 @@ jobs:
env:
CI: "true"

- run: npm install
working-directory: agent/agentUi

- run: npm run build
working-directory: agent/agentUi
env:
CI: "true"

- uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
Expand Down Expand Up @@ -258,6 +282,14 @@ jobs:
env:
CI: "true"

- run: npm install
working-directory: agent/agentUi

- run: npm run build
working-directory: agent/agentUi
env:
CI: "true"

- uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
Expand Down Expand Up @@ -303,6 +335,14 @@ jobs:
env:
CI: "true"

- run: npm install
working-directory: agent/agentUi

- run: npm run build
working-directory: agent/agentUi
env:
CI: "true"

- uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
Expand Down
20 changes: 19 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# CHANGELOG

## v1.0.0

MAJOR RELEASE: zrok reaches version 1.0.0!

FEATURE: Completely redesigned web interface ("API Console"). New implementation provides a dual-mode interface supporting an improved visual network navigator and also a "tabular" view, which provides a more traditional "data" view. New stack built using vite, React, and TypeScript (https://github.com/openziti/zrok/issues/724)

FEATURE: New "zrok Agent", a background manager process for your zrok environments, which allows you to easily manage and work with multiple `zrok share` and `zrok access` processes. New `--subordinate` flag added to `zrok share [public|private|reserved]` and `zrok access private` to operate in a mode that allows an Agent to manage shares and accesses (https://github.com/openziti/zrok/issues/463)

FEATURE: New "zrok Agent UI" a web-based user interface for the zrok Agent, which allows creating and releasing shares and accesses through a web browser. This is just an initial chunk of the new Agent UI, and is considered a "minimum viable" version of this interface (https://github.com/openziti/zrok/issues/221)

FEATURE: `zrok share [public|private|reserved]` and `zrok access private` now auto-detect if the zrok Agent is running in an environment and will automatically service share and access requests through the Agent, rather than in-process if the Agent is running. If the Agent is not running, operation remains as it was in `v0.4.x` and the share or access is handled in-process. New `--force-agent` and `--force-local` flags exist to skip Agent detection and manually select an operating mode (https://github.com/openziti/zrok/issues/751)

FEATURE `zrok access private` supports a new `--auto` mode, which can automatically find an available open address/port to bind the frontend listener on. Also includes `--auto-address`, `--auto-start-port`, and `--auto-end-port` features with sensible defaults. Supported by both the agent and local operating modes (https://github.com/openziti/zrok/issues/780)

CHANGE: Refactored API implementation. Cleanup, lint removal, additional data elements added, unused data removed (https://github.com/openziti/zrok/issues/834)

CHANGE: Deprecated the `passwords` configuration stanza. The zrok controller and API console now use a hard-coded set of (what we believe to be) reasonable assumptions about password quality (https://github.com/openziti/zrok/issues/834)

## v0.4.48

FIX: the Python SDK erroneously assumed the enabled zrok environment contained a config.json file, and was changed to only load it if the file was present (https://github.com/openziti/zrok/pull/853/).
Expand All @@ -15,7 +33,7 @@ CHANGE: Add usage hint in `zrok config get --help` to clarify how to list all va
CHANGE: The Python SDK's `Overview()` function was refactored as a class method (https://github.com/openziti/zrok/pull/846).

FEATURE: The Python SDK now includes a `ProxyShare` class providing an HTTP proxy for public and private shares and a
Jupyter notebook example (https://github.com/openziti/zrok/pull/847).
Jupyter notebook example (https://github.com/openziti/zrok/pull/847).

FIX: PyPi publishing was failing due to a CI issue (https://github.com/openziti/zrok/issues/849)

Expand Down
30 changes: 30 additions & 0 deletions agent/access.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package agent

import (
"github.com/michaelquigley/pfxlog"
"github.com/openziti/zrok/agent/proctree"
"github.com/openziti/zrok/cmd/zrok/subordinate"
)

type access struct {
frontendToken string
token string
bindAddress string
autoMode bool
autoAddress string
autoStartPort uint16
autoEndPort uint16
responseHeaders []string

process *proctree.Child
sub *subordinate.MessageHandler

agent *Agent
}

func (a *access) monitor() {
if err := proctree.WaitChild(a.process); err != nil {
pfxlog.ChannelLogger(a.token).Error(err)
}
a.agent.rmAccess <- a
}
93 changes: 93 additions & 0 deletions agent/accessPrivate.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package agent

import (
"context"
"errors"
"fmt"
"github.com/openziti/zrok/agent/agentGrpc"
"github.com/openziti/zrok/agent/proctree"
"github.com/openziti/zrok/cmd/zrok/subordinate"
"github.com/openziti/zrok/environment"
"github.com/sirupsen/logrus"
"os"
)

func (i *agentGrpcImpl) AccessPrivate(_ context.Context, req *agentGrpc.AccessPrivateRequest) (*agentGrpc.AccessPrivateResponse, error) {
root, err := environment.LoadRoot()
if err != nil {
return nil, err
}

if !root.IsEnabled() {
return nil, errors.New("unable to load environment; did you 'zrok enable'?")
}

accCmd := []string{os.Args[0], "access", "private", "--subordinate", "-b", req.BindAddress, req.Token}
if req.AutoMode {
accCmd = append(accCmd, "--auto", "--auto-address", req.AutoAddress, "--auto-start-port", fmt.Sprintf("%v", req.AutoStartPort))
accCmd = append(accCmd, "--auto-end-port", fmt.Sprintf("%v", req.AutoEndPort))
}
logrus.Info(accCmd)

acc := &access{
token: req.Token,
bindAddress: req.BindAddress,
autoMode: req.AutoMode,
autoAddress: req.AutoAddress,
autoStartPort: uint16(req.AutoStartPort),
autoEndPort: uint16(req.AutoEndPort),
responseHeaders: req.ResponseHeaders,
sub: subordinate.NewMessageHandler(),
agent: i.agent,
}
acc.sub.MessageHandler = func(msg subordinate.Message) {
logrus.Info(msg)
}
var bootErr error
acc.sub.BootHandler = func(msgType string, msg subordinate.Message) {
switch msgType {
case subordinate.BootMessage:
if v, found := msg["frontend_token"]; found {
if str, ok := v.(string); ok {
acc.frontendToken = str
}
}
if v, found := msg["bind_address"]; found {
if sr, ok := v.(string); ok {
acc.bindAddress = sr
}
}

case subordinate.ErrorMessage:
if v, found := msg[subordinate.ErrorMessage]; found {
if str, ok := v.(string); ok {
bootErr = errors.New(str)
}
}
}
}
acc.sub.MalformedHandler = func(msg subordinate.Message) {
logrus.Error(msg)
}

logrus.Infof("executing '%v'", accCmd)

acc.process, err = proctree.StartChild(acc.sub.Tail, accCmd...)
if err != nil {
return nil, err
}

<-acc.sub.BootComplete

if bootErr == nil {
go acc.monitor()
i.agent.addAccess <- acc
return &agentGrpc.AccessPrivateResponse{FrontendToken: acc.frontendToken}, nil

} else {
if err := proctree.WaitChild(acc.process); err != nil {
logrus.Errorf("error joining: %v", err)
}
return nil, fmt.Errorf("unable to start access: %v", bootErr)
}
}
Loading
Loading