feed

package
v0.0.0-...-d956a41 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Validate

func Validate(name string, typ string, cfg map[string]interface{}) error

func ValidateUpdate

func ValidateUpdate(typ string, cfg map[string]interface{}) error

Types

type ContainerRegistry

type ContainerRegistry struct {
	URL      string `cfg:"url" validate:"required,url"`
	PageSize int    `cfg:"page_size" validate:"omitempty,gt=0"`
	Token    string `cfg:"token"`
	Limit    int    `cfg:"limit" validate:"gte=0"`
}

func (*ContainerRegistry) GetRelease

func (c *ContainerRegistry) GetRelease(release string, config interface{}) (*Release, error)

GetRelease implements Feed

func (*ContainerRegistry) GetReleases

func (c *ContainerRegistry) GetReleases(config interface{}, done chan struct{}) (chan *Release, chan error)

GetReleases implements Feed

func (*ContainerRegistry) NewConfig

func (*ContainerRegistry) NewConfig(c map[string]interface{}) (interface{}, error)

NewConfig implements Feed

type Feed

type Feed interface {
	// Return the given release or nil if not found.
	GetRelease(release string, config interface{}) (*Release, error)
	GetReleases(config interface{}, done chan struct{}) (chan *Release, chan error)
	NewConfig(c map[string]interface{}) (interface{}, error)
}

func NewFeed

func NewFeed(name string, typ string, cfg map[string]interface{}) (Feed, error)

type GitHub

type GitHub struct {
	githubutil.GitHubOptions `cfg:",squash"`
	PageSize                 int `cfg:"page_size" validate:"omitempty,gte=0"`
	Limit                    int `cfg:"limit" validate:"gte=0"`
	// contains filtered or unexported fields
}

func (*GitHub) GetRelease

func (g *GitHub) GetRelease(release string, config interface{}) (*Release, error)

GetRelease implements Feed

func (*GitHub) GetReleases

func (g *GitHub) GetReleases(config interface{}, done chan struct{}) (chan *Release, chan error)

GetReleases implements Feed

func (*GitHub) NewConfig

func (*GitHub) NewConfig(c map[string]interface{}) (interface{}, error)

NewConfig implements Feed

type Gitea

type Gitea struct {
	giteautil.ClientOptions `cfg:",squash"`

	PageSize int `cfg:"page_size" validate:"omitempty,gte=0"`
	Limit    int `cfg:"limit" validate:"gte=0"`
	// contains filtered or unexported fields
}

func (*Gitea) GetRelease

func (g *Gitea) GetRelease(release string, config interface{}) (*Release, error)

GetRelease implements Feed

func (*Gitea) GetReleases

func (g *Gitea) GetReleases(config interface{}, done chan struct{}) (chan *Release, chan error)

GetReleases implements Feed

func (*Gitea) NewConfig

func (*Gitea) NewConfig(c map[string]interface{}) (interface{}, error)

NewConfig implements Feed

type PyPI

type PyPI struct {
	URL string `cfg:"url" validate:"omitempty,url"`
}

func (*PyPI) GetRelease

func (p *PyPI) GetRelease(release string, config interface{}) (*Release, error)

GetRelease implements Feed

func (*PyPI) GetReleases

func (p *PyPI) GetReleases(config interface{}, done chan struct{}) (chan *Release, chan error)

GetReleases implements Feed

func (*PyPI) NewConfig

func (*PyPI) NewConfig(c map[string]interface{}) (interface{}, error)

NewConfig implements Feed

type RSS

type RSS struct{}

func (*RSS) GetRelease

func (r *RSS) GetRelease(release string, config interface{}) (*Release, error)

GetRelease implements Feed

func (*RSS) GetReleases

func (r *RSS) GetReleases(config interface{}, done chan struct{}) (chan *Release, chan error)

GetReleases implements Feed

func (*RSS) NewConfig

func (*RSS) NewConfig(c map[string]interface{}) (interface{}, error)

NewConfig implements Feed

type Release

type Release struct {
	Version      string
	ReleaseNotes string
	URL          string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL