##// END OF EJS Templates
readme: reorganization
ergo -
Show More
@@ -0,0 +1,21 b''
1 # Changelog
2
3 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
4
5 <!--
6 PRs should document their user-visible changes (if any) in the
7 Unreleased section, uncommenting the header as necessary.
8 -->
9
10 <!-- ## Unreleased -->
11 <!-- ### Changed -->
12 <!-- ### Added -->
13 <!-- ### Removed -->
14 <!-- ### Fixed -->
15
16
17 ## [1.2.0 - 2019-03-17]
18 ### Changed
19 * Replaced elasticsearch client
20 * Bumped a most deps to latest version
21 * Preparing to move from elasticsearch 2.x to modern versions
@@ -0,0 +1,105 b''
1 AppEnlight
2 -----------
3
4 Automatic Installation
5 ======================
6
7 Use the ansible scripts in the `automation` repository to build complete instance of application
8 You can also use `packer` files in `automation/packer` to create whole VM's for KVM and VMWare.
9
10 Manual Installation
11 ===================
12
13 To run the app you need to have meet prerequsites:
14
15 - python 3.5+
16 - running elasticsearch (2.3+/2.4 tested)
17 - running postgresql (9.5+ required)
18 - running redis
19
20 Install the app by performing
21
22 pip install -r requirements.txt
23
24 python setup.py develop
25
26 Install the appenlight uptime plugin (`ae_uptime_ce` package from `appenlight-uptime-ce` repository).
27
28 After installing the application you need to perform following steps:
29
30 1. (optional) generate production.ini (or use a copy of development.ini)
31
32
33 appenlight-make-config production.ini
34
35 2. Setup database structure:
36
37
38 appenlight-migratedb -c FILENAME.ini
39
40 3. To configure elasticsearch:
41
42
43 appenlight-reindex-elasticsearch -t all -c FILENAME.ini
44
45 4. Create base database objects
46
47 (run this command with help flag to see how to create administrator user)
48
49
50 appenlight-initializedb -c FILENAME.ini
51
52 5. Generate static assets
53
54
55 appenlight-static -c FILENAME.ini
56
57 Running application
58 ===================
59
60 To run the main app:
61
62 pserve development.ini
63
64 To run celery workers:
65
66 celery worker -A appenlight.celery -Q "reports,logs,metrics,default" --ini FILENAME.ini
67
68 To run celery beat:
69
70 celery beat -A appenlight.celery --ini FILENAME.ini
71
72 To run appenlight's uptime plugin:
73
74 appenlight-uptime-monitor -c FILENAME.ini
75
76 Real-time Notifications
77 =======================
78
79 You should also run the `channelstream websocket server for real-time notifications
80
81 channelstream -i filename.ini
82
83 Testing
84 =======
85
86 To run test suite:
87
88 py.test appenlight/tests/tests.py --cov appenlight (this looks for testing.ini in repo root)
89
90
91 Development
92 ===========
93
94 To develop appenlight frontend:
95
96 cd frontend
97 npm install
98 bower install
99 grunt watch
100
101
102 Tagging release
103 ===============
104
105 bumpversion --current-version 1.1.1 minor --verbose --tag --commit --dry-run
@@ -1,105 +1,4 b''
1 AppEnlight
1 Visit:
2 -----------
3
2
4 Automatic Installation
5 ======================
6
3
7 Use the ansible scripts in the `automation` repository to build complete instance of application
4 [Readme moved to backend directory](../appenlight/blob/master/backend/README.md)
8 You can also use `packer` files in `automation/packer` to create whole VM's for KVM and VMWare.
9
10 Manual Installation
11 ===================
12
13 To run the app you need to have meet prerequsites:
14
15 - python 3.5+
16 - running elasticsearch (2.3+/2.4 tested)
17 - running postgresql (9.5+ required)
18 - running redis
19
20 Install the app by performing
21
22 pip install -r requirements.txt
23
24 python setup.py develop
25
26 Install the appenlight uptime plugin (`ae_uptime_ce` package from `appenlight-uptime-ce` repository).
27
28 After installing the application you need to perform following steps:
29
30 1. (optional) generate production.ini (or use a copy of development.ini)
31
32
33 appenlight-make-config production.ini
34
35 2. Setup database structure:
36
37
38 appenlight-migratedb -c FILENAME.ini
39
40 3. To configure elasticsearch:
41
42
43 appenlight-reindex-elasticsearch -t all -c FILENAME.ini
44
45 4. Create base database objects
46
47 (run this command with help flag to see how to create administrator user)
48
49
50 appenlight-initializedb -c FILENAME.ini
51
52 5. Generate static assets
53
54
55 appenlight-static -c FILENAME.ini
56
57 Running application
58 ===================
59
60 To run the main app:
61
62 pserve development.ini
63
64 To run celery workers:
65
66 celery worker -A appenlight.celery -Q "reports,logs,metrics,default" --ini FILENAME.ini
67
68 To run celery beat:
69
70 celery beat -A appenlight.celery --ini FILENAME.ini
71
72 To run appenlight's uptime plugin:
73
74 appenlight-uptime-monitor -c FILENAME.ini
75
76 Real-time Notifications
77 =======================
78
79 You should also run the `channelstream websocket server for real-time notifications
80
81 channelstream -i filename.ini
82
83 Testing
84 =======
85
86 To run test suite:
87
88 py.test appenlight/tests/tests.py --cov appenlight (this looks for testing.ini in repo root)
89
90
91 Development
92 ===========
93
94 To develop appenlight frontend:
95
96 cd frontend
97 npm install
98 bower install
99 grunt watch
100
101
102 Tagging release
103 ===============
104
105 bumpversion --current-version 1.1.1 minor --verbose --tag --commit --dry-run
@@ -1,89 +1,89 b''
1 import os
1 import os
2 import re
2 import re
3
3
4 from setuptools import setup, find_packages
4 from setuptools import setup, find_packages
5
5
6 here = os.path.abspath(os.path.dirname(__file__))
6 here = os.path.abspath(os.path.dirname(__file__))
7 README = open(os.path.join(here, "README.rst")).read()
7 README = open(os.path.join(here, "README.md")).read()
8 CHANGES = open(os.path.join(here, "CHANGELOG.rst")).read()
8 CHANGES = open(os.path.join(here, "CHANGELOG.md")).read()
9
9
10 REQUIREMENTS = open(os.path.join(here, "requirements.txt")).readlines()
10 REQUIREMENTS = open(os.path.join(here, "requirements.txt")).readlines()
11
11
12 compiled = re.compile("([^=><]*).*")
12 compiled = re.compile("([^=><]*).*")
13
13
14
14
15 def parse_req(req):
15 def parse_req(req):
16 return compiled.search(req).group(1).strip()
16 return compiled.search(req).group(1).strip()
17
17
18
18
19 requires = [_f for _f in map(parse_req, REQUIREMENTS) if _f]
19 requires = [_f for _f in map(parse_req, REQUIREMENTS) if _f]
20
20
21
21
22 def _get_meta_var(name, data, callback_handler=None):
22 def _get_meta_var(name, data, callback_handler=None):
23 import re
23 import re
24
24
25 matches = re.compile(r"(?:%s)\s*=\s*(.*)" % name).search(data)
25 matches = re.compile(r"(?:%s)\s*=\s*(.*)" % name).search(data)
26 if matches:
26 if matches:
27 if not callable(callback_handler):
27 if not callable(callback_handler):
28 callback_handler = lambda v: v
28 callback_handler = lambda v: v
29
29
30 return callback_handler(eval(matches.groups()[0]))
30 return callback_handler(eval(matches.groups()[0]))
31
31
32
32
33 with open(os.path.join(here, "src", "appenlight", "__init__.py"), "r") as _meta:
33 with open(os.path.join(here, "src", "appenlight", "__init__.py"), "r") as _meta:
34 _metadata = _meta.read()
34 _metadata = _meta.read()
35
35
36 with open(os.path.join(here, "VERSION"), "r") as _meta_version:
36 with open(os.path.join(here, "VERSION"), "r") as _meta_version:
37 __version__ = _meta_version.read().strip()
37 __version__ = _meta_version.read().strip()
38
38
39 __license__ = _get_meta_var("__license__", _metadata)
39 __license__ = _get_meta_var("__license__", _metadata)
40 __author__ = _get_meta_var("__author__", _metadata)
40 __author__ = _get_meta_var("__author__", _metadata)
41 __url__ = _get_meta_var("__url__", _metadata)
41 __url__ = _get_meta_var("__url__", _metadata)
42
42
43 found_packages = find_packages("src")
43 found_packages = find_packages("src")
44 found_packages.append("appenlight.migrations.versions")
44 found_packages.append("appenlight.migrations.versions")
45 setup(
45 setup(
46 name="appenlight",
46 name="appenlight",
47 description="appenlight",
47 description="appenlight",
48 long_description=README + "\n\n" + CHANGES,
48 long_description=README + "\n\n" + CHANGES,
49 classifiers=[
49 classifiers=[
50 "Programming Language :: Python",
50 "Programming Language :: Python",
51 "Framework :: Pylons",
51 "Framework :: Pylons",
52 "Topic :: Internet :: WWW/HTTP",
52 "Topic :: Internet :: WWW/HTTP",
53 "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
53 "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
54 ],
54 ],
55 version=__version__,
55 version=__version__,
56 license=__license__,
56 license=__license__,
57 author=__author__,
57 author=__author__,
58 url=__url__,
58 url=__url__,
59 keywords="web wsgi bfg pylons pyramid",
59 keywords="web wsgi bfg pylons pyramid",
60 package_dir={"": "src"},
60 package_dir={"": "src"},
61 packages=found_packages,
61 packages=found_packages,
62 include_package_data=True,
62 include_package_data=True,
63 zip_safe=False,
63 zip_safe=False,
64 test_suite="appenlight",
64 test_suite="appenlight",
65 install_requires=requires,
65 install_requires=requires,
66 extras_require={
66 extras_require={
67 "dev": [
67 "dev": [
68 "coverage",
68 "coverage",
69 "pytest",
69 "pytest",
70 "pyramid",
70 "pyramid",
71 "tox",
71 "tox",
72 "mock",
72 "mock",
73 "pytest-mock",
73 "pytest-mock",
74 "webtest",
74 "webtest",
75 ],
75 ],
76 "lint": ["black"],
76 "lint": ["black"],
77 },
77 },
78 entry_points={
78 entry_points={
79 "paste.app_factory": ["main = appenlight:main"],
79 "paste.app_factory": ["main = appenlight:main"],
80 "console_scripts": [
80 "console_scripts": [
81 "appenlight-cleanup = appenlight.scripts.cleanup:main",
81 "appenlight-cleanup = appenlight.scripts.cleanup:main",
82 "appenlight-initializedb = appenlight.scripts.initialize_db:main",
82 "appenlight-initializedb = appenlight.scripts.initialize_db:main",
83 "appenlight-migratedb = appenlight.scripts.migratedb:main",
83 "appenlight-migratedb = appenlight.scripts.migratedb:main",
84 "appenlight-reindex-elasticsearch = appenlight.scripts.reindex_elasticsearch:main",
84 "appenlight-reindex-elasticsearch = appenlight.scripts.reindex_elasticsearch:main",
85 "appenlight-static = appenlight.scripts.static:main",
85 "appenlight-static = appenlight.scripts.static:main",
86 "appenlight-make-config = appenlight.scripts.make_config:main",
86 "appenlight-make-config = appenlight.scripts.make_config:main",
87 ],
87 ],
88 },
88 },
89 )
89 )
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now