Commit 369341218c6d351c85fba946aba5733ee3d331f6
1 parent
8b9261cb
Exists in
master
and in
39 other branches
Added command to generate basic configs
Showing
4 changed files
with
80 additions
and
53 deletions
Show diff stats
colab/colab.template.yaml
@@ -1,53 +0,0 @@ | @@ -1,53 +0,0 @@ | ||
1 | - | ||
2 | -DEBUG: false | ||
3 | -TEMPLATE_DEBUG: false | ||
4 | - | ||
5 | -ADMINS: &admin | ||
6 | - - | ||
7 | - - John Foo | ||
8 | - - john@example.com | ||
9 | - - | ||
10 | - - Mary Bar | ||
11 | - - mary@example.com | ||
12 | - | ||
13 | -MANAGERS: *admin | ||
14 | - | ||
15 | -COLAB_FROM_ADDRESS: '"Colab" <noreply@example.com>' | ||
16 | -SERVER_EMAIL: '"Colab" <noreply@example.com>' | ||
17 | - | ||
18 | -EMAIL_HOST: localhost | ||
19 | -EMAIL_PORT: 25 | ||
20 | -EMAIL_SUBJECT_PREFIX: '[colab]' | ||
21 | - | ||
22 | -SECRET_KEY: '{{ secret_key }}' | ||
23 | - | ||
24 | -SITE_URL: 'http://www.example.com/' | ||
25 | - | ||
26 | -ALLOWED_HOSTS: | ||
27 | - - example.com | ||
28 | - - example.org | ||
29 | - - example.net | ||
30 | - | ||
31 | -CONVERSEJS_ENABLED: false | ||
32 | - | ||
33 | -CONVERSEJS_AUTO_REGISTER: 'xmpp.example.com' | ||
34 | - | ||
35 | -DATABASES: | ||
36 | - default: | ||
37 | - ENGINE: django.db.backends.postgresql_psycopg2 | ||
38 | - HOST: localhost | ||
39 | - NAME: colab | ||
40 | - USER: colab | ||
41 | - PASSWORD: colab | ||
42 | - | ||
43 | -ROBOTS_NOINDEX: false | ||
44 | - | ||
45 | -# Set to false to disable | ||
46 | -RAVEN_DSN: 'http://public:secret@example.com/1' | ||
47 | - | ||
48 | -PROXIED_APPS: | ||
49 | - gitlab: | ||
50 | - upstream: 'http://localhost:8090/gitlab/' | ||
51 | - trac: | ||
52 | - upstream: 'http://localhost:5000/trac/' | ||
53 | - |
colab/management/__init__.py
1 | 1 | ||
2 | import os | 2 | import os |
3 | + | ||
3 | from django.core.management import ManagementUtility | 4 | from django.core.management import ManagementUtility |
4 | 5 | ||
6 | +from .initconfig import initconfig | ||
7 | + | ||
5 | 8 | ||
6 | def execute_from_command_line(argv=None): | 9 | def execute_from_command_line(argv=None): |
7 | """ | 10 | """ |
@@ -12,3 +15,7 @@ def execute_from_command_line(argv=None): | @@ -12,3 +15,7 @@ def execute_from_command_line(argv=None): | ||
12 | 15 | ||
13 | utility = ManagementUtility(argv) | 16 | utility = ManagementUtility(argv) |
14 | utility.execute() | 17 | utility.execute() |
18 | + | ||
19 | + | ||
20 | +def run_colab_config(argv=None): | ||
21 | + initconfig() |
@@ -0,0 +1,72 @@ | @@ -0,0 +1,72 @@ | ||
1 | + | ||
2 | +from django.utils.crypto import get_random_string | ||
3 | + | ||
4 | + | ||
5 | +CONFIG_TEMPLATE = """ | ||
6 | + | ||
7 | +## Set to false in production | ||
8 | +DEBUG: true | ||
9 | +TEMPLATE_DEBUG: true | ||
10 | + | ||
11 | +## System admins | ||
12 | +ADMINS: &admin | ||
13 | + - | ||
14 | + - John Foo | ||
15 | + - john@example.com | ||
16 | + - | ||
17 | + - Mary Bar | ||
18 | + - mary@example.com | ||
19 | + | ||
20 | +MANAGERS: *admin | ||
21 | + | ||
22 | +COLAB_FROM_ADDRESS: '"Colab" <noreply@example.com>' | ||
23 | +SERVER_EMAIL: '"Colab" <noreply@example.com>' | ||
24 | + | ||
25 | +EMAIL_HOST: localhost | ||
26 | +EMAIL_PORT: 25 | ||
27 | +EMAIL_SUBJECT_PREFIX: '[colab]' | ||
28 | + | ||
29 | +SECRET_KEY: '{secret_key}' | ||
30 | + | ||
31 | +SITE_URL: 'http://www.example.com/' | ||
32 | + | ||
33 | +ALLOWED_HOSTS: | ||
34 | + - example.com | ||
35 | + - example.org | ||
36 | + - example.net | ||
37 | + | ||
38 | +### Uncomment to enable Converse.js | ||
39 | +# CONVERSEJS_ENABLED: True | ||
40 | + | ||
41 | +### Uncomment to enable auto-registration | ||
42 | +# CONVERSEJS_AUTO_REGISTER: 'xmpp.example.com' | ||
43 | + | ||
44 | +## Database settings | ||
45 | +DATABASES: | ||
46 | + default: | ||
47 | + ENGINE: django.db.backends.postgresql_psycopg2 | ||
48 | + HOST: localhost | ||
49 | + NAME: colab | ||
50 | + USER: colab | ||
51 | + PASSWORD: colab | ||
52 | + | ||
53 | +## Disable indexing | ||
54 | +ROBOTS_NOINDEX: false | ||
55 | + | ||
56 | +### Log errors to Sentry instance | ||
57 | +# RAVEN_DSN: 'http://public:secret@example.com/1' | ||
58 | + | ||
59 | +### Colab proxied apps | ||
60 | +# PROXIED_APPS: | ||
61 | +# gitlab: | ||
62 | +# upstream: 'http://localhost:8090/gitlab/' | ||
63 | +# trac: | ||
64 | +# upstream: 'http://localhost:5000/trac/' | ||
65 | + | ||
66 | +""" | ||
67 | + | ||
68 | + | ||
69 | +def initconfig(): | ||
70 | + chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)' | ||
71 | + secret_key = get_random_string(50, chars) | ||
72 | + print(CONFIG_TEMPLATE.format(secret_key=secret_key)) |
setup.py
@@ -21,6 +21,7 @@ setup( | @@ -21,6 +21,7 @@ setup( | ||
21 | include_package_data=True, | 21 | include_package_data=True, |
22 | entry_points={'console_scripts': [ | 22 | entry_points={'console_scripts': [ |
23 | 'colab-admin = colab.management:execute_from_command_line', | 23 | 'colab-admin = colab.management:execute_from_command_line', |
24 | + 'colab-init-config = colab.management:initconfig', | ||
24 | ]}, | 25 | ]}, |
25 | zip_safe=False, | 26 | zip_safe=False, |
26 | long_description=open('README.rst').read(), | 27 | long_description=open('README.rst').read(), |