garm/vendor/github.com
Gabriel Adrian Samfira 9f8659abd6 Add events websocket endpoint
This change adds a new websocket endpoint for database events. The events
endpoint allows clients to stream events as they happen in GARM. Events
are defined as a structure containning the event type (create, update, delete),
the database entity involved (instances, pools, repos, etc) and the payload
consisting of the object involved in the event. The payload translates
to the types normally returned by the API and can be deserialized as one
of the types present in the params package.

The events endpoint is a websocket endpoint and it accepts filters as
a simple json send over the websocket connection. The filters allows the
user to specify which entities are of interest, and which operations should
be returned. For example, you may be interested in changes made to pools
or runners, in which case you could create a filter that only returns
update operations for pools. Or update and delete operations.

The filters can be defined as:

{
  "filters": [
    {
      "entity_type": "instance",
      "operations": ["update", "delete"]
    },
    {
      "entity_type": "pool"
    },
  ],
  "send_everything": false
}

This would return only update and delete events for instances and all events
for pools. Alternatively you can ask GARM to send you everything:

{
  "send_everything": true
}

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2024-07-05 12:55:35 +00:00
..
asaskevich/govalidator Generate initial swagger API client library code 2023-06-30 19:04:13 +03:00
beorn7/perks feat: add prometheus metrics & endpoint 2023-01-26 14:15:16 +01:00
bradleyfalzon/ghinstallation/v2 Update dependencies and tests 2024-04-22 13:39:04 +00:00
BurntSushi/toml Update dependencies 2023-12-18 16:20:44 +00:00
cespare/xxhash/v2 Update dependencies and tests 2024-04-22 13:39:04 +00:00
chzyer/readline Update go modules 2023-03-12 16:22:37 +02:00
cloudbase/garm-provider-common Remove the LXD internal provider 2023-12-18 12:16:48 +00:00
davecgh/go-spew Vendor packages and add Makefile 2022-06-30 10:20:32 +00:00
felixge/httpsnoop Update dependencies 2023-12-18 16:20:44 +00:00
go-logr Update dependencies and tests 2024-04-22 13:39:04 +00:00
go-openapi Update dependencies and tests 2024-04-22 13:39:04 +00:00
go-sql-driver/mysql Update dependencies and tests 2024-04-22 13:39:04 +00:00
golang-jwt/jwt Update dependencies and tests 2024-04-22 13:39:04 +00:00
google Update dependencies and tests 2024-04-22 13:39:04 +00:00
gorilla Add events websocket endpoint 2024-07-05 12:55:35 +00:00
inconshreveable/mousetrap Update go modules 2023-03-12 16:22:37 +02:00
jedib0t/go-pretty/v6 Update dependencies and tests 2024-04-22 13:39:04 +00:00
jinzhu Vendor packages and add Makefile 2022-06-30 10:20:32 +00:00
josharian/intern Generate initial swagger API client library code 2023-06-30 19:04:13 +03:00
juju Remove the LXD internal provider 2023-12-18 12:16:48 +00:00
mailru/easyjson Generate initial swagger API client library code 2023-06-30 19:04:13 +03:00
manifoldco/promptui Vendor packages and add Makefile 2022-06-30 10:20:32 +00:00
mattn Update dependencies and tests 2024-04-22 13:39:04 +00:00
minio/sio Update garm-provider-common and go-github 2023-08-28 08:13:44 +00:00
mitchellh/mapstructure Generate initial swagger API client library code 2023-06-30 19:04:13 +03:00
nbutton23/zxcvbn-go Vendor packages and add Makefile 2022-06-30 10:20:32 +00:00
oklog/ulid Generate initial swagger API client library code 2023-06-30 19:04:13 +03:00
opentracing/opentracing-go Generate initial swagger API client library code 2023-06-30 19:04:13 +03:00
pkg/errors Remove the LXD internal provider 2023-12-18 12:16:48 +00:00
pmezard/go-difflib Vendor packages and add Makefile 2022-06-30 10:20:32 +00:00
prometheus Update dependencies and tests 2024-04-22 13:39:04 +00:00
rivo/uniseg Update dependencies and tests 2024-04-22 13:39:04 +00:00
spf13 Update dependencies 2023-12-18 16:20:44 +00:00
stretchr Update dependencies and tests 2024-04-22 13:39:04 +00:00
teris-io/shortid feat: allow to configure the runner name 2023-01-19 11:13:36 +01:00