Lance Edgar
f97401009e
Allow custom email key for overnight scripts
2022-03-21 17:54:23 -05:00
Lance Edgar
5a4e2701df
Tweak default luigi config; allow specifying version
...
to accommodate one particular install, but is generally okay i think..
2022-03-18 21:46:41 -05:00
Lance Edgar
5df704679f
Improve error message when deploying backup w/ no config
2022-02-16 15:26:46 -06:00
Lance Edgar
a1b580e51a
Add function to get MariaDB version string
2022-02-10 23:25:24 -06:00
Lance Edgar
097a96fc07
Add --progress-bar
arg for pip in backup app's upgrade script
...
for some reason latest pip has progress bar showing up in cron output
and causing unwanted email
2022-02-07 10:47:43 -06:00
Lance Edgar
fd0e55ab60
Add logic to install with get-pip.py
on python2
2022-01-30 10:45:53 -06:00
Lance Edgar
a2f5542ed8
Fix typo in overnight luigi cron script
2022-01-29 17:28:46 -06:00
Lance Edgar
6bf697da1d
Add generic Luigi install logic
...
at least try to do what we can to reduce boilerplate
2022-01-28 15:29:32 -06:00
Lance Edgar
ca59000287
Allow specifying alternate config file for datasync checks
2021-11-30 13:38:05 -06:00
Lance Edgar
b58c0da7a4
Use python instead of shell script, for datasync checks
...
seems to give more clarity, and we'll have more options this way
2021-11-11 11:58:09 -06:00
Lance Edgar
5b985fb803
Fix syntax error, clone URL for deploy.backup_app()
2021-11-10 20:56:55 -06:00
Lance Edgar
cbf93624e0
Update README link for FreeTDS
2021-10-05 10:11:42 -04:00
Lance Edgar
955ceea801
Add function for installing byjove from source
2021-09-03 19:24:48 -05:00
Lance Edgar
c413c2a1f2
Add postgres functions, set_listen_addresses
and add_hba_entry
2021-06-15 14:16:46 -05:00
Lance Edgar
3287505f88
Bring in the uncomment
function to root namespace
2021-06-15 14:16:29 -05:00
Lance Edgar
1fd9ad48d6
Add bootstrap_rattail_base()
and related tweaks
...
the idea here is to have a "one stop shop" for base requirements,
we'll see how useful it is in practice i guess
2021-06-11 18:38:16 -05:00
Lance Edgar
506b88d3e2
Avoid use of workon
when deploying backup app
...
should not assume presence of virtualenvwrapper for this
2021-05-04 15:49:46 -05:00
Lance Edgar
9ae0015aba
Allow skipping of triggers when dumping MySQL DB
...
specifically this is b/c of a production demo which makes use of multiple
triggers of the same "type" but my dev maching has older MariaDB which doesn't
allow such multiple triggers
2021-02-02 11:31:27 -06:00
Lance Edgar
9048403130
Tweak how python packages are installed for backup app
...
per some issues i encountered with pip 20.3.3 and its "new resolver" although
not totally clear what fixed it... :/
2021-01-13 13:13:35 -06:00
Lance Edgar
f87f1e875c
Add python.configure_pythonz()
convenience function
...
not sure how i managed to get by without this until now..?
2021-01-13 13:12:35 -06:00
Lance Edgar
70c5d661a3
Add basic standard datasync check scripts
2021-01-02 20:04:36 -06:00
Lance Edgar
7500202af0
Add basic ejabberd
module
...
doesn't do much really, but still worth sharing i suppose
2020-12-14 11:09:46 -06:00
Lance Edgar
8b8df95633
Add postgresql.script()
for running arbitrary SQL script
2020-12-13 15:54:03 -06:00
Lance Edgar
ab822411be
Tweak regex used to determine PHP version
2020-10-17 10:21:20 -05:00
Lance Edgar
a77b1ec100
Fix typo for installing POD images
2020-10-14 09:21:44 -05:00
Lance Edgar
7963380715
Remove some deprecated init scripts for rattail
2020-10-09 16:39:17 -05:00
Lance Edgar
f5a7f80fd4
More tweaks to logic for caching ssh host key
2020-10-09 16:38:19 -05:00
Lance Edgar
8c08412d7b
Be more discerning about how/when we cache ssh host key
2020-10-09 16:09:34 -05:00
Lance Edgar
47c27eaba5
Don't use sudo for parts of postgresql.restore_db()
...
since apparently that is a problem
2020-10-08 13:58:55 -05:00
Lance Edgar
caf94ac65a
Add port
and user
kwargs for ssh.cache_host_key()
...
deprecate the `for_user` kwarg. this also will now try a basic command over
ssh before bothering with an update/cache for the host key
2020-10-08 13:15:06 -05:00
Lance Edgar
97ed8eeff0
Split up the dump/restore DB logic for postgresql
...
so that i can swap out portions of that in order to use rsync for big DBs
2020-10-07 17:54:45 -05:00
Lance Edgar
96f950d958
Try to set mysql user password in 2 different ways
...
so some versions of MySQL and/or MariaDB do not agree as to how the password
should be set? weird, but oh well, hopefully this works everywhere...
2020-09-30 18:19:36 -05:00
Lance Edgar
d744257af6
Allow specifying python binary for common backup app environment
...
also be sure to upgrade setuptools, wheel for it. this is needed esp. when
deploying to older machines e.g. debian 8
2020-09-29 17:59:31 -05:00
Lance Edgar
c67cc74d3d
Add apt.upgrade()
convenience function
2020-09-29 17:59:21 -05:00
Lance Edgar
c9aebd84e9
Change how we set password when creating a MySQL user
...
the way we were doing it just failed on MySQL (proper, not MariaDB) 8.0
2020-09-26 14:35:52 -05:00
Lance Edgar
c2cca7aa76
Update changelog
2020-09-25 18:05:38 -05:00
Lance Edgar
7471dd1bf5
Add is_debian()
convenience function
2020-09-23 22:40:59 -05:00
Lance Edgar
e8821b3395
Add mssql
module for installing MS SQL Server ODBC driver
2020-09-23 22:40:27 -05:00
Lance Edgar
19fcc94dc7
Add method
kwarg for python.install_pip()
...
ugh, this still needs to be better probably
2020-09-20 17:43:50 -05:00
Lance Edgar
6d8cf3adb6
Add "auto" method of installing pip
2020-09-18 15:38:56 -05:00
Lance Edgar
6cf17a054b
Pass arbitrary kwargs along, for apt.install()
...
also return the result
2020-09-18 15:38:20 -05:00
Lance Edgar
6cb6ddaba7
Allow kwargs for template context when deploying sudoers file
2020-09-16 15:48:34 -05:00
Lance Edgar
d6a11908ce
Update changelog
2020-09-08 18:03:07 -05:00
Lance Edgar
3d5b7c1d6e
Improve support for installing pip etc. on python3
...
namely this is for the sake of newer Ubuntu which doesn't include python2 by
default, and this affects some other package names
2020-09-08 18:01:53 -05:00
Lance Edgar
84c345ce39
Update changelog
2020-09-08 16:15:44 -05:00
Lance Edgar
659f43d5ee
Update changelog
2020-09-08 15:21:14 -05:00
Lance Edgar
8f541c30b3
Allow specifying which version of nodejs to install
2020-09-08 15:19:08 -05:00
Lance Edgar
08e030c8c7
Allow specifying git branch, when installing FreeTDS from source
2020-09-08 15:18:51 -05:00
Lance Edgar
a293ed4012
Make 'gperf' a pre-requisite for FreeTDS source install
2020-08-21 13:47:02 -05:00
Lance Edgar
f6bc14f94c
Add more options when installing pip, virtualenvwrapper
...
some of these were needed to support an older Ubuntu 14.04 machine
2020-03-31 21:31:54 -05:00
Lance Edgar
218d9e5476
Install libsqlite3-dev when installing pythonz
...
since it's needed to build python w/ sqlite3 support
2020-03-22 17:28:00 -05:00
Lance Edgar
720010d889
Allow global registration of custom versions of python
2020-03-22 17:19:10 -05:00
Lance Edgar
3b3cb8ab82
Add 'pythonz' logic, for installing arbitrary versions of python
2020-03-22 17:07:52 -05:00
Lance Edgar
32dda9742e
Add more flexible retry config for Luigi, for overnight backups
2020-03-22 15:40:51 -05:00
Lance Edgar
679ffe817c
Add the apache.stop()
convenience function
2020-03-22 15:04:12 -05:00
Lance Edgar
7590760569
Add some more mysql functions, copied from rattail-fabric
2020-03-21 16:42:19 -05:00
Lance Edgar
9ad1716bad
Add logic to install POD images
2020-03-21 16:42:06 -05:00
Lance Edgar
e290be05c6
Fix command invocation for agent_sudo()
...
at least, this worked for a recent test...where previous code didn't
2020-02-20 17:44:54 -06:00
Lance Edgar
98a64c5024
Add apache.get_php_version()
convenience function
2020-02-08 14:38:08 -06:00
Lance Edgar
4315799e1d
Fix permission bug when configuring virtualenvwrapper
2020-02-08 14:37:57 -06:00
Lance Edgar
f584cf7e16
Add util.uncomment()
function
...
copied from fabric v1
2020-02-07 11:29:53 -06:00
Lance Edgar
88a08fcf8f
Try to suppress output when setting password for postgresql
2020-02-06 23:23:08 -06:00
Lance Edgar
56acb30008
Add postgresql.reload()
function
2019-10-29 20:55:24 -05:00
Lance Edgar
5eea62688e
Fix some permission errors
2019-10-16 19:32:22 -05:00
Lance Edgar
9f066ca859
Add scripts for checking supervisor process, systemd service
2019-10-14 20:32:35 -05:00
Lance Edgar
f441ac7b25
Change how we install JDK for headless libreoffice server
2019-10-07 22:20:30 -05:00
Lance Edgar
c45e1a9187
Expose the Deployer
class in root package namespace
2019-10-07 22:20:08 -05:00
Lance Edgar
325f85a4b3
Add postgresql.create_schema()
2019-10-04 23:08:39 -05:00
Lance Edgar
0b5f6234ad
Add upgrade, restart-overnight-backups scripts for generic backup app
2019-09-30 15:37:21 -05:00
Lance Edgar
067c02e965
Add logic for installing luigi service as part of backup app
2019-09-27 15:51:10 -05:00
Lance Edgar
477af6c6a0
Add TODO comment
2019-09-26 22:02:02 -05:00
Lance Edgar
8e34ee2f17
Add apache.stop()
function
2019-09-26 22:01:45 -05:00
Lance Edgar
baea97957c
Add sed()
convenience function
...
copied from fabric1 src
2019-09-26 22:01:23 -05:00
Lance Edgar
85baacecc1
Add apache.install_wsgi()
convenience function
...
although you really shouldn't use it
2019-09-25 14:17:44 -05:00
Lance Edgar
e81f4afa8f
Add nodejs.install()
for "typical" nvm / node.js install
...
also some related tweaks, necessary for that
2019-09-23 15:26:28 -05:00
Lance Edgar
21bdc2b391
Add postgresql.get_version()
function
2019-09-23 15:25:39 -05:00
Lance Edgar
fef0ccbac5
Always make backup config owned by 'root' user
...
instead of the `user` specified by caller, since we'll always expect to run the
actual backup commands as root
2019-09-22 20:15:15 -05:00
Lance Edgar
c933f36ed6
Install symlink for /usr/local/bin/borg
-> /srv/envs/backup/bin/borg
...
by default, but can skip if so invoked. makes for nicer usage though, for sure
2019-09-16 14:52:36 -05:00
Lance Edgar
6d9006db9d
Pass along user when making virtualenv for backup app
...
i.e. stop assuming 'root' user for that
2019-09-13 19:56:30 -05:00
Lance Edgar
cd421f3aa1
Fix behavior of is_link()
function when a check fails
2019-09-13 17:53:28 -05:00
Lance Edgar
5a9035ffd3
Make deploy.backup_app()
more generic
...
so e.g. can install borg but skip rattail
2019-09-13 13:24:18 -05:00
Lance Edgar
68088a6e71
Add generic bootstrap_python()
logic
2019-09-13 13:24:18 -05:00
Lance Edgar
aa3ef708ad
Add logic for installing headless LibreOffice daemon
2019-09-13 13:24:18 -05:00
Lance Edgar
0430829c02
Add freetds.install_from_source()
2019-09-13 13:24:18 -05:00
Lance Edgar
b9c8a8d104
Add postgresql.restart()
convenience function
2019-09-13 13:24:18 -05:00
Lance Edgar
6b01b0d70d
Add postfix.set_myorigin()
and set_mynetworks()
2019-09-13 13:24:09 -05:00
Lance Edgar
7b939ec4a3
Fix bug in append()
when sudo was involved (?)
2019-09-12 22:05:47 -05:00
Lance Edgar
c0eed0e969
Add rattail.deploy_machine_conf()
for basic machine-wide rattail.conf
2019-09-12 14:53:35 -05:00
Lance Edgar
faefb60cd6
Tweak backup scripts to ensure sudo -H
is effectively in use
2019-09-11 19:28:58 -05:00
Lance Edgar
63b86593f1
Deploy generic rattail-backup
script for backup apps
2019-09-11 18:36:43 -05:00
Lance Edgar
9adc5a5b79
Tweak how backups are configured, to be a tad more generic
2019-09-11 17:33:40 -05:00
Lance Edgar
74308b26a5
Add core rsync()
function
...
also `agent_sudo()` i guess, but that whole thing is decidedly less convenient
now than it used to be. need to figure out a way to temporarily enable agent
forwarding from within the fabric, if possible...
2019-09-09 14:19:26 -05:00
Lance Edgar
7fe63b9f19
Install python3-certbot-apache for debian 10
...
when applicable
2019-09-09 14:19:03 -05:00
Lance Edgar
039af4b394
Tweak mysql.sql()
to allow suppressing echo and output
...
also install default-mysql-server now, per latest debian
2019-09-09 14:18:11 -05:00
Lance Edgar
f787b3ad79
Add set_myhostname()
and set_mydestination()
for postfix
2019-09-09 14:17:49 -05:00
Lance Edgar
fec1c66422
Fix bug for ssh.set_config()
2019-09-09 14:17:35 -05:00
Lance Edgar
6e5131ad46
Add libssl-dev
dependency for borg
2019-09-05 19:05:40 -05:00
Lance Edgar
8221537728
Remove unused user
kwarg to python.mkvirtualenv()
function
...
guess that used to be a thing? but no longer
2019-09-05 17:55:42 -05:00
Lance Edgar
eae08ad5d4
Force using sudo "as root" for various mysql commands
...
this lets us leverage `/root/.my.cnf` b/c it uses `sudo -H`
2019-08-10 02:44:44 -05:00
Lance Edgar
3771688660
Add ssh.set_config()
convenience function
2019-08-10 02:41:26 -05:00