Merge pull request 'houkime-providers-api' (#19) from houkime/selfprivacy-rest-api:houkime-providers-api into redis/connection-pool

Reviewed-on: #19
pull/22/head
Inex Code 2022-11-02 17:35:58 +02:00
commit 9ee0240bbd
56 changed files with 781 additions and 472 deletions

View File

@ -11,3 +11,9 @@ class DnsProvider(Enum):
@strawberry.enum @strawberry.enum
class ServerProvider(Enum): class ServerProvider(Enum):
HETZNER = "HETZNER" HETZNER = "HETZNER"
DIGITALOCEAN = "DIGITALOCEAN"
@strawberry.enum
class BackupProvider(Enum):
BACKBLAZE = "BACKBLAZE"

View File

@ -44,7 +44,7 @@ def get_system_domain_info() -> SystemDomainInfo:
return SystemDomainInfo( return SystemDomainInfo(
domain=user_data["domain"], domain=user_data["domain"],
hostname=user_data["hostname"], hostname=user_data["hostname"],
provider=DnsProvider.CLOUDFLARE, provider=user_data["dns"]["provider"],
) )
@ -133,7 +133,11 @@ class SystemProviderInfo:
def get_system_provider_info() -> SystemProviderInfo: def get_system_provider_info() -> SystemProviderInfo:
"""Get system provider info""" """Get system provider info"""
return SystemProviderInfo(provider=ServerProvider.HETZNER, id="UNKNOWN") with ReadUserData() as user_data:
return SystemProviderInfo(
provider=user_data["server"]["provider"],
id="UNKNOWN"
)
@strawberry.type @strawberry.type

View File

@ -18,6 +18,7 @@ from selfprivacy_api.migrations.migrate_to_selfprivacy_channel import (
MigrateToSelfprivacyChannel, MigrateToSelfprivacyChannel,
) )
from selfprivacy_api.migrations.mount_volume import MountVolume from selfprivacy_api.migrations.mount_volume import MountVolume
from selfprivacy_api.migrations.providers import CreateProviderFields
migrations = [ migrations = [
FixNixosConfigBranch(), FixNixosConfigBranch(),
@ -25,6 +26,7 @@ migrations = [
MigrateToSelfprivacyChannel(), MigrateToSelfprivacyChannel(),
MountVolume(), MountVolume(),
CheckForFailedBindsMigration(), CheckForFailedBindsMigration(),
CreateProviderFields(),
] ]

View File

@ -0,0 +1,43 @@
from selfprivacy_api.migrations.migration import Migration
from selfprivacy_api.utils import ReadUserData, WriteUserData
class CreateProviderFields(Migration):
"""Unhardcode providers"""
def get_migration_name(self):
return "create_provider_fields"
def get_migration_description(self):
return "Add DNS, backup and server provider fields to enable user to choose between different clouds and to make the deployment adapt to these preferences."
def is_migration_needed(self):
try:
with ReadUserData() as userdata:
return "dns" not in userdata
except Exception as e:
print(e)
return False
def migrate(self):
# Write info about providers to userdata.json
try:
with WriteUserData() as userdata:
userdata["dns"] = {
"provider": "CLOUDFLARE",
"apiKey": userdata["cloudflare"]["apiKey"],
}
userdata["server"] = {
"provider": "HETZNER",
}
userdata["backup"] = {
"provider": "BACKBLAZE",
"accountId": userdata["backblaze"]["accountId"],
"accountKey": userdata["backblaze"]["accountKey"],
"bucket": userdata["backblaze"]["bucket"],
}
print("Done")
except Exception as e:
print(e)
print("Error migrating provider fields")

View File

@ -257,24 +257,25 @@ async def restore_restic_backup(backup: BackupRestoreInput):
raise HTTPException(status_code=404, detail="Backup not found") raise HTTPException(status_code=404, detail="Backup not found")
class BackblazeConfigInput(BaseModel): class BackupConfigInput(BaseModel):
accountId: str accountId: str
accountKey: str accountKey: str
bucket: str bucket: str
@router.put("/restic/backblaze/config") @router.put("/restic/backblaze/config")
async def set_backblaze_config(backblaze_config: BackblazeConfigInput): async def set_backblaze_config(backup_config: BackupConfigInput):
with WriteUserData() as data: with WriteUserData() as data:
if "backblaze" not in data: if "backup" not in data:
data["backblaze"] = {} data["backup"] = {}
data["backblaze"]["accountId"] = backblaze_config.accountId data["backup"]["provider"] = "BACKBLAZE"
data["backblaze"]["accountKey"] = backblaze_config.accountKey data["backup"]["accountId"] = backup_config.accountId
data["backblaze"]["bucket"] = backblaze_config.bucket data["backup"]["accountKey"] = backup_config.accountKey
data["backup"]["bucket"] = backup_config.bucket
restic_tasks.update_keys_from_userdata() restic_tasks.update_keys_from_userdata()
return "New Backblaze settings saved" return "New backup settings saved"
@router.post("/ssh/enable") @router.post("/ssh/enable")

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -49,6 +41,19 @@
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
], ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"volumes": [ "volumes": [
] ]
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -55,5 +47,18 @@
"mountPoint": "/volumes/sda1", "mountPoint": "/volumes/sda1",
"filesystem": "ext4" "filesystem": "ext4"
} }
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -67,5 +59,18 @@
"username": "user3", "username": "user3",
"hashedPassword": "HASHED_PASSWORD_3" "hashedPassword": "HASHED_PASSWORD_3"
} }
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -46,5 +38,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -51,5 +43,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -43,5 +35,18 @@
}, },
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -50,5 +42,18 @@
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
], ],
"users": [ "users": [
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -57,5 +49,18 @@
"ssh-rsa KEY user1@pc" "ssh-rsa KEY user1@pc"
] ]
} }
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -67,5 +59,18 @@
"username": "user3", "username": "user3",
"hashedPassword": "HASHED_PASSWORD_3" "hashedPassword": "HASHED_PASSWORD_3"
} }
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
}

View File

@ -1,18 +1,10 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
}, },
"bitwarden": { "bitwarden": {
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -47,5 +39,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,16 +1,8 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -45,5 +37,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -47,5 +39,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -45,5 +37,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -47,5 +39,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,16 +1,8 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -40,5 +32,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -47,5 +39,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -45,5 +37,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -47,5 +39,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -45,5 +37,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -161,7 +161,7 @@ def mock_restic_tasks(mocker):
@pytest.fixture @pytest.fixture
def undefined_settings(mocker, datadir): def undefined_settings(mocker, datadir):
mocker.patch("selfprivacy_api.utils.USERDATA_FILE", new=datadir / "undefined.json") mocker.patch("selfprivacy_api.utils.USERDATA_FILE", new=datadir / "undefined.json")
assert "backblaze" not in read_json(datadir / "undefined.json") assert "backup" not in read_json(datadir / "undefined.json")
return datadir return datadir
@ -170,20 +170,22 @@ def some_settings(mocker, datadir):
mocker.patch( mocker.patch(
"selfprivacy_api.utils.USERDATA_FILE", new=datadir / "some_values.json" "selfprivacy_api.utils.USERDATA_FILE", new=datadir / "some_values.json"
) )
assert "backblaze" in read_json(datadir / "some_values.json") assert "backup" in read_json(datadir / "some_values.json")
assert read_json(datadir / "some_values.json")["backblaze"]["accountId"] == "ID" assert read_json(datadir / "some_values.json")["backup"]["provider"] == "BACKBLAZE"
assert read_json(datadir / "some_values.json")["backblaze"]["accountKey"] == "KEY" assert read_json(datadir / "some_values.json")["backup"]["accountId"] == "ID"
assert read_json(datadir / "some_values.json")["backblaze"]["bucket"] == "BUCKET" assert read_json(datadir / "some_values.json")["backup"]["accountKey"] == "KEY"
assert read_json(datadir / "some_values.json")["backup"]["bucket"] == "BUCKET"
return datadir return datadir
@pytest.fixture @pytest.fixture
def no_values(mocker, datadir): def no_values(mocker, datadir):
mocker.patch("selfprivacy_api.utils.USERDATA_FILE", new=datadir / "no_values.json") mocker.patch("selfprivacy_api.utils.USERDATA_FILE", new=datadir / "no_values.json")
assert "backblaze" in read_json(datadir / "no_values.json") assert "backup" in read_json(datadir / "no_values.json")
assert "accountId" not in read_json(datadir / "no_values.json")["backblaze"] assert "provider" not in read_json(datadir / "no_values.json")["backup"]
assert "accountKey" not in read_json(datadir / "no_values.json")["backblaze"] assert "accountId" not in read_json(datadir / "no_values.json")["backup"]
assert "bucket" not in read_json(datadir / "no_values.json")["backblaze"] assert "accountKey" not in read_json(datadir / "no_values.json")["backup"]
assert "bucket" not in read_json(datadir / "no_values.json")["backup"]
return datadir return datadir
@ -462,7 +464,8 @@ def test_set_backblaze_config(
) )
assert response.status_code == 200 assert response.status_code == 200
assert mock_restic_tasks.update_keys_from_userdata.call_count == 1 assert mock_restic_tasks.update_keys_from_userdata.call_count == 1
assert read_json(some_settings / "some_values.json")["backblaze"] == { assert read_json(some_settings / "some_values.json")["backup"] == {
"provider": "BACKBLAZE",
"accountId": "123", "accountId": "123",
"accountKey": "456", "accountKey": "456",
"bucket": "789", "bucket": "789",
@ -478,7 +481,8 @@ def test_set_backblaze_config_on_undefined(
) )
assert response.status_code == 200 assert response.status_code == 200
assert mock_restic_tasks.update_keys_from_userdata.call_count == 1 assert mock_restic_tasks.update_keys_from_userdata.call_count == 1
assert read_json(undefined_settings / "undefined.json")["backblaze"] == { assert read_json(undefined_settings / "undefined.json")["backup"] == {
"provider": "BACKBLAZE",
"accountId": "123", "accountId": "123",
"accountKey": "456", "accountKey": "456",
"bucket": "789", "bucket": "789",
@ -494,7 +498,8 @@ def test_set_backblaze_config_on_no_values(
) )
assert response.status_code == 200 assert response.status_code == 200
assert mock_restic_tasks.update_keys_from_userdata.call_count == 1 assert mock_restic_tasks.update_keys_from_userdata.call_count == 1
assert read_json(no_values / "no_values.json")["backblaze"] == { assert read_json(no_values / "no_values.json")["backup"] == {
"provider": "BACKBLAZE",
"accountId": "123", "accountId": "123",
"accountKey": "456", "accountKey": "456",
"bucket": "789", "bucket": "789",

View File

@ -1,6 +1,4 @@
{ {
"backblaze": {
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -8,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -64,5 +59,14 @@
"username": "user3", "username": "user3",
"hashedPassword": "HASHED_PASSWORD_3" "hashedPassword": "HASHED_PASSWORD_3"
} }
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "BUCKET"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -67,5 +59,18 @@
"username": "user3", "username": "user3",
"hashedPassword": "HASHED_PASSWORD_3" "hashedPassword": "HASHED_PASSWORD_3"
} }
] ],
} "dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "BUCKET"
}
}

View File

@ -6,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -62,5 +59,12 @@
"username": "user3", "username": "user3",
"hashedPassword": "HASHED_PASSWORD_3" "hashedPassword": "HASHED_PASSWORD_3"
} }
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -67,5 +59,18 @@
"username": "user3", "username": "user3",
"hashedPassword": "HASHED_PASSWORD_3" "hashedPassword": "HASHED_PASSWORD_3"
} }
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -42,5 +34,18 @@
"enable": true, "enable": true,
"allowReboot": true "allowReboot": true
}, },
"timezone": "Europe/Moscow" "timezone": "Europe/Moscow",
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -42,5 +34,18 @@
"enable": true, "enable": true,
"allowReboot": true "allowReboot": true
}, },
"timezone": "Europe/Moscow" "timezone": "Europe/Moscow",
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -38,5 +30,18 @@
"enable": true, "enable": true,
"allowReboot": true "allowReboot": true
}, },
"timezone": "Europe/Moscow" "timezone": "Europe/Moscow",
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -42,5 +34,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -46,5 +38,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": true "enable": true
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -43,5 +35,18 @@
}, },
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -50,5 +42,18 @@
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
], ],
"users": [ "users": [
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -57,5 +49,18 @@
"ssh-rsa KEY user1@pc" "ssh-rsa KEY user1@pc"
] ]
} }
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -67,5 +59,18 @@
"username": "user3", "username": "user3",
"hashedPassword": "HASHED_PASSWORD_3" "hashedPassword": "HASHED_PASSWORD_3"
} }
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }

View File

@ -1,9 +1,4 @@
{ {
"backblaze": {
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
},
"api": { "api": {
"token": "TEST_TOKEN", "token": "TEST_TOKEN",
"enableSwagger": false "enableSwagger": false
@ -11,9 +6,6 @@
"bitwarden": { "bitwarden": {
"enable": false "enable": false
}, },
"cloudflare": {
"apiKey": "TOKEN"
},
"databasePassword": "PASSWORD", "databasePassword": "PASSWORD",
"domain": "test.tld", "domain": "test.tld",
"hashedMasterPassword": "HASHED_PASSWORD", "hashedMasterPassword": "HASHED_PASSWORD",
@ -48,5 +40,18 @@
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",
"sshKeys": [ "sshKeys": [
"ssh-rsa KEY test@pc" "ssh-rsa KEY test@pc"
] ],
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "TOKEN"
},
"server": {
"provider": "HETZNER"
},
"backup": {
"provider": "BACKBLAZE",
"accountId": "ID",
"accountKey": "KEY",
"bucket": "selfprivacy"
}
} }