Application Architecture

Application Architecture

There is a large variety of applications currently running on the platform.
This page gives an overview of all these applications and also acts as a formal catalog. For that reason, this page will probably change a lot. All applications with date added 14-06-2020 are applications which were added when this page was written and add date was unknown.

Application NameStatusPurposeNamespace (if existing)Folder linkUrl
Local machine
Control - Docker JumphostJumphost on local dev machine to manage the cluster from WindowsLocal - ControlControlN/A
Bian - Experimental AI
Doorbell image recognitionImage Recognition on video with Python 3.xBrian - Image recognitionImage RecognitionN/A
Zeppelin - AnalyticsZeppelin analytics platform for running spark jobsBrian - Zeppelin AnalyticsZeppelin Experimentalhttp://zeppelin.bas
Ansible
DnsMasqConfiguration of custom DNS Service from the serverAnsibleDnsMasqN/A
OVPNVPN Bare-Metal Service, hosts all major connectionsAnsibleOVPNhttp://ovpn.bas
Prometheus Node ExporterExports all metrics data from each server to PrometheusAnsiblePrometheus Node ExporterN/A
SambaFile storage server for local LAN use only, to access dataAnsibleSambaN/A
NFSFile storage server on external backup storage serversAnsible - PiNFSN/A
Kubernetes
Backup jobsBi-weekly and monthly backup Kubernetes jobs on all storageKubernetes - BackupBackupN/A
Comms - WhatsAppREST Endpoint expose Whatsapp client through SeleniumKubernetes - CommsWhatsApphttp://whatsapp.bas
Comms - TelegramREST Endpoint exposed Telegram clientKubernetes - CommsTelegramhttp://telegram.bas
FindLF - Wifi TrackingIn-house wifi trackingKubernetes - eventFindLFN/A
influxdb - kafka sinkInfluxDB instance as data sink for KafkaKubernetes - eventInfluxDB SinkN/A
kafka - event architectureKafka cluster which tracks all (home-automation) eventsKubernetes - eventKafkahttp://kafka.bas
Nifi - event orchestrationOrchestrating all trafic in the event-driven architectureKubernetes - eventNifihttp://nifi.bas
Mosquito - “raw” data sinkData sink for all event data which integrations with MQTTKubernetes - eventRawN/A
Zeppelin - Event-DrivenZeppelin analytics platform for running event-driven analyticsKubernetes - eventZeppelin Eventhttp://zeppelin.bas
Zookeeper - ElectionSupport app for leader election of decentralized infraKubernetes - eventzookeeperhttp://zookeeper.bas
homeassistantHome Automation Instance, integrates with home automation toolsKubernetes - homeautomationHome Assistanthttp://homeassistant.bas
openhabSecundairy Home Automation Instance, integrates to homeassistantKubernetes - homeautomationOpenhabhttp://openhab.bas
Kubernetes DashboardManagement dashboard to manage Kubernetes through a GUIKubernetes - kubernetes-dashboardKubernetes Dashboardhttp://kubernetes.bas
Traefik 2.xReverse Proxy, managing all domain requests on port 33555Kubernetes - kube-systemTraefik 2.xhttp://treafik.bas
WeaveworksL3 Network overlay for KubernetesKubernetes - kube-systemWeaveworksN/A
Weave-scopeManagement GUI for Weaveworks network overlayKubernetes - kube-systemWeave Scopehttp://weavescope.bas
Chronograf - MonitoringManagement UI for Chronograf for monitoringKubernetes - monitoringChronograf Monitoringhttp://chronograf.bas
Exporter - openvpnOpenVPN metrics exporter for PrometheusKubernetes - monitoringExporter OpenvpnN/A
Exporter - qbittorentQbittorrent metrics exporter for PrometheusKubernetes - monitoringExporter QbittorentN/A
Exporter - tautulliTautulli metrics exporter for PrometheusKubernetes - monitoringExporter TautulliN/A
Exporter - varkenPlex metrics exporter for PrometheusKubernetes - monitoringExporter VarkenN/A
GrafanaGrafana Cluster Dashboards, dashboard for entire clusterKubernetes - monitoringGrafanahttp://grafana.bas
HeimdallCustomizable starting pageKubernetes - monitoringHeimdallhttp://home.bas
InfluxDB - MonitoringData Store for Traefik (online & offline) and VarkenKubernetes - monitoringInfluxDB MonitoringN/A
OpenVPN StatusOpenVPN static metric aggregator on OVPN management portKubernetes - monitoringOpenVPN Statushttp://openvpn.bas
PrometheusMetrics collector and data storeKubernetes - monitoringPrometheushttp://prometheus.bas
Email - NextcloudSMTP Server for sending out emails from NextcloudKubernetes - nextcloudEmail Nextcloudhttp://email.bas
MariaDB - NextcloudMySQL Database for storing Nextcloud DataKubernetes - nextcloudMariaDB NextcloudN/A
NextcloudPrivate storage cloudKubernetes - nextcloudNextcloudhttp://cloud.bas
Redis - NextcloudRedis Cache for Nextcloud temp storageKubernetes - nextcloudRedis NextcloudN/A
Nginx - Nextcloud PublicPublic Exposure of some of the Nextcloud resources, filteredKubernetes - onlineNGINXhttp://cloud.basraven.nl
Traefik 2.x - PublicReverse Proxy for all public endpointsKubernetes - onlineTraefik 2.x Onlinehttp://treafik-online.bas
AutheliaAuthentication Proxy, to secure expose applicationsKubernetes - securityAutheliahttp://aithelia.bas
OpenldapOpenLDAP IAM implementation, for centralized user managementKubernetes - securityOpenLDAPhttp://ldap.bas
PhpladpadminOpenLDAP Management UIKubernetes - securityPhpLdapAdminhttp://openldap.bas
CouchpotatoTorrent Movie download libraryKubernetes - torrentcoachpotatohttp://couch.bas
JackettTorrent Trackers ManagementKubernetes - torrentJacketthttp://jackett.bas
PlexPlex Media ServerKubernetes - torrentPlexhttp://plex.bas
QbittorentBittorrent Download ClientKubernetes - torrentQbittorenthttp://torrent.bas
RadarrMovie Torrent data aggregatorKubernetes - torrentRadarrhttp://radarr.bas
SonarrSeries Torrent data aggregatorKubernetes - torrentSonarrhttp://sonarr.bas