Commit graph

198 commits

Author SHA1 Message Date
Alexandre Aubin
abf0b6c0d9 Typo 2018-06-12 23:22:31 +02:00
Alexandre Aubin
0ebfa145b8 Close port 465, open 587 during migration according to SMTP port change 2018-06-11 23:40:23 +02:00
Laurent Peuch
72bd201cb2 [enh] import services descriptions from https://pad.aquilenet.fr/p/8Cg5Miv6Of
Thanks to everyone who contributed <3

Co-authored-by: ariasuni <perso@hack-libre.org>
Co-authored-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2018-05-18 04:31:09 +02:00
Laurent Peuch
02842b311d [enh] add service descriptions to en.json 2018-05-18 04:10:41 +02:00
Bram
74b38ba929
Merge pull request #468 from YunoHost/clean_services.py
more debug output in services.py
2018-05-12 04:35:16 +02:00
Alexandre Aubin
8186f044dc Replace the nginx.conf thing with a function called at the beginning of the migration that restore the original file if it was modified 2018-05-11 03:32:54 +02:00
Bram
9d1ed9e8d2
Merge branch 'unstable' into clean_services.py 2018-05-10 23:39:02 +02:00
Alexandre Aubin
2843ce923d Have a specific upgrade for nginx-common because some people edit /etc/nginx/nginx.conf 2018-05-10 22:37:27 +02:00
Laurent Peuch
061b6bbcce [enh] display service journalctl logs on failed to start/stop/enable/disable error 2018-05-10 22:09:02 +02:00
Alexandre Aubin
5013965c0e
[enh] [wip] Stretch migration (#433)
* Add migration skeleton
* Clumsy attempt to adapt the upgrade script to python
* At the end of the migration, force the regen conf of specific services
* Implement the apt clean/autoremove at the end of migration
* Attempt to fix the upgrade of yunohost packages
* Dumb mistake :|
* Adding strings
* Add test of free space for /var/
* Fix sources.list patching
* Stupid mistake :|
* Check system is up to date
* Working on disclaimer draft
* Add a function to list installed 'unstable' apps
* Get actual list of problemtic apps + improve disclaimer message building
* Use helper to run the apt update
* More simplifications of disclaimer building
* Add helper function to get manually modified files
* Fetch actuall list of manually modified files to build disclaimer
* Internationalize disclaimer
* Don't skip stretch migration when running postinstall on jessie
* Add a done message at the very end of the migration
* Also patch jessie/updates and backports in sources.list
* Backup and restore conf files modified during the upgrade to not mess regen-conf
* Also check for yunohost being in 2.x at the beginning of upgrade
* Fix the check for upgradable packages..
* Try to be more robust if folder already exists (when running multiple times)
* I probably meant fail2ban here o.O
* Try to improve robustness when running multiple time
* Add a check after the main upgrade that we're effectively on stretch
* Hold apps equivs packages during the upgrade
* Show dist-upgrade logs in the yunohost admin, using call_async_output
* Misc fixes because I broke things /o\
* Touch /etc/yunohost/installed at the end, because for some weird reason it get deleted sometimes :|
* Removing this unecessary message, especially because it 'hide' the previous one when running from the webadmin
* Install php-zip for nextcloud and kanboard
* Don't crash if there's no [app]-ynh-deps
* Revert previous commit that added this, should be fixed in the stretch branch now
* [fix] Unhold metronome for migration (#452)
* Let's use forge.yunohost.org as repo now
2018-05-02 02:10:46 +02:00
Alexandre Aubin
79eb70ec61 Use number/name in i18n string to avoid breaking existing translations... 2018-03-16 14:38:04 +01:00
Alexandre Aubin
9009b3f9d3 Handle disclaimers 2018-03-16 14:38:04 +01:00
Alexandre Aubin
c266147fd9 Be able to list only pending or done migrations 2018-03-16 14:38:04 +01:00
Alexandre Aubin
c568b04459 Manage the auto/manual flag in migrations_migrate 2018-03-16 14:38:04 +01:00
Alexandre Aubin
bafe6efde2 Typo 2018-03-16 14:38:04 +01:00
Alexandre Aubin
7f359e363b Add mode, description and optionnal disclaimer for migrations 2018-03-16 14:38:04 +01:00
Alexandre Aubin
020dea6531 Change the way we list migrations (always load the module) and the way we manage its infos 2018-03-16 14:38:04 +01:00
Laurent Peuch
e5a41be518
[fix] backslash needs to be double escaped 2018-02-07 21:42:27 +01:00
Laurent Peuch
400dc25d0e
Merge pull request #418 from YunoHost/checkurl_is_deprecated_meh
Moar depreciation warning about checkurl
2018-02-07 21:19:35 +01:00
Laurent Peuch
be8ae067e6
Merge pull request #372 from YunoHost/tsig-sha256
Uses hmac-sha512 for dyndns TSIG
2018-01-24 10:03:34 +01:00
Alexandre Aubin
b23bc434f8 Bigger depreciation / more explicit depreciation warning about checkurl... 2018-01-16 18:49:31 +01:00
Alexandre Aubin
d8435eaccc Add missing translation 2018-01-14 00:59:48 +01:00
Alexandre Aubin
27262f0e4b
Fix english 2018-01-14 00:30:06 +01:00
ljf (zamentur)
efb8416839
[fix] English sentences 2018-01-09 13:12:46 +01:00
ljf
8d2848a426 [enh] Warn users their symlink archives directory is broken 2018-01-09 13:00:40 +01:00
Laurent Peuch
cb29e20b9f
Merge pull request #409 from YunoHost/better_error_ux_app_not_available
Better error ux app not available
2018-01-07 18:45:01 +01:00
Laurent Peuch
9cd760defd [enh] make exceptions messages more obivous 2018-01-07 17:22:25 +01:00
Laurent Peuch
297026e654 [fix] improve UX, previous message was unclear for users
qsd
2018-01-07 17:22:03 +01:00
Laurent Peuch
b97675516e [enh] display app name everytime possible on requirements testing to improve UX 2018-01-04 18:15:10 +01:00
Laurent Peuch
a079e3f5ee [enh] display which app is being upgraded 2018-01-04 18:02:58 +01:00
Laurent Peuch
a9eea61a26 [fix] overwritting key 2018-01-03 20:07:32 +01:00
Laurent Peuch
34433f07a4 Merge branch 'unstable' into tsig-sha256 2018-01-03 19:48:38 +01:00
Laurent Peuch
544ffb273e [mod] improve waiting time UX 2018-01-03 19:00:16 +01:00
Laurent Peuch
044b2406d3 [enh] better logging during key migration 2018-01-03 18:45:18 +01:00
Alexandre Aubin
5ae558edc9 [fix] Clean madness related to DynDNS (#353)
* Add a function to check if a dyndns provider provides a domain
* Add a function to check a domain availability from a dyndns provider
* Use new functions in dyndns_subscribe
* Replace complete madness by _dyndns_available in dyndns_update
* This regex is only used in dyndns_update, no need to define it at the whole file scope level
* Try to clarify management of old ipv4/ipv6 ...
* Add a nice helper to get both ipv4 and ipv6...
* Clarify the dyndns_update madness to get current ipv4/v6
* Remove now useless IPRouteLine
* Change default values of old ipv4/v6 to None, otherwise shit gets update just because IPv6 = None
* Rearrange thing a bit, move path to global variable
* Copypasta typo
* Dyndns zone file as a global variable
* Use helper to write zone content to file
* Adding some debugs/info messages
* Move the domain guessing to a dedicated function...
* Adding comments..
* Using subprocess check_call instead of os.system for nsupdate
* Removing dump of the zone update because it's kinda duplicated from what nsupdate already does
* Ignore error if old_ipvx file is non existent
* Add docstring for _dyndns_available
* Remove parenthesis otherwise this gonna displease Bram-sama :P
* Start working on postinstall .. use _dyndns_provides to check if domain is a .nohost.me or .nohost.st
* Use _dyndns_available to cleanly check for domain availability
* Forget about the weird 'domain split' check...
* Clean dyndns stuff in domain.py
* Missing argument for string
2017-10-08 23:44:07 +02:00
JimboJoe
1086a50eb2 Fix #1005 (add missing 'ask_path' key) (#369) 2017-09-13 19:35:29 +02:00
Laurent Peuch
fea6d3568f [fix] previous string was expecting an app name but we don't have any 2017-08-28 18:00:23 +02:00
Laurent Peuch
66524213cd Merge pull request #348 from YunoHost/clean_domains.py
Clean domains.py
2017-08-19 20:23:31 +02:00
Laurent Peuch
8567164d58 Merge pull request #346 from YunoHost/fix-559-dns-conf-is-not-actual-conf
[fix] Tell user that domain dns-conf shows a recommendation only
2017-08-18 03:24:48 +02:00
Laurent Peuch
4c069c5c3f [mod] fails when registering dynette domain and that dynette can't be reached 2017-08-13 23:32:50 +02:00
ljf (zamentur)
bb4af396d8 [fix] Make read-only mount bind actually read-only (#343)
* [fix] Mount bind readonly not really readonly
* Attempt to clarify and fix some issues with the readonly mount
* Fix some missing messages and exception handling
* Get rid of horrible bash command
* Use subproces.check_call to avoid security hazard
* Revert comment about hard link
* Add test that mount binds are readonly
2017-08-13 22:28:36 +02:00
Alexandre Aubin
1f7d56940e [fix] Tell user that domain dns-conf shows a recommendation only 2017-08-13 14:00:15 -04:00
Laurent Peuch
02ea0c0656 [enh] Add reboot/shutdown actions in tools (#190)
* [enh] Implements shutdown/reboot helpers.
* [enh] Improve reboot/shutdown help.
2017-08-11 16:16:09 +02:00
Laurent Peuch
a441f37454 Migration framework (#195)
* [enh] list migrations
* [enh] first version of the migrate command
* [mod] add todo comment
* [mod] migrate command shouldn't return anything
* [mod] rename yunohost_migrations to data_migrations
* [mod] better regex
* [enh] had base class for migration
* [fix] inverted condition
* [enh] save last runned migration
* [enh] add migrations state command
* [mod] add todo comments
* [mod] error handling
* [mod] DRY
* [doc] more comment
* [enh] handle exceptions on migration
* [mod] error handling
* [mod] DRY
* [enh] error handling
* [mod] this is done earlier
* [doc] docstring
* [enh] handle fail to load migration case
* [doc] add TODO Comment
* [fix] typos, thx ju
* [enh] add a migration to remove archivemount (as an example)
* [fix] check_call is boring
* [enh] support forward/backward migrations
* [mod] I don't need auth
* [fix] apt is expecting input...
* [mod] save it as int
* [mod] add some logging
* [doc] update todo
* [fix] I also need to run backward latest runed migration
* [enh] add target cli argument
* [enh] fake migration
* [enh] uniformly convert to int at the same place
* [fix] we need to filename now
* [enh] validate input
* [enh] handle 0 special case
* [mod] rename fake to skip
* [mod] s/runed/run/g
* [doc] anglich typo in comments
* [mod] more explicit error message
* [mod] more typo
* [doc] put comment in the right place
* [mod] typo
* [fix] forgot to cape migrations by target
* [fix] typo
* [mod] uses moulinette helpers
* [enh] launch migrations during package upgrade
* [mod] remove unused import
* [mod] sort translation keys
* [enh] i18n
* [fix] missing __init__.py in data_migrations
* [mod] move to a subcategory
* Typo / caps / consistency
* [fix] forgot that migrations is now in tools, in postinst
* Skip migrations during postinstall
* Remove archivemount example migration
It relied on apt-get, which can't be used during 'postinst' debian scripts because we're already inside a apt
* Add migration for cert group from 'metronome' to 'ssl-cert'
2017-08-07 15:55:18 +02:00
opi
535f36b1c1 [fix] Properly catch Invalid manifest json with ValueError. (#324)
* [fix] Properly catch Invalid manifest json with ValueError.
* [fix] display detailed error in every case for invalid manifest
2017-08-07 15:29:53 +02:00
ljf (zamentur)
d3eeb4bbc7 [enh] Refactor backup management to pave the way to borg (#275)
* [enh] Use a csv to list file to backup
* [enh] Use csv python module
* [wip] Backup refactoring
* [wip] Backup class refactoring
* [enh] Add archivemount dependencies
* [wip] Restore refactoring
* [fix] Some error in this refactoring
* [fix] Missing backup key translation
* [fix] Bad YNH_CWD in hook backup
* [fix] App backup part was broken
* [fix] Restore operation was broken
* [fix] No compressed backup
* [fix] Don't commit backup path into csv if app backup fail
* [fix] Default backup collect_dir should be in tmp subdir
* [enh] Simplify a copy code
* [enh] Build backup info from properties
* [enh] Improve comments presentation
* Adding first tests for backup/restore
* Adding more backup/restore app test scenario
* [enh] Separate BackupMethods in distinct class
* Adding test of restoring a wordpress archive from 2.4
* [fix] Be able to delete backup link too
* [fix] Bad internationalization key
* [fix] Edge case with empty mysql pwd restore
* [fix] Unset var in restore
* [fix] Edge case with empty mysql pwd restore
* Adding test for backup crash handling
* Cleaning tests + checking tmp dir is empty
* [fix] Missing tmp in backup path
* [fix] Error on reading backup csv
* Adding test of failed restore
* Adding tests when not enough space available
* Simplifying tests using markers
* [fix] ynh backup/restore helpers with only one arg
* [fix] Unmount subdir with python
* [enh] Improve backup size management
* [fix] None object in backup
* [enh] Remove dead code
* [fix] Missing locales
* [enh] Adapat test about needed space
* [fix] Pass some test
* [enh] Remove dead code
* [enh] Pass all test
* [enh] Adding test that backups contains what's expected
* Fix typo in tests
* [fix] Bad documentation
* [enh] Add comment
* [enh] Use len in place of implicit {} == False
* [enh] Add comment
* [enh] Add comment
* [enh] Refactoring on _collect_app_files
* Adding skeleton for remaining tests to write
* [enh] Use a csv to list file to backup
* [enh] Use csv python module
* [wip] Backup refactoring
* [wip] Backup class refactoring
* [enh] Add archivemount dependencies
* [wip] Restore refactoring
* [fix] Some error in this refactoring
* [fix] Missing backup key translation
* [fix] Bad YNH_CWD in hook backup
* [fix] App backup part was broken
* [fix] Restore operation was broken
* [fix] No compressed backup
* [fix] Don't commit backup path into csv if app backup fail
* [fix] Default backup collect_dir should be in tmp subdir
* [enh] Simplify a copy code
* [enh] Build backup info from properties
* [enh] Improve comments presentation
* Adding first tests for backup/restore
* Adding more backup/restore app test scenario
* [enh] Separate BackupMethods in distinct class
* Adding test of restoring a wordpress archive from 2.4
* [fix] Be able to delete backup link too
* [fix] Bad internationalization key
* [fix] Edge case with empty mysql pwd restore
* [fix] Unset var in restore
* [fix] Edge case with empty mysql pwd restore
* Adding test for backup crash handling
* Cleaning tests + checking tmp dir is empty
* [fix] Missing tmp in backup path
* [fix] Error on reading backup csv
* Adding test of failed restore
* Adding tests when not enough space available
* Simplifying tests using markers
* [fix] ynh backup/restore helpers with only one arg
* [fix] Unmount subdir with python
* [enh] Improve backup size management
* [fix] None object in backup
* [enh] Remove dead code
* [fix] Missing locales
* [enh] Adapat test about needed space
* [fix] Pass some test
* [enh] Remove dead code
* [enh] Pass all test
* [enh] Adding test that backups contains what's expected
* Fix typo in tests
* [fix] Bad documentation
* Adding skeleton for remaining tests to write
* [enh] Add comment
* [enh] Use len in place of implicit {} == False
* [enh] Add comment
* [enh] Add comment
* [enh] Refactoring on _collect_app_files
* [fix] Replay e1a507 deleted by rebase
* [fix] ynh_restore helper
* Renaming 'hooks' terminology to 'system' where it makes sense
* Propagating new --system/--ignore-system to actionmap
* Adding more tests + clarifying some functions and messages
* Factorize out the definition and validation of backup/restore targets
* Add missing key
* Use list comprehension instead of dirty loops
* [enh] Add docstring in BackupManager
* [enh] Add docstring on BackupMethod(s)
* [fix] Remove deadcode
* [fix] Remove debug message
* [enh] Add comments on RestoreManager
* [enh] Add comments on backup constants
* Adding a proper report/result for each backup target
* Skipping tests not implemented yet
* Fixing little mistake from merging
* [fix] Support different fs or archivemount error
* [enh] Backup helpers readability
* [fix] Copy backup method
* [fix] Deprecated warning always displayed
* [enh] Retrieve info.json file inside tar.gz
* Trying to reorganize methods with sections for readability
* [enh] Support archivemount failure
* [fix] Missing env var for system part restore helpers
* Clarifying disk usage / free space computation
* [enh] Refactoring around backup set_targets()
* Clarifying structure of backup_create and backup_restore
* Move RestoreManager between BackupManager and BackupMethods
* [fix] Missing locales
* [fix] System part restore if archivemount failure
* [enh] Extract all conf instead of specific code
* [fix] Other output directory (compressed archive)
* [enh] Add test for uncompressed backup
* [fix] Compressed backup in an existing output directory
* [fix] Return size for retro-compatibility
* [fix] Mountpoint check aborting script when called with -eu
* [fix] Avoid failure test with set -eu
* [fix] locale strings missing/bad arguments
* Check free space before mount
* [fix] ynh_restore_helpers with existing archive path
* Adding skeletons for moar tests
* Fixing some weird bug in _get_archive_path
* Adding a regen-conf at the end of system restore
* Adding tests of system restore from 2.4
* Have a class dedicated to target management
* Cleaning tests
* Misc formatting
* More meaningful variable names inside app restore
* [fix] can't call source ../settings/scripts/_common.sh in app backup
* [fix] ynh_install_app_dependencies is not compatible with readonly mount
* [fix] Remove temporary file
2017-06-02 13:41:16 +02:00
Jean-Baptiste
64ab4a82b3 [fix] Yypos in en.json (#314)
* serialzed => serialized
* typo close global_settings_key_doesnt_exists
* serialized/serialize & setings/settings
2017-05-31 17:06:40 +02:00
Alexandre Aubin
7af130d81b Allow regen-conf to manage new files already when they're already present on the system (#311) 2017-05-22 15:24:47 +02:00
opi
c0146b69c6 [fix] Wrong identifier for diagnosis related strings. (#309) 2017-05-22 15:23:24 +02:00
Laurent Peuch
f9437bbd33 Global settings (#229)
* [enh] add base to run tests
* [enh] start global settings proto
* [mod] has -> exists
* [enh] configure actionmap for settings module
* [enh] add a default values mecanism
* [enh] nicer yaml dump
* [mod] DRY
* [fix] moulinette doesn't respect positionned arguments
* [fix] typo
* [mod] don't print when it's not needed
* [enh] raise a moulinette exception when the key doesn't exists
* [mod] add todo comments
* [mod] no more default value
* [enh] namespace all global settings commands
* [mod] unix way, be quiet except when needed
* [fix] forgot to add namespace argument to settings-list
* [fix] fail_silently wasn't considered as a cli flag
* [mod] refactoring
* [enh] remove empty namespace on remove
* [enh] print a warning if attempt to list an empty namespace settings
* [mod] refactoring
* [enh] handle case where I can't open settings file
* [enh] handle case where I can't write settings file
* [enh] handle case where I can't serialized settings data into yaml
* [mod] add error return codes
* [enh] start to move to new architecture for settings
* [enh] uses a dict instead of a tuple for settings
* [mod] no more namespace in settings list
* [mod] settings.exists isn't relevant anymore
* [mod] settings.remove isn't relevant anymore
* [enh] fix settings and switch to json
* [enh] adapt settings set
* [enh] don't set a key that doesn't exists
* [enh] check type of keys before settings them
* [enh] start implement default
* [enh] handle case where key doesnt exist for default
* [enh] i18n for bad key type on settings set
* [enh] i18n for bad key type on settings set for enum
* [mod] exception for weird situation
* [mod] this message isn't used anymore
* [enh] i18n for unknown setting key from local settings
* [mod] style
* [enh] start to work on a reset mecanism
* [enh] complain if settings_reset is called without yes
* [fix] --yes of reset is a boolean option
* [enh] backup old settings before resetting
* [fix] bad usage of logger
* [enh] backup unknown settings
* [enh] move settings description in translations
* [enh] add tests for settings
* [enh] migrate to pytest assert style
* [fix] typo
* [doc] add some comments for not explicite part of the code
* [mod] possibilities -> choices for uniformised vocabulary
* [mod] follow rest semantic
* [doc] made namespace usage more explicit
* [fix] we don't use namespace key anymore
* [enh] make settings_default available in cli
* [fix] *really* be Rest semantic
* [doc] add docstrings to settings module functions
* [enh] reset-all and --full option
* [fix] Remove unused global_settings_reset_not_yes
2017-05-16 17:18:07 +02:00