# slateintegrations-git/slate-tak-server-install architecture

> Architecture diagram of the GitHub repository slateintegrations-git/slate-tak-server-install, 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/slateintegrations-git/slate-tak-server-install
- Repository: https://github.com/slateintegrations-git/slate-tak-server-install

## Overview

This repository packages a universal TAK Server 5.6 installer for Rocky Linux 9 and Ubuntu. The documented workflow is for an administrator to run the installer as root; it prepares dependencies and system configuration, handles LFS-managed package files, applies platform-specific security setup, and installs TAK Server. The README describes these behaviors, but no installer source was available to verify internal call order or implementation details, so the graph shows only documented relationships.

Main entry points: [`SLATE-TAK-Server-Install.sh`](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh) (Universal installer), [`takserver-5.6-RELEASE6.noarch.rpm`](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver-5.6-RELEASE6.noarch.rpm) (Rocky Linux package), [`takserver_5.6-RELEASE6_all.deb`](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver_5.6-RELEASE6_all.deb) (Ubuntu package), [`takserver-public-gpg.key`](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver-public-gpg.key) (Package signing key)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["System preparation"]
  node_installer["Universal installer"]
  node_dependencies["Dependency setup"]
  node_postgres["PostgreSQL setup"]
  node_limits["System limits"]
end

subgraph group_artifacts["Package artifacts"]
  node_lfs["LFS preparation"]
  node_rpm["Rocky Linux package"]
  node_deb["Ubuntu package"]
end

subgraph group_security["Platform security"]
  node_gpg["Package signing key"]
  node_policy["SELinux policy<br/>[deb_policy.pol]"]
  node_rocky["Rocky security setup"]
  node_ubuntu["Ubuntu security setup"]
end

node_admin(("Administrator"))
node_github["GitHub LFS"]
node_osrepos["OS package repositories"]
node_pgrepo["PostgreSQL repositories"]
node_tak["TAK Server"]

node_admin -->|"runs as root"| node_installer
node_installer -->|"sets up"| node_dependencies
node_dependencies -->|"installs from"| node_osrepos
node_installer -->|"configures"| node_postgres
node_postgres -->|"configures"| node_pgrepo
node_installer -->|"increases"| node_limits
node_installer -->|"prepares binaries"| node_lfs
node_lfs -->|"pulls binaries"| node_github
node_installer -->|"installs on Rocky"| node_rpm
node_installer -->|"installs on Ubuntu"| node_deb
node_installer -->|"configures Rocky"| node_rocky
node_rocky -->|"applies policy"| node_policy
node_installer -->|"configures Ubuntu"| node_ubuntu
node_ubuntu -->|"sets up verification"| node_gpg
node_installer -->|"installs"| node_tak

click node_installer "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh"
click node_dependencies "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh"
click node_postgres "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh"
click node_limits "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh"
click node_lfs "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh"
click node_rpm "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver-5.6-RELEASE6.noarch.rpm"
click node_deb "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver_5.6-RELEASE6_all.deb"
click node_gpg "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver-public-gpg.key"
click node_policy "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/deb_policy.pol"
click node_rocky "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh"
click node_ubuntu "https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh"

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_installer,node_dependencies,node_postgres,node_limits toneBlue
class node_lfs,node_rpm,node_deb,node_pgrepo toneAmber
class node_gpg,node_policy,node_rocky,node_ubuntu,node_tak toneMint
class node_admin,node_github,node_osrepos toneIndigo
```

## Components

### System preparation

- [Universal installer](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh): `SLATE-TAK-Server-Install.sh`
- [Dependency setup](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh): `SLATE-TAK-Server-Install.sh`
- [PostgreSQL setup](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh): `SLATE-TAK-Server-Install.sh`
- [System limits](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh): `SLATE-TAK-Server-Install.sh`

### Package artifacts

- [LFS preparation](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh): `SLATE-TAK-Server-Install.sh`
- [Rocky Linux package](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver-5.6-RELEASE6.noarch.rpm): `takserver-5.6-RELEASE6.noarch.rpm`
- [Ubuntu package](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver_5.6-RELEASE6_all.deb): `takserver_5.6-RELEASE6_all.deb`

### Platform security

- [Package signing key](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/takserver-public-gpg.key): `takserver-public-gpg.key`
- [SELinux policy](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/deb_policy.pol): `deb_policy.pol`
- [Rocky security setup](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh): `SLATE-TAK-Server-Install.sh`
- [Ubuntu security setup](https://github.com/slateintegrations-git/slate-tak-server-install/blob/main/SLATE-TAK-Server-Install.sh): `SLATE-TAK-Server-Install.sh`

### Other components

- **Administrator**
- **GitHub LFS**
- **OS package repositories**
- **PostgreSQL repositories**
- **TAK Server**

## Connections

- Administrator → Universal installer: runs as root
- Universal installer → Dependency setup: sets up
- Dependency setup → OS package repositories: installs from
- Universal installer → PostgreSQL setup: configures
- PostgreSQL setup → PostgreSQL repositories: configures
- Universal installer → System limits: increases
- Universal installer → LFS preparation: prepares binaries
- LFS preparation → GitHub LFS: pulls binaries
- Universal installer → Rocky Linux package: installs on Rocky
- Universal installer → Ubuntu package: installs on Ubuntu
- Universal installer → Rocky security setup: configures Rocky
- Rocky security setup → SELinux policy: applies policy
- Universal installer → Ubuntu security setup: configures Ubuntu
- Ubuntu security setup → Package signing key: sets up verification
- Universal installer → TAK Server: installs
