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
Lance Edgar
5a7a122e2d
Add mysql.table_exists()
convenience function
2019-08-06 18:25:14 -05:00
Lance Edgar
72c03a8ac9
Add contains()
and append()
convenience functions
...
basically stolen from Fabric v1 source code
2019-07-23 19:07:14 -05:00
Lance Edgar
bac78764d0
Fix how we run sudo commands as postgres user
2019-02-19 22:36:35 -06:00
Lance Edgar
0a33e7569b
Add some cleanup functions for use when cloning rattail DBs
...
i.e. disable some email config
2019-02-19 22:15:16 -06:00
Lance Edgar
bc4a8a686e
Add functions to deploy, enable apache config files
2019-02-16 18:21:40 -06:00
Lance Edgar
05d6e093a7
Improve logic for locking down SSH config
...
what a tricky mess
2019-02-09 17:55:12 -06:00
Lance Edgar
93c2db902e
Add basic support for installing CORE Office (aka. Fannie)
...
plus various other things, to that end
2019-02-09 17:20:46 -06:00
Lance Edgar
bd4768839a
Port logic for deploying a "backup" app
2019-01-06 14:14:47 -06:00
Lance Edgar
c2fe7586da
Port "most" of mysql logic from rattail-fabric
...
seems i maybe just forgot to commit this last time?
2019-01-06 14:14:21 -06:00
Lance Edgar
76ab2915c8
Add functions for cloning postgres DB
2018-12-03 22:14:55 -06:00
Lance Edgar
e8769c8245
Initial commit; enough to prove concepts at least
...
was able to bootstrap a complete machine with this, although there's lots
missing yet...
2018-12-03 01:11:38 -06:00