Commit graph

530 commits

Author SHA1 Message Date
Gabriel
9a7fbde025
Merge pull request #154 from gabriel-samfira/add-webhook-configuration
Add webhook management for repositories and organizations
2023-08-22 09:48:47 +03:00
Gabriel Adrian Samfira
3b651afe07
Add optional --install-webhook flag when creating repo/org
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
93bfb6fe07
ping the webhook after creation
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
7bd3e0b6f7
Add ping hook functions to client
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
64d3da4034
Update comment on option
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
d57e488f12
Return details in case PAT does not have access
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
c641e1d596
Fixup field name
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
1c0ff85a0d
Add flag to toggle webhook management
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
c00048e128
Add optional keepWebhook flag when removing an entity
The user can opt to not delete the webhook (if installed) when removing
the entity from garm. Garm will only ever try to remove a webhook that
exactly matches the URL that is composed of the base webhook URL configured
in the config.toml file and the unique controller ID that is generated
when the controller is first installed. It should be safe to remove the
webhook when the entity is removed.

Of course, this behavior can be disabled.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:02 +03:00
Gabriel Adrian Samfira
bb6ee9c668
Add keepWebhook flag when deleting entities
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:01 +03:00
Gabriel Adrian Samfira
763eb705d8
Remove webhook when removing an entity & cmd fixes
* When removing a repo or org, we uninstall the webhook as well.
  * Upgrade cobra command and mark "webhook-secret" and "random-webhook-secret"
    as MarkFlagsOneRequired()

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:01 +03:00
Gabriel Adrian Samfira
779afe980e
Add webhook show, return info and some fixes
* Added a webhook show command. This gives us info about the webhook and
    if it is installed.
  * Return webhook info when installing the webhook
  * Small typo fixes.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:01 +03:00
Gabriel Adrian Samfira
6051fa016c
Return bad request if hook already installed
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:01 +03:00
Gabriel Adrian Samfira
dbd41f518d
Add CLI webhook enablement
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:01 +03:00
Gabriel Adrian Samfira
7ce3f007b0
Add functions to (un)install webhooks for orgs and repos
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:01 +03:00
Gabriel Adrian Samfira
f2796f1d5a
Add admin required middleware and webhook endpoint
* Add a new middleware that tests for admin access
  * Add a new controller ID suffixed webhook endpoint. This will be used
    to accept webhook events on a webhook URL that is suffixed with our own
    controller ID.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-22 09:39:01 +03:00
Gabriel
aa2b42fddb
Merge pull request #156 from gabriel-samfira/build-windows
Enable Windows builds
2023-08-18 17:52:29 +03:00
Gabriel Adrian Samfira
af54b55cea Enable Windows builds
This change adds the needed bits to enable Windows builds. This also adds
a new make target to create the release files that will be uploaded as part
of new releases.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-18 14:46:00 +00:00
Gabriel
c9cf114d92
Merge pull request #153 from mihaelabalutoiu/fix-doc-typo
Small fixes for the docs
2023-08-14 16:05:40 +03:00
Mihaela Balutoiu
93c2368c55 Small fixes for the docs
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-14 15:46:26 +03:00
Gabriel
10cc209105
Merge pull request #152 from mihaelabalutoiu/fix-timeout-logic
Fix timeout logic
2023-08-14 14:47:38 +03:00
Mihaela Balutoiu
6b77979ab5 Fix timeout logic
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-14 14:35:07 +03:00
Gabriel
bf509ad9c9
Merge pull request #151 from mihaelabalutoiu/add-timeout
Log `orgPool/repoPool` details on timeout exceeded
2023-08-14 12:33:12 +03:00
Mihaela Balutoiu
475cc6425b Add log orgPool/repoPool details on timeout exceeded
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-14 11:45:10 +03:00
Gabriel
e2b617e12e
Merge pull request #150 from gabriel-samfira/add-controller-info
Add controller info
2023-08-13 02:03:31 +03:00
Gabriel Adrian Samfira
99539edde7 Add controller info
This change adds a new controller info endpoint and associated client and
CLI command. The controller info endpoint returns information about controller
status and configuration.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-12 22:47:50 +00:00
Gabriel
63d2764ddd
Merge pull request #149 from mihaelabalutoiu/add-cleanup-runners
Cleaning up leftover runners for `org/repo`
2023-08-09 17:26:43 +03:00
Mihaela Balutoiu
aa956ae939 Cleaning up leftover runners for org/repo
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-09 16:31:50 +03:00
Gabriel
1a07073820
Merge pull request #148 from mihaelabalutoiu/fix-handle-error
Set pipefail to the script and log org/repo details on timeout exceeded
2023-08-07 12:43:06 +03:00
Mihaela Balutoiu
191d44fb3f Log org/repo details on timeout exceeded
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-07 12:37:09 +03:00
Mihaela Balutoiu
1bd288f56d Set pipefail to the script
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-07 12:37:09 +03:00
Gabriel
29660c0b2c
Merge pull request #147 from gabriel-samfira/add-workflow-dispatch
Add workflow dispatch trigger
2023-08-07 12:35:07 +03:00
Gabriel Adrian Samfira
8c82864e11
Add workflow dispatch trigger
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-07 10:30:50 +03:00
Gabriel
a4bd45bedd
Merge pull request #146 from mihaelabalutoiu/add-upload-artifacts
Add upload artifacts and log instance details on timeout exceeded
2023-08-05 02:06:46 +03:00
Mihaela Balutoiu
97d1202225 Log instance details on timeout exceeded
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-04 23:28:26 +03:00
Mihaela Balutoiu
a7198a7d51 Add upload artifacts
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-04 23:24:43 +03:00
Gabriel
c64b8c36d4
Merge pull request #145 from mihaelabalutoiu/add-integration-tests
Add GitHub workflow for integration tests
2023-08-02 20:36:22 +03:00
Mihaela Balutoiu
cf0c1f188b Fix org_name/repo_name
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-02 20:24:44 +03:00
Mihaela Balutoiu
528f521897 Set schedule workflow to run every day at midnight
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-02 19:34:41 +03:00
Mihaela Balutoiu
4fa83b6ffc
Merge pull request #1 from gabriel-samfira/add-ngrok
Add ngrok
2023-08-02 18:57:37 +03:00
Gabriel Adrian Samfira
9927a18b9a
Update ngrok action
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-02 18:54:07 +03:00
Gabriel Adrian Samfira
d02292bd1a
Fix config dir location
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-02 17:29:08 +03:00
Gabriel Adrian Samfira
d2ffa22204
Set up ngrok and use sudo
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-08-02 17:14:27 +03:00
Mihaela Balutoiu
6f69f942cf Add GitHub workflow for integration tests
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-08-02 16:11:55 +03:00
Gabriel
d373b1cfa3
Merge pull request #144 from gabriel-samfira/enable-debug-spec-in-lxd
Update to latest version of garm-provider-common and update docs
2023-07-26 19:11:29 +03:00
Gabriel Adrian Samfira
3e446a8191 Update docs and deps
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-07-26 16:03:36 +00:00
Gabriel
7d74b6bc52
Merge pull request #142 from mihaelabalutoiu/add-new-garm-cli
Update `garm-cli` tool to use the new swagger generated client library
2023-07-25 20:00:06 +03:00
Mihaela Balutoiu
ff5abf1294 Implement API client functionality in the garm-cli
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
2023-07-25 19:26:00 +03:00
Gabriel
851a9bd0ae
Merge pull request #143 from gabriel-samfira/move-code-to-external-package
Move code to external package
2023-07-24 15:44:49 +03:00
Gabriel Adrian Samfira
101072caff Update deps
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-07-24 11:53:24 +00:00