Changeset - 934e1c727136
[Not reviewed]
0 1 0
Lance Edgar (lance) - 7 years ago 2018-01-06 19:13:11
lance@edbob.org
Make `~/.ssh` by default, when bootstrapping rattail
1 file changed with 5 insertions and 3 deletions:
0 comments (0 inline, 0 general)
rattail/fablib/rattail.py
Show inline comments
 
# -*- coding: utf-8 -*-
 
# -*- coding: utf-8; -*-
 
################################################################################
 
#
 
#  Rattail -- Retail Software Framework
 
#  Copyright © 2010-2017 Lance Edgar
 
#  Copyright © 2010-2018 Lance Edgar
 
#
 
#  This file is part of Rattail.
 
#
 
#  Rattail is free software: you can redistribute it and/or modify it under the
 
#  terms of the GNU General Public License as published by the Free Software
 
#  Foundation, either version 3 of the License, or (at your option) any later
 
#  version.
 
#
 
#  Rattail is distributed in the hope that it will be useful, but WITHOUT ANY
 
#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
#  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 
#  details.
 
#
 
#  You should have received a copy of the GNU General Public License along with
 
#  Rattail.  If not, see <http://www.gnu.org/licenses/>.
 
#
 
################################################################################
 
"""
 
Fabric library for Rattail itself
 
"""
 

	
 
from __future__ import unicode_literals
 
from __future__ import absolute_import
 

	
 
from fabric.api import sudo, env, cd
 

	
 
from rattail.fablib import make_deploy, make_system_user, mkdir
 

	
 

	
 
deploy = make_deploy(__file__)
 

	
 

	
 
def bootstrap_rattail(home='/var/lib/rattail', uid=None, shell='/bin/bash'):
 
    """
 
    Bootstrap a basic Rattail software environment.
 
    """
 
    make_system_user('rattail', home=home, uid=uid, shell=shell)
 
    sudo('adduser {0} rattail'.format(env.user))
 
    sudo('adduser {} rattail'.format(env.user))
 
    with cd(home):
 
        mkdir('.ssh', owner='rattail:', mode='0700')
 

	
 
    mkdir('/etc/rattail')
 
    mkdir('/srv/rattail')
 
    mkdir('/var/log/rattail', owner='rattail:rattail', mode='0775')
 

	
 
    mkdir('/srv/rattail/init')
 
    deploy('daemon', '/srv/rattail/init/daemon')
 
    deploy('check-rattail-daemon', '/usr/local/bin/check-rattail-daemon')
 
    deploy('luigid', '/srv/rattail/init/luigid')
 
    deploy('soffice', '/srv/rattail/init/soffice')
 
    # TODO: deprecate / remove these
 
    deploy('bouncer', '/srv/rattail/init/bouncer')
 
    deploy('datasync', '/srv/rattail/init/datasync')
 
    deploy('filemon', '/srv/rattail/init/filemon')
 

	
 

	
 
def upgrade_rattail_db(envname=None, envpath=None, config=None, user='rattail'):
 
    """
 
    Upgrade a Rattail database in the "default" supported way
 
    """
 
    if not (envname or envpath):
 
        raise ValueError("Must specify value for either 'envname' or 'envpath'")
 
    if not envpath:
 
        envpath = '/srv/envs/{}'.format(envname)
0 comments (0 inline, 0 general)