You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+60-4Lines changed: 60 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,11 +18,67 @@ cd ../client; make build
18
18
19
19
Pre-compiled binaries for various platforms are available in the [releases](https://github.com/sqlrsync/client/releases) section of the GitHub repository.
20
20
21
-
* Mac (since 2020): sqlrsync-darwin-arm64
22
-
* Mac (before 2020): sqlrsync-darwin-amd64
23
-
* Linux: sqlrsync-linux-amd64
24
-
* Windows: sqlrsync-windows-amd64.exe
21
+
- Mac (since 2020): sqlrsync-darwin-arm64
22
+
- Mac (before 2020): sqlrsync-darwin-amd64
23
+
- Linux: sqlrsync-linux-amd64
24
+
- Windows: sqlrsync-windows-amd64.exe
25
25
26
26
## Running
27
27
28
28
Run ./bin/sqlrsync <params>
29
+
30
+
## Application Logic and Settings
31
+
32
+
By default, REMOTE is SQLRsync.com Version Controlled Storage
33
+
34
+
### Authentication and Authorization
35
+
36
+
There are 3 types of keys used by SQLRsync:
37
+
- Account Create: Allows the creation of a new Database on REMOTE
38
+
- Account Pull: Allows creating a local copy of any version of any existing Database on REMOTE that is owned by that account
39
+
- Replica Pull: Allows creating a local copy of any version of a specific existing Database on REMOTE to a local file
40
+
- Replica Push: Allows the creation of a new version of a specific existing Database on REMOTE
41
+
42
+
Account level Pull and Create keys are never stored locally, and are always interactively prompted or provided as a command line argument.
43
+
44
+
If you use an Account level key, the server will reply with a new replica-specific Pull key (and Push token if you use an Account Create key). The pull key is stored adjacent to the replicated database in a file ending with the suffix `-sqlrsync`, along with other data. (For a database at /tmp/my-data.sqlite, the pull key would be stored in /tmp/my-data.sqlite-sqlrsync)
45
+
46
+
The more sensitive Replica Push key is stored in ~/.config/sqlrsync/local-secrets.toml and subsequent pushes will use that key.
47
+
48
+
### Stored Settings
49
+
50
+
Settings and defaults are stored in your user directory at ~/.config/sqlrsync. Within that directory, there are two files:
51
+
52
+
1. defaults.toml
53
+
Contains default settings for all sqlrsync databases, like server URL, public/private, to generate a new unique clientSideEncryptionKey
54
+
```toml
55
+
# An example ~/.config/defaults.toml
56
+
[defaults]
57
+
server = "wss://sqlrsync.com"
58
+
```
59
+
cd
60
+
2. local-secrets.toml
61
+
Contains this-machine-specific settings, including the path to the local SQLite files, push keys, and encryption keys.
62
+
63
+
```toml
64
+
# An example ~/.config/local-secrets.toml
65
+
[local]
66
+
# When a new SQLRsync Replica is created on the server, we can use this prefix to identify this machine
0 commit comments