-
Notifications
You must be signed in to change notification settings - Fork 181
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #300 from databacker/restructure-config-file
restructure config file
- Loading branch information
Showing
18 changed files
with
1,079 additions
and
418 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,25 @@ | ||
database: | ||
server: abcd | ||
port: 3306 | ||
credentials: | ||
username: user2 | ||
password: xxxx2 | ||
version: config.databack.io/v1 | ||
kind: local | ||
|
||
targets: | ||
local: | ||
type: file | ||
url: file:///foo/bar | ||
other: | ||
type: file | ||
url: /foo/bar | ||
spec: | ||
database: | ||
server: abcd | ||
port: 3306 | ||
credentials: | ||
username: user2 | ||
password: xxxx2 | ||
|
||
dump: | ||
targets: | ||
- local | ||
local: | ||
type: file | ||
url: file:///foo/bar | ||
other: | ||
type: file | ||
url: /foo/bar | ||
|
||
prune: | ||
retention: "1h" | ||
dump: | ||
targets: | ||
- local | ||
|
||
prune: | ||
retention: "1h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Security | ||
|
||
## Database and Targets | ||
|
||
`mysql-backup` uses standard libraries for accessing remote services, including the database to backup | ||
or restore, and targets for saving backups, restoring backups, or pruning. | ||
|
||
## Logs | ||
|
||
Logs never should include credentials or other secrets, including at the most detailed level like `trace`. If, despite our efforts, | ||
you see confidential information in logs, please report an issue immediately. | ||
|
||
## Telemetry | ||
|
||
Remote telemetry services store your logs, as well as details about when backups occurred, if there were any errors, | ||
and how long they took. This means that the telemetry services knows: | ||
|
||
* The names of the databases you back up | ||
* The names of the targets you use | ||
* The times of backups | ||
* The duration of backups | ||
* The success or failure of backups | ||
* Backup logs. As described above in [Logs](#logs), logs never should include credentials or other secrets. | ||
|
||
Telemetry services do not store your credentials or other secrets, nor do they store the contents of your backups. | ||
They _do_ know the names of your database tables, as those appear in the logs. | ||
|
||
## Remote Configuration | ||
|
||
Remote configuration services store your configuration, including the names of your databases and targets, as well as | ||
credentials. However, they only have that data encrypted in a way that only you can decrypt. When you load configuration | ||
into the remote service, it is encrypted locally to you, and then stored as an encrypted blob. The remote service never | ||
sees your unencrypted data. | ||
|
||
The data is decrypted by `mysql-backup` locally on your machine, when you retrieve the configuration. | ||
|
||
Your access token to the remote service, stored in your local configuration file, is a | ||
[Curve25519 private key](https://en.wikipedia.org/wiki/Curve25519), which authenticates | ||
you to the remote service. The remote service never sees this key, only the public key, which is used to verify your identity. | ||
|
||
This key is then used to decrypt the configuration blob, which is used to configure `mysql-backup`. | ||
|
||
In configuration files, the key is stored base64-encoded. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.