Compare commits

...

6 Commits

29 changed files with 66 additions and 58 deletions

View File

@ -1,5 +1,5 @@
[bumpversion] [bumpversion]
current_version = 0.1.28-beta current_version = 0.1.29-beta
tag = True tag = True
commit = True commit = True
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\-(?P<release>.*) parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\-(?P<release>.*)

View File

@ -40,6 +40,7 @@ pylint:
stage: test stage: test
coverage: coverage:
script: script:
- python manage.py collectstatic --no-input
- coverage run manage.py test - coverage run manage.py test
- coverage report - coverage report
stage: test stage: test
@ -55,7 +56,7 @@ package-docker:
before_script: before_script:
- echo "{\"auths\":{\"docker.$NEXUS_URL\":{\"auth\":\"$NEXUS_AUTH\"}}}" > /kaniko/.docker/config.json - echo "{\"auths\":{\"docker.$NEXUS_URL\":{\"auth\":\"$NEXUS_AUTH\"}}}" > /kaniko/.docker/config.json
script: script:
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination docker.pkg.beryju.org/passbook:latest --destination docker.pkg.beryju.org/passbook:0.1.28-beta - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination docker.pkg.beryju.org/passbook:latest --destination docker.pkg.beryju.org/passbook:0.1.29-beta
stage: build stage: build
only: only:
- tags - tags

View File

@ -3,7 +3,7 @@ from setuptools import setup
setup( setup(
name='django-allauth-passbook', name='django-allauth-passbook',
version='0.1.28-beta', version='0.1.29-beta',
description='passbook support for django-allauth', description='passbook support for django-allauth',
# long_description='\n'.join(read_simple('docs/index.md')[2:]), # long_description='\n'.join(read_simple('docs/index.md')[2:]),
long_description_content_type='text/markdown', long_description_content_type='text/markdown',

View File

@ -18,7 +18,7 @@ tests_require = [
setup( setup(
name='sentry-auth-passbook', name='sentry-auth-passbook',
version='0.1.28-beta', version='0.1.29-beta',
author='BeryJu.org', author='BeryJu.org',
author_email='support@beryju.org', author_email='support@beryju.org',
url='https://passbook.beryju.org', url='https://passbook.beryju.org',

10
debian/changelog vendored
View File

@ -1,3 +1,13 @@
passbook (0.1.29) stable; urgency=medium
* bump version: 0.1.27-beta -> 0.1.28-beta
* Add libpq-dev dependency so psycopg2 build works
* switch to whitenoise for static files
* replace cherrypy with daphne
* Run collectstatic before coverage, use autoreload on celery worker
-- Jens Langhammer <jens.langhammer@beryju.org> Thu, 11 Apr 2019 12:00:27 +0000
passbook (0.1.28) stable; urgency=medium passbook (0.1.28) stable; urgency=medium
* bump version: 0.1.26-beta -> 0.1.27-beta * bump version: 0.1.26-beta -> 0.1.27-beta

2
debian/control vendored
View File

@ -3,7 +3,7 @@ Section: admin
Priority: optional Priority: optional
Maintainer: BeryJu.org <support@beryju.org> Maintainer: BeryJu.org <support@beryju.org>
Uploaders: Jens Langhammer <jens@beryju.org>, BeryJu.org <support@beryju.org> Uploaders: Jens Langhammer <jens@beryju.org>, BeryJu.org <support@beryju.org>
Build-Depends: debhelper (>= 10), dh-systemd (>= 1.5), dh-exec, wget, dh-exec, python3 (>= 3.5) | python3.6 | python3.7 Build-Depends: debhelper (>= 10), dh-systemd (>= 1.5), dh-exec, wget, dh-exec, python3 (>= 3.5) | python3.6 | python3.7, libpq-dev
Standards-Version: 3.9.6 Standards-Version: 3.9.6
Package: passbook Package: passbook

View File

@ -1,6 +1,6 @@
apiVersion: v1 apiVersion: v1
appVersion: "0.1.28-beta" appVersion: "0.1.29-beta"
description: A Helm chart for passbook. description: A Helm chart for passbook.
name: passbook name: passbook
version: "0.1.28-beta" version: "0.1.29-beta"
icon: https://passbook.beryju.org/images/logo.png icon: https://passbook.beryju.org/images/logo.png

View File

@ -29,7 +29,7 @@ spec:
image: "docker.pkg.beryju.org/passbook:{{ .Values.image.tag }}" image: "docker.pkg.beryju.org/passbook:{{ .Values.image.tag }}"
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
command: ["/bin/sh","-c"] command: ["/bin/sh","-c"]
args: ["./manage.py migrate && daphne -p 8000 passbook.core.asgi:application"] args: ["./manage.py migrate && ./manage.py web"]
ports: ports:
- name: http - name: http
containerPort: 8000 containerPort: 8000

View File

@ -5,7 +5,7 @@
replicaCount: 1 replicaCount: 1
image: image:
tag: 0.1.28-beta tag: 0.1.29-beta
nameOverride: "" nameOverride: ""

View File

@ -1,2 +1,2 @@
"""passbook""" """passbook"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook admin""" """passbook admin"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook api""" """passbook api"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook Application Security Gateway Header""" """passbook Application Security Gateway Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook audit Header""" """passbook audit Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook captcha_factor Header""" """passbook captcha_factor Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook core""" """passbook core"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -2,11 +2,11 @@
from logging import getLogger from logging import getLogger
import cherrypy from daphne.cli import CommandLineInterface
from django.conf import settings
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
from django.utils import autoreload
from passbook.core.wsgi import application from passbook.lib.config import CONFIG
LOGGER = getLogger(__name__) LOGGER = getLogger(__name__)
@ -15,20 +15,16 @@ class Command(BaseCommand):
"""Run CherryPy webserver""" """Run CherryPy webserver"""
def handle(self, *args, **options): def handle(self, *args, **options):
"""passbook cherrypy server""" """passbook daphne server"""
config = settings.CHERRYPY_SERVER autoreload.run_with_reloader(self.daphne_server)
config.update(**options)
cherrypy.config.update(config) def daphne_server(self):
cherrypy.tree.graft(application, '/') """Run daphne server within autoreload"""
# Mount NullObject to serve static files autoreload.raise_last_exception()
cherrypy.tree.mount(None, '/static', config={ with CONFIG.cd('web'):
'/': { CommandLineInterface().run([
'tools.staticdir.on': True, '-p', str(CONFIG.get('port', 8000)),
'tools.staticdir.dir': settings.STATIC_ROOT, '-b', CONFIG.get('listen', '0.0.0.0'), # nosec
'tools.expires.on': True, '--access-log', '/dev/null',
'tools.expires.secs': 86400, 'passbook.core.asgi:application'
'tools.gzip.on': True, ])
}
})
cherrypy.engine.start()
cherrypy.engine.block()

View File

@ -3,6 +3,7 @@
from logging import getLogger from logging import getLogger
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
from django.utils import autoreload
from passbook.core.celery import CELERY_APP from passbook.core.celery import CELERY_APP
@ -14,4 +15,9 @@ class Command(BaseCommand):
def handle(self, *args, **options): def handle(self, *args, **options):
"""celery worker""" """celery worker"""
autoreload.run_with_reloader(self.celery_worker)
def celery_worker(self):
"""Run celery worker within autoreload"""
autoreload.raise_last_exception()
CELERY_APP.worker_main(['worker', '--autoscale=10,3', '-E', '-B']) CELERY_APP.worker_main(['worker', '--autoscale=10,3', '-E', '-B'])

View File

@ -1,5 +1,4 @@
celery celery
cherrypy
colorlog colorlog
django-ipware django-ipware
django-model-utils django-model-utils
@ -12,3 +11,4 @@ psycopg2
PyYAML PyYAML
sentry-sdk sentry-sdk
pip pip
whitenoise

View File

@ -121,6 +121,7 @@ CACHES = {
MIDDLEWARE = [ MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'passbook.app_gw.middleware.ApplicationGatewayMiddleware', 'passbook.app_gw.middleware.ApplicationGatewayMiddleware',
'django.middleware.security.SecurityMiddleware', 'django.middleware.security.SecurityMiddleware',
@ -230,22 +231,11 @@ sentry_init(
send_default_pii=True send_default_pii=True
) )
# CherryPY settings
with CONFIG.cd('web'):
CHERRYPY_SERVER = {
'server.socket_host': CONFIG.get('listen', '0.0.0.0'), # nosec
'server.socket_port': CONFIG.get('port', 8000),
'server.thread_pool': CONFIG.get('threads', 30),
'log.screen': False,
'log.access_file': '',
'log.error_file': '',
}
# Static files (CSS, JavaScript, Images) # Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/ # https://docs.djangoproject.com/en/2.1/howto/static-files/
STATIC_URL = '/static/' STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
LOG_HANDLERS = ['console', 'syslog', 'file'] LOG_HANDLERS = ['console', 'syslog', 'file']
@ -323,6 +313,11 @@ with CONFIG.cd('log'):
'level': 'DEBUG', 'level': 'DEBUG',
'propagate': True, 'propagate': True,
}, },
'daphne': {
'handlers': LOG_HANDLERS,
'level': 'DEBUG',
'propagate': True,
}
} }
} }

View File

@ -1,2 +1,2 @@
"""passbook hibp_policy""" """passbook hibp_policy"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""Passbook ldap app Header""" """Passbook ldap app Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook lib""" """passbook lib"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook oauth_client Header""" """passbook oauth_client Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook oauth_provider Header""" """passbook oauth_provider Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook otp Header""" """passbook otp Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook password_expiry""" """passbook password_expiry"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook saml_idp Header""" """passbook saml_idp Header"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'

View File

@ -1,2 +1,2 @@
"""passbook suspicious_policy""" """passbook suspicious_policy"""
__version__ = '0.1.28-beta' __version__ = '0.1.29-beta'