# trusted360/elk architecture

> Architecture diagram of the GitHub repository trusted360/elk, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/trusted360/elk
- Repository: https://github.com/trusted360/elk

## Overview

This repository is a deployment and customization layer for a Docker-based ELK stack. The main workflow is an administrator running the deployment script to prepare the host and deploy the stack, then apply Simplicity IT branding and import dashboards into Kibana. Log sources enter through Logstash, which stores data in Elasticsearch; Kibana reads that data for dashboards. The README documents these capabilities, but no source excerpts were available to confirm script-level calls or finer integration details.

Main entry points: [`quick-deploy.sh`](https://github.com/trusted360/elk/blob/main/quick-deploy.sh) (Quick Deploy), [`apply-branding.sh`](https://github.com/trusted360/elk/blob/main/apply-branding.sh) (Apply Branding), [`branding/kibana-branding.yml`](https://github.com/trusted360/elk/blob/main/branding/kibana-branding.yml) (Kibana Branding Config), [`dashboards/security-dashboard.ndjson`](https://github.com/trusted360/elk/blob/main/dashboards/security-dashboard.ndjson) (Security Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_deployment["Deployment"]
  node_quick_deploy["Quick Deploy<br/>[quick-deploy.sh]"]
  node_branding_script["Apply Branding<br/>[apply-branding.sh]"]
end

subgraph group_customization["Branding And Dashboards"]
  node_brand_config["Kibana Branding Config"]
  node_brand_palette["Brand Colors"]
  node_dashboard_header["Dashboard Header"]
  node_dashboard_footer["Dashboard Footer"]
  node_security_dashboard["Security Dashboard"]
  node_other_dashboards["Other Dashboard Templates"]
end

subgraph group_stack["ELK Stack"]
  node_docker_elk["Docker ELK"]
  node_logstash["Logstash"]
  node_elasticsearch[("Elasticsearch")]
  node_data_volumes[("Data Volumes")]
  node_kibana["Kibana"]
end

node_admin(("Administrator"))
node_host["Deployment Host"]
node_log_sources(("Log Sources"))

node_admin -->|"runs"| node_quick_deploy
node_quick_deploy -->|"prepares"| node_host
node_quick_deploy -->|"deploys"| node_docker_elk
node_quick_deploy -->|"applies branding"| node_branding_script
node_quick_deploy -->|"imports"| node_security_dashboard
node_admin -->|"runs"| node_branding_script
node_branding_script -->|"applies"| node_brand_config
node_branding_script -->|"configures"| node_kibana
node_brand_config -.->|"uses colors"| node_brand_palette
node_dashboard_header -->|"templates"| node_kibana
node_dashboard_footer -->|"templates"| node_kibana
node_security_dashboard -->|"imports into"| node_kibana
node_other_dashboards -.->|"imports into"| node_kibana
node_log_sources -->|"sends events"| node_logstash
node_logstash -->|"indexes events"| node_elasticsearch
node_elasticsearch -->|"persists data"| node_data_volumes
node_kibana -->|"queries"| node_elasticsearch

click node_quick_deploy "https://github.com/trusted360/elk/blob/main/quick-deploy.sh"
click node_branding_script "https://github.com/trusted360/elk/blob/main/apply-branding.sh"
click node_brand_config "https://github.com/trusted360/elk/blob/main/branding/kibana-branding.yml"
click node_brand_palette "https://github.com/trusted360/elk/blob/main/branding/simplicity-it-colors.json"
click node_dashboard_header "https://github.com/trusted360/elk/blob/main/branding/dashboard-header.md"
click node_dashboard_footer "https://github.com/trusted360/elk/blob/main/branding/dashboard-footer.md"
click node_security_dashboard "https://github.com/trusted360/elk/blob/main/dashboards/security-dashboard.ndjson"
click node_other_dashboards "https://github.com/trusted360/elk/tree/main/dashboards"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_quick_deploy,node_branding_script toneBlue
class node_brand_config,node_brand_palette,node_dashboard_header,node_dashboard_footer,node_security_dashboard,node_other_dashboards toneAmber
class node_docker_elk,node_logstash,node_elasticsearch,node_data_volumes,node_kibana toneMint
class node_admin,node_host,node_log_sources toneIndigo
```

## Components

### Deployment

- [Quick Deploy](https://github.com/trusted360/elk/blob/main/quick-deploy.sh): `quick-deploy.sh`
- [Apply Branding](https://github.com/trusted360/elk/blob/main/apply-branding.sh): `apply-branding.sh`

### Branding And Dashboards

- [Kibana Branding Config](https://github.com/trusted360/elk/blob/main/branding/kibana-branding.yml): `branding/kibana-branding.yml`
- [Brand Colors](https://github.com/trusted360/elk/blob/main/branding/simplicity-it-colors.json): `branding/simplicity-it-colors.json`
- [Dashboard Header](https://github.com/trusted360/elk/blob/main/branding/dashboard-header.md): `branding/dashboard-header.md`
- [Dashboard Footer](https://github.com/trusted360/elk/blob/main/branding/dashboard-footer.md): `branding/dashboard-footer.md`
- [Security Dashboard](https://github.com/trusted360/elk/blob/main/dashboards/security-dashboard.ndjson): `dashboards/security-dashboard.ndjson`
- [Other Dashboard Templates](https://github.com/trusted360/elk/tree/main/dashboards): `dashboards`

### ELK Stack

- **Docker ELK**
- **Logstash**
- **Elasticsearch**
- **Data Volumes**
- **Kibana**

### Other components

- **Administrator**
- **Deployment Host**
- **Log Sources**

## Connections

- Administrator → Quick Deploy: runs
- Quick Deploy → Deployment Host: prepares
- Quick Deploy → Docker ELK: deploys
- Quick Deploy → Apply Branding: applies branding
- Quick Deploy → Security Dashboard: imports
- Administrator → Apply Branding: runs
- Apply Branding → Kibana Branding Config: applies
- Apply Branding → Kibana: configures
- Kibana Branding Config → Brand Colors: uses colors
- Dashboard Header → Kibana: templates
- Dashboard Footer → Kibana: templates
- Security Dashboard → Kibana: imports into
- Other Dashboard Templates → Kibana: imports into
- Log Sources → Logstash: sends events
- Logstash → Elasticsearch: indexes events
- Elasticsearch → Data Volumes: persists data
- Kibana → Elasticsearch: queries
