releases

package
v0.0.0-...-e0434a4 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2019 License: Apache-2.0 Imports: 8 Imported by: 0

README

Releases

Purpose

  • contains release data related primitives
  • contains Release Manager (Deployinator) REST client

Generated REST client

REST client has been generated with the following command (run it from the root of the repo):

make generate-deployinator-client

To update REST client, the following command needs to be executed:

make update-deployinator-spec

Documentation

Index

Constants

View Source
const (
	// DefaultReleaseMetadataConfigMapName is the name of the configmap each service will be able to find its release data in
	DefaultReleaseMetadataConfigMapName = "service-release"
	// DataKey is the name of the key to store resolved releases data from release management system within the configmap
	DataKey = "releases"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DeployinatorRMS

type DeployinatorRMS struct {
	Logger       *zap.Logger
	Deployinator *client.Deployinator
}

DeployinatorRMS default implementation of ReleaseManagementStore interface

func (*DeployinatorRMS) Resolve

func (rms *DeployinatorRMS) Resolve(params ResolveParams) (*ResolvedRelease, error)

func (*DeployinatorRMS) ResolveLatest

func (rms *DeployinatorRMS) ResolveLatest(params ResolveBatchParams) ([]ResolvedRelease, time.Time, error)

type ReleaseManagementStore

type ReleaseManagementStore interface {
	// Resolve returns release data grouped by a release context
	Resolve(params ResolveParams) (*ResolvedRelease, error)

	// Resolve all services that have been updated in given time ranges in batches (paginated)
	ResolveLatest(params ResolveBatchParams) ([]ResolvedRelease, time.Time, error)
}

ReleaseManagementStore generic interface to request the release data from RMS

func NewReleaseManagement

func NewReleaseManagement(depHTTPClient *client.Deployinator, logger *zap.Logger) ReleaseManagementStore

NewReleaseManagement creates new release management store object

type ResolveBatchParams

type ResolveBatchParams struct {
	Account     voyager.Account
	Environment voyager.EnvType
	Region      voyager.Region
	From        time.Time
}

type ResolveParams

type ResolveParams struct {
	Account     voyager.Account
	Environment voyager.EnvType
	Label       voyager.Label
	Region      voyager.Region
	ServiceName voyager.ServiceName
}

ResolveParams structure to hold the parameters required for release management system to resolve release data

type ResolvedRelease

type ResolvedRelease struct {
	ResolvedData ResolvedReleaseData
	ServiceName  voyager.ServiceName
	Label        voyager.Label
}

type ResolvedReleaseData

type ResolvedReleaseData map[string]map[string]interface{}

ResolvedRelease represents the response of a release management system

Directories

Path Synopsis
deployinator

Jump to

Keyboard shortcuts

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