Compare commits
9 Commits
imports-fo
...
version/0.
Author | SHA1 | Date | |
---|---|---|---|
2a94ad7782 | |||
07eb5ffb4b | |||
8cc68928b8 | |||
221db12f85 | |||
34166d3c20 | |||
94972d64e6 | |||
253eaa382c | |||
fc4f9733d1 | |||
8d784afcd1 |
@ -1,5 +1,5 @@
|
|||||||
[bumpversion]
|
[bumpversion]
|
||||||
current_version = 0.13.3-stable
|
current_version = 0.13.4-stable
|
||||||
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>.*)
|
||||||
|
14
.github/workflows/release.yml
vendored
14
.github/workflows/release.yml
vendored
@ -18,11 +18,11 @@ jobs:
|
|||||||
- name: Building Docker Image
|
- name: Building Docker Image
|
||||||
run: docker build
|
run: docker build
|
||||||
--no-cache
|
--no-cache
|
||||||
-t beryju/authentik:0.13.3-stable
|
-t beryju/authentik:0.13.4-stable
|
||||||
-t beryju/authentik:latest
|
-t beryju/authentik:latest
|
||||||
-f Dockerfile .
|
-f Dockerfile .
|
||||||
- name: Push Docker Container to Registry (versioned)
|
- name: Push Docker Container to Registry (versioned)
|
||||||
run: docker push beryju/authentik:0.13.3-stable
|
run: docker push beryju/authentik:0.13.4-stable
|
||||||
- name: Push Docker Container to Registry (latest)
|
- name: Push Docker Container to Registry (latest)
|
||||||
run: docker push beryju/authentik:latest
|
run: docker push beryju/authentik:latest
|
||||||
build-proxy:
|
build-proxy:
|
||||||
@ -48,11 +48,11 @@ jobs:
|
|||||||
cd proxy/
|
cd proxy/
|
||||||
docker build \
|
docker build \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
-t beryju/authentik-proxy:0.13.3-stable \
|
-t beryju/authentik-proxy:0.13.4-stable \
|
||||||
-t beryju/authentik-proxy:latest \
|
-t beryju/authentik-proxy:latest \
|
||||||
-f Dockerfile .
|
-f Dockerfile .
|
||||||
- name: Push Docker Container to Registry (versioned)
|
- name: Push Docker Container to Registry (versioned)
|
||||||
run: docker push beryju/authentik-proxy:0.13.3-stable
|
run: docker push beryju/authentik-proxy:0.13.4-stable
|
||||||
- name: Push Docker Container to Registry (latest)
|
- name: Push Docker Container to Registry (latest)
|
||||||
run: docker push beryju/authentik-proxy:latest
|
run: docker push beryju/authentik-proxy:latest
|
||||||
build-static:
|
build-static:
|
||||||
@ -69,11 +69,11 @@ jobs:
|
|||||||
cd web/
|
cd web/
|
||||||
docker build \
|
docker build \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
-t beryju/authentik-static:0.13.3-stable \
|
-t beryju/authentik-static:0.13.4-stable \
|
||||||
-t beryju/authentik-static:latest \
|
-t beryju/authentik-static:latest \
|
||||||
-f Dockerfile .
|
-f Dockerfile .
|
||||||
- name: Push Docker Container to Registry (versioned)
|
- name: Push Docker Container to Registry (versioned)
|
||||||
run: docker push beryju/authentik-static:0.13.3-stable
|
run: docker push beryju/authentik-static:0.13.4-stable
|
||||||
- name: Push Docker Container to Registry (latest)
|
- name: Push Docker Container to Registry (latest)
|
||||||
run: docker push beryju/authentik-static:latest
|
run: docker push beryju/authentik-static:latest
|
||||||
test-release:
|
test-release:
|
||||||
@ -107,5 +107,5 @@ jobs:
|
|||||||
SENTRY_PROJECT: authentik
|
SENTRY_PROJECT: authentik
|
||||||
SENTRY_URL: https://sentry.beryju.org
|
SENTRY_URL: https://sentry.beryju.org
|
||||||
with:
|
with:
|
||||||
tagName: 0.13.3-stable
|
tagName: 0.13.4-stable
|
||||||
environment: beryjuorg-prod
|
environment: beryjuorg-prod
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
"""authentik"""
|
"""authentik"""
|
||||||
__version__ = "0.13.3-stable"
|
__version__ = "0.13.4-stable"
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
<div slot="modal"></div>
|
<div slot="modal"></div>
|
||||||
</ak-modal-button>
|
</ak-modal-button>
|
||||||
<ak-modal-button href="{% url 'authentik_admin:policy-test' pk=policy.pk %}">
|
<ak-modal-button href="{% url 'authentik_admin:policy-test' pk=policy.pk %}">
|
||||||
<ak-spinner-button slot="trigger" class="pf-m-tertiary">
|
<ak-spinner-button slot="trigger" class="pf-m-secondary">
|
||||||
{% trans 'Test' %}
|
{% trans 'Test' %}
|
||||||
</ak-spinner-button>
|
</ak-spinner-button>
|
||||||
<div slot="modal"></div>
|
<div slot="modal"></div>
|
||||||
|
@ -13,6 +13,7 @@ from rest_framework_guardian.filters import ObjectPermissionsFilter
|
|||||||
|
|
||||||
from authentik.admin.api.metrics import get_events_per_1h
|
from authentik.admin.api.metrics import get_events_per_1h
|
||||||
from authentik.audit.models import EventAction
|
from authentik.audit.models import EventAction
|
||||||
|
from authentik.core.api.providers import ProviderSerializer
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.policies.engine import PolicyEngine
|
from authentik.policies.engine import PolicyEngine
|
||||||
|
|
||||||
@ -21,6 +22,7 @@ class ApplicationSerializer(ModelSerializer):
|
|||||||
"""Application Serializer"""
|
"""Application Serializer"""
|
||||||
|
|
||||||
launch_url = SerializerMethodField()
|
launch_url = SerializerMethodField()
|
||||||
|
provider = ProviderSerializer(source="get_provider", required=False)
|
||||||
|
|
||||||
def get_launch_url(self, instance: Application) -> str:
|
def get_launch_url(self, instance: Application) -> str:
|
||||||
"""Get generated launch URL"""
|
"""Get generated launch URL"""
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
"""Outpost forms"""
|
"""Outpost forms"""
|
||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
|
from django.core.exceptions import ValidationError
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from kubernetes.client.configuration import Configuration
|
||||||
|
from kubernetes.config.config_exception import ConfigException
|
||||||
|
from kubernetes.config.kube_config import load_kube_config_from_dict
|
||||||
|
|
||||||
from authentik.admin.fields import CodeMirrorWidget, YAMLField
|
from authentik.admin.fields import CodeMirrorWidget, YAMLField
|
||||||
from authentik.crypto.models import CertificateKeyPair
|
from authentik.crypto.models import CertificateKeyPair
|
||||||
@ -71,6 +75,23 @@ class DockerServiceConnectionForm(forms.ModelForm):
|
|||||||
class KubernetesServiceConnectionForm(forms.ModelForm):
|
class KubernetesServiceConnectionForm(forms.ModelForm):
|
||||||
"""Kubernetes service-connection form"""
|
"""Kubernetes service-connection form"""
|
||||||
|
|
||||||
|
def clean_kubeconfig(self):
|
||||||
|
"""Validate kubeconfig by attempting to load it"""
|
||||||
|
kubeconfig = self.cleaned_data["kubeconfig"]
|
||||||
|
if kubeconfig == {}:
|
||||||
|
if not self.cleaned_data["local"]:
|
||||||
|
raise ValidationError(
|
||||||
|
_("You can only use an empty kubeconfig when local is enabled.")
|
||||||
|
)
|
||||||
|
# Empty kubeconfig is valid
|
||||||
|
return kubeconfig
|
||||||
|
config = Configuration()
|
||||||
|
try:
|
||||||
|
load_kube_config_from_dict(kubeconfig, client_configuration=config)
|
||||||
|
except ConfigException:
|
||||||
|
raise ValidationError(_("Invalid kubeconfig"))
|
||||||
|
return kubeconfig
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
||||||
model = KubernetesServiceConnection
|
model = KubernetesServiceConnection
|
||||||
|
21
authentik/outposts/migrations/0015_auto_20201224_1206.py
Normal file
21
authentik/outposts/migrations/0015_auto_20201224_1206.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Generated by Django 3.1.4 on 2020-12-24 12:06
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("authentik_outposts", "0014_auto_20201213_1407"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name="kubernetesserviceconnection",
|
||||||
|
name="kubeconfig",
|
||||||
|
field=models.JSONField(
|
||||||
|
blank=True,
|
||||||
|
help_text="Paste your kubeconfig here. authentik will automatically use the currently selected context.",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
@ -234,7 +234,8 @@ class KubernetesServiceConnection(OutpostServiceConnection):
|
|||||||
"Paste your kubeconfig here. authentik will automatically use "
|
"Paste your kubeconfig here. authentik will automatically use "
|
||||||
"the currently selected context."
|
"the currently selected context."
|
||||||
)
|
)
|
||||||
)
|
),
|
||||||
|
blank=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -21,6 +21,7 @@ class PolicyEvaluator(BaseEvaluator):
|
|||||||
def __init__(self, policy_name: str):
|
def __init__(self, policy_name: str):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self._messages = []
|
self._messages = []
|
||||||
|
self._context["ak_logger"] = get_logger(policy_name)
|
||||||
self._context["ak_message"] = self.expr_func_message
|
self._context["ak_message"] = self.expr_func_message
|
||||||
self._context["ip_address"] = ip_address
|
self._context["ip_address"] = ip_address
|
||||||
self._context["ip_network"] = ip_network
|
self._context["ip_network"] = ip_network
|
||||||
|
@ -19,7 +19,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
server:
|
server:
|
||||||
image: beryju/authentik:${AUTHENTIK_TAG:-0.13.3-stable}
|
image: beryju/authentik:${AUTHENTIK_TAG:-0.13.4-stable}
|
||||||
command: server
|
command: server
|
||||||
environment:
|
environment:
|
||||||
AUTHENTIK_REDIS__HOST: redis
|
AUTHENTIK_REDIS__HOST: redis
|
||||||
@ -44,7 +44,7 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
worker:
|
worker:
|
||||||
image: beryju/authentik:${AUTHENTIK_TAG:-0.13.3-stable}
|
image: beryju/authentik:${AUTHENTIK_TAG:-0.13.4-stable}
|
||||||
command: worker
|
command: worker
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
@ -60,7 +60,7 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
static:
|
static:
|
||||||
image: beryju/authentik-static:${AUTHENTIK_TAG:-0.13.3-stable}
|
image: beryju/authentik-static:${AUTHENTIK_TAG:-0.13.4-stable}
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
labels:
|
labels:
|
||||||
|
@ -4,7 +4,7 @@ name: authentik
|
|||||||
home: https://goauthentik.io
|
home: https://goauthentik.io
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/BeryJu/authentik
|
- https://github.com/BeryJu/authentik
|
||||||
version: "0.13.3-stable"
|
version: "0.13.4-stable"
|
||||||
icon: https://raw.githubusercontent.com/BeryJu/authentik/master/web/icons/icon.svg
|
icon: https://raw.githubusercontent.com/BeryJu/authentik/master/web/icons/icon.svg
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: postgresql
|
- name: postgresql
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|-----------------------------------|-------------------------|-------------|
|
|-----------------------------------|-------------------------|-------------|
|
||||||
| image.name | beryju/authentik | Image used to run the authentik server and worker |
|
| image.name | beryju/authentik | Image used to run the authentik server and worker |
|
||||||
| image.name_static | beryju/authentik-static | Image used to run the authentik static server (CSS and JS Files) |
|
| image.name_static | beryju/authentik-static | Image used to run the authentik static server (CSS and JS Files) |
|
||||||
| image.tag | 0.13.3-stable | Image tag |
|
| image.tag | 0.13.4-stable | Image tag |
|
||||||
| image.pullPolicy | IfNotPresent | Image Pull Policy used for all deployments |
|
| image.pullPolicy | IfNotPresent | Image Pull Policy used for all deployments |
|
||||||
| serverReplicas | 1 | Replicas for the Server deployment |
|
| serverReplicas | 1 | Replicas for the Server deployment |
|
||||||
| workerReplicas | 1 | Replicas for the Worker deployment |
|
| workerReplicas | 1 | Replicas for the Worker deployment |
|
||||||
|
@ -5,7 +5,7 @@ image:
|
|||||||
name: beryju/authentik
|
name: beryju/authentik
|
||||||
name_static: beryju/authentik-static
|
name_static: beryju/authentik-static
|
||||||
name_outposts: beryju/authentik # Prefix used for Outpost deployments, Outpost type and version is appended
|
name_outposts: beryju/authentik # Prefix used for Outpost deployments, Outpost type and version is appended
|
||||||
tag: 0.13.3-stable
|
tag: 0.13.4-stable
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
serverReplicas: 1
|
serverReplicas: 1
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
package pkg
|
package pkg
|
||||||
|
|
||||||
const VERSION = "0.13.3-stable"
|
const VERSION = "0.13.4-stable"
|
||||||
|
@ -7345,7 +7345,6 @@ definitions:
|
|||||||
description: KubernetesServiceConnection Serializer
|
description: KubernetesServiceConnection Serializer
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
- kubeconfig
|
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
pk:
|
pk:
|
||||||
|
@ -81,6 +81,10 @@ select[multiple] {
|
|||||||
font-size: var(--pf-global--FontSize--sm);
|
font-size: var(--pf-global--FontSize--sm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pf-c-page__main {
|
||||||
|
z-index: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
:root {
|
:root {
|
||||||
--ak-dark-foreground: #fafafa;
|
--ak-dark-foreground: #fafafa;
|
||||||
|
@ -28,4 +28,4 @@ export const ColorStyles = css`
|
|||||||
background-color: var(--pf-global--danger-color--100);
|
background-color: var(--pf-global--danger-color--100);
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
export const VERSION = "0.13.3-stable";
|
export const VERSION = "0.13.4-stable";
|
||||||
|
@ -18,6 +18,10 @@ export abstract class Interface extends LitElement {
|
|||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
this.sidebarOpen = window.outerWidth >= 1280;
|
||||||
|
window.addEventListener("resize", () => {
|
||||||
|
this.sidebarOpen = window.outerWidth >= 1280;
|
||||||
|
});
|
||||||
window.addEventListener("ak-sidebar-toggle", () => {
|
window.addEventListener("ak-sidebar-toggle", () => {
|
||||||
this.sidebarOpen = !this.sidebarOpen;
|
this.sidebarOpen = !this.sidebarOpen;
|
||||||
});
|
});
|
||||||
|
@ -15,7 +15,7 @@ Download the latest `docker-compose.yml` from [here](https://raw.githubuserconte
|
|||||||
|
|
||||||
To optionally enable error-reporting, run `echo AUTHENTIK_ERROR_REPORTING__ENABLED=true >> .env`
|
To optionally enable error-reporting, run `echo AUTHENTIK_ERROR_REPORTING__ENABLED=true >> .env`
|
||||||
|
|
||||||
To optionally deploy a different version run `echo AUTHENTIK_TAG=0.13.3-stable >> .env`
|
To optionally deploy a different version run `echo AUTHENTIK_TAG=0.13.4-stable >> .env`
|
||||||
|
|
||||||
If this is a fresh authentik install run the following commands to generate a password:
|
If this is a fresh authentik install run the following commands to generate a password:
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ image:
|
|||||||
name: beryju/authentik
|
name: beryju/authentik
|
||||||
name_static: beryju/authentik-static
|
name_static: beryju/authentik-static
|
||||||
name_outposts: beryju/authentik # Prefix used for Outpost deployments, Outpost type and version is appended
|
name_outposts: beryju/authentik # Prefix used for Outpost deployments, Outpost type and version is appended
|
||||||
tag: 0.13.3-stable
|
tag: 0.13.4-stable
|
||||||
|
|
||||||
serverReplicas: 1
|
serverReplicas: 1
|
||||||
workerReplicas: 1
|
workerReplicas: 1
|
||||||
|
Reference in New Issue
Block a user