Last active
May 4, 2017 23:33
-
-
Save mmerickel/517ad18044c3eb5e68078c28da3ebf92 to your computer and use it in GitHub Desktop.
pyramid on heroku
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [ "$1" = 'run' ]; then | |
shift | |
render-config site.ini.in site.ini | |
exec $@ | |
fi | |
# override the entrypoint script and execute the command | |
exec "$@" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
release: ./entrypoint.sh run alembic -c site.ini upgrade head | |
web: ./entrypoint.sh run pserve site.ini |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import argparse | |
import jinja2 | |
import os | |
def main(): | |
parser = argparse.ArgumentParser() | |
parser.add_argument('template') | |
parser.add_argument('output') | |
args = parser.parse_args() | |
env = jinja2.Environment( | |
loader=jinja2.FileSystemLoader(os.getcwd()), | |
undefined=jinja2.StrictUndefined, | |
) | |
template = env.get_template(args.template) | |
result = template.render({ | |
'env': os.environ, | |
}) | |
with open(args.output, 'w', encoding='utf8') as fp: | |
fp.write(result) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[db] | |
url = {{ env.DATABASE_URL }} | |
pool_recycle = 3600 | |
engine_id = myapp | |
[alembic] | |
script_location = myapp.model:migrations | |
file_template = %%(rev)s_%%(slug)s | |
[app:front] | |
use = egg:myapp#front | |
tm.annotate_user = no | |
retry.attempts = 3 | |
jinja2.trim_blocks = yes | |
jinja2.lstrip_blocks = yes | |
pyramid.reload_assets = false | |
pyramid.reload_templates = false | |
pyramid.debug_authorization = false | |
pyramid.debug_notfound = false | |
pyramid.debug_routematch = false | |
pyramid.default_locale_name = en | |
auth.cookie_name = auth_token | |
auth.secret = {{ env.AUTH_SECRET }} | |
auth.secure = yes | |
session.cookie_name = session | |
session.salt = session | |
session.secret = {{ env.SESSION_SECRET }} | |
session.secure = yes | |
support_email = {{ env.SUPPORT_EMAIL | default("[email protected]") }} | |
static_pkg = myapp.web:static | |
[filter:tracker] | |
use = egg:request-id | |
format = {status} {REQUEST_METHOD:<6} {REQUEST_PATH:<40} {REQUEST_ID} | |
exclude_prefixes = | |
/static | |
[composite:dev-platform] | |
use = egg:rutter#urlmap | |
/ = front | |
[pipeline:main] | |
pipeline = | |
egg:PasteDeploy#prefix | |
tracker | |
dev-platform | |
[server:main] | |
use = egg:waitress#main | |
host = 0.0.0.0 | |
port = {{ env.PORT }} | |
[loggers] | |
keys = root, alembic, sqlalchemy, myapp, translogger | |
[handlers] | |
keys = console, translogger | |
[formatters] | |
keys = generic, minimal | |
[logger_root] | |
level = INFO | |
handlers = console | |
[logger_alembic] | |
level = INFO | |
handlers = | |
qualname = alembic | |
[logger_sqlalchemy] | |
level = WARN | |
handlers = | |
qualname = sqlalchemy | |
[logger_myapp] | |
level = DEBUG | |
handlers = | |
qualname = myapp | |
[logger_translogger] | |
level = INFO | |
handlers = translogger | |
qualname = request_id | |
propagate = 0 | |
[handler_console] | |
class = StreamHandler | |
args = (sys.stderr,) | |
level = NOTSET | |
formatter = generic | |
[handler_translogger] | |
class = StreamHandler | |
args = (sys.stderr,) | |
level = NOTSET | |
formatter = minimal | |
[formatter_generic] | |
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s | |
[formatter_minimal] | |
format = %(message)s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment