Application Architecture

Application Architecture

There is a large variety of applications currently part of la1r.
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.

Kubernetes Exposed Services

Application NameStatusPurposeNamespace (if existing)Url
Kubernetes DashboardManagement dashboard to manage Kubernetes through a GUIkubernetes-dashboardhttp://kubernetes.bas
GrafanaGrafana Cluster Dashboards, dashboard for entire clustermonitoringhttp://grafana.bas
PrometheusMetrics collector and data storemonitoringhttp://prometheus.bas
Prometheus - AlertmanagerMetrics based alertingmonitoringhttp://alerts.bas
Prometheus - Push GatewayPush Metrics Endpointmonitoringhttp://prometheus-push.bas
Prometheus - Blackbox ExporterPush Blackbox exporter metricsmonitoringhttp://blackbox.bas
ElasticsearchElasticsearch data storemonitoringhttp://es.bas
KibanaElasticsearch GUImonitoringhttp://kibana.bas
OpenVPN StatusOpenVPN static metric aggregator on OVPN management portmonitoringhttp://openvpn.bas
TektonCloud-Native CI/CDtekton-pipelineshttp://tekton.bas
ConsulConsul is used for all internal DNS queriesdnshttp://dns.bas
Traefik 2.xReverse Proxy, managing all domain requests on port 33555kube-systemhttp://treafik.bas
Traefik 2.x - PublicReverse Proxy for all public endpointsonlinehttp://treafik-online.bas
Shields.io endpointEndpoint for generating custom shields.io imagesonlinehttp://shields.la1r.com
MotionEyeSecurity Camera endpointhomeautomationhttp://cam.bas
NextcloudPrivate storage cloudnextcloudhttp://cloud.bas
Email - NextcloudSMTP Server for sending out emails from Nextcloudnextcloudhttp://email.bas
CouchpotatoTorrent Movie download librarytorrenthttp://couch.bas
JackettTorrent Trackers Managementtorrenthttp://jackett.bas
PlexPlex Media Servertorrenthttp://plex.bas
QbittorentBittorrent Download Clienttorrenthttp://torrent.bas
RadarrMovie Torrent data aggregatortorrenthttp://radarr.bas
SonarrSeries Torrent data aggregatortorrenthttp://sonarr.bas
BazarrSubtitle Torrent data aggregatortorrenthttp://bazarr.bas
Zeppelin - Event-DrivenZeppelin analytics platform for running event-driven analyticsanalyticshttps://zeppelin.bas
Nifi - event orchestrationOrchestrating trafic in the analytics architectureanalyticshttps://nifi.bas

Kubernetes Backend Applications

Application NameStatusPurposeNamespace (if existing)Folder linkUrl
Backup jobsBi-weekly and monthly backup Kubernetes jobs on all storageBackupBackupN/A
Comms - WhatsAppREST Endpoint expose Whatsapp client through SeleniumCommsWhatsApphttp://whatsapp.bas
Comms - TelegramREST Endpoint exposed Telegram clientCommsTelegramhttp://telegram.bas
FindLF - Wifi TrackingIn-house wifi trackingeventFindLFN/A
kafka - event architectureKafka cluster which tracks all (home-automation) eventseventKafkahttp://kafka.bas
Zookeeper - ElectionSupport app for leader election of decentralized infraeventzookeeperhttp://zookeeper.bas
homeassistantHome Automation Instance, integrates with home automation toolshomeautomationHome Assistanthttp://homeassistant.bas
openhabSecundairy Home Automation Instance, integrates to homeassistanthomeautomationOpenhabhttp://openhab.bas
WeaveworksL3 Network overlay for Kuberneteskube-systemWeaveworksN/A
Weave-scopeManagement GUI for Weaveworks network overlaykube-systemWeave Scopehttp://weavescope.bas
Chronograf - MonitoringManagement UI for Chronograf for monitoringmonitoringChronograf Monitoringhttp://chronograf.bas
Exporter - openvpnOpenVPN metrics exporter for PrometheusmonitoringExporter OpenvpnN/A
Exporter - qbittorentQbittorrent metrics exporter for PrometheusmonitoringExporter QbittorentN/A
Exporter - tautulliTautulli metrics exporter for PrometheusmonitoringExporter TautulliN/A
Exporter - varkenPlex metrics exporter for PrometheusmonitoringExporter VarkenN/A
HeimdallCustomizable starting pagemonitoringHeimdallhttp://home.bas
InfluxDB - MonitoringData Store for Traefik (online & offline) and VarkenmonitoringInfluxDB MonitoringN/A
MariaDB - NextcloudMySQL Database for storing Nextcloud DatanextcloudMariaDB NextcloudN/A
Redis - NextcloudRedis Cache for Nextcloud temp storagenextcloudRedis NextcloudN/A
Nginx - Nextcloud PublicPublic Exposure of some of the Nextcloud resources, filteredonlineNGINXhttp://cloud.basraven.nl
AutheliaAuthentication Proxy, to secure expose applicationssecurityAutheliahttp://aithelia.bas
OpenldapOpenLDAP IAM implementation, for centralized user managementsecurityOpenLDAPhttp://ldap.bas
PhpladpadminOpenLDAP Management UIsecurityPhpLdapAdminhttp://openldap.bas

Ansible

Application NameStatusPurposeNamespace (if existing)Folder linkUrl
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