From ba1ec10a34f7060be2886fc1ad18b2674fc58dbc Mon Sep 17 00:00:00 2001 From: Matthew Scragg Date: Thu, 24 Oct 2013 11:21:19 -0500 Subject: [PATCH] salt config changes --- .gitignore | 1 + Vagrantfile | 8 ----- realms/models.py | 19 +++-------- requirements.txt | 22 ++++++++++++ srv/salt/common/init.sls | 11 +++++- srv/salt/nodejs/init.sls | 20 ++++++----- srv/salt/realms/init.sls | 51 ++++++++++++++++++++-------- srv/salt/redis/init.sls | 8 +---- srv/salt/rethinkdb/init.sls | 6 ---- srv/salt/supervisor/supervisord.conf | 4 +-- srv/salt/top.sls | 1 + srv/salt/users/init.sls | 6 ---- srv/salt/users/mysudoers | 3 +- 13 files changed, 91 insertions(+), 69 deletions(-) create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index d3ab47c..3547e3b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .vagrant +.virtualenvs .idea .webassets-cache *.pyc diff --git a/Vagrantfile b/Vagrantfile index 34b1a37..5c12bb8 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -7,14 +7,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| salt.minion_config = "srv/minion" salt.run_highstate = true end - config.vm.provider :digital_ocean do |provider, override| - override.ssh.private_key_path = '~/.ssh/id_dsa' - override.vm.box = 'digital_ocean' - override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box" - - provider.client_id = '' - provider.api_key = '' - end end Vagrant::Config.run do |config| diff --git a/realms/models.py b/realms/models.py index f00afc1..40bae42 100644 --- a/realms/models.py +++ b/realms/models.py @@ -1,13 +1,8 @@ import json - import rethinkdb as rdb import bcrypt from flask import session, flash - from flask.ext.login import login_user, logout_user - -from rethinkORM import RethinkModel - from util import gravatar_url from services import db, cache @@ -62,18 +57,17 @@ def cache_it(fn): return wrap -class BaseModel(RethinkModel): +class BaseModel(): + table = None _conn = db def __init__(self, **kwargs): if not kwargs.get('conn'): kwargs['conn'] = db - super(BaseModel, self).__init__(**kwargs) - @classmethod - def create(cls, **kwargs): - return super(BaseModel, cls).create(**kwargs) + def create(self, **kwargs): + return rdb.table(self.table).insert(kwargs).run(self._conn) @cache_it def get_by_id(self, id): @@ -135,11 +129,6 @@ class User(BaseModel): def login(self, login, password): pass - @classmethod - def get(cls, id): - print id - return cls(id=id) - @classmethod def auth(cls, username, password): u = User() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..29cf14e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,22 @@ +Flask==0.10.1 +Flask-Assets==0.8 +Flask-Bcrypt==0.5.2 +Flask-Login==0.2.7 +beautifulsoup4==4.3.2 +boto==2.13.3 +closure==20121212 +gevent==0.13.8 +ghdiff==0.1 +gittle==0.2.2 +itsdangerous==0.23 +lxml==3.2.3 +markdown2==2.1.0 +pyzmq==13.0.0 +recaptcha==1.0rc1 +recaptcha-client==1.0.6 +redis==2.8.0 +rethinkdb==1.10.0-0 +simplejson==3.3.0 +sockjs-tornado==1.0.0 +supervisor==3.0 +tornado==3.1.1 \ No newline at end of file diff --git a/srv/salt/common/init.sls b/srv/salt/common/init.sls index 400d451..8340681 100644 --- a/srv/salt/common/init.sls +++ b/srv/salt/common/init.sls @@ -1,3 +1,10 @@ +extra-repos: + pkgrepo.managed: + - ppa: chris-lea/python-redis + - ppa: brianmercer/redis + - ppa: chris-lea/node.js + - ppa: nginx/stable + common-pkgs: pkg.installed: - pkgs: @@ -18,4 +25,6 @@ common-pkgs: - pkg-config - curl - libxml2-dev - - libxslt-dev \ No newline at end of file + - libxslt-dev + - require: + - pkgrepo.managed: extra-repos \ No newline at end of file diff --git a/srv/salt/nodejs/init.sls b/srv/salt/nodejs/init.sls index a35e17d..487c55f 100644 --- a/srv/salt/nodejs/init.sls +++ b/srv/salt/nodejs/init.sls @@ -1,9 +1,13 @@ -node-repos: - pkgrepo.managed: - - ppa: chris-lea/node.js - nodejs: - pkg: - - installed - - require: - - pkgrepo.managed: node-repos \ No newline at end of file + pkg.installed + +nodejs-dev: + pkg.installed + +npm: + pkg.installed + +bower: + npm.installed: + - require: + - pkg.installed: npm \ No newline at end of file diff --git a/srv/salt/realms/init.sls b/srv/salt/realms/init.sls index 288c650..830472e 100644 --- a/srv/salt/realms/init.sls +++ b/srv/salt/realms/init.sls @@ -1,17 +1,40 @@ -python-pkgs: - pkg.installed: - - pkgs: - - python-dev - - python-pip - - build-essential +python-dev: + pkg.installed +python-pip: + pkg.installed -{% for pkg in ['closure', 'ghdiff', 'tornado', 'pyzmq', 'itsdangerous', 'boto', 'redis', 'simplejson', 'sockjs-tornado', 'flask', 'flask-bcrypt', 'flask-login', 'flask-assets', 'gittle', 'gevent', 'lxml', 'markdown2', 'recaptcha-client', 'RethinkORM' ] %} -{{ pkg }}-pip: - pip: - - name: {{ pkg }} - - installed +build-essential: + pkg.installed + +realms-repo: + git.latest: + - unless: test -e /vagrant + - name: git@github.com:scragg0x/realms.git + - target: /home/deploy + - rev: master + - user: deploy + - identity: /home/deploy/.ssh/id_rsa + +realms-link: + cmd.run: + - onlyif: test -e /vagrant + - name: ln -s /vagrant /home/deploy/realms + +/home/deploy/virtualenvs/realms: + file.directory: + - user: deploy + - group: deploy + - makedirs: True + - recurse: + - user + - group - require: - - pkg.installed: common-pkgs - - pkg.installed: rethinkdb -{% endfor %} \ No newline at end of file + - user.present: deploy + virtualenv.managed: + - name: /home/deploy/virtualenvs/realms + - requirements: /home/deploy/realms/requirements.txt + - watch: + - git: realms-repo + - require: + - file.directory: /home/deploy/virtualenvs/realms \ No newline at end of file diff --git a/srv/salt/redis/init.sls b/srv/salt/redis/init.sls index 2150269..f89b129 100644 --- a/srv/salt/redis/init.sls +++ b/srv/salt/redis/init.sls @@ -1,8 +1,3 @@ -redis-repos: - pkgrepo.managed: - - ppa: chris-lea/python-redis - - ppa: brianmercer/redis - redis-server: pkg: - installed @@ -11,5 +6,4 @@ redis-server: - enable: True - reload: True - require: - - pkg: redis-server - - pkgrepo.managed: redis-repos + - pkg: redis-server \ No newline at end of file diff --git a/srv/salt/rethinkdb/init.sls b/srv/salt/rethinkdb/init.sls index 1cd63a2..c5ad157 100644 --- a/srv/salt/rethinkdb/init.sls +++ b/srv/salt/rethinkdb/init.sls @@ -9,12 +9,6 @@ rethinkdb: pkg: - installed -python-pip: - pkg.installed - -build-essential: - pkg.installed - rethinkdb-pip: pip: - name: rethinkdb diff --git a/srv/salt/supervisor/supervisord.conf b/srv/salt/supervisor/supervisord.conf index a017d39..4035000 100644 --- a/srv/salt/supervisor/supervisord.conf +++ b/srv/salt/supervisor/supervisord.conf @@ -25,8 +25,8 @@ nocleanup = true childlogdir = /tmp strip_ansi = false -[program:reimagine] -command=/usr/bin/python /vagrant/app.py +[program:realms] +command=/home/deploy/virtualenvs/realms/bin/python /home/deploy/realms/app.py [program:rethinkdb] command=/usr/bin/rethinkdb --config-file /etc/rethinkdb/rdb0.conf diff --git a/srv/salt/top.sls b/srv/salt/top.sls index 8d12666..e051b8f 100644 --- a/srv/salt/top.sls +++ b/srv/salt/top.sls @@ -2,6 +2,7 @@ base: '*': - common - users + - nodejs - redis - nginx - rethinkdb diff --git a/srv/salt/users/init.sls b/srv/salt/users/init.sls index 3cb71ee..6c0750f 100644 --- a/srv/salt/users/init.sls +++ b/srv/salt/users/init.sls @@ -4,12 +4,6 @@ deploy: - home: /home/deploy - fullname: Deploy -scragg: - user.present: - - fullname: Matthew Scragg - - shell: /bin/bash - - home: /home/scragg - sudo: pkg: - installed diff --git a/srv/salt/users/mysudoers b/srv/salt/users/mysudoers index 95c3936..8790061 100644 --- a/srv/salt/users/mysudoers +++ b/srv/salt/users/mysudoers @@ -1,2 +1 @@ -deploy ALL=(ALL) NOPASSWD:ALL -mrobinson ALL=(ALL) NOPASSWD:ALL +deploy ALL=(ALL) NOPASSWD:ALL \ No newline at end of file