mirror of
https://github.com/morten-olsen/homelab-operator.git
synced 2026-02-08 01:36:28 +01:00
Compare commits
4 Commits
fix/auth-u
...
renovate/c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08f642bf11 | ||
|
|
0793d30222 | ||
|
|
c7f309cd23 | ||
|
|
dc7d46d53c |
38
images/operator/pnpm-lock.yaml
generated
38
images/operator/pnpm-lock.yaml
generated
@@ -21,7 +21,7 @@ importers:
|
|||||||
version: 1.3.0(patch_hash=0b0e5d32aa2930107c8c9b45df2639faf53fa12a389a551885d6e42d71f9429d)(encoding@0.1.13)
|
version: 1.3.0(patch_hash=0b0e5d32aa2930107c8c9b45df2639faf53fa12a389a551885d6e42d71f9429d)(encoding@0.1.13)
|
||||||
cloudflare:
|
cloudflare:
|
||||||
specifier: ^5.0.0
|
specifier: ^5.0.0
|
||||||
version: 5.1.0(encoding@0.1.13)
|
version: 5.2.0(encoding@0.1.13)
|
||||||
cron:
|
cron:
|
||||||
specifier: ^4.3.3
|
specifier: ^4.3.3
|
||||||
version: 4.3.3
|
version: 4.3.3
|
||||||
@@ -252,8 +252,11 @@ packages:
|
|||||||
'@types/node-fetch@2.6.12':
|
'@types/node-fetch@2.6.12':
|
||||||
resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==}
|
resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==}
|
||||||
|
|
||||||
'@types/node@18.19.123':
|
'@types/node-fetch@2.6.13':
|
||||||
resolution: {integrity: sha512-K7DIaHnh0mzVxreCR9qwgNxp3MH9dltPNIEddW9MYUlcKAzm+3grKNSTe2vCJHI1FaLpvpL5JGJrz1UZDKYvDg==}
|
resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==}
|
||||||
|
|
||||||
|
'@types/node@18.19.130':
|
||||||
|
resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==}
|
||||||
|
|
||||||
'@types/node@22.16.5':
|
'@types/node@22.16.5':
|
||||||
resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==}
|
resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==}
|
||||||
@@ -503,8 +506,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
cloudflare@5.1.0:
|
cloudflare@5.2.0:
|
||||||
resolution: {integrity: sha512-J2vT90WHio8VSbGUmuHckJr9pabH6N+nQKQsgjfwydgV2bgyQoV/KqWw1Df+YKZ5T/QqP7KadKr4bxh+WiRafg==}
|
resolution: {integrity: sha512-dVzqDpPFYR9ApEC9e+JJshFJZXcw4HzM8W+3DHzO5oy9+8rLC53G7x6fEf9A7/gSuSCxuvndzui5qJKftfIM9A==}
|
||||||
|
|
||||||
color-convert@2.0.1:
|
color-convert@2.0.1:
|
||||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||||
@@ -867,6 +870,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
|
resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
|
form-data@4.0.5:
|
||||||
|
resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
formdata-node@4.4.1:
|
formdata-node@4.4.1:
|
||||||
resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
|
resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
|
||||||
engines: {node: '>= 12.20'}
|
engines: {node: '>= 12.20'}
|
||||||
@@ -2195,7 +2202,12 @@ snapshots:
|
|||||||
'@types/node': 22.16.5
|
'@types/node': 22.16.5
|
||||||
form-data: 4.0.4
|
form-data: 4.0.4
|
||||||
|
|
||||||
'@types/node@18.19.123':
|
'@types/node-fetch@2.6.13':
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 18.19.130
|
||||||
|
form-data: 4.0.5
|
||||||
|
|
||||||
|
'@types/node@18.19.130':
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 5.26.5
|
undici-types: 5.26.5
|
||||||
|
|
||||||
@@ -2529,10 +2541,10 @@ snapshots:
|
|||||||
clean-stack@2.2.0:
|
clean-stack@2.2.0:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
cloudflare@5.1.0(encoding@0.1.13):
|
cloudflare@5.2.0(encoding@0.1.13):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.19.123
|
'@types/node': 18.19.130
|
||||||
'@types/node-fetch': 2.6.12
|
'@types/node-fetch': 2.6.13
|
||||||
abort-controller: 3.0.0
|
abort-controller: 3.0.0
|
||||||
agentkeepalive: 4.6.0
|
agentkeepalive: 4.6.0
|
||||||
form-data-encoder: 1.7.2
|
form-data-encoder: 1.7.2
|
||||||
@@ -2998,6 +3010,14 @@ snapshots:
|
|||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
mime-types: 2.1.35
|
mime-types: 2.1.35
|
||||||
|
|
||||||
|
form-data@4.0.5:
|
||||||
|
dependencies:
|
||||||
|
asynckit: 0.4.0
|
||||||
|
combined-stream: 1.0.8
|
||||||
|
es-set-tostringtag: 2.1.0
|
||||||
|
hasown: 2.0.2
|
||||||
|
mime-types: 2.1.35
|
||||||
|
|
||||||
formdata-node@4.4.1:
|
formdata-node@4.4.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
node-domexception: 1.0.0
|
node-domexception: 1.0.0
|
||||||
|
|||||||
@@ -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: {},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ 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(),
|
||||||
@@ -45,7 +44,6 @@ 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;
|
||||||
|
|
||||||
@@ -74,8 +72,6 @@ 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() {
|
||||||
@@ -172,7 +168,7 @@ class AuthentikServer extends CustomResource<typeof specSchema> {
|
|||||||
chart: {
|
chart: {
|
||||||
spec: {
|
spec: {
|
||||||
chart: 'authentik',
|
chart: 'authentik',
|
||||||
version: '2025.6.4',
|
version: '2025.10.3',
|
||||||
sourceRef: {
|
sourceRef: {
|
||||||
apiVersion: 'source.toolkit.fluxcd.io/v1',
|
apiVersion: 'source.toolkit.fluxcd.io/v1',
|
||||||
kind: 'HelmRepository',
|
kind: 'HelmRepository',
|
||||||
@@ -257,22 +253,6 @@ 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],
|
||||||
|
|||||||
Reference in New Issue
Block a user