Documentation ¶
Index ¶
- Constants
- Variables
- func CheckPatternsMatching(versions map[string]semver.Version, patterns map[string]semver.Pattern, ...)
- func PreparePatternMatching(patterns []string) (map[string]semver.Version, map[string]semver.Pattern, error)
- func Sha1(o interface{}) string
- func StoreUser(ctx context.Context, user User) context.Context
- type AuthService
- type GenericProvider
- type HelmProvider
- type Ketchup
- type KetchupByPriority
- type KetchupByRepositoryIDAndPattern
- type KetchupFrequency
- type KetchupService
- type Mailer
- type Release
- type ReleaseByKindAndName
- type ReleaseByRepositoryIDAndPattern
- type Repository
- type RepositoryKind
- type RepositoryService
- type User
- type UserService
- type UserStore
Constants ¶
const (
// DefaultPattern is the latest but non-beta version
DefaultPattern = "stable"
)
Variables ¶
var ( // KetchupFrequencyValues string values KetchupFrequencyValues = []string{"None", "Daily", "Weekly"} // NoneKetchup is an undefined ketchup NoneKetchup = Ketchup{} )
var ( // RepositoryKindValues string values RepositoryKindValues = []string{"github", "helm", "docker", "npm", "pypi"} )
Functions ¶
func CheckPatternsMatching ¶ added in v1.9.0
func CheckPatternsMatching(versions map[string]semver.Version, patterns map[string]semver.Pattern, version semver.Version)
CheckPatternsMatching check given version against pattern matching
Types ¶
type AuthService ¶ added in v1.16.0
type AuthService interface { Create(context.Context, authModel.User) (authModel.User, error) Check(context.Context, authModel.User, authModel.User) error }
AuthService defines interaction with underlying User provider
type GenericProvider ¶ added in v1.16.0
type GenericProvider interface {
LatestVersions(string, []string) (map[string]semver.Version, error)
}
GenericProvider defines interaction with common providers
type HelmProvider ¶ added in v1.16.0
type HelmProvider interface { FetchIndex(string, map[string][]string) (map[string]map[string]semver.Version, error) LatestVersions(string, string, []string) (map[string]semver.Version, error) }
HelmProvider defines interaction with helm
type Ketchup ¶ added in v1.1.0
type Ketchup struct { ID string Semver string Pattern string Version string User User Repository Repository Frequency KetchupFrequency }
Ketchup of app
func NewKetchup ¶ added in v1.9.0
func NewKetchup(pattern, version string, frequency KetchupFrequency, repo Repository) Ketchup
NewKetchup creates new instance
type KetchupByPriority ¶ added in v1.2.0
type KetchupByPriority []Ketchup
KetchupByPriority sort ketchup by priority (outdated first, name then)
func (KetchupByPriority) Len ¶ added in v1.2.0
func (a KetchupByPriority) Len() int
func (KetchupByPriority) Less ¶ added in v1.2.0
func (a KetchupByPriority) Less(i, j int) bool
func (KetchupByPriority) Swap ¶ added in v1.2.0
func (a KetchupByPriority) Swap(i, j int)
type KetchupByRepositoryIDAndPattern ¶ added in v1.14.0
type KetchupByRepositoryIDAndPattern []Ketchup
KetchupByRepositoryIDAndPattern sort ketchup by repository ID
func (KetchupByRepositoryIDAndPattern) Len ¶ added in v1.14.0
func (a KetchupByRepositoryIDAndPattern) Len() int
func (KetchupByRepositoryIDAndPattern) Less ¶ added in v1.14.0
func (a KetchupByRepositoryIDAndPattern) Less(i, j int) bool
func (KetchupByRepositoryIDAndPattern) Swap ¶ added in v1.14.0
func (a KetchupByRepositoryIDAndPattern) Swap(i, j int)
type KetchupFrequency ¶ added in v1.12.0
type KetchupFrequency int
KetchupFrequency defines constant for ketchup frequency
const ( // None frequency None KetchupFrequency = iota // Daily frequency Daily // Weekly frequency (on Monday) Weekly )
func ParseKetchupFrequency ¶ added in v1.12.0
func ParseKetchupFrequency(value string) (KetchupFrequency, error)
ParseKetchupFrequency parse raw string into a KetchupFrequency
func (KetchupFrequency) String ¶ added in v1.12.0
func (r KetchupFrequency) String() string
type KetchupService ¶ added in v1.16.0
type KetchupService interface { List(ctx context.Context, pageSize uint, last string) ([]Ketchup, uint64, error) ListForRepositories(ctx context.Context, repositories []Repository, frequency KetchupFrequency) ([]Ketchup, error) ListOutdatedByFrequency(ctx context.Context, frequency KetchupFrequency) ([]Ketchup, error) Create(ctx context.Context, item Ketchup) (Ketchup, error) Update(ctx context.Context, oldPattern string, item Ketchup) (Ketchup, error) UpdateAll(ctx context.Context) error Delete(ctx context.Context, item Ketchup) error }
KetchupService defines interaction with ketchup
type Mailer ¶ added in v1.16.0
type Mailer interface { Enabled() bool Send(context.Context, mailerModel.MailRequest) error }
Mailer interface client
type Release ¶ added in v1.1.0
type Release struct { Pattern string `json:"pattern"` URL string `json:"url"` Repository Repository `json:"repository"` Version semver.Version `json:"version"` }
Release is when new version is out
func NewRelease ¶ added in v1.1.0
func NewRelease(repository Repository, pattern string, version semver.Version) Release
NewRelease creates a new version from its objects
type ReleaseByKindAndName ¶ added in v1.15.0
type ReleaseByKindAndName []Release
ReleaseByKindAndName sort release by repository kind and repository name
func (ReleaseByKindAndName) Len ¶ added in v1.15.0
func (a ReleaseByKindAndName) Len() int
func (ReleaseByKindAndName) Less ¶ added in v1.15.0
func (a ReleaseByKindAndName) Less(i, j int) bool
func (ReleaseByKindAndName) Swap ¶ added in v1.15.0
func (a ReleaseByKindAndName) Swap(i, j int)
type ReleaseByRepositoryIDAndPattern ¶ added in v1.14.0
type ReleaseByRepositoryIDAndPattern []Release
ReleaseByRepositoryIDAndPattern sort release by repository ID
func (ReleaseByRepositoryIDAndPattern) Len ¶ added in v1.14.0
func (a ReleaseByRepositoryIDAndPattern) Len() int
func (ReleaseByRepositoryIDAndPattern) Less ¶ added in v1.14.0
func (a ReleaseByRepositoryIDAndPattern) Less(i, j int) bool
func (ReleaseByRepositoryIDAndPattern) Swap ¶ added in v1.14.0
func (a ReleaseByRepositoryIDAndPattern) Swap(i, j int)
type Repository ¶ added in v1.1.0
type Repository struct { Versions map[string]string `json:"versions"` Name string `json:"name"` Part string `json:"part"` ID uint64 `json:"id"` Kind RepositoryKind `json:"kind"` }
Repository of app
func NewGithubRepository ¶ added in v1.12.0
func NewGithubRepository(id uint64, name string) Repository
NewGithubRepository create new Repository with initialized values
func NewHelmRepository ¶ added in v1.12.0
func NewHelmRepository(id uint64, name, part string) Repository
NewHelmRepository create new Repository with initialized values
func NewRepository ¶ added in v1.9.0
func NewRepository(id uint64, kind RepositoryKind, name, part string) Repository
NewRepository create new Repository with initialized values
func (Repository) AddVersion ¶ added in v1.9.0
func (r Repository) AddVersion(pattern, version string) Repository
AddVersion adds given pattern to versions map
func (Repository) CompareURL ¶ added in v1.8.0
func (r Repository) CompareURL(version string, pattern string) string
CompareURL format the URL of given repository compared against given version
func (Repository) String ¶ added in v1.12.0
func (r Repository) String() string
URL format the URL of given repository with current version
func (Repository) URL ¶ added in v1.8.0
func (r Repository) URL(pattern string) string
URL format the URL of given repository with pattern version
func (Repository) VersionURL ¶ added in v1.15.0
func (r Repository) VersionURL(version string) string
VersionURL format the URL of given repository with given version
type RepositoryKind ¶ added in v1.8.0
type RepositoryKind int
RepositoryKind defines constant for repository types
const ( // Github repository kind Github RepositoryKind = iota // Helm repository kind Helm // Docker repository kind Docker // NPM repository kind NPM // Pypi repository kind Pypi )
func ParseRepositoryKind ¶ added in v1.8.0
func ParseRepositoryKind(value string) (RepositoryKind, error)
ParseRepositoryKind parse raw string into a RepositoryKind
func (RepositoryKind) MarshalJSON ¶ added in v1.16.0
func (r RepositoryKind) MarshalJSON() ([]byte, error)
MarshalJSON marshals the enum as a quoted json string
func (RepositoryKind) String ¶ added in v1.8.0
func (r RepositoryKind) String() string
func (*RepositoryKind) UnmarshalJSON ¶ added in v1.16.0
func (r *RepositoryKind) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshal JSOn
type RepositoryService ¶ added in v1.16.0
type RepositoryService interface { List(context.Context, uint, string) ([]Repository, uint64, error) ListByKinds(context.Context, uint, string, ...RepositoryKind) ([]Repository, uint64, error) Suggest(context.Context, []uint64, uint64) ([]Repository, error) GetOrCreate(context.Context, RepositoryKind, string, string, string) (Repository, error) Update(context.Context, Repository) error Clean(context.Context) error LatestVersions(Repository) (map[string]semver.Version, error) }
RepositoryService defines interaction with repository
type User ¶ added in v1.1.0
User of app
type UserService ¶ added in v1.16.0
UserService for storing user in context
type UserStore ¶ added in v1.16.0
type UserStore interface { DoAtomic(context.Context, func(context.Context) error) error GetByLoginID(context.Context, uint64) (User, error) GetByEmail(context.Context, string) (User, error) Create(context.Context, User) (uint64, error) Count(context.Context) (uint64, error) }
UserStore defines interaction with User storage