I want to customize ZAC and need to modify the API. Is there a provided controller's BoltDB table structure and API documentation? Thank you.
Hi @zhaojun1217
We don't have doc for the boltdb table structure. All the bolt stores are here: ziti/controller/db at release-next · openziti/ziti · GitHub
If you just want to browse, you could use ziti ops db explore
to look at a ziti bolt db. The structure is pretty straightforward. If you have specific questions, we'll do our best to answer them.
The REST apis have swagger specs.
- Fabric: ziti/controller/specs/swagger.yml at release-next · openziti/ziti · GitHub
- Edge Management: edge-api/management.yml at main · openziti/edge-api · GitHub
- Edge Client: edge-api/client.yml at main · openziti/edge-api · GitHub
When we move to OpenAPI 3.0, we'll likely combine the fabric and edge management apis into a single endpoint.
Cheers,
Paul
This is also helpful, thanks
I want to modify the identityType section to differentiate between various types such as mac, android, ios, and router. Currently, I see only two types: router and default. This may require modifying the identityTypes bucket, new version, 'user', 'service', and 'device' are replaced. If it's not easily modifiable, I might consider adding a new field in the identities bucket
Have you considered using tags on identities?
$ ziti edge create identity android-user --tags type=android
New identity android-user created with id: dPqmD8Qne
$ ziti edge create identity android-user2 --tags type=android
New identity android-user2 created with id: NWpKD5QCDq
$ ziti edge create identity ios-user --tags type=ios
New identity ios-user created with id: dQGme8xnDq
$ ziti edge list identities 'tags.type="android"'
╭────────────┬───────────────┬─────────┬────────────┬─────────────╮
│ ID │ NAME │ TYPE │ ATTRIBUTES │ AUTH-POLICY │
├────────────┼───────────────┼─────────┼────────────┼─────────────┤
│ NWpKD5QCDq │ android-user2 │ Default │ │ Default │
│ dPqmD8Qne │ android-user │ Default │ │ Default │
╰────────────┴───────────────┴─────────┴────────────┴─────────────╯
results: 1-2 of 2
$
I overlooked the tag! I think this should be more convenient. Let me try.