For the complete documentation index, see llms.txt. This page is also available as Markdown.

2.2 Dependancies

What you need to run JSONAir.

JSONAir is intentionally designed to have a minimal footprint. There are two categories of dependencies: runtime (what the server and agent need to operate) and build-time (what you need to compile JSONAir from source).


Runtime Dependencies

Database

JSONAir requires a MySQL-compatible database to store API keys and configuration data.

Engine
Minimum Version

MySQL

5.7 or later

MariaDB

10.4 or later

Amazon Aurora (MySQL-compatible)

Any current version

The database must be reachable by the JSONAir server over TCP. TLS connections to the database are supported and recommended for production deployments (controlled via the MYSQL_TLS environment variable).

Operating System

JSONAir runs on any operating system supported by Go. It has been tested on Linux (the primary target) and macOS. Windows is not a tested or supported deployment target.


Build-Time Dependencies

Go

JSONAir is written in Go. To compile from source you need:

Requirement
Version

Go toolchain

1.26.2 or later

Download the Go toolchain at https://go.dev/dl/.

Third-Party Go Packages

The following packages are pulled automatically by go mod download and do not need to be installed manually. They are listed here for transparency and security review purposes.

Package
Version
Purpose

github.com/gin-gonic/gin

v1.12.0

HTTP router and middleware framework

github.com/go-sql-driver/mysql

v1.9.3

MySQL/MariaDB database driver

github.com/golang-jwt/jwt/v5

v5.3.1

JWT generation and validation

github.com/joho/godotenv

v1.5.1

.env file loading for local development

github.com/tidwall/gjson

v1.18.0

Fast JSON field extraction (request parsing)

github.com/tidwall/sjson

v1.2.5

Fast JSON field setting (response building)

github.com/fatih/color

v1.19.0

Colorized log output

golang.org/x/time

v0.15.0

Token-bucket rate limiter for the auth endpoint

All transitive (indirect) dependencies are pinned in go.sum and verified at build time.


No External Runtime Libraries

JSONAir compiles to a single static binary. There are no shared libraries, no runtime interpreters, and no package managers required on the server or agent host. Deploying JSONAir is as simple as copying the binary.

Last updated