Commit graph

64 commits

Author SHA1 Message Date
Gabriel Adrian Samfira
5390efbaab Add manual runner removal
Runners can now be manually removed using the CLI. Some restrictions apply:

  * A runner must be idle in github. Github will not allow us to remove a runner
that is running a workflow.
  * The runner status must be "running"

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-06-29 16:23:01 +00:00
Gabriel Adrian Samfira
1f419d0abc Unwrap error before comparing
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-06-28 16:27:03 +00:00
Gabriel Adrian Samfira
f52accc47f Add idempotency when stopping a VM and some tests
When deleting a VM, we try to force stop it. If the VM is already stopped,
LXD will return an error. Unfortunately, we can't import the drivers package
from LXD without also pulling in a bunch of linux specific CGO dependencies
which we want to avoid.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-06-28 15:13:02 +00:00
Gabriel Adrian Samfira
b4e9af13d5 Fix tags update 2022-06-24 11:41:38 +00:00
Gabriel Adrian Samfira
846bd672ad Fix cleanup orphaned github runners 2022-06-24 11:17:34 +00:00
Gabriel Adrian Samfira
63824247be Optimize orphan cleanup and add Debian to OS list
* Runner names are unique. Skip querying pool, then runner name. Just fetch
the runner, which has a PoolID field set that can be used to determine the
pool.
  * Add Debian to the list of Linux OSs
2022-06-24 10:01:20 +00:00
Gabriel Adrian Samfira
808bc42d33 Add image alias if not there
On LXD, if the list of image aliases does not include the image name
we just fetched from the simplestreams remote, add it to the list.
2022-06-17 15:31:47 +00:00
Gabriel Adrian Samfira
a8274dcc02 Add profile management in the CLI 2022-06-17 10:58:35 +00:00
Gabriel Adrian Samfira
c089217a53
Add runner user to docker and lxd groups
Add the runner user to the docker and lxd groups. This will help avoid
the need for sudo if the workflow will require the use of either docker
or LXD.
2022-06-17 12:46:24 +03:00
Gabriel Adrian Samfira
98eb594cd6 Remove some blocking code
* added 2 new statuses: creating and deleting
  * remove wait on create/delete, speeding things up a bit
2022-05-13 23:34:16 +00:00
Gabriel Adrian Samfira
e7eb13acc9 Update readme 2022-05-13 13:24:39 +00:00
Gabriel Adrian Samfira
51b3bc816c Add some docs (WiP) 2022-05-12 21:37:53 +00:00
Gabriel
1e991795a2
Merge pull request #2 from ionutbalutoiu/add-azure-external-provider
Add azure external provider
2022-05-12 22:19:10 +03:00
Ionut Balutoiu
366ccf76c5 Add Azure external provider example 2022-05-12 22:13:33 +03:00
Ionut Balutoiu
3c36854b65 Fix typos 2022-05-12 16:39:58 +03:00
Gabriel Adrian Samfira
209347e0c6 Fix bug in get instance query 2022-05-11 14:50:19 +00:00
Gabriel Adrian Samfira
f428e86fb1 update readme 2022-05-11 09:36:19 +00:00
Gabriel Adrian Samfira
c554f7561a convert tabs to spaces 2022-05-10 18:42:46 +00:00
Gabriel Adrian Samfira
9a59028c1a Merge branch 'main' of github.com:cloudbase/garm into main 2022-05-10 16:10:35 +00:00
Gabriel Adrian Samfira
4e4ab691c8 Error when deleting a pool with runners 2022-05-10 16:10:02 +00:00
Gabriel
1d864e8130
Merge pull request #1 from ionutbalutoiu/fix-type
Fix typo
2022-05-10 18:50:42 +03:00
Ionut Balutoiu
011e66872f Fix typo
Fix `README.md` typo.
2022-05-10 18:46:27 +03:00
Gabriel Adrian Samfira
8a7396151f Fix sample config db passphrase and comment 2022-05-10 15:40:11 +00:00
Gabriel Adrian Samfira
dc04bca95c Retry failed runners
* retry adding runners for up to 5 times if they fail.
  * various fixes
2022-05-10 12:28:39 +00:00
Gabriel Adrian Samfira
0b70a30944 Add external providers and an example
Add the ability to externalize providers to a binary on disk.
2022-05-09 17:11:47 +00:00
Gabriel Adrian Samfira
ebe7d722c0 updated README 2022-05-06 14:33:00 +00:00
Gabriel Adrian Samfira
bc4f4c7ffc updated README 2022-05-06 14:32:15 +00:00
Gabriel Adrian Samfira
687d84d8fe updated README 2022-05-06 14:13:04 +00:00
Gabriel Adrian Samfira
af684962eb Update README 2022-05-06 13:54:26 +00:00
Gabriel Adrian Samfira
7c7d8fc37a Update README 2022-05-06 13:48:08 +00:00
Gabriel Adrian Samfira
3650fe8cf6 Update README 2022-05-06 13:44:02 +00:00
Gabriel Adrian Samfira
2353d42ad2 Update README 2022-05-06 13:28:54 +00:00
Gabriel Adrian Samfira
9754aaa7e8 Add initial README 2022-05-05 13:59:30 +00:00
Gabriel Adrian Samfira
5e0a64f909 Add license headers 2022-05-05 13:25:50 +00:00
Gabriel Adrian Samfira
d9c65872e8 Added more CLI commands and API endpoints 2022-05-05 13:07:06 +00:00
Gabriel Adrian Samfira
1e2e96ccb5 Paralelize loading pools 2022-05-05 07:54:52 +00:00
Gabriel Adrian Samfira
6b80009730 Add org instances command
* Adds command to list runners from all org pools
2022-05-04 22:04:30 +00:00
Gabriel Adrian Samfira
f130798f41 Added org pool command
* added new command
  * fixed a bunch of bugs in orgs
2022-05-04 21:57:08 +00:00
Gabriel Adrian Samfira
7964a8f03f Added CLI organizations command 2022-05-04 16:34:18 +00:00
Gabriel Adrian Samfira
095b43ffb4 Add organizations 2022-05-04 16:27:24 +00:00
Gabriel Adrian Samfira
3e416d8272 Slight refactor of sql code 2022-05-04 13:15:27 +00:00
Gabriel Adrian Samfira
11c7ec6ad1 Fix windows build tags 2022-05-04 11:48:27 +00:00
Gabriel Adrian Samfira
1dda4a835c Rename project to garm
Project renamed to garm (Github Actions Runner Manager)
2022-05-04 11:44:10 +00:00
Gabriel Adrian Samfira
1bb7f51f56 Format error messages 2022-05-03 20:49:39 +00:00
Gabriel Adrian Samfira
2bd128af13 Runners now send status messages 2022-05-03 19:49:14 +00:00
Gabriel Adrian Samfira
6bdb8cd78b return proper error on conflict 2022-05-03 13:20:49 +00:00
Gabriel Adrian Samfira
8ceafff09b Add more CLI commands 2022-05-03 12:40:59 +00:00
Gabriel Adrian Samfira
475d424f32 Add a basic CLI 2022-05-02 17:55:29 +00:00
Gabriel Adrian Samfira
7ec937a138 Main webhook cases implemented
Queued, completed and in_progress workflow_job messages are now
acted upon.
2022-04-29 23:43:37 +00:00
Gabriel Adrian Samfira
a78ad539fe Auto create runners for pools 2022-04-29 16:08:31 +00:00