web

package module
v0.0.0-...-cf93416 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2021 License: GPL-3.0 Imports: 9 Imported by: 0

README

Chef web API

Веб интерфейс для сервера chef, предназначенный для ручного деплоя серверов или ролей

Используемая база - mongodb
Лог файлы вывода chef-client так же хранятся в mongodb

Last Deploy Time показывает когда последний раз нажималась кнопка деплоя

Доступные действия:

Вкладка Tasks

Показывает список истории запуска задач. Просмотр записи покажет лог задачи.
Также показывает с какими параметрами создавалась задача, тип ресурса и имя ресурса. И какой пользователь запустил задачу.

Вкладка Nodes

Управление нодами на chef сервере. Просмотр ноды показывает runlist ноды и когда последний раз запускался chef-client.

Кнопки:

Deploy - выкатить ноду со всеми ролями.
Edit - Позволяет отредактировать runlist для ноды.

Вкладка Roles

Управление ролями на chef сервере. Просмотр роли показывает на каких нодах есть эта роль.

Кнопки:

Deploy - выкатить все ноды с данной ролью.
Role - выкатить все ноды с данной ролью, но ограничить runlist ноды одной этой ролью (chef-client -o ).
Edit - Позволяет отредактировать список затрагиваемых нод. Only Role имеет эффект как и кнопка Role.

Вкладка Cookbooks

Показывает список cookbook на сервере.

Вкладка Users

Видна только админам
Управление пользователями и их правами. Нельзя забрать у самого себя админку и забанить самого себя тоже нельзя.

Вкладка Modules

Видна только админам - позволяет управлять модулями приложения. К примеру, можно отключить обработку задач воркерами.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConcatenateStringWithDelimeter

func ConcatenateStringWithDelimeter(delimeter string, names []string) string

ConcatenateStringWithDelimeter constructing string like 'names[0],names[1], ... ,names[n]' if delimeter as ","

func NewApplication

func NewApplication(env string, reloadChannel chan struct{})

NewApplication set empty application structure.

Types

type Application

type Application struct {
	Env             string
	WorkerDirectory string
	AppKey          *rsa.PrivateKey
	SessionExpire   int64
	Logger          logging.Logger
	DB              *database.DBConnector
	Client          *chef.Client
	LDAP            *LDAPData
	UsersLastSeen   map[string]string
	SSHKeyPath      string
	ChefKeyPath     string

	ReloadChannel chan struct{}
	StopRequest   chan struct{}
	// contains filtered or unexported fields
}

Application describes application.

var App *Application

App is a global application object.

func (*Application) ConfigureApp

func (App *Application) ConfigureApp(workerDir, appKeyPath, sshKeyPath string, sessionExpire int64)

ConfigureApp configures App.

func (*Application) ConfigureChefClient

func (App *Application) ConfigureChefClient(name, url, keyPath string) error

ConfigureChefClient configures chef client.

func (*Application) ConfigureDatabase

func (App *Application) ConfigureDatabase(databaseProvider, sessionProvider,
	databaseName, databaseUser, databasePassword,
	databaseHost, databasePort string) error

ConfigureDatabase configures database.

func (*Application) ConfigureLDAP

func (App *Application) ConfigureLDAP(baseDN, bindAddress, bindPrefix, bindSuffix string)

ConfigureLDAP configures ldap.

func (*Application) ConfigureLogger

func (App *Application) ConfigureLogger(l logging.Logger)

ConfigureLogger configures logger.

func (*Application) CreateChefClientConfig

func (App *Application) CreateChefClientConfig() error

CreateChefClientConfig creates config for chef client.

func (*Application) GetChefClientConfig

func (App *Application) GetChefClientConfig() *chef.Client

GetChefClientConfig return existing chef client config.

type LDAPData

type LDAPData struct {
	BaseDN      string
	BindAddress string
	BindPrefix  string
	BindSuffix  string
}

LDAPData Describes the details of the connection to the LDAP server. Binding by prefix-username-suffix.

Directories

Path Synopsis
cmd
web

Jump to

Keyboard shortcuts

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