740 Commits

Author SHA1 Message Date
Grant Limberg
6fa849c956 dump member save output only on error
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-21 15:52:16 -07:00
Grant Limberg
3cef1b0842
error output on exceptions in commit thread
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-21 08:40:11 -07:00
Grant Limberg
08b1ceb9a1
"relayed" as ip addr for unknown IP in last_seen 2025-05-21 07:24:35 -07:00
Grant Limberg
af0a9118c1 another query update
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-19 11:07:18 -07:00
Grant Limberg
568da750bb another query fix 2025-05-19 10:50:37 -07:00
Grant Limberg
d5f6f6b98e fix sql statement 2025-05-19 10:37:52 -07:00
Grant Limberg
10ac0c2e1a remove last_authorized_credential field.
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
Think that came from when we were trying to have the controller use the same table as CV2.  It's not used or needed by the controller itself
2025-05-19 09:52:27 -07:00
Grant Limberg
1ffadf31de Get node OS/Arch info into the CV2 db
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-14 15:06:24 -07:00
Grant Limberg
224ee88b91
cleanup some debug statements
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-13 13:36:39 -07:00
Grant Limberg
4b7c5159a3 "" instead of nullptr
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-08 12:24:57 -07:00
Grant Limberg
4a8daf43e4 more query fixes 2025-05-08 10:33:15 -07:00
Grant Limberg
182148a26c query fix 2025-05-08 10:10:20 -07:00
Grant Limberg
af715ca0ff query & null fix 2025-05-08 09:22:28 -07:00
Grant Limberg
990ecb5eb1 another query fix
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-07 12:12:32 -07:00
Grant Limberg
7c88b3f124 fix a couple of queries 2025-05-07 11:57:28 -07:00
Grant Limberg
af3f8b00a4
fix cv2 connection
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-05-01 15:59:07 -07:00
Grant Limberg
1a6c0a5f12 reflect schema changes 2025-05-01 12:26:43 -07:00
Grant Limberg
2c8f032a76 CV2 controller. Should have everything but SSO now
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-04-10 13:32:52 -07:00
Grant Limberg
fb7b07fc42 make sure the pg connstring is correct for cv2:// instances 2025-04-03 14:48:13 -07:00
Grant Limberg
1d2130610c use the CV2 db instance if the path prefix is cv2:// 2025-04-03 14:38:58 -07:00
Grant Limberg
0b04f772ef make things compile 2025-04-03 14:26:09 -07:00
Grant Limberg
5c73fe9304 build fix 2025-04-03 10:45:06 -07:00
Grant Limberg
2af105000f
WIP: refactoring for CV2 db integration 2025-04-03 10:27:42 -07:00
Grant Limberg
f5b0fc6a8f
Fix AuthInfo Provider not being set 2025-03-10 16:04:06 -07:00
Adam Ierymenko
e1ee3eb494
Merge branch 'dev' into lel-amri-fix-mac-handling-in-rules-parser 2024-09-11 12:13:32 -04:00
Grant Limberg
508527f7cd
break up redis tx inserts into smaller chunks 2024-07-08 14:08:54 -07:00
Grant Limberg
9d57ccd7b1
deauth all members upon network delete 2024-06-17 16:38:41 -07:00
Grant Limberg
ad60d708e1
fix log line 2024-06-17 16:38:31 -07:00
Adam Ierymenko
1982071d46 1.14.0 version bump for Linux and macOS, date update. 2024-03-19 14:38:48 -07:00
travisladuke
b4eb39fb16 feat: static file server
this lets you host web apps out of
:9993/app/{app_name}
:9993/app/{other_app}

from $ZT_HOME/app/{app_name}
2024-03-13 12:39:21 -07:00
Joseph Henry
b9d0cf9c89
Don't pass result of void function to string constructor 2024-03-05 12:14:12 -08:00
Joseph Henry
43b141547e
Merge branch 'dev' into fix-mac-handling-in-rules-parser 2024-03-05 10:48:58 -08:00
travisladuke
6e8fcce777 Fix unstable network member list endpoint
It was returning an array of array instead of
just array
2024-03-01 09:54:13 -08:00
travisladuke
559e8a907b Improve full controller network list api
it was counting incorrectly in some cases and
returning empty objects.
Basically just handling if network data is null
2024-03-01 09:54:13 -08:00
travisladuke
3593a2d49f Merge branch 'main' into main-into-dev 2024-02-29 10:24:22 -08:00
travisladuke
ac6d532651 Fix deleting controller network member directory
That trailing slash was making it not work.

ZT_HOME/controller.d/network/$nwid
2024-02-22 11:46:50 -08:00
travisladuke
d1a306a021 Prevent creating members on non-existent networks.
```sh
curl -s -X POST "http://localhost:9993/controller/network/abcdabcdabcdabcd/member/1122334455"
```

Would return 200 and ZT_HOME/controller.d/abcdabcdabcdabcd/members/1122334455
would be created. Without a ZT_HOME/controller.d/abcdabcdabcdabcd.json

Then other parts of the system mistakenly think a abcdabcdabcdabcd
network sorta kinda exists and then fail in weird ways.
2024-02-22 11:46:50 -08:00
travisladuke
f027d8f519 Fix typo in metric name 2024-02-07 15:13:42 -08:00
travisladuke
0ca8ae7970 Create an alternate networks list endpoint
Add /unstable/controller/network endpoint

Similar to /unstable/controller/network/{id}/member, it returns actual network objects,
instead of just network ids.
Also includes the total network count,
and each network has it's member counts in meta{}.
2024-02-01 13:12:24 -08:00
travisladuke
0b83f850e4 Create an alternate members list endpoint
The current api at /controller/network/1111111111767f2f/member
Lists only the members' ID and revision number.
If you want details, you have to query each specific member.
So if you want to make a members list, and you have
10000 members on a network, you need to make
10000 http requests.

It's also in a hard to specify and use shape
{ [member-id-1]: 13, [member-id-2]: 14, ... }

GET http://localhost:9993/unstable/controller/network/1111111111767f2f/member ->

```
{
  data: [ {...member1}, {...member2}, ...],
  meta: { totalCount: 4, authorizedCount: 3 }
}

```
2024-02-01 12:47:51 -08:00
travisladuke
06399c86f6 Store a network members name
Because the GET request to get a specific member just dumps
the whole member object, `name` is included there too for free.
2024-02-01 12:31:44 -08:00
Léo El Amri
1aa31e0414 Fix how MAC addresses are handled by the rules parser
It wasn't ignoring separator characters such as the colon and hyphen.
The rules compiler automatically add a colon to separate bytes, which is
not compatible with how they are parsed.
2023-11-15 16:51:03 +01:00
Grant Limberg
2fd50b104c
check hooks are enabled before firing 2023-10-31 12:16:26 -07:00
Grant Limberg
85cab3d0f1
remove some debug logging 2023-10-30 15:20:09 -07:00
Grant Limberg
125257f264
Merge branch 'dev' into temporal 2023-09-06 09:52:22 -07:00
Grant Limberg
8426677c55
fix /controller endpoint 2023-09-06 09:44:25 -07:00
Grant Limberg
d322f332e8
simplify hook firing
only need network and member IDs
2023-08-30 14:51:39 -07:00
Grant Limberg
60fb8c941a
fully wire up temporal. add startup script test to ensure temporal is running 2023-08-29 16:43:05 -07:00
Grant Limberg
d865c42ef8
get connected to temporal 2023-08-29 12:19:28 -07:00
Grant Limberg
69c590ff81
Merge branch 'dev' into temporal 2023-08-28 12:54:29 -07:00