Documentation ¶
Index ¶
- Constants
- Variables
- func HandleRun(args []string) error
- type ActionMap
- type Check
- type Common
- type Component
- type CustomFormatter
- type Global
- type LoggingConfig
- type MigrationSet
- func (ms *MigrationSet) CheckValideData(migrationSet MigrationSet) error
- func (mg *MigrationSet) InitMigrationSet(migrationYamlFile string, pluginController *plugin.PluginController) (*MigrationSet, error)
- func (mg *MigrationSet) RollbackRelease(targetRelease string) error
- func (ms *MigrationSet) UpdateRelease(migrationSet MigrationSet) error
- type Pei
- type PluginConfig
- type RollerConfig
- type Script
- type Stages
- type Stand
- type StandsFile
- type Task
Constants ¶
View Source
const (
MS_VERSION = "0.0.1"
)
View Source
const (
MainBanner = `` /* 338-byte string literal not displayed */
)
Variables ¶
View Source
var ( CONFIG_PATH string RUN_FLAG bool DRY_RUN_FLAG bool PLUGINS_PATH string )
View Source
var ATOMIC_STAGE *bool // Глобальный флаг атомарности текущего этапа
View Source
var PluginRegistry = make(map[string]v1.Executor)
PluginRegistry - глобальная карта для хранения зарегистрированных плагинов
Functions ¶
Types ¶
type Check ¶
type Check struct { Set *MigrationSet Name string `yaml:"name"` PluginType string `yaml:"plugin"` Actions map[string]interface{} `yaml:"action"` Component map[string]interface{} `yaml:"component"` }
func (*Check) CheckValideData ¶
type Component ¶
type Component struct { Name string `yaml:"name"` Version string `yaml:"version"` Group string `yaml:"group"` // Имя группы Plugin string `yaml:"plugin"` ComponentConfig map[string]interface{} `yaml:"config"` }
func (*Component) CheckValideData ¶
type CustomFormatter ¶
type CustomFormatter struct{}
CustomFormatter реализует интерфейс logrus.Formatter
type Global ¶
type Global struct { Logging LoggingConfig `yaml:"logging"` Plugin PluginConfig `yaml:"plugin"` Pei Pei `yaml:"pei"` }
Global глобальные настройки
type LoggingConfig ¶
LoggingConfig описывает параметры логирования
type MigrationSet ¶
type MigrationSet struct { StandsFile *StandsFile PluginController *plugin.PluginController ActionMap *map[string]ActionMap MigrationSetVersion string `yaml:"msVersion"` Atomic *bool `yaml:"atomic"` // Флаг атомарности YAMLStandFile string `yaml:"stands"` // Путь к файлу стендов FromRelease string `yaml:"from_release"` ToRelease string `yaml:"to_release"` Stages []Stages `yaml:"stages"` // Список этапов }
func (*MigrationSet) CheckValideData ¶
func (ms *MigrationSet) CheckValideData(migrationSet MigrationSet) error
func (*MigrationSet) InitMigrationSet ¶
func (mg *MigrationSet) InitMigrationSet(migrationYamlFile string, pluginController *plugin.PluginController) (*MigrationSet, error)
Метод инициализации MigrationSet
func (*MigrationSet) RollbackRelease ¶
func (mg *MigrationSet) RollbackRelease(targetRelease string) error
func (*MigrationSet) UpdateRelease ¶
func (ms *MigrationSet) UpdateRelease(migrationSet MigrationSet) error
type PluginConfig ¶
type PluginConfig struct { PluginPath string `yaml:"plugin_path"` PluginRepoPath string `yaml:"plugin_repo_path"` DefaultRepo string `yaml:"default_repo"` }
Plugin описывает параметры плагинов
type RollerConfig ¶
type RollerConfig struct {
Global Global `yaml:"global"`
}
rollerConfig структура конфигурации
type Script ¶
type Script struct { Name string `yaml:"name"` PluginType string `yaml:"plugin"` Actions map[string]interface{} `yaml:"action"` Component string `yaml:"component"` }
func (*Script) CheckValideData ¶
func (*Script) ExecScript ¶
type Stages ¶
type Stages struct { Set *MigrationSet Name string `yaml:"name"` // Имя этапа Description string `yaml:"desc"` // Описание этапа Dependence interface{} `yaml:"dependence"` // Зависимости этапа Atomic *bool `yaml:"atomic"` // Флаг атомарности: если true, этап останавливается при ошибке PreCheck *[]Check `yaml:"pre_check"` // Предварительная проверка перед выполнением этапа PreScript *[]Script `yaml:"pre_script"` // Предварительный скрипт перед выполнением этапа Task *[]Task `yaml:"task"` PostCheck *[]Check `yaml:"post_check"` // Пост-проверка после выполнения этапа PostScript *[]Script `yaml:"post_scriprt"` // Пост-скрипт после выполнения этапа Rollback bool `yaml:"rollback"` // Флаг отката: если true, позволяет откатить изменения Stages *[]Stages `yaml:"stage"` // Шаги, которые входят в этот этап }
Stage представляет этап обработки с его параметрами.
func (*Stages) CheckMyAtomic ¶
func (*Stages) CheckValideData ¶
type Stand ¶
type Stand struct { Name string `yaml:"name"` // Имя стенда Description string `yaml:"desc"` // Краткое описание Group string `yaml:"group"` // Имя группы Common Common `yaml:"common"` // Дополнительные настройки Include []string `yaml:"include"` Component []Component `yaml:"components"` }
func (*Stand) CheckValideData ¶
type StandsFile ¶
type StandsFile struct { Release string `yaml:"release"` Stand Stand `yaml:"stand"` // contains filtered or unexported fields }
Структура для файла, содержащего информацию о стенде и группе
func (*StandsFile) CheckValideData ¶
func (s *StandsFile) CheckValideData(standsFile StandsFile) error
func (*StandsFile) FindComponent ¶
func (s *StandsFile) FindComponent(data interface{}) (map[string]interface{}, error)
type Task ¶
type Task struct { Set *MigrationSet PluginType string `yaml:"plugin"` Actions map[string]interface{} `yaml:"action"` Component string `yaml:"component"` }
func (*Task) CheckValideData ¶
Click to show internal directories.
Click to hide internal directories.