Gabriel Adrian Samfira
d05df36868
Attempt to use the scalset API and caching
...
On github, attempt to use the scaleset API to list all runners without
pagination. This will avoid missing runners and accidentally removing them.
Fall back to paginated API if we can't use the scaleset API.
Add ability to retrieve all instances from cache, for an entity.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-24 22:36:44 +00:00
Gabriel
5c703f310b
Merge pull request #494 from gabriel-samfira/small-fixes
...
Small fixes
2025-08-24 11:53:21 +03:00
Gabriel Adrian Samfira
86a0b0cf4f
Small fixes
...
* Shut down the web server first to prevent errors caused by clients trying
to use functionality that has already been shut down, causing errors and
potentially delaying the shutdown process.
* remove write timeout from the websocket Write() function.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-24 08:35:17 +00:00
Gabriel
5a26614acf
Merge pull request #493 from gabriel-samfira/ensure-scale-set
...
Ensure scale set exists
2025-08-23 22:12:30 +03:00
Gabriel Adrian Samfira
39003f006a
Ensure scale set exists
...
Github will remove inactive scale sets after 7 days. This change
ensures the scale set exists in github before spinning up the listener.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-23 18:55:08 +00:00
Gabriel
c48bb50f2a
Merge pull request #492 from gabriel-samfira/add-webui-tests
...
Add webui tests
2025-08-22 00:18:57 +03:00
Gabriel Adrian Samfira
54c6571ccd
Update test workflow
...
Add steps to test the Web UI and to run go generate.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-21 21:00:27 +00:00
Gabriel Adrian Samfira
8d5c6b6738
Bump go version to 1.24.6 and run go generate
...
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-21 20:36:50 +00:00
Gabriel Adrian Samfira
48769587bb
Add web UI tests
...
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-21 20:36:50 +00:00
Gabriel
9aa2e297b9
Merge pull request #491 from igrikus/main
...
fix(jobs): Correctly handle workflow job IDs from webhooks
2025-08-21 22:04:35 +03:00
Gabriel Adrian Samfira
4341b4869c
Fix erroneous calls to Job related functions
...
Some functions were left behind when we added WorkflowJobID.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-21 18:57:42 +00:00
igrikus
8bda81d6cc
fix(jobs): Correctly handle workflow job IDs from webhooks
2025-08-21 14:54:38 +02:00
Gabriel
004c03962f
Merge pull request #488 from gabriel-samfira/remove-deprecated
...
Replace ${base} with resolve()
2025-08-18 16:09:32 +03:00
Gabriel Adrian Samfira
69a2c509a7
Replace ${base} with resolve()
...
This removes some deprecated code.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-18 13:08:58 +00:00
Gabriel
b8ff6d9e14
Merge pull request #487 from gabriel-samfira/small-fixes
...
Fix href for entities
2025-08-18 15:03:24 +03:00
Gabriel Adrian Samfira
9028ef64b1
Fix href for entities
...
The URL from scale sets and pools to the entity to which they belong
was not being properly resolved.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-18 12:02:08 +00:00
Gabriel
eeed5ae508
Merge pull request #486 from gabriel-samfira/small-fixes
...
Fix endpoint type name and update cookie
2025-08-18 01:28:47 +03:00
Gabriel Adrian Samfira
04d1042a4c
Fix endpoint type name and update cookie
...
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-17 22:27:17 +00:00
Gabriel
102c430e1d
Merge pull request #485 from gabriel-samfira/ui-fixes
...
Slightly better error handling
2025-08-17 10:42:33 +03:00
Gabriel Adrian Samfira
7f647941f6
Slightly better error handling
...
Extract error details we get from the API when status code > 2xx.
Also, use toast messages to display the error, properly close delete
modals and prevent full page display of error messages.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-17 07:34:40 +00:00
Gabriel
8cf0b0a56e
Merge pull request #484 from gabriel-samfira/remove-all-flag-scalesets
...
Remove the --all flag for scalesets
2025-08-17 02:20:16 +03:00
Gabriel Adrian Samfira
f805123a85
Remove the --all flag for scalesets
...
Display all scalesets by default, similar to runners and pools.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-16 23:13:47 +00:00
Gabriel
6b49c21206
Merge pull request #483 from gabriel-samfira/fix-inconsistency
...
Allow referencing runners by ID
2025-08-17 02:08:02 +03:00
Gabriel Adrian Samfira
31ad45eeb6
Allow referencing runners by ID
...
Although runner names are unique, we still have an ID on the model
which is used as a primary key. We should allow using that ID to
reference a runner in the API.
This change allows users to specify ID or runner name.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-16 23:00:55 +00:00
Gabriel
b4113048bb
Merge pull request #482 from gabriel-samfira/switch-to-fmt-errorf
...
Switch to fmt.Errorf
2025-08-17 01:28:22 +03:00
Gabriel Adrian Samfira
118319c7c1
Switch to fmt.Errorf
...
Replace all instances of errors.Wrap() with fmt.Errorf.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-16 22:19:05 +00:00
Gabriel
10dcbec954
Merge pull request #481 from cloudbase/dependabot/npm_and_yarn/webapp/npm_and_yarn-2ea0fb2c37
...
Bump the npm_and_yarn group across 1 directory with 2 updates
2025-08-16 14:31:17 +03:00
dependabot[bot]
b58bf4c895
Bump the npm_and_yarn group across 1 directory with 2 updates
...
Bumps the npm_and_yarn group with 2 updates in the /webapp directory: [tmp](https://github.com/raszi/node-tmp ) and [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli ).
Removes `tmp`
Updates `@openapitools/openapi-generator-cli` from 2.21.4 to 2.22.0
- [Release notes](https://github.com/OpenAPITools/openapi-generator-cli/releases )
- [Changelog](https://github.com/OpenAPITools/openapi-generator-cli/blob/master/.releaserc )
- [Commits](https://github.com/OpenAPITools/openapi-generator-cli/compare/v2.21.4...v2.22.0 )
---
updated-dependencies:
- dependency-name: tmp
dependency-version:
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: "@openapitools/openapi-generator-cli"
dependency-version: 2.22.0
dependency-type: direct:development
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-16 10:25:06 +00:00
Gabriel
8cc96dbcd1
Merge pull request #479 from gabriel-samfira/spa-webapp
...
Spa webapp
2025-08-16 13:23:42 +03:00
Gabriel Adrian Samfira
eec158b32c
Add SPA UI for GARM
...
This change adds a single page application front-end to GARM. It uses
a generated REST client, built from the swagger definitions, the websocket
interface for live updates of entities and eager loading of everything
except runners, as users may have many runners and we don't want to load
hundreds of runners in memory.
Proper pagination should be implemented in the API, in future commits,
to avoid loading lots of elements for no reason.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-16 09:09:13 +00:00
Gabriel Adrian Samfira
a811d129d0
Update .gitignore
...
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-12 12:48:48 +00:00
Gabriel Adrian Samfira
98a769b8d1
Allow cookie login to API endpoints
...
This change considers cookies as a source for the JWT token.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-12 12:48:48 +00:00
Gabriel Adrian Samfira
5a6ac12118
Fix for gitea tools and scale set cleanup
...
Filter out gitea tools to only consider archived downloads. This
should help in situations where bandwidth is more important than
CPU time used to unarchive the tools.
Also a drive by fix for scale sets cleanup.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-12 12:48:48 +00:00
Gabriel Adrian Samfira
325bca4af3
Add swagger annotations and updates
...
Add swagger annotations to models to allow generating a full swagger
definition. This will help generate clients in other languages if needed.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-12 12:48:48 +00:00
Gabriel Adrian Samfira
b2dee1d844
Preload missing resources
...
There are some inconsistencies in the way the API returns some
values for pools and scale sets. This is due to not preloading
the appropriate relations.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-12 12:48:48 +00:00
Gabriel
9f2764f614
Merge pull request #478 from cloudbase/dependabot/go_modules/github.com/go-openapi/errors-0.22.2
...
Bump github.com/go-openapi/errors from 0.22.1 to 0.22.2
2025-08-11 21:20:33 +03:00
dependabot[bot]
37eba0fed9
Bump github.com/go-openapi/errors from 0.22.1 to 0.22.2
...
Bumps [github.com/go-openapi/errors](https://github.com/go-openapi/errors ) from 0.22.1 to 0.22.2.
- [Commits](https://github.com/go-openapi/errors/compare/v0.22.1...v0.22.2 )
---
updated-dependencies:
- dependency-name: github.com/go-openapi/errors
dependency-version: 0.22.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 10:34:11 +00:00
Gabriel
389a8538af
Merge pull request #476 from cloudbase/dependabot/go_modules/golang.org/x/crypto-0.41.0
...
Bump golang.org/x/crypto from 0.40.0 to 0.41.0
2025-08-08 12:54:56 +03:00
dependabot[bot]
f24a22d537
Bump golang.org/x/crypto from 0.40.0 to 0.41.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.40.0 to 0.41.0.
- [Commits](https://github.com/golang/crypto/compare/v0.40.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 09:47:38 +00:00
Gabriel
dfa9848999
Merge pull request #477 from cloudbase/dependabot/go_modules/golang.org/x/mod-0.27.0
...
Bump golang.org/x/mod from 0.26.0 to 0.27.0
2025-08-08 12:46:12 +03:00
dependabot[bot]
3f51046279
Bump golang.org/x/mod from 0.26.0 to 0.27.0
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.26.0 to 0.27.0.
- [Commits](https://github.com/golang/mod/compare/v0.26.0...v0.27.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.27.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 06:49:58 +00:00
Gabriel
256521ac38
Merge pull request #475 from cloudbase/dependabot/go_modules/github.com/cloudbase/garm-provider-common-0.1.7
...
Bump github.com/cloudbase/garm-provider-common from 0.1.6 to 0.1.7
2025-08-07 15:34:27 +03:00
dependabot[bot]
e2169865a1
Bump github.com/cloudbase/garm-provider-common from 0.1.6 to 0.1.7
...
Bumps [github.com/cloudbase/garm-provider-common](https://github.com/cloudbase/garm-provider-common ) from 0.1.6 to 0.1.7.
- [Release notes](https://github.com/cloudbase/garm-provider-common/releases )
- [Commits](https://github.com/cloudbase/garm-provider-common/compare/v0.1.6...v0.1.7 )
---
updated-dependencies:
- dependency-name: github.com/cloudbase/garm-provider-common
dependency-version: 0.1.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 07:05:40 +00:00
Gabriel
fd9a4d544a
Merge pull request #474 from gabriel-samfira/fix-image-tag
...
Get the image tag from supplied ref
2025-08-07 00:13:51 +03:00
Gabriel Adrian Samfira
20a16d923c
Get the image tag from supplied ref
...
We need to pass the ref used in the workflow. If we supply a tag,
we should just get that same tag. If we supply a branch, we should
get the latest release from that branch.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-07 00:12:35 +03:00
Gabriel
212f6fff42
Merge pull request #473 from gabriel-samfira/fix-build-image
...
Use the Dockerfile from the main branch
2025-08-06 23:11:29 +03:00
Gabriel Adrian Samfira
2ee2fca8ae
Use the Dockerfile from the main branch
...
There is no way to change the Dockerfile in a tag. We need to
use the Dockerfile in the main branch. So even if we're buildin
the image for a stable version, we need to check out the main branch.
The Dockerfile will take care of checking out the proper tags.
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-06 23:09:01 +03:00
Gabriel Adrian Samfira
5915107446
WiP
...
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2025-08-06 23:03:45 +03:00
Gabriel
e43acd5b65
Merge pull request #472 from cloudbase/dependabot/go_modules/github.com/prometheus/client_golang-1.23.0
...
Bump github.com/prometheus/client_golang from 1.22.0 to 1.23.0
2025-08-01 10:10:35 +03:00
dependabot[bot]
f85fe3d63f
Bump github.com/prometheus/client_golang from 1.22.0 to 1.23.0
...
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang ) from 1.22.0 to 1.23.0.
- [Release notes](https://github.com/prometheus/client_golang/releases )
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.23.0/CHANGELOG.md )
- [Commits](https://github.com/prometheus/client_golang/compare/v1.22.0...v1.23.0 )
---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
dependency-version: 1.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 06:26:29 +00:00