Skip to content

Commit 0ce3e1e

Browse files
committed
reorganize docs
1 parent 0dfee5f commit 0ce3e1e

19 files changed

+194
-157
lines changed

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: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

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/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: 2 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
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.
@@ -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>

pages/spicedb/getting-started/faq.mdx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# Frequently-asked Questions
22

3-
## SpiceDB Questions
4-
5-
### Is SpiceDB Open Source?
3+
## Is SpiceDB Open Source?
64

75
SpiceDB is developed as an [Apache 2.0-licensed][apache] open-source, community-first effort.
86

@@ -20,7 +18,7 @@ There are two conditions under which code is kept proprietary:
2018
[apache]: https://www.tldrlegal.com/license/apache-license-2-0-apache-2-0
2119
[mit]: https://www.tldrlegal.com/license/mit-license
2220

23-
### Does SpiceDB secure IT infrastructure?
21+
## Does SpiceDB secure IT infrastructure?
2422

2523
SpiceDB is a database designed to be integrated into applications.
2624

@@ -34,7 +32,7 @@ We recommend looking into tools designed around specific IT workflows such as au
3432
[Indent]: https://indent.com
3533
[ConductorOne]: https://conductorone.com
3634

37-
### Is SpiceDB a policy engine?
35+
## Is SpiceDB a policy engine?
3836

3937
SpiceDB is not a policy engine.
4038

@@ -48,7 +46,7 @@ For these scenarios, SpiceDB supports [Caveats] as a light-weight form of policy
4846
[Reverse Indices]: #what-is-a-reverse-index
4947
[caveats]: ../concepts/caveats
5048

51-
### How can I get involved with SpiceDB?
49+
## How can I get involved with SpiceDB?
5250

5351
The best first step is to join [Discord].
5452

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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'
5+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
6+
7+
import { InlinePlayground } from '@/components/playground'
8+
9+
# First steps
10+
11+
<Steps>
12+
13+
### Dive into some videos
14+
15+
SpiceDB developers and community members have recorded videos explaining concepts, modeling familiar applications, and deep-diving into the tech powering everything!
16+
17+
<br />
18+
<YouTube videoId="p8xh_z6PUqE" className="youtubeContainer" opts={{playerVars:{start: 228}}} />
19+
<YouTube videoId="WTfZsRPDv9Q" className="youtubeContainer" />
20+
<YouTube videoId="x3-B9-ICj0w" className="youtubeContainer" />
21+
22+
### Join the SpiceDB Discord
23+
24+
Thousands of community members chat interactively in our [Discord][discord].
25+
Why not ask them a question or two?
26+
27+
<br />
28+
<iframe src="https://e.widgetbot.io/channels/844600078504951838/844600078948630559" allow="clipboard-write; fullscreen" className="w-full min-h-[400px] lg:min-h-[600px]"></iframe>
29+
30+
[discord]: https://discord.gg/spicedb
31+
32+
### Install the SpiceDB toolchain
33+
34+
SpiceDB and Zed run on Linux, macOS, and Windows on both AMD64 and ARM64 architectures.
35+
36+
Follow the instructions below to install to your development machine:
37+
38+
<Cards>
39+
<Card arrow={true} icon={<FontAwesomeIcon icon={faServer} />} title="Install the SpiceDB server binary" href="/spicedb/getting-started/installing-spicedb" />
40+
<Card arrow={true} icon={<FontAwesomeIcon icon={faTerminal} />} title="Install the SpiceDB CLI tool: Zed" href="/spicedb/getting-started/installing-zed" />
41+
</Cards>
42+
43+
### Learn the concepts
44+
45+
We've documented the concepts SpiceDB users should understand:
46+
47+
<Cards>
48+
<Card arrow={true} title="Zanzibar" href="../concepts/zanzibar" />
49+
<Card arrow={true} title="Schema" href="../concepts/schema" />
50+
<Card arrow={true} title="Relationships" href="../concepts/relationships" />
51+
</Cards>
52+
53+
After these, we recommend these concepts for running SpiceDB:
54+
55+
<Cards>
56+
<Card arrow={true} title="Commands" href="../concepts/commands" />
57+
<Card arrow={true} title="Datastores" href="../concepts/datastores" />
58+
<Card arrow={true} title="Datastore Migrations" href="../concepts/datastore-migrations" />
59+
<Card arrow={true} title="Observability" href="../ops/observability" />
60+
<Card arrow={true} title="Operator" href="../concepts/operator" />
61+
</Cards>
62+
63+
Finally, some more advanced concepts are still fundamental:
64+
65+
<Cards>
66+
<Card arrow={true} title="Consistency" href="../concepts/consistency" />
67+
<Card arrow={true} title="Caveats" href="../concepts/caveats" />
68+
<Card arrow={true} title="Dispatch" href="../concepts/dispatch" />
69+
</Cards>
70+
71+
### Experiment in the Playground
72+
73+
You can experiment with and share schema and data snippets on the [Playground][pg].
74+
75+
When you're done, you can easily import these into a real SpiceDB instance using `zed import`.
76+
77+
Here's an easy example to toy with:
78+
79+
<br /><InlinePlayground reference="m1lRfaaYf9XP" />
80+
81+
[pg]: https://play.authzed.com
82+
83+
### Take SpiceDB to Production
84+
85+
Once you're ready to take things into production, you can reference our guides or explore a managed solution with AuthZed.
86+
87+
Even if you aren't interested in paid products, you can still schedule a call or reach out on Discord.
88+
89+
<Cards>
90+
<Card arrow={true} icon={<FontAwesomeIcon icon={faDocker} />} title="Deploy the Operator on Kubernetes" href="/spicedb/ops/deploying-spicedb-operator" />
91+
<Card arrow={true} icon={<FontAwesomeIcon icon={faAws} />} title="Install a SpiceDB cluster on Amazon EKS" href="/spicedb/getting-started/install/eks" />
92+
<Card arrow={true} icon={<FontAwesomeIcon icon={faPhone} />} title="Schedule a call with AuthZed" href="https://authzed.com/call?utm_source=docs_discovering_spicedb" />
93+
</Cards>
94+
95+
</Steps>

pages/spicedb/getting-started/install/_meta.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"macos": "macOS",
33
"docker": "Docker",
44
"kubernetes": "Kubernetes",
5-
"eks": "Amazon EKS",
65
"debian": "Ubuntu/Debian",
76
"rhel": "RHEL/CentOS",
87
"windows": "Windows"

0 commit comments

Comments
 (0)