diff --git a/apps/gethomepage/base/configmap.yaml b/apps/gethomepage/base/configmap.yaml new file mode 100644 index 0000000..3c4720a --- /dev/null +++ b/apps/gethomepage/base/configmap.yaml @@ -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 diff --git a/apps/gethomepage/base/deployment.yaml b/apps/gethomepage/base/deployment.yaml new file mode 100644 index 0000000..524b81f --- /dev/null +++ b/apps/gethomepage/base/deployment.yaml @@ -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: {} diff --git a/apps/gethomepage/base/icons/fvtt-d20.png b/apps/gethomepage/base/icons/fvtt-d20.png new file mode 100644 index 0000000..23fa8aa Binary files /dev/null and b/apps/gethomepage/base/icons/fvtt-d20.png differ diff --git a/apps/gethomepage/base/ingress.yaml b/apps/gethomepage/base/ingress.yaml new file mode 100644 index 0000000..8899953 --- /dev/null +++ b/apps/gethomepage/base/ingress.yaml @@ -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 diff --git a/apps/gethomepage/base/kustomization.yaml b/apps/gethomepage/base/kustomization.yaml new file mode 100644 index 0000000..520dc21 --- /dev/null +++ b/apps/gethomepage/base/kustomization.yaml @@ -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 diff --git a/apps/gethomepage/base/rbac.yaml b/apps/gethomepage/base/rbac.yaml new file mode 100644 index 0000000..cb5c979 --- /dev/null +++ b/apps/gethomepage/base/rbac.yaml @@ -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 diff --git a/apps/gethomepage/base/sa.yaml b/apps/gethomepage/base/sa.yaml new file mode 100644 index 0000000..4d2f616 --- /dev/null +++ b/apps/gethomepage/base/sa.yaml @@ -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 diff --git a/apps/gethomepage/base/service.yaml b/apps/gethomepage/base/service.yaml new file mode 100644 index 0000000..87dff27 --- /dev/null +++ b/apps/gethomepage/base/service.yaml @@ -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 diff --git a/apps/gethomepage/overlays/system/config.json b/apps/gethomepage/overlays/system/config.json new file mode 100644 index 0000000..c27798f --- /dev/null +++ b/apps/gethomepage/overlays/system/config.json @@ -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 +} diff --git a/apps/gethomepage/overlays/system/kustomization.yaml b/apps/gethomepage/overlays/system/kustomization.yaml new file mode 100644 index 0000000..4e4f197 --- /dev/null +++ b/apps/gethomepage/overlays/system/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- ../../base