Compare commits

...

7 Commits

Author SHA1 Message Date
renovate[bot]
08f642bf11 chore(deps): update dependency cloudflare to v5.2.0 2025-12-31 14:08:19 +00:00
Morten Olsen
0793d30222 Update authentik-server.ts 2025-12-22 21:10:49 +01:00
Morten Olsen
c7f309cd23 remove istio and cert manager auto install 2025-12-22 20:56:22 +01:00
Morten Olsen
dc7d46d53c fix: oidc auth url (#63) 2025-10-13 21:33:24 +00:00
Morten Olsen
3ae89e81bd fix: pgvector image name (#62) 2025-10-13 21:15:10 +00:00
Morten Olsen
bc67429cd2 move to pgvector (#61) 2025-10-13 23:00:54 +02:00
Morten Olsen
af2aae493e Fix/docker (#60) 2025-10-13 22:35:40 +02:00
11 changed files with 48 additions and 24 deletions

View File

@@ -1,12 +1,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "homelab-operator.fullname" . }}
name: '{{ include "homelab-operator.fullname" . }}'
subjects:
- kind: ServiceAccount
name: {{ include "homelab-operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
- kind: ServiceAccount
name: '{{ include "homelab-operator.serviceAccountName" . }}'
namespace: "{{ .Release.Namespace }}"
roleRef:
kind: ClusterRole
name: {{ include "homelab-operator.fullname" . }}
name: '{{ include "homelab-operator.fullname" . }}'
apiGroup: rbac.authorization.k8s.io

View File

@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "homelab-operator.fullname" . }}
namespace: "{{ .Release.Namespace }}"
labels:
{{- include "homelab-operator.labels" . | nindent 4 }}
spec:

View File

@@ -3,6 +3,7 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "homelab-operator.serviceAccountName" . }}
namespace: "{{ .Release.Namespace }}"
labels:
{{- include "homelab-operator.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}

View File

@@ -1,6 +1,8 @@
FROM node:23-slim@sha256:86191b94d2a163be41f3dc7fe5e5fcaca8ba2f1be7275d98a06343483c17414a
RUN corepack enable
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
COPY patches ./patches
RUN pnpm install --frozen-lockfile --prod
COPY . .
CMD ["node", "src/index.ts"]

View File

@@ -49,7 +49,7 @@
"sqlite3"
],
"patchedDependencies": {
"@kubernetes/client-node": "patches/@kubernetes__client-node.patch"
"@kubernetes/client-node": "./patches/@kubernetes__client-node.patch"
}
},
"scripts": {

View File

@@ -21,7 +21,7 @@ importers:
version: 1.3.0(patch_hash=0b0e5d32aa2930107c8c9b45df2639faf53fa12a389a551885d6e42d71f9429d)(encoding@0.1.13)
cloudflare:
specifier: ^5.0.0
version: 5.1.0(encoding@0.1.13)
version: 5.2.0(encoding@0.1.13)
cron:
specifier: ^4.3.3
version: 4.3.3
@@ -252,8 +252,11 @@ packages:
'@types/node-fetch@2.6.12':
resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==}
'@types/node@18.19.123':
resolution: {integrity: sha512-K7DIaHnh0mzVxreCR9qwgNxp3MH9dltPNIEddW9MYUlcKAzm+3grKNSTe2vCJHI1FaLpvpL5JGJrz1UZDKYvDg==}
'@types/node-fetch@2.6.13':
resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==}
'@types/node@18.19.130':
resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==}
'@types/node@22.16.5':
resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==}
@@ -503,8 +506,8 @@ packages:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
engines: {node: '>=6'}
cloudflare@5.1.0:
resolution: {integrity: sha512-J2vT90WHio8VSbGUmuHckJr9pabH6N+nQKQsgjfwydgV2bgyQoV/KqWw1Df+YKZ5T/QqP7KadKr4bxh+WiRafg==}
cloudflare@5.2.0:
resolution: {integrity: sha512-dVzqDpPFYR9ApEC9e+JJshFJZXcw4HzM8W+3DHzO5oy9+8rLC53G7x6fEf9A7/gSuSCxuvndzui5qJKftfIM9A==}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
@@ -867,6 +870,10 @@ packages:
resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
engines: {node: '>= 6'}
form-data@4.0.5:
resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
engines: {node: '>= 6'}
formdata-node@4.4.1:
resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
engines: {node: '>= 12.20'}
@@ -2195,7 +2202,12 @@ snapshots:
'@types/node': 22.16.5
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:
undici-types: 5.26.5
@@ -2529,10 +2541,10 @@ snapshots:
clean-stack@2.2.0:
optional: true
cloudflare@5.1.0(encoding@0.1.13):
cloudflare@5.2.0(encoding@0.1.13):
dependencies:
'@types/node': 18.19.123
'@types/node-fetch': 2.6.12
'@types/node': 18.19.130
'@types/node-fetch': 2.6.13
abort-controller: 3.0.0
agentkeepalive: 4.6.0
form-data-encoder: 1.7.2
@@ -2998,6 +3010,14 @@ snapshots:
hasown: 2.0.2
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:
dependencies:
node-domexception: 1.0.0

View File

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

View File

@@ -168,7 +168,7 @@ class AuthentikServer extends CustomResource<typeof specSchema> {
chart: {
spec: {
chart: 'authentik',
version: '2025.6.4',
version: '2025.10.3',
sourceRef: {
apiVersion: 'source.toolkit.fluxcd.io/v1',
kind: 'HelmRepository',

View File

@@ -79,7 +79,7 @@ class OIDCClient extends CustomResource<typeof specSchema> {
clientId: this.name,
configuration: new URL(`/application/o/${this.appName}/.well-known/openid-configuration`, url).toString(),
configurationIssuer: new URL(`/application/o/${this.appName}/`, url).toString(),
authorization: new URL(`/application/o/${this.appName}/authorize/`, url).toString(),
authorization: new URL(`/application/o/authorize/`, url).toString(),
token: new URL(`/application/o/${this.appName}/token/`, url).toString(),
userinfo: new URL(`/application/o/${this.appName}/userinfo/`, url).toString(),
endSession: new URL(`/application/o/${this.appName}/end-session/`, url).toString(),

View File

@@ -108,7 +108,7 @@ class PostgresCluster extends CustomResource<typeof specSchema> {
containers: [
{
name: this.name,
image: 'postgres:17',
image: 'pgvector/pgvector:pg17-trixie',
ports: [{ containerPort: 5432, name: 'postgres' }],
env: [
{ name: 'POSTGRES_PASSWORD', valueFrom: { secretKeyRef: { name: secretName, key: 'password' } } },

View File

@@ -4,10 +4,9 @@ metadata:
name: homelab-operator
build:
cluster: {}
artifacts:
- image: homelaboperator
context: .
- image: zot.olsen.cloud/homelaboperator
context: ./images/operator
docker:
dockerfile: Dockerfile
@@ -16,9 +15,10 @@ manifests:
releases:
- name: homelab-operator
chartPath: charts/operator
namespace: homelab
setValueTemplates:
image.repository: '{{.IMAGE_REPO_homelaboperator}}'
image.tag: '{{.IMAGE_TAG_homelaboperator}}'
image.repository: "zot.local/homelaboperator"
image.tag: "{{.IMAGE_TAG_zot_olsen_cloud_homelaboperator}}"
deploy:
# Use kubectl to apply the manifests.