added salt scripts back
This commit is contained in:
parent
36cf728862
commit
810845441c
17
Vagrantfile
vendored
Normal file
17
Vagrantfile
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
VAGRANTFILE_API_VERSION = "2"
|
||||
|
||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
config.vm.box = "precise64"
|
||||
config.vm.synced_folder "srv/", "/srv/"
|
||||
config.vm.synced_folder ".", "/home/deploy/realms"
|
||||
config.vm.provision :salt do |salt|
|
||||
salt.minion_config = "srv/minion"
|
||||
salt.run_highstate = true
|
||||
end
|
||||
end
|
||||
|
||||
Vagrant::Config.run do |config|
|
||||
config.vm.forward_port 80, 8000
|
||||
config.vm.forward_port 10000, 10000
|
||||
config.vm.forward_port 20000, 20000
|
||||
end
|
2
srv/minion
Normal file
2
srv/minion
Normal file
|
@ -0,0 +1,2 @@
|
|||
master: localhost
|
||||
file_client: local
|
43
srv/salt/common/init.sls
Normal file
43
srv/salt/common/init.sls
Normal file
|
@ -0,0 +1,43 @@
|
|||
redis-lea-repo:
|
||||
pkgrepo.managed:
|
||||
- name: 'deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu precise main'
|
||||
|
||||
nodejs-lea-repo:
|
||||
pkgrepo.managed:
|
||||
- name: 'deb http://ppa.launchpad.net/chris-lea/node.js/ubuntu precise main'
|
||||
|
||||
python-redis-lea-repo:
|
||||
pkgrepo.managed:
|
||||
- name: 'deb http://ppa.launchpad.net/chris-lea/python-redis/ubuntu precise main'
|
||||
|
||||
nginx-stable-repo:
|
||||
pkgrepo.managed:
|
||||
- name: 'deb http://ppa.launchpad.net/nginx/stable/ubuntu precise main'
|
||||
|
||||
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
|
||||
- libxslt1-dev
|
||||
- nodejs
|
||||
- require:
|
||||
- pkgrepo.managed: nodejs-lea-repo
|
||||
- pkgrepo.managed: redis-lea-repo
|
||||
- pkgrepo.managed: python-redis-lea-repo
|
||||
- pkgrepo.managed: nginx-stable-repo
|
15
srv/salt/nginx/init.sls
Normal file
15
srv/salt/nginx/init.sls
Normal file
|
@ -0,0 +1,15 @@
|
|||
nginx:
|
||||
pkg:
|
||||
- installed
|
||||
service.running:
|
||||
- enable: True
|
||||
- reload: True
|
||||
- require:
|
||||
- pkg: nginx
|
||||
- watch:
|
||||
- file: /etc/nginx/conf.d/realms.conf
|
||||
|
||||
/etc/nginx/conf.d/realms.conf:
|
||||
file.managed:
|
||||
- template: jinja
|
||||
- source: salt://nginx/nginx.conf
|
71
srv/salt/nginx/nginx.conf
Normal file
71
srv/salt/nginx/nginx.conf
Normal file
|
@ -0,0 +1,71 @@
|
|||
{% set root = '/home/deploy/realms/realms' %}
|
||||
{% set ssl_certificate = False %}
|
||||
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 %}
|
28
srv/salt/realms/init.sls
Normal file
28
srv/salt/realms/init.sls
Normal file
|
@ -0,0 +1,28 @@
|
|||
python-dev:
|
||||
pkg.installed
|
||||
|
||||
build-essential:
|
||||
pkg.installed
|
||||
|
||||
python-pip:
|
||||
pkg.installed
|
||||
|
||||
virtualenvwrapper:
|
||||
pip.installed:
|
||||
- require:
|
||||
- pkg: python-pip
|
||||
|
||||
bower:
|
||||
npm.installed:
|
||||
- require:
|
||||
- pkg.installed: common-pkgs
|
||||
|
||||
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
|
||||
|
9
srv/salt/redis/init.sls
Normal file
9
srv/salt/redis/init.sls
Normal file
|
@ -0,0 +1,9 @@
|
|||
redis-server:
|
||||
pkg:
|
||||
- installed
|
||||
service:
|
||||
- running
|
||||
- enable: True
|
||||
- reload: True
|
||||
- require:
|
||||
- pkg: redis-server
|
41
srv/salt/rethinkdb/init.sls
Normal file
41
srv/salt/rethinkdb/init.sls
Normal file
|
@ -0,0 +1,41 @@
|
|||
rethinkdb-repo:
|
||||
pkgrepo.managed:
|
||||
- name: 'deb http://ppa.launchpad.net/rethinkdb/ppa/ubuntu precise main'
|
||||
|
||||
rethinkdb:
|
||||
pkg.installed:
|
||||
- require:
|
||||
- pkgrepo.managed: rethinkdb-repo
|
||||
|
||||
rethinkdb-user:
|
||||
user.present:
|
||||
- name: rethinkdb
|
||||
- shell: /bin/bash
|
||||
- home: /home/rethinkdb
|
||||
|
||||
rethinkdb-pip:
|
||||
pip:
|
||||
- name: rethinkdb
|
||||
- installed
|
||||
- require:
|
||||
- pkg: python-pip
|
||||
- pkg: rethinkdb
|
||||
- pkg: build-essential
|
||||
|
||||
/home/rethinkdb/rdb0:
|
||||
file.directory:
|
||||
- user: rethinkdb
|
||||
- group: rethinkdb
|
||||
- makedirs: True
|
||||
|
||||
/etc/rethinkdb/instances.d/rdb0.conf:
|
||||
file.managed:
|
||||
- source: salt://rethinkdb/rdb0.conf
|
||||
|
||||
rethinkdb-service:
|
||||
service.running:
|
||||
- name: rethinkdb
|
||||
- enable: True
|
||||
- reload: True
|
||||
- watch:
|
||||
- file.managed: /etc/rethinkdb/instances.d/rdb0.conf
|
10
srv/salt/rethinkdb/rdb0.conf
Normal file
10
srv/salt/rethinkdb/rdb0.conf
Normal file
|
@ -0,0 +1,10 @@
|
|||
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
|
17
srv/salt/supervisor/init.sls
Normal file
17
srv/salt/supervisor/init.sls
Normal file
|
@ -0,0 +1,17 @@
|
|||
/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
|
29
srv/salt/supervisor/supervisord.conf
Normal file
29
srv/salt/supervisor/supervisord.conf
Normal file
|
@ -0,0 +1,29 @@
|
|||
[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
|
10
srv/salt/top.sls
Normal file
10
srv/salt/top.sls
Normal file
|
@ -0,0 +1,10 @@
|
|||
base:
|
||||
'*':
|
||||
- common
|
||||
- users
|
||||
- nodejs
|
||||
- redis
|
||||
- nginx
|
||||
- rethinkdb
|
||||
- realms
|
||||
- supervisor
|
2
srv/salt/users/.bash_profile
Normal file
2
srv/salt/users/.bash_profile
Normal file
|
@ -0,0 +1,2 @@
|
|||
source /usr/local/bin/virtualenvwrapper.sh
|
||||
WORKON_HOME=/home/deploy/virtualenvs
|
44
srv/salt/users/init.sls
Normal file
44
srv/salt/users/init.sls
Normal file
|
@ -0,0 +1,44 @@
|
|||
deploy:
|
||||
user.present:
|
||||
- shell: /bin/bash
|
||||
- home: /home/deploy
|
||||
- fullname: Deploy
|
||||
|
||||
sudo:
|
||||
pkg:
|
||||
- installed
|
||||
|
||||
/etc/sudoers.d/mysudoers:
|
||||
file.managed:
|
||||
- source: salt://users/mysudoers
|
||||
- mode: 440
|
||||
- user: root
|
||||
- group: root
|
||||
- require:
|
||||
- pkg: sudo
|
||||
|
||||
/home/deploy:
|
||||
file.directory:
|
||||
- user: deploy
|
||||
- group: deploy
|
||||
|
||||
/home/deploy/.bash_profile:
|
||||
file.managed:
|
||||
- source: salt://users/.bash_profile
|
||||
- mode: 440
|
||||
- user: deploy
|
||||
- group: deploy
|
||||
- require:
|
||||
- file.directory: /home/deploy
|
||||
|
||||
/home/deploy/.bashrc:
|
||||
file.copy:
|
||||
- mode: 440
|
||||
- user: deploy
|
||||
- group: deploy
|
||||
- source: /etc/skel/.bashrc
|
||||
|
||||
bashrc-append:
|
||||
file.append:
|
||||
- name: /home/deploy/.bashrc
|
||||
- text: . ~/.bash_profile
|
1
srv/salt/users/mysudoers
Normal file
1
srv/salt/users/mysudoers
Normal file
|
@ -0,0 +1 @@
|
|||
deploy ALL=(ALL) NOPASSWD:ALL
|
Loading…
Reference in a new issue