mirror of
https://github.com/morten-olsen/homelab-operator.git
synced 2026-02-08 01:36:28 +01:00
Compare commits
7 Commits
v0.1.111
...
renovate/t
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
040fc92fc8 | ||
|
|
0793d30222 | ||
|
|
c7f309cd23 | ||
|
|
dc7d46d53c | ||
|
|
3ae89e81bd | ||
|
|
bc67429cd2 | ||
|
|
af2aae493e |
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"eslint-plugin-prettier": "5.5.4",
|
||||
"json-schema-to-typescript": "^15.0.4",
|
||||
"prettier": "3.6.2",
|
||||
"typescript": "5.9.2",
|
||||
"typescript": "5.9.3",
|
||||
"typescript-eslint": "8.38.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
@@ -49,7 +49,7 @@
|
||||
"sqlite3"
|
||||
],
|
||||
"patchedDependencies": {
|
||||
"@kubernetes/client-node": "patches/@kubernetes__client-node.patch"
|
||||
"@kubernetes/client-node": "./patches/@kubernetes__client-node.patch"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
94
images/operator/pnpm-lock.yaml
generated
94
images/operator/pnpm-lock.yaml
generated
@@ -79,7 +79,7 @@ importers:
|
||||
version: 10.1.8(eslint@9.36.0)
|
||||
eslint-plugin-import:
|
||||
specifier: 2.32.0
|
||||
version: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)
|
||||
version: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.3))(eslint@9.36.0)
|
||||
eslint-plugin-prettier:
|
||||
specifier: 5.5.4
|
||||
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.36.0))(eslint@9.36.0)(prettier@3.6.2)
|
||||
@@ -90,11 +90,11 @@ importers:
|
||||
specifier: 3.6.2
|
||||
version: 3.6.2
|
||||
typescript:
|
||||
specifier: 5.9.2
|
||||
version: 5.9.2
|
||||
specifier: 5.9.3
|
||||
version: 5.9.3
|
||||
typescript-eslint:
|
||||
specifier: 8.38.0
|
||||
version: 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
version: 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
|
||||
packages:
|
||||
|
||||
@@ -1924,8 +1924,8 @@ packages:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <5.9.0'
|
||||
|
||||
typescript@5.9.2:
|
||||
resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
|
||||
typescript@5.9.3:
|
||||
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
@@ -2207,41 +2207,41 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/node': 22.16.5
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)(typescript@5.9.2)':
|
||||
'@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.3))(eslint@9.36.0)(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
'@typescript-eslint/scope-manager': 8.38.0
|
||||
'@typescript-eslint/type-utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/type-utils': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
'@typescript-eslint/visitor-keys': 8.38.0
|
||||
eslint: 9.36.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 7.0.5
|
||||
natural-compare: 1.4.0
|
||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||
typescript: 5.9.2
|
||||
ts-api-utils: 2.1.0(typescript@5.9.3)
|
||||
typescript: 5.9.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2)':
|
||||
'@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 8.38.0
|
||||
'@typescript-eslint/types': 8.38.0
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.3)
|
||||
'@typescript-eslint/visitor-keys': 8.38.0
|
||||
debug: 4.4.1
|
||||
eslint: 9.36.0
|
||||
typescript: 5.9.2
|
||||
typescript: 5.9.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/project-service@8.38.0(typescript@5.9.2)':
|
||||
'@typescript-eslint/project-service@8.38.0(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.9.2)
|
||||
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.9.3)
|
||||
'@typescript-eslint/types': 8.38.0
|
||||
debug: 4.4.1
|
||||
typescript: 5.9.2
|
||||
typescript: 5.9.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -2250,28 +2250,28 @@ snapshots:
|
||||
'@typescript-eslint/types': 8.38.0
|
||||
'@typescript-eslint/visitor-keys': 8.38.0
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.9.2)':
|
||||
'@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.9.3)':
|
||||
dependencies:
|
||||
typescript: 5.9.2
|
||||
typescript: 5.9.3
|
||||
|
||||
'@typescript-eslint/type-utils@8.38.0(eslint@9.36.0)(typescript@5.9.2)':
|
||||
'@typescript-eslint/type-utils@8.38.0(eslint@9.36.0)(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.38.0
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.3)
|
||||
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
debug: 4.4.1
|
||||
eslint: 9.36.0
|
||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||
typescript: 5.9.2
|
||||
ts-api-utils: 2.1.0(typescript@5.9.3)
|
||||
typescript: 5.9.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/types@8.38.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.38.0(typescript@5.9.2)':
|
||||
'@typescript-eslint/typescript-estree@8.38.0(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/project-service': 8.38.0(typescript@5.9.2)
|
||||
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.9.2)
|
||||
'@typescript-eslint/project-service': 8.38.0(typescript@5.9.3)
|
||||
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.9.3)
|
||||
'@typescript-eslint/types': 8.38.0
|
||||
'@typescript-eslint/visitor-keys': 8.38.0
|
||||
debug: 4.4.1
|
||||
@@ -2279,19 +2279,19 @@ snapshots:
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.7.2
|
||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||
typescript: 5.9.2
|
||||
ts-api-utils: 2.1.0(typescript@5.9.3)
|
||||
typescript: 5.9.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.38.0(eslint@9.36.0)(typescript@5.9.2)':
|
||||
'@typescript-eslint/utils@8.38.0(eslint@9.36.0)(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.36.0)
|
||||
'@typescript-eslint/scope-manager': 8.38.0
|
||||
'@typescript-eslint/types': 8.38.0
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.3)
|
||||
eslint: 9.36.0
|
||||
typescript: 5.9.2
|
||||
typescript: 5.9.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -2794,17 +2794,17 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0):
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
eslint: 9.36.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0):
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.3))(eslint@9.36.0):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.9
|
||||
@@ -2815,7 +2815,7 @@ snapshots:
|
||||
doctrine: 2.1.0
|
||||
eslint: 9.36.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0)
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
@@ -2827,7 +2827,7 @@ snapshots:
|
||||
string.prototype.trimend: 1.0.9
|
||||
tsconfig-paths: 3.15.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
@@ -4117,9 +4117,9 @@ snapshots:
|
||||
|
||||
tr46@0.0.3: {}
|
||||
|
||||
ts-api-utils@2.1.0(typescript@5.9.2):
|
||||
ts-api-utils@2.1.0(typescript@5.9.3):
|
||||
dependencies:
|
||||
typescript: 5.9.2
|
||||
typescript: 5.9.3
|
||||
|
||||
tsconfig-paths@3.15.0:
|
||||
dependencies:
|
||||
@@ -4169,18 +4169,18 @@ snapshots:
|
||||
possible-typed-array-names: 1.1.0
|
||||
reflect.getprototypeof: 1.0.10
|
||||
|
||||
typescript-eslint@8.38.0(eslint@9.36.0)(typescript@5.9.2):
|
||||
typescript-eslint@8.38.0(eslint@9.36.0)(typescript@5.9.3):
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||
'@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.3))(eslint@9.36.0)(typescript@5.9.3)
|
||||
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.3)
|
||||
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.3)
|
||||
eslint: 9.36.0
|
||||
typescript: 5.9.2
|
||||
typescript: 5.9.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
typescript@5.9.2: {}
|
||||
typescript@5.9.3: {}
|
||||
|
||||
unbox-primitive@1.1.0:
|
||||
dependencies:
|
||||
|
||||
@@ -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: {},
|
||||
});
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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' } } },
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user