Skip to content

Commit 65388fb

Browse files
authored
Merge pull request #366 from authzed/reorganize-docs
reorganize docs
2 parents ec510ad + 23c4a62 commit 65388fb

26 files changed

+203
-169
lines changed

pages/authzed/concepts/update-channels.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ While open source users of the [SpiceDB Operator] have a single update channel o
1010
- **Rapid**: every enterprise release of SpiceDB
1111
- **Regular**: releases qualified by time spent deployed to Rapid, usually trailing by 1-2 releases
1212

13-
[SpiceDB Operator]: ../../spicedb/concepts/operator
13+
[SpiceDB Operator]: ../../spicedb/ops/operator
1414

1515
## Configuring Updates
1616

pages/best-practices/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ Tags: **operations**
295295

296296
To ensure seamless rollouts, upgrades, and schema migrations, it is recommended to use the SpiceDB Kubernetes Operator if you’re using Kubernetes.
297297
The Operator automates many operational tasks and helps maintain consistency across environments.
298-
You can find the official documentation for the SpiceDB operator [here](https://authzed.com/docs/spicedb/concepts/operator).
298+
You can find the official documentation for the SpiceDB operator [here](https://authzed.com/docs/spicedb/ops/operator).
299299

300300
### Ensure that SpiceDB Can Talk To Itself
301301

@@ -305,7 +305,7 @@ In SpiceDB, dispatching subproblems refers to the internal process of breaking d
305305
These subproblems are dispatched horizontally between SpiceDB nodes, which shares the workload and increases cache hit rate - this is [SpiceDB’s horizontal scalability](https://authzed.com/blog/consistent-hash-load-balancing-grpc).
306306
For this to work, the SpiceDB nodes must be configured to be aware of each other.
307307

308-
In our experience, running SpiceDB on Kubernetes with our [Operator](https://authzed.com/docs/spicedb/concepts/operator) is the easiest and best way to achieve this.
308+
In our experience, running SpiceDB on Kubernetes with our [Operator](https://authzed.com/docs/spicedb/ops/operator) is the easiest and best way to achieve this.
309309
It’s possible to configure dispatch using DNS as well, but non-Kubernetes based dispatching relies upon DNS updates, which means it can become stale if DNS is changing.
310310
This is not recommended unless DNS updates are rare.
311311

pages/spicedb/_meta.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"concepts": "Concepts",
44
"modeling": "Modeling & Integrating",
55
"ops": "Operations",
6-
"data": "Managing Data",
76
"api": "API Reference",
87
"links": "Links"
98
}

pages/spicedb/concepts/_meta.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
{
2+
"zanzibar": "Google Zanzibar",
3+
"schema": "Schema Language",
4+
"relationships": "Writing Relationships",
5+
"caveats": "Writing Relationship with Caveats",
6+
"expiring-relationships": "Expiring Relationships",
7+
"commands": "SpiceDB Commands & Parameters",
28
"consistency": "Consistency",
3-
"commands": "Commands",
49
"datastores": "Datastores",
510
"datastore-migrations": "Datastore Migrations",
611
"dispatch": "Dispatch",
7-
"relationships": "Relationships",
8-
"caveats": "Relationship Caveats",
912
"reflection-apis": "Reflection APIs",
10-
"schema": "Schema Language",
1113
"watch": "Watching Changes"
1214
}

pages/spicedb/concepts/datastore-migrations.mdx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ For example, releases that include changes to datastore can require that users u
1515

1616
To automate upgrades without downtime, consider deploying the [SpiceDB Operator].
1717

18-
[SpiceDB Operator]: /spicedb/concepts/operator
18+
[SpiceDB Operator]: /spicedb/ops/operator
1919
</Callout>
2020

2121
[SpiceDB GitHub releases page]: https://github.com/authzed/spicedb/releases
@@ -27,6 +27,20 @@ For example, releases that include changes to datastore can require that users u
2727

2828
### What are migrations?
2929

30+
Before a datastore can be used by SpiceDB or before running a new version of SpiceDB, you must execute all available migrations.
31+
32+
<Callout type="info">
33+
The only exception is the [memdb datastore](datastores#memdb) because it does not persist any data.
34+
</Callout>
35+
36+
In order to migrate a datastore, run the following command with your desired values:
37+
38+
```
39+
spicedb migrate head \
40+
--datastore-engine $DESIRED_ENGINE \
41+
--datastore-conn-uri $CONNECTION_STRING
42+
```
43+
3044
For all software that maintains data, there can be updates to code that rely on also updating the data, too.
3145
The process of updating data to use new versions of software is called _migrating_.
3246

@@ -89,7 +103,7 @@ No matter which service you select, zero-downtime migrations are always performe
89103
If you are operating SpiceDB yourself, the recommended update workflow is to use the [SpiceDB Operator].
90104
Please see the [operator-specific update docs] for various update options.
91105

92-
[operator-specific update docs]: /spicedb/concepts/operator#updating-managed-spicedbclusters
106+
[operator-specific update docs]: /spicedb/ops/operator#updating-managed-spicedbclusters
93107

94108
### Sequential Updates
95109

pages/spicedb/concepts/datastores.mdx

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,6 @@ AuthZed has standardized our managed services on CockroachDB, but we give self-h
1212
- [MySQL](#mysql) - Not recommended; only use if you cannot use PostgreSQL
1313
- [memdb](#memdb) - Recommended for local development and integration testing against applications
1414

15-
## Migrations
16-
17-
Before a datastore can be used by SpiceDB or before running a new version of SpiceDB, you must execute all available migrations.
18-
19-
<Callout type="info">
20-
The only exception is the [memdb datastore](#memdb) because it does not persist any data.
21-
</Callout>
22-
23-
In order to migrate a datastore, run the following command with your desired values:
24-
25-
```
26-
spicedb migrate head \
27-
--datastore-engine $DESIRED_ENGINE \
28-
--datastore-conn-uri $CONNECTION_STRING
29-
```
30-
31-
For more information, refer to the [Datastore Migration documentation](/spicedb/concepts/datastore-migrations).
3215

3316
## CockroachDB
3417

pages/spicedb/concepts/dispatch.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ If not using the [SpiceDB Operator], the `dispatch-upstream-addr` should be of t
2828
<Callout type="info">
2929
If you are deploying SpiceDB under Kubernetes, it is recommended to use the [SpiceDB Operator], which configures dispatching automatically.
3030

31-
[spicedb operator]: /spicedb/concepts/operator
31+
[spicedb operator]: /spicedb/ops/operator
3232
</Callout>
3333

3434
## Configuring Dispatch in non-Kubernetes Environments

pages/spicedb/concepts/relationships.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Callout } from 'nextra/components'
22

3-
## Relationships
3+
# Relationships
44

55
Relationships bind together two Objects (a Subject and a Resource) via a Relation.
66
The concept behind ReBAC authorization systems is that by following a chain of relationships, one can determine access.
Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
11
{
2-
"discovering-spicedb": "Discovering SpiceDB",
2+
"discovering-spicedb": "What is SpiceDB?",
3+
"first-steps": "First Steps",
34
"install": "Installing SpiceDB",
45
"installing-spicedb": { "display": "hidden" },
56
"client-libraries": "Client Libraries",
6-
"installing-zed": "Installing Zed",
7+
"installing-zed": "Installing the CLI",
78
"coming-from": "Coming From",
8-
"protecting-a-blog": "Protecting a Blog Application",
9-
"awesome-list": {
10-
"title": "SpiceDB Awesome List",
11-
"href": "https://github.com/authzed/awesome-spicedb#user-content-awesome-spicedb",
12-
"newWindow": true
13-
},
14-
"examples": {
15-
"title": "Community Examples",
16-
"href": "https://github.com/authzed/examples",
17-
"newWindow": true
18-
},
9+
"protecting-a-blog": "Example: Protecting a Blog Application",
1910
"faq": "FAQ"
2011
}
Lines changed: 3 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
import { Cards, Card, Steps } from 'nextra/components'
2-
import YouTube from 'react-youtube'
3-
import { faTerminal, faServer, faQuestion, faHand, faDollarSign, faPhone } from '@fortawesome/free-solid-svg-icons'
4-
import { faDocker, faAws } from '@fortawesome/free-brands-svg-icons'
1+
import { Cards, Card } from 'nextra/components'
2+
import { faQuestion, faHand, faDollarSign } from '@fortawesome/free-solid-svg-icons'
53
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
64

7-
import { InlinePlayground } from '@/components/playground'
8-
95
# SpiceDB Documentation
106

117
Welcome to the official documentation for the SpiceDB ecosystem.
128

139
<Cards>
14-
<Card arrow={true} icon={<FontAwesomeIcon icon={faHand} />} title="New? Follow our first steps guide" href="#first-steps" />
10+
<Card arrow={true} icon={<FontAwesomeIcon icon={faHand} />} title="New? Follow our first steps guide" href="first-steps" />
1511
<Card arrow={true} icon={<FontAwesomeIcon icon={faQuestion} />} title="Got questions? Our FAQ has answers" href="faq" />
1612
<Card arrow={true} icon={<FontAwesomeIcon icon={faDollarSign} />} title="Paid products? That's the AuthZed docs" href="../../authzed/guides/picking-a-product" />
1713
</Cards>
@@ -86,91 +82,3 @@ Features that distinguish SpiceDB from other systems include:
8682
[OpenTelemetry]: https://opentelemetry.io
8783

8884
[Google's Zanzibar paper]: https://authzed.com/zanzibar
89-
90-
## First steps
91-
92-
<Steps>
93-
94-
### Dive into some videos
95-
96-
SpiceDB developers and community members have recorded videos explaining concepts, modeling familiar applications, and deep-diving into the tech powering everything!
97-
98-
<br />
99-
<YouTube videoId="p8xh_z6PUqE" className="youtubeContainer" opts={{playerVars:{start: 228}}} />
100-
<YouTube videoId="WTfZsRPDv9Q" className="youtubeContainer" />
101-
<YouTube videoId="x3-B9-ICj0w" className="youtubeContainer" />
102-
103-
### Join the SpiceDB Discord
104-
105-
Thousands of community members chat interactively in our [Discord][discord].
106-
Why not ask them a question or two?
107-
108-
<br />
109-
<iframe src="https://e.widgetbot.io/channels/844600078504951838/844600078948630559" allow="clipboard-write; fullscreen" className="w-full min-h-[400px] lg:min-h-[600px]"></iframe>
110-
111-
[discord]: https://authzed.com/discord
112-
113-
### Install the SpiceDB toolchain
114-
115-
SpiceDB and Zed run on Linux, macOS, and Windows on both AMD64 and ARM64 architectures.
116-
117-
Follow the instructions below to install to your development machine:
118-
119-
<Cards>
120-
<Card arrow={true} icon={<FontAwesomeIcon icon={faServer} />} title="Install the SpiceDB server binary" href="/spicedb/getting-started/installing-spicedb" />
121-
<Card arrow={true} icon={<FontAwesomeIcon icon={faTerminal} />} title="Install the SpiceDB CLI tool: Zed" href="/spicedb/getting-started/installing-zed" />
122-
</Cards>
123-
124-
### Learn the concepts
125-
126-
We've documented the concepts SpiceDB users should understand:
127-
128-
<Cards>
129-
<Card arrow={true} title="Zanzibar" href="../concepts/zanzibar" />
130-
<Card arrow={true} title="Schema" href="../concepts/schema" />
131-
<Card arrow={true} title="Relationships" href="../concepts/relationships" />
132-
</Cards>
133-
134-
After these, we recommend these concepts for running SpiceDB:
135-
136-
<Cards>
137-
<Card arrow={true} title="Commands" href="../concepts/commands" />
138-
<Card arrow={true} title="Datastores" href="../concepts/datastores" />
139-
<Card arrow={true} title="Datastore Migrations" href="../concepts/datastore-migrations" />
140-
<Card arrow={true} title="Observability" href="../ops/observability" />
141-
<Card arrow={true} title="Operator" href="../concepts/operator" />
142-
</Cards>
143-
144-
Finally, some more advanced concepts are still fundamental:
145-
146-
<Cards>
147-
<Card arrow={true} title="Consistency" href="../concepts/consistency" />
148-
<Card arrow={true} title="Caveats" href="../concepts/caveats" />
149-
<Card arrow={true} title="Dispatch" href="../concepts/dispatch" />
150-
</Cards>
151-
152-
### Experiment in the Playground
153-
154-
You can experiment with and share schema and data snippets on the [Playground][pg].
155-
156-
When you're done, you can easily import these into a real SpiceDB instance using `zed import`.
157-
158-
Here's an easy example to toy with:
159-
160-
<br /><InlinePlayground reference="m1lRfaaYf9XP" />
161-
162-
[pg]: https://play.authzed.com
163-
164-
### Take SpiceDB to Production
165-
166-
Once you're ready to take things into production, you can reference our guides or explore a managed solution with AuthZed.
167-
168-
Even if you aren't interested in paid products, you can still schedule a call or reach out on Discord.
169-
170-
<Cards>
171-
<Card arrow={true} icon={<FontAwesomeIcon icon={faDocker} />} title="Deploy the Operator on Kubernetes" href="/spicedb/ops/deploying-spicedb-operator" />
172-
<Card arrow={true} icon={<FontAwesomeIcon icon={faAws} />} title="Install a SpiceDB cluster on Amazon EKS" href="/spicedb/getting-started/install/eks" />
173-
<Card arrow={true} icon={<FontAwesomeIcon icon={faPhone} />} title="Schedule a call with AuthZed" href="https://authzed.com/call?utm_source=docs_discovering_spicedb" />
174-
</Cards>
175-
176-
</Steps>

0 commit comments

Comments
 (0)