594 Commits

Author SHA1 Message Date
Michael Pimmer
3724dac9e6
Backups: Cleanup and improved error handling
- fixes issues as supposed by jvalleroy
- new repositories always get a UUID so they can immediately be fully
  used (mounted, queried etc) also before saving them
- remove test connection page -- errors are shown on form submission
- improved error handling when creating remote repositories

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:28:24 -05:00
Michael Pimmer
eab8991b54
Backups: support for encrypted repositories
- implement download, restore, delete archives of encrypted
  repositories
- change how BorgRepository and SshBorgRepository handle path
- when/before creating remote repositories, check whether the
  connection works
- updated tests

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:28:17 -05:00
Michael Pimmer
c223250569
Backups: remove unittests to backups test directory
And add one bugfix to reset cfg.actions_dir after changing it

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:28:00 -05:00
Michael Pimmer
15e26caa23
Backups, remote repositories: create/delete/restore of remote repos
- updated unittests
- implemented create/delete/restore remote archives

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:27:48 -05:00
Michael Pimmer
cf6bbd6bba
Backups, remote repositories: use object-oriented repositories
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:27:42 -05:00
Michael Pimmer
3a8b69fc82
Backups, remote repositories: start using sshfs
- actions to mount/umount via sshfs
- tests

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:27:31 -05:00
Michael Pimmer
4be1b0be76
Backups, remote repositories: uniform parameter handling
- introduce env_vars in backups script and access_params for more
  uniform handling of access parameters
- added tests for creating and deleting an archive

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:27:27 -05:00
Michael Pimmer
0e2489ec23
Backups, remote repositories: implement init, info and some test
- added functionality to use remote repositories
- added some tests

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:27:22 -05:00
Michael Pimmer
4eeceaa695
Backups: allow testing the connection of ssh locations
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:27:17 -05:00
Joseph Nuthalapati
9e4fb5eb59
apache: Switch to php-fpm from mod_php
Also try to automatically work for future versions of PHP.

Fixes #1413
Fixes #1258

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-13 18:24:47 -05:00
Joseph Nuthalapati
3c68a52056
firewalld: Use nftables instead of iptables
restart service after setting the firewall backend

Fixes #1400
Fixes #1430

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-03 18:22:11 -05:00
Joseph Nuthalapati
055e40820c
snapshots: Fix default snapshot listing
The latest snapper returns the currently active snapshot like "4*", which
interferes with both the urls and the templates. Stripping off the unnecessary
asterisk since we have better ways of detecting what the currently active
snapshot is.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-12-02 11:08:01 -05:00
James Valleroy
13646d58d5
ejabberd: Change BOSH port from 5280 to 5443
This is the default for new installs of ejabberd, starting with
version 18.09-1. For existing installs from previous versions, the
config must be upgraded to use the new port.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-11-24 17:48:13 +05:30
Joseph Nuthalapati
43e7633868
openvpn: Always write the latest server configuration on setup
This takes care of the case where a user has tried the "setup" step and
failed. The new configuration will overwrite the old one.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-19 07:46:38 -05:00
Joseph Nuthalapati
3a579e2d72
openvpn: is-setup checks for non-empty dh.pem file
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-19 07:46:31 -05:00
Joseph Nuthalapati
d5a73aaac4
openvpn: Migration from easy-rsa 2 to 3
Fixes #1318
Fixes #1327

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-19 07:46:27 -05:00
Michael Pimmer
e2584be45d
Backups: Make Manifest a dict instead of a list
So it's possible to add more information like metadata etc.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-18 13:58:41 -05:00
Joseph Nuthalapati
187d10592c
sso: Make auth-pubtkt tickets valid for 12 hours
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-18 11:49:24 -05:00
Michael Pimmer
8cc74bd203
Backups: minor cleanups
- some variable names, indentation and documentation changes
- removed unused backups action
- changed name of upload session variable to 'fbx-backups-upload-path'

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 09:00:26 -05:00
Michael Pimmer
1f9bb624e8
Backups: Stream archive downloads/exports
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 09:00:13 -05:00
Michael Pimmer
b92b66b7e9
Backups: clean up forms, names and templates
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 08:59:59 -05:00
Michael Pimmer
50e0bae67c
Backups: relative paths for borg extract in action script
'borg extract' expects relative paths as patterns for PATH(s)

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 08:59:46 -05:00
Michael Pimmer
35305d5e37
Backups: clean up exporting archives functionality
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 08:59:40 -05:00
Michael Pimmer
a350ab200e
Backups: Dont fail when borg doesn't find files to extract
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 08:59:35 -05:00
Michael Pimmer
c770a7adfb
Backups: Restore directly from archive
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 08:59:29 -05:00
Michael Pimmer
ff673b0d73
Backups: export and download archives in one step
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-17 08:59:03 -05:00
Joseph Nuthalapati
ed09028fcd
udiskie: unmount drive as superuser
Since storage devices are auto-mounted as root, they also need to be unmounted
as root.

The assumption here is that this wouldn't have any impact on being able to
write to the devices.

Fixes #1411

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-11-05 18:07:29 -08:00
Michael Pimmer
525638357f
Actions: use local plinth in development mode
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-31 20:24:30 -04:00
Joseph Nuthalapati
f132b2ada9
monkeysphere: yapf reformatting
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-29 23:22:24 -04:00
Joseph Nuthalapati
23110df2dd
monkeysphere: Handle importing new OpenSSH format keys
OpenSSH 7.8 and above use OpenSSH key format instead of the earlier PEM format
by default for RSA keys. This format is not understood by openssl/monkeysphere
yet. Convert it to PEM before importing into monkeysphere.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-29 23:22:18 -04:00
Joseph Nuthalapati
37d84c0f50
upgrades: Add functional tests
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-29 23:22:05 -04:00
James Valleroy
30fd4015b7
snapshot: Handle snapper list output change
Fixes #1408.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-10-25 15:11:32 +05:30
James Valleroy
edcf4a5619
backups: Handle permission error during chown
This happens on FAT file systems, where chown operation is not
possible.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-22 18:19:02 -04:00
Joseph Nuthalapati
6be6b847fd
backups: Make plinth the owner of the backup archives
Changing the ownership of the backup archives from "root" to "plinth" fixes the
permission errors when downloading backup archives.

Fixes #1402

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-22 18:17:01 -04:00
Joseph Nuthalapati
03a6cf25e5
snapshot: Enable backup/restore
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-21 19:18:56 -04:00
Joseph Nuthalapati
a5d66a1362
snapshot: Fix issue with setting configuration
snapper set-config expects each key-value pair to be passed as a separate
argument separated by '='.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-21 19:18:37 -04:00
Joseph Nuthalapati
b18a80f0f2
backups: Implement disabling web configuration during backup
- Introduce a BackupApp class to store all information about application being
  backed up. This cleans up apps lists vs. manifest lists spread out in the
  code.

- Introduce ServiceHandler to abstract dealing with services and web
  configuration.

- Add enable and disable actions in apache action.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-08 18:28:54 -04:00
Joseph Nuthalapati
e001a37449
transmission: Enable backup/restore
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-03 19:19:17 -04:00
Joseph Nuthalapati
968f2a19ed
backups: Allow restoring backups with no files
This still makes sense because restoration might restore settings and state of
application being installed (to be implemented).

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-10-03 19:18:59 -04:00
James Valleroy
d37ba6217e
upgrades: Keep config file when disabling
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-27 12:42:26 +05:30
James Valleroy
5df13f7147
upgrades: Don't change origins pattern list
unattended-upgrades installs upgrades from ${distro_codename},
label=Debian by default.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-27 12:42:11 +05:30
James Valleroy
7817111928
backups: Create folder if needed during setup
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-24 19:45:29 +05:30
James Valleroy
4d8b3c145d
backups: Use backups API for restore
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-24 19:43:43 +05:30
James Valleroy
481a299250
backups: When restoring, only list apps included in backup
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-24 19:43:36 +05:30
Joseph Nuthalapati
5633fccaa3
backups: Check if paths exist before passing them to borgbackup
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-24 19:42:24 +05:30
James Valleroy
5c12403137
backups: Name borg repo folder more clearly
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-24 19:41:49 +05:30
James Valleroy
b272020e94
backups: Use paths from selected apps
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-09-24 19:41:05 +05:30
James Valleroy
04d14e276f
backups: Restore from exported archive
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-08-17 17:31:25 +05:30
James Valleroy
bd45de2915
backups: Add list of exported archives
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-08-17 17:31:15 +05:30
James Valleroy
ab9f961091
backups: Simplify export of backup archive files
- Allow selection of Root Filesystem or any removable drive.
- Export to FreedomBox-backups folder in selection location.
- Handle export location without / at the end

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-08-17 17:31:06 +05:30