Skip to content

Conversation

@gabriel-samfira
Copy link
Member

@gabriel-samfira gabriel-samfira commented Oct 13, 2022

This change adds the following:

  • The ability to use garm with your own deployment of GitHub Enterprise server
  • The ability to create enterprise level pools

The [[github]] section now allows you to specify API endpoint information, as well as a CA certificate bundle to validate the server certificate. The new config options are optional. Leaving them blank will default to github.com.

New API endpoints have been added to garm that allow you to create enterprise level pools. The garm CLI has also been updated to add enterprise support.

From a garm UX perspective, enterprises are set up identically to organizations.

Note: This PR adds a replace directive in go.mod to a local fork of the go-github package, because the upstream library doesn't support querying the enterprise level runner applications downloads. The replace directive will be removed when that functionality is added upstream.

These changes have only been tested with the LXD provider. The external providers will be updated shortly to account for the CA certificate bundle and download token.

Docs will be updated with examples, shortly.

Fixes: #30
Fixes: #44

The GitHub credentials section now allows setting some API endpoints
that point the github client and the runner setup script to the propper
URLs. This allows us to use garm with an on-prem github enterprise server.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
This change adds enterprise support throughout garm.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
Garm no longer fails on startup if a pool manager cannot be started. It
will attempt to start the pool manager in the background. If it fails
due to an unauthorized error, it will sleep for 3 hours. It is unlikely
it will work a second time if credentials are not updated in the config
and garm is restarted, so no point in getting rate limited.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
@gabriel-samfira gabriel-samfira merged commit eba42b0 into cloudbase:main Oct 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Garm fails if one of multiple pool errors. Github Enterprise support for garm

1 participant