Skip to content

Repositories

Repositories provide a way for you to use your own storage for saving endpoints. This allows for you to handle your own backups, imports, version control, etc right from your favourite Git provider. Some examples of Git providers are GitHub, Bitbucket, and GitLab, although there are many more, including self-hosted options.

Adding a repository

To add a repository you will need to know your repository URL (you can find this out from your provider), and any credentials needed to read from it. You should also ensure that this repository contains a valid AireGlu file structure (see Repository Layout below).

  • Go to the Repositories section, and click the + button at the top right corner of the page
  • Choose your authentication method (see below for more information on each)
  • Enter the repository URL (starting with https:// or git@, depending on if you're using SSH authentication)
  • Select the repository branch (will default to master if not specified)
  • If you are using auto sync and want to be notified of any problems, enter your email address in Error email
  • If you want to automatically pull in changes that you make in git, check the Auto Sync Repository option. If you want to do this manually, make sure this option is not ticked.
  • If you are using authentication then enter the appropriate details (see below)
  • Click Test and Save to verify AireGlu can connect to your repository

Authentication

It is likely, and reccomended, that your repository requires some form of authentication before it can be used. There are 3 options available to you for this. None, Credentials, and SSH.

None

While not recommended, you may use a repository that does not require any authentication and is publicly readable and writable. There is nothing extra to configure here, but be aware that anyone will be able to see or change your endpoints if they find your repository.

Credentials

Credentials allows for the use of a username and password to login to the repository. AireGlu will act as the user whose credentials have been used, and will appear on the commit history as that user.

SSH

Finally authentication can be completed with the use of a public and private key pair, using SSH. This is the most complex to set up, as it requires generating a key pair, adding the public key to your Git repository, and the private key to AireGlu. It is reccomended to ensure this private key is not used anywhere else for security reasons. The benefit of this approach is that each device that uses SSH to connect can have its own key that can be revoked if it gets compromised, without affecting any of the other devices.

When using SSH authentication, your repository url should begin with git@ or something similar. It should not start with https://.

GitHub and Bitbucket both have guides on how to set up a key for your account as examples, but most providers support this feature, and will offer some support in setting it up.

Repository Layout

Use the flat JSON layout for new repositories. Existing repositories using the folder-per-entity layout continue to work without changes.

Each endpoint or MCP server config is a single .json file directly under the parent folder. AireGlu reads the entity name from the file contents; name the file after the entity it contains.

repo-root/
├── Endpoints/
│   ├── MyEndpoint.json
│   └── Another.json
└── McpServers/
    ├── my-server.json
    └── another.json

Other files in the folder (for example README.md) are ignored.

Flat layout with AireGlu/ parent

Use this when the repository contains other products or folders. AireGlu detects the AireGlu/ folder automatically and scans from there; root-level Endpoints/ and McpServers/ are ignored when AireGlu/ is present.

repo-root/
├── AireGlu/
│   ├── Endpoints/
│   │   ├── MyEndpoint.json
│   │   └── Another.json
│   └── McpServers/
│       └── my-server.json
├── Forms/                        ← other products coexist at root
└── Flow/

Folder-per-entity layout (legacy)

Still supported for existing repositories. Each entity lives in its own subfolder with a fixed-name config file inside. Endpoint configs may be endpoint.json, endpoint.yml, or endpoint.yaml; MCP server configs must be mcp-server.json.

repo-root/
├── Endpoints/                    required
│   └── MyEndpoint/
│       └── endpoint.json         (or endpoint.yml / endpoint.yaml)
└── McpServers/                   optional
    └── MyServer/
        └── mcp-server.json

Exporting an Endpoint Config

To export an endpoint for saving to git:

  • Go to the Endpoints page in AireGlu
  • Click the export button (box with an arrow icon) on the endpoint overview
  • Choose JSON format
  • If you are using any password/secrets fields and you want the password or secret reference preserved on re-import, choose Include encrypted values; otherwise placeholders are written and must be replaced before the endpoint will run.
  • Save the export as a plain-text .json file

    IMPORTANT

    Use Notepad or a plain-text editor. Word or other rich-text editors will corrupt the file.

  • Place the file in your repository matching the layout above.

Exporting an MCP Server Config

To export an MCP server config for saving to git:

  • Go to AI Tools > MCP Servers
  • Click the three-dot menu on the server and select Export — the full configuration is copied to your clipboard as JSON
  • Paste the clipboard contents into a plain-text .json file

    IMPORTANT

    Use Notepad or a plain-text editor. Word or other rich-text editors will corrupt the file.

  • Place the file in your repository matching the layout above.