Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CreateApp = operations.CreateAppHandlerFunc( func(params operations.CreateAppParams) middleware.Responder { log.V("handlers.CreateApp()") var err error tx, onDefer := database.TX(&err) defer onDefer() if params.App == nil { return operations.NewCreateAppBadRequest().WithPayload("Request body is required") } inputApp := *params.App err = validation.AppName(inputApp.Name) if err != nil { return operations.NewCreateAppBadRequest().WithPayload(err.Error()) } existingApp, _ := app_service.Get(tx, inputApp.Name) if existingApp != nil { log.D("Existing app: %v", existingApp) return operations.NewCreateAppBadRequest().WithPayload(fmt.Sprintf("%s already exists", inputApp.Name)) } err = docker_service.PullImage(inputApp.Image) if err != nil { return operations.NewCreateAppBadRequest().WithPayload(err.Error()) } digest, err := docker_service.GetImageDigest(inputApp.Image) if err != nil { return operations.NewCreateAppDefault(500).WithPayload(err.Error()) } newApp, err := app_service.Create(tx, inputApp) if err != nil { return operations.NewCreateAppDefault(500).WithPayload(err.Error()) } defaultRunConfig := &models.RunConfig{ AppID: newApp.ID, ImageDigest: digest, } err = run_config_service.Create(tx, defaultRunConfig) if err != nil { return operations.NewCreateAppDefault(500).WithPayload(err.Error()) } return operations.NewCreateAppCreated().WithPayload(newApp) }, )
View Source
var DeleteApp = operations.DeleteAppHandlerFunc( func(params operations.DeleteAppParams) middleware.Responder { log.V("handlers.DeleteApp()") var err error tx, onDefer := database.TX(&err) defer onDefer() app, _ := app_service.Get(tx, params.AppName) if app == nil { return operations.NewDeleteAppNotFound(). WithPayload(fmt.Sprintf("%s does not exist", params.AppName)) } err = app_service.Delete(tx, app) if err != nil { return operations.NewDeleteAppDefault(500).WithPayload(err.Error()) } return operations.NewDeleteAppOK().WithPayload(app) }, )
View Source
var EditApp = operations.EditAppHandlerFunc( func(params operations.EditAppParams) middleware.Responder { log.V("handlers.EditApp()") var err error tx, onDefer := database.TX(&err) defer onDefer() app, err := app_service.Get(tx, params.AppName) if err != nil { return operations.NewEditAppNotFound().WithPayload(err.Error()) } err = validation.AppEdit(params.NewApp) if err != nil { return operations.NewEditAppBadRequest().WithPayload(err.Error()) } newApp := &models.App{ ID: app.ID, Image: app.Image, Name: params.NewApp.Name, Group: params.NewApp.Group, Hidden: params.NewApp.Hidden, } err = app_service.Upsert(tx, newApp) if err != nil { return operations.NewEditAppDefault(500).WithPayload(err.Error()) } return operations.NewEditAppOK().WithPayload(newApp) }, )
View Source
var GetApp = operations.GetAppHandlerFunc( func(params operations.GetAppParams) middleware.Responder { log.V("handlers.GetApp()") db, onDefer := database.ReadOnly() defer onDefer() app, err := app_service.Get(db, params.AppName) if err != nil { return operations.NewGetAppNotFound().WithPayload(err.Error()) } return operations.NewGetAppOK().WithPayload(app) }, )
View Source
var GetAppEnv = operations.GetAppEnvHandlerFunc( func(params operations.GetAppEnvParams) middleware.Responder { log.V("handlers.GetAppEnv()") db, onDefer := database.ReadOnly() defer onDefer() appID, err := app_service.GetAppID(db, params.AppName) if err != nil { return operations.NewGetAppEnvNotFound().WithPayload(err.Error()) } appEnv, err := env_service.Get(db, appID) if err != nil { return operations.NewGetAppEnvDefault(500).WithPayload(err.Error()) } return operations.NewGetAppEnvOK().WithPayload(appEnv) }, )
View Source
var GetAppTraefikConfig = operations.GetAppTraefikConfigHandlerFunc( func(params operations.GetAppTraefikConfigParams) middleware.Responder { log.V("handlers.GetAppTraefikConfig()") db, onDefer := database.ReadOnly() defer onDefer() if !plugin_service.IsInstalled(db, constants.PluginNameTraefik) { return operations.NewGetAppTraefikConfigBadRequest(). WithPayload("Traefik is not installed") } appID := params.AppID.String() plugins, err := plugin_service.GetAppPlugins(db, appID) if err != nil { return operations.NewGetAppTraefikConfigDefault(500).WithPayload(err.Error()) } traefikConfig := plugins.Traefik if traefikConfig == nil { return operations.NewGetAppTraefikConfigNotFound() } return operations.NewGetAppTraefikConfigOK().WithPayload(traefikConfig) }, )
View Source
var GetPlugin = operations.GetPluginHandlerFunc( func(params operations.GetPluginParams) middleware.Responder { log.V("handlers.GetPlugin()") db, onDefer := database.ReadOnly() defer onDefer() plugin, err := plugin_service.Get(db, params.PluginName) if err != nil { return operations.NewGetPluginNotFound().WithPayload(err.Error()) } return operations.NewGetPluginOK().WithPayload(plugin) }, )
View Source
var GetRunConfig = operations.GetRunConfigHandlerFunc( func(params operations.GetRunConfigParams) middleware.Responder { log.V("handlers.GetRunConfig()") db, onDefer := database.ReadOnly() defer onDefer() appID, err := app_service.GetAppID(db, params.AppName) if err != nil { return operations.NewGetRunConfigNotFound().WithPayload(err.Error()) } appConfig, err := run_config_service.Get(db, appID) if err != nil { return operations.NewGetRunConfigNotFound().WithPayload(err.Error()) } return operations.NewGetRunConfigOK().WithPayload(appConfig) }, )
View Source
var HealthCheck = operations.HealthCheckHandlerFunc( func(params operations.HealthCheckParams) middleware.Responder { log.V("handlers.HealthCheck()") dockerVersion := docker_service.Version() swarm := docker_service.SwarmInfo() return operations.NewHealthCheckOK().WithPayload(&models.Health{ Version: shared.StringPtr(fmt.Sprintf("v%v-%v-%v", constants.VERSION, constants.BUILD_DATE, constants.BUILD_HASH)), DockerVersion: dockerVersion, Swarm: &models.HealthSwarm{ ID: swarm.ID, CreatedAt: swarm.CreatedAt.String(), UpdatedAt: swarm.UpdatedAt.String(), JoinCommand: fmt.Sprintf("docker swarm join --token %s <miasma-ip:port>", swarm.JoinTokens.Worker), }, }) }, )
View Source
var InstallPlugin = operations.InstallPluginHandlerFunc( func(params operations.InstallPluginParams) middleware.Responder { log.V("handlers.InstallPlugin()") var err error tx, onDefer := database.TX(&err) defer onDefer() plugin, pluginDetails, err := plugin_service.Install(tx, params.PluginName) if err != nil { return operations.NewInstallPluginDefault(500).WithPayload(err.Error()) } plugins, err := plugin_service.GetAppPlugins(tx, pluginDetails.App.ID.String()) if err != nil { return operations.NewStartAppDefault(500).WithPayload(err.Error()) } err = app_service.Start(tx, pluginDetails, plugins) if err != nil { return operations.NewStartAppDefault(500).WithPayload(err.Error()) } return operations.NewInstallPluginCreated().WithPayload(plugin) }, )
View Source
var ListApps = operations.ListAppsHandlerFunc( func(params operations.ListAppsParams) middleware.Responder { log.V("handlers.ListApps()") db, onDefer := database.ReadOnly() defer onDefer() showHidden := params.Hidden != nil && *params.Hidden apps, err := app_service.List(db, showHidden) if err != nil { return operations.NewListAppsDefault(500).WithPayload(err.Error()) } return operations.NewListAppsOK().WithPayload(apps) }, )
View Source
var ListPlugins = operations.ListPluginsHandlerFunc( func(params operations.ListPluginsParams) middleware.Responder { log.V("handlers.ListPlugins()") db, onDefer := database.ReadOnly() defer onDefer() plugins := plugin_service.List(db) return operations.NewListPluginsOK().WithPayload(plugins) }, )
View Source
var RemoveAppTraefikConfig = operations.RemoveAppTraefikConfigHandlerFunc( func(params operations.RemoveAppTraefikConfigParams) middleware.Responder { log.V("handlers.RemoveAppTraefikConfig()") var err error tx, onDefer := database.TX(&err) defer onDefer() if !plugin_service.IsInstalled(tx, constants.PluginNameTraefik) { return operations.NewRemoveAppTraefikConfigBadRequest().WithPayload("Traefik is not installed") } appID := params.AppID.String() plugins, err := plugin_service.GetAppPlugins(tx, appID) if plugins.Traefik == nil { return operations.NewRemoveAppTraefikConfigBadRequest(). WithPayload(fmt.Sprintf("No traefik config to delete for '%v'", appID)) } if err != nil { return operations.NewRemoveAppTraefikConfigDefault(500).WithPayload(err.Error()) } err = plugin_service.DeleteTraefikConfig(tx, appID) if err != nil { return operations.NewRemoveAppTraefikConfigDefault(500).WithPayload(err.Error()) } return operations.NewRemoveAppTraefikConfigOK().WithPayload(plugins.Traefik) }, )
View Source
var StartApp = operations.StartAppHandlerFunc( func(params operations.StartAppParams) middleware.Responder { log.V("handlers.StartApp()") db, onDefer := database.ReadOnly() defer onDefer() details, err := app_service.Details(db, params.AppName) if err != nil { return operations.NewStartAppNotFound().WithPayload(fmt.Sprintf("%s does not exist", params.AppName)) } appId := details.App.ID.String() plugins, err := plugin_service.GetAppPlugins(db, appId) if err != nil { return operations.NewStartAppDefault(500).WithPayload(err.Error()) } err = app_service.Start(db, details, plugins) if err != nil { return operations.NewStartAppDefault(500).WithPayload(err.Error()) } return operations.NewStartAppNoContent() }, )
View Source
var StopApp = operations.StopAppHandlerFunc( func(params operations.StopAppParams) middleware.Responder { log.V("handlers.StopApp()") db, onDefer := database.ReadOnly() defer onDefer() app, _ := app_service.Get(db, params.AppName) if app == nil { return operations.NewStopAppNotFound().WithPayload(fmt.Sprintf("%s does not exist", params.AppName)) } err := app_service.Stop(app) if err != nil { return operations.NewStopAppDefault(500).WithPayload(err.Error()) } return operations.NewStopAppNoContent() }, )
View Source
var UninstallPlugin = operations.UninstallPluginHandlerFunc( func(params operations.UninstallPluginParams) middleware.Responder { log.V("handlers.UninstallPlugin()") var err error tx, onDefer := database.TX(&err) defer onDefer() plugin, pluginApp, err := plugin_service.Uninstall(tx, params.PluginName) if err != nil { return operations.NewUninstallPluginDefault(500).WithPayload(err.Error()) } err = app_service.Stop(pluginApp) if err != nil { return operations.NewUninstallPluginDefault(500).WithPayload(err.Error()) } return operations.NewUninstallPluginOK().WithPayload(plugin) }, )
View Source
var UpdateAppEnv = operations.UpdateAppEnvHandlerFunc( func(params operations.UpdateAppEnvParams) middleware.Responder { log.V("handlers.UpdateAppEnv()") var err error tx, onDefer := database.TX(&err) defer onDefer() newEnv := params.NewEnv.(map[string]interface{}) if err := validation.AppEnv(newEnv); err != nil { return operations.NewUpdateAppEnvBadRequest(). WithPayload(err.Error()) } details, err := app_service.Details(tx, params.AppName) if err != nil { return operations.NewUpdateAppEnvNotFound().WithPayload(err.Error()) } appID := details.App.ID.String() err = env_service.Update(tx, appID, newEnv) if err != nil { return operations.NewUpdateAppEnvDefault(500).WithPayload(err.Error()) } env, err := env_service.Get(tx, appID) if err != nil { return operations.NewUpdateAppEnvDefault(500).WithPayload(err.Error()) } plugins, err := plugin_service.GetAppPlugins(tx, appID) if err != nil { return operations.NewUpdateAppEnvDefault(500).WithPayload(err.Error()) } err = app_service.Reload(details, env, plugins) if err != nil { return operations.NewUpdateAppEnvDefault(500).WithPayload(err.Error()) } return operations.NewUpdateAppEnvOK().WithPayload(env) }, )
View Source
var UpdateAppTraefikConfig = operations.UpdateAppTraefikConfigHandlerFunc( func(params operations.UpdateAppTraefikConfigParams) middleware.Responder { log.V("handlers.UpdateAppTraefikConfig()") var err error tx, onDefer := database.TX(&err) defer onDefer() err = validation.TraefikPluginConfig(params.NewTraefikConfig) if err != nil { return operations.NewUpdateAppTraefikConfigBadRequest().WithPayload(err.Error()) } if !plugin_service.IsInstalled(tx, constants.PluginNameTraefik) { return operations.NewUpdateAppTraefikConfigBadRequest().WithPayload("Traefik is not installed") } config := &models.TraefikPluginConfig{ AppID: params.AppID, Host: params.NewTraefikConfig.Host, Path: params.NewTraefikConfig.Path, TraefikRule: params.NewTraefikConfig.TraefikRule, } err = plugin_service.UpsertTraefikConfig(tx, config) if err != nil { return operations.NewUpdateAppTraefikConfigDefault(500).WithPayload(err.Error()) } return operations.NewUpdateAppTraefikConfigOK().WithPayload(config) }, )
View Source
var UpdateRunConfig = operations.UpdateRunConfigHandlerFunc( func(params operations.UpdateRunConfigParams) middleware.Responder { log.V("handlers.UpdateRunConfig()") var err error tx, onDefer := database.TX(&err) defer onDefer() if err := validation.RunConfig(params.NewRunConfig); err != nil { return operations.NewUpdateAppEnvBadRequest(). WithPayload(err.Error()) } appID, err := app_service.GetAppID(tx, params.AppName) if err != nil { return operations.NewUpdateRunConfigNotFound().WithPayload(err.Error()) } newRunConfig, err := run_config_service.Get(tx, appID) newRunConfig.Command = params.NewRunConfig.Command newRunConfig.Networks = params.NewRunConfig.Networks newRunConfig.Placement = params.NewRunConfig.Placement newRunConfig.PublishedPorts = params.NewRunConfig.PublishedPorts newRunConfig.TargetPorts = params.NewRunConfig.TargetPorts newRunConfig.Volumes = params.NewRunConfig.Volumes err = run_config_service.Upsert(tx, newRunConfig) if err != nil { return operations.NewUpdateRunConfigDefault(500).WithPayload(err.Error()) } details, err := app_service.Details(tx, params.AppName) if err != nil { return operations.NewUpdateRunConfigNotFound().WithPayload(err.Error()) } env, err := env_service.Get(tx, appID) if err != nil { return operations.NewUpdateAppEnvDefault(500).WithPayload(err.Error()) } plugins, err := plugin_service.GetAppPlugins(tx, appID) if err != nil { return operations.NewUpdateAppEnvDefault(500).WithPayload(err.Error()) } err = app_service.Reload(details, env, plugins) if err != nil { return operations.NewUpdateAppEnvDefault(500).WithPayload(err.Error()) } return operations.NewUpdateRunConfigOK().WithPayload(details.RunConfig) }, )
View Source
var UpgradeApp = operations.UpgradeAppHandlerFunc( func(params operations.UpgradeAppParams) middleware.Responder { log.V("handlers.UpgradeApp()") var err error tx, onDefer := database.TX(&err) defer onDefer() details, err := app_service.Details(tx, params.AppName) if err != nil { return operations.NewUpgradeAppNotFound().WithPayload(err.Error()) } appId := details.App.ID.String() env, err := env_service.Get(tx, appId) if err != nil { return operations.NewUpgradeAppDefault(500).WithPayload(err.Error()) } plugins, err := plugin_service.GetAppPlugins(tx, appId) if err != nil { return operations.NewUpgradeAppDefault(500).WithPayload(err.Error()) } var newImage string if params.NewImage == nil { newImage = details.App.Image } else { newImage = *params.NewImage } updated, err := app_service.Upgrade(tx, details, env, plugins, newImage) if err != nil { return operations.NewUpgradeAppDefault(500).WithPayload(err.Error()) } if !updated { return operations.NewUpgradeAppBadRequest().WithPayload(fmt.Sprintf("No updates are available for %s!", newImage)) } return operations.NewUpgradeAppNoContent() }, )
Functions ¶
This section is empty.
Types ¶
This section is empty.
Source Files ¶
- createApp.go
- deleteApp.go
- editApp.go
- getApp.go
- getAppEnv.go
- getAppTraefikConfig.go
- getPlugin.go
- getRunConfig.go
- healthCheck.go
- installPlugin.go
- listApps.go
- listPlugins.go
- removeAppTraefikConfig.go
- startApp.go
- stopApp.go
- uninstallPlugin.go
- updateAppEnv.go
- updateAppTraefikConfig.go
- updateRunConfig.go
- upgradeApp.go
Click to show internal directories.
Click to hide internal directories.