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 23 additions and 3 deletions

View File

@@ -43,7 +43,7 @@
"#bootstrap/*": "./src/bootstrap/*", "#bootstrap/*": "./src/bootstrap/*",
"#utils/*": "./src/utils/*" "#utils/*": "./src/utils/*"
}, },
"packageManager": "pnpm@10.27.0", "packageManager": "pnpm@10.17.1",
"pnpm": { "pnpm": {
"onlyBuiltDependencies": [ "onlyBuiltDependencies": [
"sqlite3" "sqlite3"

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],