Compare commits

..

2 Commits

Author SHA1 Message Date
Morten Olsen
cad527e644 fix: add http service to authentik 2025-11-18 15:18:17 +01:00
Morten Olsen
ce2cebf77b fix: oidc auth url 2025-10-13 23:32:48 +02:00
3 changed files with 26 additions and 6 deletions

View File

@@ -33,7 +33,7 @@ importers:
version: 2.2.3 version: 2.2.3
dotenv: dotenv:
specifier: ^17.2.1 specifier: ^17.2.1
version: 17.2.3 version: 17.2.2
eventemitter3: eventemitter3:
specifier: ^5.0.1 specifier: ^5.0.1
version: 5.0.1 version: 5.0.1
@@ -622,8 +622,8 @@ packages:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dotenv@17.2.3: dotenv@17.2.2:
resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} resolution: {integrity: sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==}
engines: {node: '>=12'} engines: {node: '>=12'}
dunder-proto@1.0.1: dunder-proto@1.0.1:
@@ -2658,7 +2658,7 @@ snapshots:
dependencies: dependencies:
esutils: 2.0.3 esutils: 2.0.3
dotenv@17.2.3: {} dotenv@17.2.2: {}
dunder-proto@1.0.1: dunder-proto@1.0.1:
dependencies: dependencies:

View File

@@ -32,7 +32,7 @@ class BootstrapService {
public ensure = async () => { public ensure = async () => {
await this.namespaces.ensure(); await this.namespaces.ensure();
await this.repos.ensure(); await this.repos.ensure();
// await this.releases.ensure(); await this.releases.ensure();
await this.cloudflareTunnel.ensure({ await this.cloudflareTunnel.ensure({
spec: {}, spec: {},
}); });

View File

@@ -18,6 +18,7 @@ import { RepoService } from '#bootstrap/repos/repos.ts';
import { DestinationRule } from '#resources/istio/destination-rule/destination-rule.ts'; import { DestinationRule } from '#resources/istio/destination-rule/destination-rule.ts';
import { NotReadyError } from '#utils/errors.ts'; import { NotReadyError } from '#utils/errors.ts';
import { ExternalHttpService } from '../external-http-service.ts/external-http-service.ts'; import { ExternalHttpService } from '../external-http-service.ts/external-http-service.ts';
import { HttpService } from '../http-service/http-service.ts';
const specSchema = z.object({ const specSchema = z.object({
environment: z.string(), environment: z.string(),
@@ -44,6 +45,7 @@ class AuthentikServer extends CustomResource<typeof specSchema> {
#initSecret: Secret<InitSecretData>; #initSecret: Secret<InitSecretData>;
#service: Service; #service: Service;
#helmRelease: HelmRelease; #helmRelease: HelmRelease;
#httpService: HttpService;
#externalHttpService: ExternalHttpService; #externalHttpService: ExternalHttpService;
#destinationRule: DestinationRule; #destinationRule: DestinationRule;
@@ -72,6 +74,8 @@ class AuthentikServer extends CustomResource<typeof specSchema> {
this.#destinationRule.on('changed', this.queueReconcile); this.#destinationRule.on('changed', this.queueReconcile);
this.#externalHttpService = resourceService.get(ExternalHttpService, this.name, this.namespace); this.#externalHttpService = resourceService.get(ExternalHttpService, this.name, this.namespace);
this.#httpService = resourceService.get(HttpService, this.name, this.namespace);
} }
public get service() { public get service() {
@@ -168,7 +172,7 @@ class AuthentikServer extends CustomResource<typeof specSchema> {
chart: { chart: {
spec: { spec: {
chart: 'authentik', chart: 'authentik',
version: '2025.10.3', version: '2025.6.4',
sourceRef: { sourceRef: {
apiVersion: 'source.toolkit.fluxcd.io/v1', apiVersion: 'source.toolkit.fluxcd.io/v1',
kind: 'HelmRepository', kind: 'HelmRepository',
@@ -253,6 +257,22 @@ class AuthentikServer extends CustomResource<typeof specSchema> {
}, },
}); });
await this.#httpService.ensure({
metadata: {
ownerReferences: [this.ref],
},
spec: {
environment: this.spec.environment,
subdomain: this.spec.subdomain || 'authentik',
destination: {
host: this.#service.hostname,
port: {
number: 80,
},
},
},
});
await this.#externalHttpService.ensure({ await this.#externalHttpService.ensure({
metadata: { metadata: {
ownerReferences: [this.ref], ownerReferences: [this.ref],