Skip to content

Commit dccca26

Browse files
committed
add teslamate
1 parent 50bc74b commit dccca26

5 files changed

Lines changed: 187 additions & 0 deletions

File tree

kubernetes/apps/kustomization.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ resources:
2828
- karakeep/flux-kustomization.yml
2929
- soundbored/flux-kustomization.yml
3030
- actual/flux-kustomization.yml
31+
- teslamate/flux-kustomization.yml
3132
# - kestra/flux-kustomization.yml # don't need for now
3233
# - pulsarr/flux-kustomization.yml # pulsarr is not ready yet
3334
# - discovarr/flux-kustomization.yml # discovarr is not ready yet
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
# yaml-language-server: $schema=https://lds-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
3+
apiVersion: external-secrets.io/v1
4+
kind: ExternalSecret
5+
metadata:
6+
name: teslamate
7+
spec:
8+
refreshInterval: 3h
9+
secretStoreRef:
10+
name: bitwarden-secrets-manager
11+
kind: ClusterSecretStore
12+
target:
13+
name: teslamate-config
14+
template:
15+
engineVersion: v2
16+
data:
17+
encryption_key: "{{ .encryption_key }}"
18+
dataFrom:
19+
- extract:
20+
key: "teslamate"
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
3+
apiVersion: kustomize.toolkit.fluxcd.io/v1
4+
kind: Kustomization
5+
metadata:
6+
name: &app teslamate
7+
namespace: &ns tools
8+
spec:
9+
targetNamespace: *ns
10+
path: ./kubernetes/apps/teslamate/
11+
commonMetadata:
12+
labels:
13+
app.kubernetes.io/name: *app
14+
components:
15+
- ../../core/crunchydata-pgo/components/
16+
postBuild:
17+
substitute:
18+
APP: *app
19+
POSTGRES_DATA_SIZE: 10Gi
20+
prune: true
21+
sourceRef:
22+
kind: GitRepository
23+
name: chkpwd-ops
24+
namespace: flux-system
25+
wait: false
26+
interval: 30m
27+
retryInterval: 1m
28+
timeout: 5m
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
3+
apiVersion: helm.toolkit.fluxcd.io/v2
4+
kind: HelmRelease
5+
metadata:
6+
name: teslamate
7+
spec:
8+
interval: 15m
9+
chart:
10+
spec:
11+
chart: app-template
12+
version: 4.1.2
13+
interval: 30m
14+
sourceRef:
15+
kind: HelmRepository
16+
name: bjw-s-labs
17+
namespace: flux-system
18+
driftDetection:
19+
mode: enabled
20+
install:
21+
remediation:
22+
retries: -1
23+
upgrade:
24+
remediation:
25+
retries: 3
26+
values:
27+
global:
28+
fullnameOverride: teslamate
29+
controllers:
30+
teslamate:
31+
enabled: true
32+
type: deployment
33+
annotations:
34+
reloader.stakater.com/auto: "true"
35+
defaultContainerOptionsStrategy: merge
36+
defaultContainerOptions:
37+
envFrom:
38+
- secretRef:
39+
name: teslamate
40+
securityContext:
41+
allowPrivilegeEscalation: false
42+
capabilities:
43+
drop:
44+
- "ALL"
45+
readOnlyRootFilesystem: true
46+
containers:
47+
app:
48+
env:
49+
CHECK_ORIGIN: true
50+
# MQTT_HOST: mosquitto.database.svc.cluster.local
51+
PORT: &port 80
52+
TZ: America/New_York
53+
VIRTUAL_HOST: "{{ .Release.Name }}.chkpwd.com"
54+
ENCRYPTION_KEY:
55+
valueFrom:
56+
secretKeyRef:
57+
name: teslamate
58+
key: encryption_key
59+
DATABASE_HOST:
60+
valueFrom:
61+
secretKeyRef:
62+
name: teslamate-pguser-teslamate
63+
key: host
64+
DATABASE_USER:
65+
valueFrom:
66+
secretKeyRef:
67+
name: teslamate-pguser-teslamate
68+
key: username
69+
DATABASE_PASS:
70+
valueFrom:
71+
secretKeyRef:
72+
name: teslamate-pguser-teslamate
73+
key: password
74+
DATABASE_NAME:
75+
valueFrom:
76+
secretKeyRef:
77+
name: teslamate-pguser-teslamate
78+
key: dbname
79+
image:
80+
repository: docker.io/teslamate/teslamate
81+
tag: 2.1.0
82+
probes:
83+
liveness: &probes
84+
enabled: true
85+
custom: true
86+
spec:
87+
httpGet:
88+
path: /
89+
port: *port
90+
periodSeconds: 10
91+
timeoutSeconds: 1
92+
failureThreshold: 3
93+
readiness: *probes
94+
startup:
95+
enabled: true
96+
resources:
97+
limits:
98+
memory: 512Mi
99+
requests:
100+
cpu: 10m
101+
defaultPodOptions:
102+
automountServiceAccountToken: false
103+
securityContext:
104+
runAsNonRoot: true
105+
runAsUser: 1999
106+
runAsGroup: 1999
107+
service:
108+
app:
109+
ports:
110+
http:
111+
port: *port
112+
route:
113+
private:
114+
enabled: true
115+
kind: HTTPRoute
116+
hostnames: ["{{ .Release.Name }}.chkpwd.com"]
117+
rules:
118+
- matches:
119+
- path:
120+
type: PathPrefix
121+
value: /
122+
backendRefs:
123+
- name: teslamate
124+
port: *port
125+
parentRefs:
126+
- name: private
127+
namespace: kube-system
128+
sectionName: https
129+
persistence:
130+
tmp:
131+
type: emptyDir
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
3+
apiVersion: kustomize.config.k8s.io/v1beta1
4+
kind: Kustomization
5+
resources:
6+
- helm-release.yml
7+
- external-secret.yml

0 commit comments

Comments
 (0)