chore(apps): add homepage

This commit is contained in:
David Landry 2024-01-21 22:16:59 -05:00
parent e42033bd43
commit 1982c4bc7d
10 changed files with 308 additions and 0 deletions

View file

@ -0,0 +1,61 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: homepage
labels:
app.kubernetes.io/name: homepage
app.kubernetes.io/instance: homepage
app.kubernetes.io/version: "v0.6.10"
data:
bookmarks.yaml: |
- Developer:
- Github:
- abbr: GH
href: https://github.com/
docker.yaml: ""
kubernetes.yaml: |
mode: cluster
services.yaml: |
layout:
Files:
Media:
Games:
Manage Homelab:
Manage Media:
settings.yaml: |
layout:
Games:
columns: 4
style: row
Manage Library:
columns: 4
style: row
Files:
Manage Homelab:
Media:
columns: 4
style: row
widgets.yaml: |
- datetime:
format:
dateStyle: long
hour12: true
timeStyle: short
text_size: xl
- kubernetes:
cluster:
cpu: true
label: cluster
memory: true
show: true
showLabel: true
nodes:
cpu: true
memory: true
show: true
showLabel: true
- search:
provider: duckduckgo
target: _blank

View file

@ -0,0 +1,84 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: homepage
labels:
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage
app.kubernetes.io/version: v0.6.10
spec:
revisionHistoryLimit: 3
replicas: 1
strategy:
type: RollingUpdate
selector:
matchLabels:
app.kubernetes.io/name: homepage
app.kubernetes.io/instance: homepage
template:
metadata:
labels:
app.kubernetes.io/name: homepage
app.kubernetes.io/instance: homepage
spec:
serviceAccountName: homepage
automountServiceAccountToken: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
containers:
- name: homepage
image: "ghcr.io/benphelps/homepage:v0.6.10"
imagePullPolicy:
ports:
- name: http
containerPort: 3000
protocol: TCP
volumeMounts:
- name: homepage-config
subPath: bookmarks.yaml
mountPath: /app/config/bookmarks.yaml
- name: homepage-config
subPath: docker.yaml
mountPath: /app/config/docker.yaml
- name: homepage-config
subPath: kubernetes.yaml
mountPath: /app/config/kubernetes.yaml
- name: homepage-config
subPath: services.yaml
mountPath: /app/config/services.yaml
- name: homepage-config
subPath: settings.yaml
mountPath: /app/config/settings.yaml
- name: homepage-config
subPath: widgets.yaml
mountPath: /app/config/widgets.yaml
- name: logs
mountPath: /app/config/logs
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 0
periodSeconds: 10
tcpSocket:
port: 3000
timeoutSeconds: 1
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 0
periodSeconds: 10
tcpSocket:
port: 3000
timeoutSeconds: 1
startupProbe:
failureThreshold: 30
initialDelaySeconds: 0
periodSeconds: 5
tcpSocket:
port: 3000
timeoutSeconds: 1
volumes:
- name: homepage-config
configMap:
name: homepage
- name: logs
emptyDir: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View file

@ -0,0 +1,26 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: homepage
labels:
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage
app.kubernetes.io/version: v0.6.10
annotations:
cert-manager.io/cluster-issuer: letsencrypt-issuer
spec:
tls:
- hosts:
- "dashboard.int.nc.landry.land"
rules:
- host: "dashboard.int.nc.landry.land"
http:
paths:
- path: "/"
pathType: Prefix
backend:
service:
name: homepage
port:
number: 3000

View file

@ -0,0 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./configmap.yaml
- ./deployment.yaml
- ./ingress.yaml
- ./kustomization.yaml
- ./rbac.yaml
- ./sa.yaml
- ./service.yaml

View file

@ -0,0 +1,68 @@
---
# Source: gethomepage/charts/homepage/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: homepage
labels:
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage
app.kubernetes.io/version: v0.6.10
rules:
- apiGroups:
- ""
resources:
- namespaces
- pods
- nodes
verbs:
- get
- list
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
verbs:
- get
- list
- apiGroups:
- traefik.containo.us
- traefik.io
resources:
- ingressroutes
verbs:
- get
- list
- apiGroups:
- metrics.k8s.io
resources:
- nodes
- pods
verbs:
- get
- list
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions/status
verbs:
- get
---
# Source: gethomepage/charts/homepage/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: homepage
labels:
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage
app.kubernetes.io/version: v0.6.10
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: homepage
subjects:
- kind: ServiceAccount
name: homepage
namespace: argocd

View file

@ -0,0 +1,23 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: homepage
labels:
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage
app.kubernetes.io/version: v0.6.10
secrets:
- name: homepage-sa-token
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: homepage-sa-token
labels:
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage
app.kubernetes.io/version: v0.6.10
annotations:
kubernetes.io/service-account.name: homepage

View file

@ -0,0 +1,21 @@
---
apiVersion: v1
kind: Service
metadata:
name: homepage
labels:
app.kubernetes.io/service: homepage
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage
app.kubernetes.io/version: v0.6.10
annotations:
spec:
type: ClusterIP
ports:
- port: 3000
targetPort: http
protocol: TCP
name: http
selector:
app.kubernetes.io/instance: homepage
app.kubernetes.io/name: homepage

View file

@ -0,0 +1,11 @@
{
"appName": "gethomepage",
"userGivenName": "gethomepage",
"destNamespace": "homepage",
"destServer": "https://kubernetes.default.svc",
"srcPath": "apps/gethomepage/overlays/system",
"srcRepoURL": "https://git.nc.landry.land/davad/argo.git",
"srcTargetRevision": "",
"labels": null,
"annotations": null
}

View file

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base