tracked images endpoint
parent
39d6dd6c73
commit
a70718576d
|
@ -0,0 +1,31 @@
|
|||
package http
|
||||
|
||||
import "net/http"
|
||||
|
||||
type trackedImage struct {
|
||||
Image string `json:"image"`
|
||||
Trigger string `json:"trigger"`
|
||||
PollSchedule string `json:"poll_schedule"`
|
||||
Provider string `json:"provider"`
|
||||
Namespace string `json:"namespace"`
|
||||
Policy string `json:"policy"`
|
||||
}
|
||||
|
||||
func (s *TriggerServer) trackedHandler(resp http.ResponseWriter, req *http.Request) {
|
||||
trackedImages, err := s.providers.TrackedImages()
|
||||
|
||||
var imgs []trackedImage
|
||||
|
||||
for _, img := range trackedImages {
|
||||
imgs = append(imgs, trackedImage{
|
||||
Image: img.Image.Name(),
|
||||
Trigger: img.Trigger.String(),
|
||||
PollSchedule: img.PollSchedule,
|
||||
Provider: img.Provider,
|
||||
Namespace: img.Namespace,
|
||||
Policy: img.Policy.Name(),
|
||||
})
|
||||
}
|
||||
|
||||
response(&imgs, 200, err, resp, req)
|
||||
}
|
|
@ -13,22 +13,23 @@ type Credentials struct {
|
|||
|
||||
// TrackedImage - tracked image data+metadata
|
||||
type TrackedImage struct {
|
||||
Image *image.Reference
|
||||
Trigger TriggerType
|
||||
PollSchedule string
|
||||
Provider string
|
||||
Namespace string
|
||||
Secrets []string
|
||||
Meta map[string]string // metadata supplied by providers
|
||||
Image *image.Reference `json:"image"`
|
||||
Trigger TriggerType `json:"trigger"`
|
||||
PollSchedule string `json:"poll_schedule"`
|
||||
Provider string `json:"provider"`
|
||||
Namespace string `json:"namespace"`
|
||||
Secrets []string `json:"secrets"`
|
||||
Meta map[string]string `json:"meta"` // metadata supplied by providers
|
||||
// a list of pre-release tags, ie: 1.0.0-dev, 1.5.0-prod get translated into
|
||||
// dev, prod
|
||||
// combined semver tags
|
||||
Tags []string
|
||||
Policy Policy
|
||||
Tags []string `json:"tags"`
|
||||
Policy Policy `json:"policy"`
|
||||
}
|
||||
|
||||
type Policy interface {
|
||||
ShouldUpdate(current, new string) (bool, error)
|
||||
Name() string
|
||||
}
|
||||
|
||||
func (i TrackedImage) String() string {
|
||||
|
|
|
@ -6,9 +6,9 @@ import (
|
|||
|
||||
// Reference is an opaque object that include identifier such as a name, tag, repository, registry, etc...
|
||||
type Reference struct {
|
||||
named Named
|
||||
tag string
|
||||
scheme string // registry scheme, i.e. http, https
|
||||
named Named `json:"named"`
|
||||
tag string `json:"tag"`
|
||||
scheme string `json:"scheme"` // registry scheme, i.e. http, https
|
||||
}
|
||||
|
||||
func (r Reference) String() string {
|
||||
|
|
Loading…
Reference in New Issue