https://github.com/flatcar/garm-provider-linode
Garm external provider for Linode
https://github.com/flatcar/garm-provider-linode
Last synced: 2 months ago
JSON representation
Garm external provider for Linode
- Host: GitHub
- URL: https://github.com/flatcar/garm-provider-linode
- Owner: flatcar
- License: apache-2.0
- Created: 2025-06-04T14:37:21.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2026-03-10T09:36:07.000Z (3 months ago)
- Last Synced: 2026-03-10T16:59:04.239Z (3 months ago)
- Language: Go
- Size: 4.79 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
[](https://www.flatcar.org/)
[](https://app.element.io/#/room/#flatcar:matrix.org)
[](https://kubernetes.slack.com/archives/C03GQ8B5XNJ)
[](https://x.com/flatcar)
[](https://hachyderm.io/@flatcar)
[](https://bsky.app/profile/flatcar.org)
# Garm External Provider For Linode
About [Garm](https://github.com/cloudbase/garm):
> GARM enables you to create and automatically maintain pools of self-hosted runners in both Github and Gitea with auto-scaling that can be used inside your workflow runs.
The idea, the implementation and the maintenance of Garm is mainly done by Cloudbase folks. This repository host the [Linode](https://cloud.linode.com/) external provider to create Linux runners on top of Linode virtual machines with Garm.
## Build
Clone the repo:
```bash
git clone https://github.com/flatcar/garm-provider-linode
```
Build the binary:
```bash
cd garm-provider-linode
make
```
Copy the binary on the same system where ```garm``` is running, and [point to it in the config](https://github.com/cloudbase/garm/blob/main/doc/providers.md#the-external-provider).
## Usage example
`garm-provider-linode` configuration:
```toml
# /etc/garm/providers.d/garm-provider-linode.toml
# token is generated from Linode with the following permissions:
# - Linodes r/w
token = "foo..."
# region where to deploy things (optional, default: us-ord)
region = "us-ord"
```
Garm configuration to use the `garm-provider-linode` binary in `/etc/garm/updates`:
```
# /etc/garm/config.toml
[[provider]]
name = "akamai-linode-amd64"
provider_type = "external"
description = "Akamai Linode (amd64)"
[provider.external]
provider_executable = "/etc/garm/updates/garm-provider-linode"
config_file = "/etc/garm/providers.d/garm-provider-linode.toml"
```
Add the pool:
```
$ garm-cli pool add \
--org="${ORG}" \
--flavor g6-standard-2 \
--image=linode/ubuntu24.04 \
--provider-name=akamai-linode-amd64 \
--tags=test,linode \
--enabled \
--min-idle-runners 1 \
--max-runners 2
```
### A Flatcar Container Linux project
Flatcar Container Linux is a fully open source, minimal-footprint, secure by default and always up-to-date Linux distribution for running containers at scale.
This repository is maintained by the Flatcar community and contributors. Development and design decisions are guided by the principles of transparency, modularity, and collaboration.
Please find information on:
- [Contribution Guide](https://github.com/flatcar/Flatcar/blob/main/CONTRIBUTING.md) – how to get involved and submit patches.
- [Repository Codeowners](./CODEOWNERS) – who's assigned for contribution reviews in this repository.
- [Repository Maintainers](./MAINTAINERS.md) – who’s responsible for what in this repository.
- [Flatcar Project Maintainers](https://github.com/flatcar/Flatcar/blob/main/MAINTAINERS.md) – who’s responsible for what at Flatcar.
- [Governance](https://github.com/flatcar/Flatcar/blob/main/governance.md) – how decisions are made and who the stakeholders are.
- [Code of Conduct](./code-of-conduct.md) – our commitment to a welcoming and inclusive community.
- [LICENSE](./LICENSE) - License under which the software is released.