Compare commits
5 Commits
version/0.
...
version/0.
| Author | SHA1 | Date | |
|---|---|---|---|
| 17eea4a10c | |||
| 862fb0f5d2 | |||
| ec73b53340 | |||
| 9110f7fee3 | |||
| 54cc1fdeef |
@ -1,5 +1,5 @@
|
|||||||
[bumpversion]
|
[bumpversion]
|
||||||
current_version = 0.6.0-beta
|
current_version = 0.6.1-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>.*)
|
||||||
|
|||||||
@ -27,7 +27,7 @@ create-base-image:
|
|||||||
before_script:
|
before_script:
|
||||||
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
||||||
script:
|
script:
|
||||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/base.Dockerfile --destination docker.beryju.org/passbook/base:latest --destination docker.beryju.org/passbook/base:0.6.0-beta
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/base.Dockerfile --destination docker.beryju.org/passbook/base:latest --destination docker.beryju.org/passbook/base:0.6.1-beta
|
||||||
stage: build-base-image
|
stage: build-base-image
|
||||||
only:
|
only:
|
||||||
refs:
|
refs:
|
||||||
@ -41,7 +41,7 @@ build-dev-image:
|
|||||||
before_script:
|
before_script:
|
||||||
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
||||||
script:
|
script:
|
||||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/dev.Dockerfile --destination docker.beryju.org/passbook/dev:latest --destination docker.beryju.org/passbook/dev:0.6.0-beta
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/dev.Dockerfile --destination docker.beryju.org/passbook/dev:latest --destination docker.beryju.org/passbook/dev:0.6.1-beta
|
||||||
stage: build-dev-image
|
stage: build-dev-image
|
||||||
only:
|
only:
|
||||||
refs:
|
refs:
|
||||||
@ -95,7 +95,7 @@ build-passbook-server:
|
|||||||
before_script:
|
before_script:
|
||||||
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
||||||
script:
|
script:
|
||||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination docker.beryju.org/passbook/server:latest --destination docker.beryju.org/passbook/server:0.6.0-beta
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination docker.beryju.org/passbook/server:latest --destination docker.beryju.org/passbook/server:0.6.1-beta
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
- /^version/.*$/
|
- /^version/.*$/
|
||||||
@ -107,7 +107,7 @@ build-passbook-static:
|
|||||||
before_script:
|
before_script:
|
||||||
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
- echo "{\"auths\":{\"docker.beryju.org\":{\"auth\":\"$DOCKER_AUTH\"}}}" > /kaniko/.docker/config.json
|
||||||
script:
|
script:
|
||||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/static.Dockerfile --destination docker.beryju.org/passbook/static:latest --destination docker.beryju.org/passbook/static:0.6.0-beta
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/static.Dockerfile --destination docker.beryju.org/passbook/static:latest --destination docker.beryju.org/passbook/static:0.6.1-beta
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
- /^version/.*$/
|
- /^version/.*$/
|
||||||
|
|||||||
@ -39,7 +39,7 @@ http {
|
|||||||
gzip on;
|
gzip on;
|
||||||
gzip_types application/javascript image/* text/css;
|
gzip_types application/javascript image/* text/css;
|
||||||
gunzip on;
|
gunzip on;
|
||||||
add_header X-passbook-Version 0.6.0-beta;
|
add_header X-passbook-Version 0.6.1-beta;
|
||||||
add_header Vary X-passbook-Version;
|
add_header Vary X-passbook-Version;
|
||||||
root /data/;
|
root /data/;
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
http = 0.0.0.0:8000
|
http = 0.0.0.0:8000
|
||||||
chdir = /app
|
chdir = /app
|
||||||
wsgi-file = passbook/root/wsgi.py
|
wsgi-file = passbook/root/wsgi.py
|
||||||
processes = 4
|
processes = 2
|
||||||
master = true
|
master = true
|
||||||
threads = 2
|
threads = 2
|
||||||
enable-threads = true
|
enable-threads = true
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
appVersion: "0.6.0-beta"
|
appVersion: "0.6.1-beta"
|
||||||
description: A Helm chart for passbook.
|
description: A Helm chart for passbook.
|
||||||
name: passbook
|
name: passbook
|
||||||
version: "0.6.0-beta"
|
version: "0.6.1-beta"
|
||||||
icon: https://git.beryju.org/uploads/-/system/project/avatar/108/logo.png
|
icon: https://git.beryju.org/uploads/-/system/project/avatar/108/logo.png
|
||||||
|
|||||||
@ -8,7 +8,7 @@ metadata:
|
|||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.replicaCount }}
|
replicas: 2
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app.kubernetes.io/name: {{ include "passbook.name" . }}
|
app.kubernetes.io/name: {{ include "passbook.name" . }}
|
||||||
@ -20,6 +20,10 @@ spec:
|
|||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
passbook.io/component: web
|
passbook.io/component: web
|
||||||
spec:
|
spec:
|
||||||
|
volumes:
|
||||||
|
- name: config-volume
|
||||||
|
configMap:
|
||||||
|
name: {{ include "passbook.fullname" . }}-config
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: passbook-database-migrations
|
- name: passbook-database-migrations
|
||||||
image: "docker.beryju.org/passbook/server:{{ .Values.image.tag }}"
|
image: "docker.beryju.org/passbook/server:{{ .Values.image.tag }}"
|
||||||
@ -27,6 +31,9 @@ spec:
|
|||||||
- ./manage.py
|
- ./manage.py
|
||||||
args:
|
args:
|
||||||
- migrate
|
- migrate
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/passbook
|
||||||
|
name: config-volume
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: {{ include "passbook.fullname" . }}-config
|
name: {{ include "passbook.fullname" . }}-config
|
||||||
@ -50,6 +57,9 @@ spec:
|
|||||||
- uwsgi
|
- uwsgi
|
||||||
args:
|
args:
|
||||||
- uwsgi.ini
|
- uwsgi.ini
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/passbook
|
||||||
|
name: config-volume
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: {{ include "passbook.fullname" . }}-config
|
name: {{ include "passbook.fullname" . }}-config
|
||||||
@ -85,8 +95,8 @@ spec:
|
|||||||
value: kubernetes-healthcheck-host
|
value: kubernetes-healthcheck-host
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 50m
|
cpu: 100m
|
||||||
memory: 150M
|
memory: 200M
|
||||||
limits:
|
limits:
|
||||||
cpu: 200m
|
cpu: 300m
|
||||||
memory: 300M
|
memory: 350M
|
||||||
|
|||||||
@ -8,7 +8,7 @@ metadata:
|
|||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.replicaCount }}
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app.kubernetes.io/name: {{ include "passbook.name" . }}
|
app.kubernetes.io/name: {{ include "passbook.name" . }}
|
||||||
@ -20,6 +20,10 @@ spec:
|
|||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
passbook.io/component: worker
|
passbook.io/component: worker
|
||||||
spec:
|
spec:
|
||||||
|
volumes:
|
||||||
|
- name: config-volume
|
||||||
|
configMap:
|
||||||
|
name: {{ include "passbook.fullname" . }}-config
|
||||||
containers:
|
containers:
|
||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
image: "docker.beryju.org/passbook/server:{{ .Values.image.tag }}"
|
image: "docker.beryju.org/passbook/server:{{ .Values.image.tag }}"
|
||||||
@ -31,7 +35,10 @@ spec:
|
|||||||
- --autoscale=10,3
|
- --autoscale=10,3
|
||||||
- -E
|
- -E
|
||||||
- -B
|
- -B
|
||||||
- -A passbook.root.celery
|
- -A=passbook.root.celery
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/passbook
|
||||||
|
name: config-volume
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: {{ include "passbook.fullname" . }}-config
|
name: {{ include "passbook.fullname" . }}-config
|
||||||
|
|||||||
@ -1,11 +1,8 @@
|
|||||||
# Default values for passbook.
|
# Default values for passbook.
|
||||||
# This is a YAML-formatted file.
|
# This is a YAML-formatted file.
|
||||||
# Declare variables to be passed into your templates.
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
replicaCount: 1
|
|
||||||
|
|
||||||
image:
|
image:
|
||||||
tag: 0.6.0-beta
|
tag: 0.6.1-beta
|
||||||
|
|
||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
|
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
"""passbook"""
|
"""passbook"""
|
||||||
__version__ = '0.6.0-beta'
|
__version__ = '0.6.1-beta'
|
||||||
|
|||||||
@ -50,7 +50,7 @@ class SAMLProvider(Provider):
|
|||||||
"""Get link to download XML metadata for admin interface"""
|
"""Get link to download XML metadata for admin interface"""
|
||||||
try:
|
try:
|
||||||
# pylint: disable=no-member
|
# pylint: disable=no-member
|
||||||
return reverse('passbook_saml_idp:saml-metadata',
|
return reverse('passbook_providers_saml:saml-metadata',
|
||||||
kwargs={'application': self.application.slug})
|
kwargs={'application': self.application.slug})
|
||||||
except Provider.application.RelatedObjectDoesNotExist:
|
except Provider.application.RelatedObjectDoesNotExist:
|
||||||
return None
|
return None
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
<a href="{% url 'passbook_saml_idp:saml-metadata' %}" class="btn btn-primary"><clr-icon shape="download"></clr-icon>{% trans 'Download Metadata' %}</a>
|
<a href="{% url 'passbook_providers_saml:saml-metadata' %}" class="btn btn-primary"><clr-icon shape="download"></clr-icon>{% trans 'Download Metadata' %}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -92,7 +92,7 @@ class LoginBeginView(AccessRequiredView):
|
|||||||
return HttpResponseBadRequest('the SAML request payload is missing')
|
return HttpResponseBadRequest('the SAML request payload is missing')
|
||||||
|
|
||||||
request.session['RelayState'] = source.get('RelayState', '')
|
request.session['RelayState'] = source.get('RelayState', '')
|
||||||
return redirect(reverse('passbook_saml_idp:saml-login-process', kwargs={
|
return redirect(reverse('passbook_providers_saml:saml-login-process', kwargs={
|
||||||
'application': application
|
'application': application
|
||||||
}))
|
}))
|
||||||
|
|
||||||
@ -204,10 +204,10 @@ class DescriptorDownloadView(AccessRequiredView):
|
|||||||
def get(self, request, application):
|
def get(self, request, application):
|
||||||
"""Replies with the XML Metadata IDSSODescriptor."""
|
"""Replies with the XML Metadata IDSSODescriptor."""
|
||||||
entity_id = self.provider.issuer
|
entity_id = self.provider.issuer
|
||||||
slo_url = request.build_absolute_uri(reverse('passbook_saml_idp:saml-logout', kwargs={
|
slo_url = request.build_absolute_uri(reverse('passbook_providers_saml:saml-logout', kwargs={
|
||||||
'application': application
|
'application': application
|
||||||
}))
|
}))
|
||||||
sso_url = request.build_absolute_uri(reverse('passbook_saml_idp:saml-login', kwargs={
|
sso_url = request.build_absolute_uri(reverse('passbook_providers_saml:saml-login', kwargs={
|
||||||
'application': application
|
'application': application
|
||||||
}))
|
}))
|
||||||
pubkey = strip_pem_header(self.provider.signing_cert.replace('\r', '')).replace('\n', '')
|
pubkey = strip_pem_header(self.provider.signing_cert.replace('\r', '')).replace('\n', '')
|
||||||
|
|||||||
@ -6,12 +6,12 @@
|
|||||||
<h1>{{ source.name }}</h1>
|
<h1>{{ source.name }}</h1>
|
||||||
{% if connections.exists %}
|
{% if connections.exists %}
|
||||||
<p>{% trans 'Connected.' %}</p>
|
<p>{% trans 'Connected.' %}</p>
|
||||||
<a class="btn btn-danger" href="{% url 'passbook_oauth_client:oauth-client-disconnect' source_slug=source.slug %}">
|
<a class="btn btn-danger" href="{% url 'passbook_sources_oauth:oauth-client-disconnect' source_slug=source.slug %}">
|
||||||
{% trans 'Disconnect' %}
|
{% trans 'Disconnect' %}
|
||||||
</a>
|
</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<p>Not connected.</p>
|
<p>Not connected.</p>
|
||||||
<a class="btn btn-primary" href="{% url 'passbook_oauth_client:oauth-client-login' source_slug=source.slug %}">
|
<a class="btn btn-primary" href="{% url 'passbook_sources_oauth:oauth-client-login' source_slug=source.slug %}">
|
||||||
{% trans 'Connect' %}
|
{% trans 'Connect' %}
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -47,7 +47,7 @@ class OAuthRedirect(OAuthClientMixin, RedirectView):
|
|||||||
|
|
||||||
def get_callback_url(self, source):
|
def get_callback_url(self, source):
|
||||||
"Return the callback url for this source."
|
"Return the callback url for this source."
|
||||||
return reverse('passbook_oauth_client:oauth-client-callback',
|
return reverse('passbook_sources_oauth:oauth-client-callback',
|
||||||
kwargs={'source_slug': source.slug})
|
kwargs={'source_slug': source.slug})
|
||||||
|
|
||||||
def get_redirect_url(self, **kwargs):
|
def get_redirect_url(self, **kwargs):
|
||||||
@ -195,7 +195,7 @@ class OAuthCallback(OAuthClientMixin, View):
|
|||||||
messages.success(self.request, _("Successfully linked %(source)s!" % {
|
messages.success(self.request, _("Successfully linked %(source)s!" % {
|
||||||
'source': self.source.name
|
'source': self.source.name
|
||||||
}))
|
}))
|
||||||
return redirect(reverse('passbook_oauth_client:oauth-client-user', kwargs={
|
return redirect(reverse('passbook_sources_oauth:oauth-client-user', kwargs={
|
||||||
'source_slug': self.source.slug
|
'source_slug': self.source.slug
|
||||||
}))
|
}))
|
||||||
# User was not authenticated, new user has been created
|
# User was not authenticated, new user has been created
|
||||||
@ -225,7 +225,7 @@ class DisconnectView(LoginRequiredMixin, View):
|
|||||||
# User confirmed deletion
|
# User confirmed deletion
|
||||||
self.aas.delete()
|
self.aas.delete()
|
||||||
messages.success(request, _('Connection successfully deleted'))
|
messages.success(request, _('Connection successfully deleted'))
|
||||||
return redirect(reverse('passbook_oauth_client:oauth-client-user', kwargs={
|
return redirect(reverse('passbook_sources_oauth:oauth-client-user', kwargs={
|
||||||
'source_slug': self.source.slug
|
'source_slug': self.source.slug
|
||||||
}))
|
}))
|
||||||
return self.get(request, source_slug)
|
return self.get(request, source_slug)
|
||||||
@ -234,7 +234,7 @@ class DisconnectView(LoginRequiredMixin, View):
|
|||||||
"""Show delete form"""
|
"""Show delete form"""
|
||||||
return render(request, 'generic/delete.html', {
|
return render(request, 'generic/delete.html', {
|
||||||
'object': self.source,
|
'object': self.source,
|
||||||
'delete_url': reverse('passbook_oauth_client:oauth-client-disconnect', kwargs={
|
'delete_url': reverse('passbook_sources_oauth:oauth-client-disconnect', kwargs={
|
||||||
'source_slug': self.source.slug,
|
'source_slug': self.source.slug,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user