summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEgor Yurtaev <yurtaev.egor@gmail.com>2014-10-15 16:07:33 +0700
committerEgor Yurtaev <yurtaev.egor@gmail.com>2014-10-15 16:21:08 +0700
commit9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6 (patch)
tree7fe60cc57aac04c53d86fe918906aa64bb18e9ac
parent9ede88c6830a17538196dba22fb31337f43d2157 (diff)
downloadomaha-server-9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6.zip
omaha-server-9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6.tar.gz
omaha-server-9683d6a37bd5b995e3760f6a8a4835cca1bcdfb6.tar.bz2
Little improvements
- update README.md - refactoring paver & docker file
-rw-r--r--Dockerfile6
-rw-r--r--README.md64
-rw-r--r--fig.yml4
-rwxr-xr-xomaha_server/createadmin.py3
-rw-r--r--pavement.py46
5 files changed, 104 insertions, 19 deletions
diff --git a/Dockerfile b/Dockerfile
index 6f5494d..3532faa 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -11,7 +11,5 @@ COPY ./conf/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
WORKDIR /srv/omaha
-
-RUN pip install -r requirements.txt
-
-RUN ./omaha_server/manage.py collectstatic --noinput
+RUN pip install paver --use-mirrors
+RUN pip install -r requirements.txt --use-mirrors
diff --git a/README.md b/README.md
index bcd5780..da5966b 100644
--- a/README.md
+++ b/README.md
@@ -3,23 +3,32 @@
[![Build Status](https://travis-ci.org/Crystalnix/omaha-server.svg?branch=python-omaha)](https://travis-ci.org/Crystalnix/omaha-server)
[![Coverage Status](https://coveralls.io/repos/Crystalnix/omaha-server/badge.png?branch=python-omaha)](https://coveralls.io/r/Crystalnix/omaha-server?branch=python-omaha)
+Google Omaha server implementation + added Sparkle (mac) feed management
+
+© 2014 [Crystalnix](http://crystalnix.com) [contacts@crystalnix.com](mailto:contacts@crystalnix.com)
+
## Setting up a development server
**Requirements:**
-- [docker](docker.com) or [boot2docker](https://github.com/boot2docker/boot2docker) for OS X or Windows
-- [fig](fig.sh)
- [paver](http://paver.github.io/paver/)
+- [docker](docker.com) or [boot2docker](https://github.com/boot2docker/boot2docker) for OS X & Windows
+- [fig](fig.sh)
```sh
-$ paver up_dev_server
+$ paver up_local_dev_server
```
+Open http://{DOCKER_HOST}:9090/admin/
+
+- username: `admin`
+- password: `admin`
+
## Setting up a development environment
**Requirements:**
-- python 2.7
+- python 2.7
- [virtualenvwrapper](http://virtualenvwrapper.readthedocs.org/)
- PostgreSQL
@@ -33,3 +42,50 @@ $ pip install -r requirements-dev.txt
```sh
$ paver test
```
+
+or
+
+```sh
+$ paver run_test_in_docker
+```
+
+## Deploying a Omaha-Server to AWS Elastic Beanstalk
+
+**Requirements:**
+
+- [Elastic Beanstalk command line tools](http://aws.amazon.com/code/6752709412171743)
+- [ebs-deploy](https://github.com/briandilley/ebs-deploy)
+
+### Initialize your application
+
+```sh
+$ cd omaha_server
+$ cp cp ebs.config.example ebs.config
+$ ebs-deploy init
+```
+
+#### Environment variables
+
+| Environment variable name | Default value | Description |
+|---------------------------|----------------------------|-------------------|
+| APP_VERSION | DEV | |
+| DJANGO_SETTINGS_MODULE | omaha_server.settings_prod | |
+| SECRET_KEY | | Django SECRET_KEY |
+| HOST_NAME | | Eb app host name |
+| DB_HOST | | DB Host |
+| DB_USER | | DB User |
+| DB_NAME | | DB Name |
+| DB_PASSWORD | | DB Password |
+| AWS_ACCESS_KEY_ID | | AWS Access Key |
+| AWS_SECRET_ACCESS_KEY | | AWS Secret Key |
+| AWS_STORAGE_BUCKET_NAME | | S3 storage bucket |
+| RAVEN_DNS | | Sentry url |
+
+
+
+
+### Deploy your application
+
+```sh
+$ ebs-deploy deploy -e omaha-server-dev
+```
diff --git a/fig.yml b/fig.yml
index 933ed97..9790353 100644
--- a/fig.yml
+++ b/fig.yml
@@ -2,8 +2,8 @@ db:
image: postgres
web:
build: .
- command: /usr/bin/supervisord
- working_dir: /srv/omaha/omaha_server
+ command: paver docker_run
+ working_dir: /srv/omaha
links:
- db
ports:
diff --git a/omaha_server/createadmin.py b/omaha_server/createadmin.py
index 9b402c0..86f2be5 100755
--- a/omaha_server/createadmin.py
+++ b/omaha_server/createadmin.py
@@ -10,7 +10,8 @@ from django.contrib.auth import get_user_model
User = get_user_model()
if User.objects.count() == 0:
- admin = User.objects.create(email='admin@example.com', first_name='Admin', last_name='Admin')
+ admin = User.objects.create(username='admin', email='admin@example.com',
+ first_name='Admin', last_name='Admin')
admin.set_password('admin')
admin.is_superuser = True
admin.is_staff = True
diff --git a/pavement.py b/pavement.py
index 6a4673c..cf1a317 100644
--- a/pavement.py
+++ b/pavement.py
@@ -10,7 +10,7 @@ def test():
@task
-def up_dev_server():
+def up_local_dev_server():
"""
Requirements:
@@ -18,15 +18,45 @@ def up_dev_server():
- [fig](fig.sh)
"""
- sh('fig up -d')
- sh('fig stop web')
- sh('fig start web')
- sh('fig run web ./manage.py migrate')
- sh('fig run web ./manage.py createsuperuser --username=admin --email=admin@example.com --noinput')
- sh('fig run web ./manage.py set_fake_passwords --password=admin')
- print """Open http://DOCKER_HOST:9090/admin/\n username: admin\n password: admin"""
+ sh('fig up -d db')
+ sh('fig up -d web')
+ print """Open http://{DOCKER_HOST}:9090/admin/\n username: admin\n password: admin"""
@task
def deploy_dev():
sh('ebs-deploy deploy -e omaha-server-dev', cwd='omaha_server')
+
+
+@task
+def collectstatic():
+ sh('./manage.py collectstatic --noinput', cwd='omaha_server')
+
+
+@task
+def migrate():
+ sh('./manage.py migrate --noinput', cwd='omaha_server')
+
+
+@task
+def create_admin():
+ sh('./createadmin.py', cwd='omaha_server')
+
+
+@task
+def docker_run():
+ migrate()
+ create_admin()
+ collectstatic()
+ sh('/usr/bin/supervisord')
+
+
+@task
+def docker_run_test():
+ sh('pip install -r requirements-test.txt --use-mirrors')
+ test()
+
+
+@task
+def run_test_in_docker():
+ sh('fig run --rm web paver docker_run_test')