This commit is contained in:
Matthew Scragg 2013-11-08 12:20:40 -06:00
parent ba1ec10a34
commit 36cf728862
24 changed files with 181 additions and 488 deletions

View file

@ -1,2 +0,0 @@
master: localhost
file_client: local

View file

@ -1,30 +0,0 @@
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:
- python
- vim
- build-essential
- screen
- htop
- git
- ntp
- libpcre3-dev
- libevent-dev
- iptraf
- python-software-properties
- python-pip
- python-virtualenv
- python-dev
- pkg-config
- curl
- libxml2-dev
- libxslt-dev
- require:
- pkgrepo.managed: extra-repos

View file

@ -1,9 +0,0 @@
nginx:
pkg:
- installed
service:
- running
- enable: True
- reload: True
- require:
- pkg: nginx

View file

@ -1,70 +0,0 @@
{% from 'config.sls' import root %}
gzip_proxied any;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
upstream web {
fair;
server 127.0.0.1:10000;
}
server {
listen 80;
# Allow file uploads
client_max_body_size 50M;
location ^~ /static/ {
root {{ root }};
expires max;
}
location = /favicon.ico {
rewrite (.*) /static/favicon.ico;
}
location = /robots.txt {
rewrite (.*) /static/robots.txt;
}
location / {
proxy_pass_header Server;
proxy_redirect off;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header Host $http_host;
proxy_pass http://web;
error_page 502 = /maintenance.html;
}
location /maintenance.html {
root {{ root }}/templates/;
add_header Cache-Control private;
expires epoch;
}
}
{% if ssl_certificate %}
server {
listen 443;
ssl on;
ssl_certificate {{ ssl_certificate }};
ssl_certificate_key {{ ssl_certificate_key }};
location ^~ /static/ {
root {{ root }};
expires max;
}
location / {
proxy_pass_header Server;
proxy_redirect off;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header Host $http_host;
proxy_pass http://web;
error_page 502 = /maintenance.html;
}
}
{% endif %}

View file

@ -1,13 +0,0 @@
nodejs:
pkg.installed
nodejs-dev:
pkg.installed
npm:
pkg.installed
bower:
npm.installed:
- require:
- pkg.installed: npm

View file

@ -1,40 +0,0 @@
python-dev:
pkg.installed
python-pip:
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:
- 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

View file

@ -1,9 +0,0 @@
redis-server:
pkg:
- installed
service:
- running
- enable: True
- reload: True
- require:
- pkg: redis-server

View file

@ -1,23 +0,0 @@
rethink-repo:
pkgrepo.managed:
- ppa: rethinkdb/ppa
rethinkdb:
user.present:
- shell: /bin/bash
- home: /home/rethinkdb
pkg:
- installed
rethinkdb-pip:
pip:
- name: rethinkdb
- installed
- require:
- pkg: python-pip
- pkg: rethinkdb
- pkg: build-essential
/etc/rethinkdb/rdb0.conf:
file.managed:
- source: salt://rethinkdb/rdb0.conf

View file

@ -1,10 +0,0 @@
runuser=rethinkdb
rungroup=rethinkdb
pid-file=/home/rethinkdb/rdb0/rethinkdb.pid
directory=/home/rethinkdb/rdb0
bind=all
driver-port=28015
cluster-port=29015
port-offset=0
http-port=20000
cores=2

View file

@ -1,19 +0,0 @@
/etc/supervisord.conf:
file.managed:
- source: salt://supervisor/supervisord.conf
supervisor-pip:
pip:
- name: supervisor
- installed
- require:
- pkg.installed: python-pip
supervisor-run:
cmd.run:
- unless: test -e /tmp/supervisord.pid
- name: /usr/local/bin/supervisord
- require:
- file.managed: /etc/supervisord.conf
- file.managed: /etc/rethinkdb/rdb0.conf

View file

@ -1,33 +0,0 @@
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[unix_http_server]
file = /tmp/supervisor.sock
chmod = 0777
[supervisorctl]
serverurl = unix:///tmp/supervisor.sock
[supervisord]
logfile = /tmp/supervisord.log
logfile_maxbytes = 50MB
logfile_backups=10
loglevel = info
pidfile = /tmp/supervisord.pid
nodaemon = false
minfds = 1024
minprocs = 200
umask = 022
user = root
identifier = supervisor
directory = /tmp
nocleanup = true
childlogdir = /tmp
strip_ansi = false
[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
user=root

View file

@ -1,10 +0,0 @@
base:
'*':
- common
- users
- nodejs
- redis
- nginx
- rethinkdb
- realms
- supervisor

View file

@ -1,19 +0,0 @@
deploy:
user.present:
- shell: /bin/bash
- home: /home/deploy
- fullname: Deploy
sudo:
pkg:
- installed
/etc/sudoes.d/mysudoers:
file:
- managed
- source: salt://users/mysudoers
- mode: 440
- user: root
- group: root
- require:
- pkg: sudo

View file

@ -1 +0,0 @@
deploy ALL=(ALL) NOPASSWD:ALL