2023-03-12 16:01:49 +02:00
|
|
|
module github.com/cloudbase/garm
|
2022-04-13 16:47:42 +00:00
|
|
|
|
2023-12-01 11:56:06 +01:00
|
|
|
go 1.21
|
2022-04-13 16:47:42 +00:00
|
|
|
|
|
|
|
|
require (
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/BurntSushi/toml v1.2.1
|
Add force delete runner
This branch adds the ability to forcefully remove a runner from GARM.
When the operator wishes to manually remove a runner, the workflow is as
follows:
* Check that the runner exists in GitHub. If it does, attempt to
remove it. An error here indicates that the runner may be processing
a job. In this case, we don't continue and the operator gets immediate
feedback from the API.
* Mark the runner in the database as pending_delete
* Allow the consolidate loop to reap it from the provider and remove it
from the database.
Removing the instance from the provider is async. If the provider errs out,
GARM will keep trying to remove it in perpetuity until the provider succedes.
In situations where the provider is misconfigured, this will never happen, leaving
the instance in a permanent state of pending_delete.
A provider may fail for various reasons. Either credentials have expired, the
API endpoint has changed, the provider is misconfigured or the operator may just
have removed it from the config before cleaning up the runners. While some cases
are recoverable, some are not. We cannot have a situation in which we cannot clean
resources in garm because of a misconfiguration.
This change adds the pending_force_delete instance status. Instances marked with
this status, will be removed from GARM even if the provider reports an error.
The GARM cli has been modified to give new meaning to the --force-remove-runner
option. This option in the CLI is no longer mandatory. Instead, setting it will mark
the runner with the new pending_force_delete status. Omitting it will mark the runner
with the old status of pending_delete.
Fixes: #160
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-10-12 06:15:36 +00:00
|
|
|
github.com/cloudbase/garm-provider-common v0.1.1-0.20231012061429-49001794e700
|
2023-06-30 19:02:44 +03:00
|
|
|
github.com/go-openapi/errors v0.20.4
|
|
|
|
|
github.com/go-openapi/runtime v0.26.0
|
|
|
|
|
github.com/go-openapi/strfmt v0.21.7
|
2023-08-16 10:48:25 +00:00
|
|
|
github.com/go-openapi/swag v0.22.4
|
2022-04-27 16:56:28 +00:00
|
|
|
github.com/golang-jwt/jwt v3.2.2+incompatible
|
2023-09-24 07:56:56 +00:00
|
|
|
github.com/google/go-github/v55 v55.0.1-0.20230921135834-aa3fcbe7aabc
|
2022-04-26 20:29:58 +00:00
|
|
|
github.com/google/uuid v1.3.0
|
2022-04-22 14:46:27 +00:00
|
|
|
github.com/gorilla/handlers v1.5.1
|
|
|
|
|
github.com/gorilla/mux v1.8.0
|
2022-10-21 02:49:53 +03:00
|
|
|
github.com/gorilla/websocket v1.5.0
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/jedib0t/go-pretty/v6 v6.4.6
|
|
|
|
|
github.com/juju/clock v1.0.3
|
|
|
|
|
github.com/juju/retry v1.0.0
|
2023-03-26 22:08:51 +03:00
|
|
|
github.com/lxc/lxd v0.0.0-20230325180147-8d608287b0ce
|
2022-05-03 12:40:59 +00:00
|
|
|
github.com/manifoldco/promptui v0.9.0
|
2022-04-27 16:56:28 +00:00
|
|
|
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354
|
2022-04-13 16:47:42 +00:00
|
|
|
github.com/pkg/errors v0.9.1
|
2023-01-26 14:02:53 +01:00
|
|
|
github.com/prometheus/client_golang v1.14.0
|
2023-08-16 09:39:18 +00:00
|
|
|
github.com/spf13/cobra v1.7.1-0.20230723113155-fd865a44e3c4
|
2023-08-28 08:11:44 +00:00
|
|
|
github.com/stretchr/testify v1.8.4
|
|
|
|
|
golang.org/x/crypto v0.12.0
|
|
|
|
|
golang.org/x/oauth2 v0.11.0
|
2023-06-06 16:07:07 +03:00
|
|
|
golang.org/x/sync v0.1.0
|
2022-10-21 02:49:53 +03:00
|
|
|
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0
|
2023-03-12 16:22:37 +02:00
|
|
|
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
|
|
|
|
gorm.io/datatypes v1.1.1
|
|
|
|
|
gorm.io/driver/mysql v1.4.7
|
|
|
|
|
gorm.io/driver/sqlite v1.4.4
|
|
|
|
|
gorm.io/gorm v1.24.6
|
2022-04-13 16:47:42 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
require (
|
2023-06-30 19:02:44 +03:00
|
|
|
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
2023-01-17 17:32:28 +01:00
|
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
|
|
|
|
github.com/chzyer/readline v1.5.1 // indirect
|
2022-06-28 15:13:02 +00:00
|
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/felixge/httpsnoop v1.0.3 // indirect
|
2022-04-15 15:22:47 +00:00
|
|
|
github.com/flosch/pongo2 v0.0.0-20200913210552-0d938eb266f3 // indirect
|
2023-03-26 22:08:51 +03:00
|
|
|
github.com/frankban/quicktest v1.14.3 // indirect
|
2023-06-30 19:02:44 +03:00
|
|
|
github.com/go-logr/logr v1.2.3 // indirect
|
|
|
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/go-macaroon-bakery/macaroon-bakery/v3 v3.0.1 // indirect
|
2022-04-15 15:22:47 +00:00
|
|
|
github.com/go-macaroon-bakery/macaroonpb v1.0.0 // indirect
|
2023-06-30 19:02:44 +03:00
|
|
|
github.com/go-openapi/analysis v0.21.4 // indirect
|
|
|
|
|
github.com/go-openapi/jsonpointer v0.19.5 // indirect
|
|
|
|
|
github.com/go-openapi/jsonreference v0.20.0 // indirect
|
|
|
|
|
github.com/go-openapi/loads v0.21.2 // indirect
|
|
|
|
|
github.com/go-openapi/spec v0.20.8 // indirect
|
|
|
|
|
github.com/go-openapi/validate v0.22.1 // indirect
|
2023-01-30 00:40:01 +00:00
|
|
|
github.com/go-sql-driver/mysql v1.7.0 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/golang/protobuf v1.5.3 // indirect
|
2022-04-13 16:47:42 +00:00
|
|
|
github.com/google/go-querystring v1.1.0 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
2022-04-25 00:03:26 +00:00
|
|
|
github.com/jinzhu/inflection v1.0.0 // indirect
|
|
|
|
|
github.com/jinzhu/now v1.1.5 // indirect
|
2023-06-30 19:02:44 +03:00
|
|
|
github.com/josharian/intern v1.0.0 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/juju/errors v1.0.0 // indirect
|
2023-03-26 22:08:51 +03:00
|
|
|
github.com/juju/testing v1.0.2 // indirect
|
2022-04-15 15:22:47 +00:00
|
|
|
github.com/juju/webbrowser v1.0.0 // indirect
|
|
|
|
|
github.com/julienschmidt/httprouter v1.3.0 // indirect
|
|
|
|
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
|
|
|
|
github.com/kr/fs v0.1.0 // indirect
|
2023-03-26 22:08:51 +03:00
|
|
|
github.com/kr/pretty v0.3.1 // indirect
|
2023-06-30 19:02:44 +03:00
|
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
2023-07-21 15:30:22 +00:00
|
|
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/mattn/go-runewidth v0.0.14 // indirect
|
|
|
|
|
github.com/mattn/go-sqlite3 v1.14.16 // indirect
|
|
|
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
2023-08-28 08:11:44 +00:00
|
|
|
github.com/minio/sio v0.3.1 // indirect
|
2023-06-30 19:02:44 +03:00
|
|
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
|
|
|
github.com/oklog/ulid v1.3.1 // indirect
|
|
|
|
|
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
2022-04-28 16:13:20 +00:00
|
|
|
github.com/pborman/uuid v1.2.1 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/pkg/sftp v1.13.5 // indirect
|
|
|
|
|
github.com/pkg/xattr v0.4.9 // indirect
|
|
|
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
2023-01-17 17:32:28 +01:00
|
|
|
github.com/prometheus/client_model v0.3.0 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/prometheus/common v0.42.0 // indirect
|
|
|
|
|
github.com/prometheus/procfs v0.9.0 // indirect
|
|
|
|
|
github.com/rivo/uniseg v0.4.4 // indirect
|
2022-04-15 15:22:47 +00:00
|
|
|
github.com/robfig/cron/v3 v3.0.1 // indirect
|
|
|
|
|
github.com/rogpeppe/fastuuid v1.2.0 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/sirupsen/logrus v1.9.0 // indirect
|
2022-05-02 17:55:29 +00:00
|
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
github.com/stretchr/objx v0.5.0 // indirect
|
2023-07-22 22:39:17 +00:00
|
|
|
github.com/teris-io/shortid v0.0.0-20220617161101-71ec9f2aa569 // indirect
|
2023-06-30 19:02:44 +03:00
|
|
|
go.mongodb.org/mongo-driver v1.11.3 // indirect
|
|
|
|
|
go.opentelemetry.io/otel v1.14.0 // indirect
|
|
|
|
|
go.opentelemetry.io/otel/trace v1.14.0 // indirect
|
2023-08-28 08:11:44 +00:00
|
|
|
golang.org/x/net v0.14.0 // indirect
|
|
|
|
|
golang.org/x/sys v0.11.0 // indirect
|
|
|
|
|
golang.org/x/term v0.11.0 // indirect
|
2022-04-18 17:26:13 +00:00
|
|
|
google.golang.org/appengine v1.6.7 // indirect
|
2023-08-28 08:11:44 +00:00
|
|
|
google.golang.org/protobuf v1.31.0 // indirect
|
2022-04-15 15:22:47 +00:00
|
|
|
gopkg.in/errgo.v1 v1.0.1 // indirect
|
|
|
|
|
gopkg.in/httprequest.v1 v1.2.1 // indirect
|
|
|
|
|
gopkg.in/macaroon.v2 v2.1.0 // indirect
|
2023-03-12 16:22:37 +02:00
|
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
2023-07-21 15:30:22 +00:00
|
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
2022-04-13 16:47:42 +00:00
|
|
|
)
|