mirror of
https://github.com/tnb-labs/panel.git
synced 2026-08-29 02:10:58 +08:00
00a5acbc45
升级改为覆盖式:只替换程序文件,storage 原地不动,中断安全无需 fix;新增 WS 实时进度,前端等待重启自动刷新。面板备份改为仅打包核心文件(ace/panel.db/config.yml/cert/cli),排除统计/扫描大库,体积大幅下降。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
225 lines
12 KiB
Go
225 lines
12 KiB
Go
// Code generated by Wire. DO NOT EDIT.
|
|
|
|
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
|
|
//go:build !wireinject
|
|
// +build !wireinject
|
|
|
|
package main
|
|
|
|
import (
|
|
"github.com/acepanel/panel/v3/internal/app"
|
|
"github.com/acepanel/panel/v3/internal/apps/apache"
|
|
"github.com/acepanel/panel/v3/internal/apps/clickhouse"
|
|
"github.com/acepanel/panel/v3/internal/apps/codeserver"
|
|
"github.com/acepanel/panel/v3/internal/apps/docker"
|
|
"github.com/acepanel/panel/v3/internal/apps/elasticsearch"
|
|
"github.com/acepanel/panel/v3/internal/apps/fail2ban"
|
|
"github.com/acepanel/panel/v3/internal/apps/frp"
|
|
"github.com/acepanel/panel/v3/internal/apps/gitea"
|
|
"github.com/acepanel/panel/v3/internal/apps/grafana"
|
|
"github.com/acepanel/panel/v3/internal/apps/kafka"
|
|
"github.com/acepanel/panel/v3/internal/apps/mariadb"
|
|
"github.com/acepanel/panel/v3/internal/apps/memcached"
|
|
"github.com/acepanel/panel/v3/internal/apps/minio"
|
|
"github.com/acepanel/panel/v3/internal/apps/mongodb"
|
|
"github.com/acepanel/panel/v3/internal/apps/mysql"
|
|
"github.com/acepanel/panel/v3/internal/apps/nginx"
|
|
"github.com/acepanel/panel/v3/internal/apps/openresty"
|
|
"github.com/acepanel/panel/v3/internal/apps/opensearch"
|
|
"github.com/acepanel/panel/v3/internal/apps/percona"
|
|
"github.com/acepanel/panel/v3/internal/apps/phpmyadmin"
|
|
"github.com/acepanel/panel/v3/internal/apps/podman"
|
|
"github.com/acepanel/panel/v3/internal/apps/postgresql"
|
|
"github.com/acepanel/panel/v3/internal/apps/prometheus"
|
|
"github.com/acepanel/panel/v3/internal/apps/pureftpd"
|
|
"github.com/acepanel/panel/v3/internal/apps/redis"
|
|
"github.com/acepanel/panel/v3/internal/apps/rocketmq"
|
|
"github.com/acepanel/panel/v3/internal/apps/rsync"
|
|
"github.com/acepanel/panel/v3/internal/apps/s3fs"
|
|
"github.com/acepanel/panel/v3/internal/apps/supervisor"
|
|
"github.com/acepanel/panel/v3/internal/apps/valkey"
|
|
"github.com/acepanel/panel/v3/internal/bootstrap"
|
|
"github.com/acepanel/panel/v3/internal/data"
|
|
"github.com/acepanel/panel/v3/internal/http/middleware"
|
|
"github.com/acepanel/panel/v3/internal/job"
|
|
"github.com/acepanel/panel/v3/internal/route"
|
|
"github.com/acepanel/panel/v3/internal/service"
|
|
"github.com/acepanel/panel/v3/pkg/websitestat"
|
|
)
|
|
|
|
import (
|
|
_ "time/tzdata"
|
|
)
|
|
|
|
// Injectors from wire.go:
|
|
|
|
// initAce init application.
|
|
func initAce() (*app.Ace, error) {
|
|
config, err := bootstrap.NewConf()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
locale, err := bootstrap.NewT(config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
db, err := bootstrap.NewDB(config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
manager, err := bootstrap.NewSession(config, db)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
logger := bootstrap.NewLog(config)
|
|
cacheRepo := data.NewCacheRepo(db)
|
|
taskRunner := bootstrap.NewRunner(db, logger)
|
|
taskRepo := data.NewTaskRepo(locale, db, logger, taskRunner)
|
|
appRepo := data.NewAppRepo(locale, config, db, logger, cacheRepo, taskRepo)
|
|
userTokenRepo := data.NewUserTokenRepo(locale, config, db)
|
|
middlewares := middleware.NewMiddlewares(config, manager, appRepo, userTokenRepo)
|
|
userRepo := data.NewUserRepo(locale, db, logger)
|
|
userService := service.NewUserService(locale, config, manager, userRepo)
|
|
userPasskeyRepo := data.NewUserPasskeyRepo(db)
|
|
userPasskeyService := service.NewUserPasskeyService(locale, config, manager, userPasskeyRepo, userRepo)
|
|
userTokenService := service.NewUserTokenService(locale, userTokenRepo)
|
|
databaseServerRepo := data.NewDatabaseServerRepo(locale, db, logger)
|
|
databaseUserRepo := data.NewDatabaseUserRepo(locale, db, logger, databaseServerRepo)
|
|
databaseRepo := data.NewDatabaseRepo(locale, db, logger, databaseServerRepo, databaseUserRepo)
|
|
settingRepo := data.NewSettingRepo(locale, db, logger, config, taskRepo)
|
|
certRepo := data.NewCertRepo(locale, db, logger, settingRepo)
|
|
certAccountRepo := data.NewCertAccountRepo(locale, db, userRepo, logger)
|
|
websiteRepo := data.NewWebsiteRepo(locale, db, logger, cacheRepo, databaseRepo, databaseServerRepo, databaseUserRepo, certRepo, certAccountRepo, settingRepo)
|
|
projectRepo := data.NewProjectRepo(locale, db, logger)
|
|
environmentRepo := data.NewEnvironmentRepo(locale, config, cacheRepo, taskRepo)
|
|
cronRepo := data.NewCronRepo(locale, db, logger)
|
|
backupRepo := data.NewBackupRepo(locale, config, db, logger, settingRepo, websiteRepo)
|
|
containerRepo := data.NewContainerRepo(settingRepo)
|
|
homeService := service.NewHomeService(locale, config, taskRepo, websiteRepo, projectRepo, appRepo, environmentRepo, settingRepo, databaseServerRepo, cronRepo, backupRepo, containerRepo)
|
|
taskService := service.NewTaskService(taskRepo)
|
|
websiteService := service.NewWebsiteService(websiteRepo, settingRepo)
|
|
projectService := service.NewProjectService(projectRepo, settingRepo)
|
|
databaseService := service.NewDatabaseService(databaseRepo)
|
|
databaseServerService := service.NewDatabaseServerService(databaseServerRepo)
|
|
databaseRedisRepo := data.NewDatabaseRedisRepo(locale, db, logger)
|
|
databaseRedisService := service.NewDatabaseRedisService(databaseRedisRepo)
|
|
databaseElasticsearchRepo := data.NewDatabaseElasticsearchRepo(locale, db, logger)
|
|
databaseElasticsearchService := service.NewDatabaseElasticsearchService(databaseElasticsearchRepo)
|
|
databaseUserService := service.NewDatabaseUserService(databaseUserRepo)
|
|
backupService := service.NewBackupService(locale, backupRepo, taskRepo)
|
|
backupAccountRepo := data.NewBackupAccountRepo(locale, db, logger, settingRepo)
|
|
backupStorageService := service.NewBackupStorageService(locale, backupAccountRepo)
|
|
certService := service.NewCertService(locale, certRepo)
|
|
certDNSRepo := data.NewCertDNSRepo(db, logger)
|
|
certDNSService := service.NewCertDNSService(certDNSRepo)
|
|
certAccountService := service.NewCertAccountService(certAccountRepo)
|
|
apacheApp := apache.NewApp(locale)
|
|
clickhouseApp := clickhouse.NewApp(locale, settingRepo, databaseServerRepo)
|
|
codeserverApp := codeserver.NewApp()
|
|
dockerApp := docker.NewApp()
|
|
elasticsearchApp := elasticsearch.NewApp(locale)
|
|
fail2banApp := fail2ban.NewApp(locale, websiteRepo)
|
|
frpApp := frp.NewApp()
|
|
giteaApp := gitea.NewApp()
|
|
grafanaApp := grafana.NewApp(locale)
|
|
kafkaApp := kafka.NewApp(locale)
|
|
mariadbApp := mariadb.NewApp(locale, settingRepo, databaseServerRepo)
|
|
memcachedApp := memcached.NewApp(locale)
|
|
minioApp := minio.NewApp()
|
|
mongodbApp := mongodb.NewApp(locale, settingRepo, databaseServerRepo)
|
|
mysqlApp := mysql.NewApp(locale, settingRepo, databaseServerRepo)
|
|
nginxApp := nginx.NewApp(locale)
|
|
openrestyApp := openresty.NewApp(locale)
|
|
opensearchApp := opensearch.NewApp(locale)
|
|
perconaApp := percona.NewApp(locale, settingRepo, databaseServerRepo)
|
|
phpmyadminApp := phpmyadmin.NewApp(locale)
|
|
podmanApp := podman.NewApp()
|
|
postgresqlApp := postgresql.NewApp(locale, settingRepo, databaseServerRepo)
|
|
prometheusApp := prometheus.NewApp(locale, config, taskRepo)
|
|
pureftpdApp := pureftpd.NewApp(locale)
|
|
redisApp := redis.NewApp(locale, databaseServerRepo)
|
|
rocketmqApp := rocketmq.NewApp(locale)
|
|
rsyncApp := rsync.NewApp(locale)
|
|
s3fsApp := s3fs.NewApp(locale)
|
|
supervisorApp := supervisor.NewApp(locale)
|
|
valkeyApp := valkey.NewApp(locale, databaseServerRepo)
|
|
loader := bootstrap.NewLoader(apacheApp, clickhouseApp, codeserverApp, dockerApp, elasticsearchApp, fail2banApp, frpApp, giteaApp, grafanaApp, kafkaApp, mariadbApp, memcachedApp, minioApp, mongodbApp, mysqlApp, nginxApp, openrestyApp, opensearchApp, perconaApp, phpmyadminApp, podmanApp, postgresqlApp, prometheusApp, pureftpdApp, redisApp, rocketmqApp, rsyncApp, s3fsApp, supervisorApp, valkeyApp)
|
|
appService := service.NewAppService(locale, appRepo, cacheRepo, settingRepo, loader)
|
|
environmentService := service.NewEnvironmentService(locale, environmentRepo, taskRepo)
|
|
environmentGoService := service.NewEnvironmentGoService(locale, environmentRepo)
|
|
environmentJavaService := service.NewEnvironmentJavaService(locale, environmentRepo)
|
|
environmentNodejsService := service.NewEnvironmentNodejsService(locale, environmentRepo)
|
|
environmentPHPService := service.NewEnvironmentPHPService(locale, config, environmentRepo, taskRepo)
|
|
environmentPythonService := service.NewEnvironmentPythonService(locale, environmentRepo)
|
|
environmentDotnetService := service.NewEnvironmentDotnetService(locale, environmentRepo)
|
|
cronService := service.NewCronService(cronRepo)
|
|
processService := service.NewProcessService()
|
|
safeRepo := data.NewSafeRepo(logger)
|
|
safeService := service.NewSafeService(safeRepo)
|
|
firewallService := service.NewFirewallService()
|
|
scanEventRepo, err := data.NewScanEventRepo(settingRepo)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
firewallScanService := service.NewFirewallScanService(scanEventRepo)
|
|
sshRepo := data.NewSSHRepo(locale, db, logger)
|
|
sshService := service.NewSSHService(sshRepo)
|
|
containerService := service.NewContainerService(containerRepo)
|
|
containerComposeRepo := data.NewContainerComposeRepo()
|
|
containerComposeService := service.NewContainerComposeService(containerComposeRepo)
|
|
containerNetworkRepo := data.NewContainerNetworkRepo(settingRepo)
|
|
containerNetworkService := service.NewContainerNetworkService(containerNetworkRepo)
|
|
containerImageRepo := data.NewContainerImageRepo(settingRepo)
|
|
containerImageService := service.NewContainerImageService(containerImageRepo)
|
|
containerVolumeRepo := data.NewContainerVolumeRepo(settingRepo)
|
|
containerVolumeService := service.NewContainerVolumeService(containerVolumeRepo)
|
|
fileService := service.NewFileService(locale, taskRepo, containerRepo)
|
|
logRepo := data.NewLogRepo(db)
|
|
logService := service.NewLogService(locale, logRepo)
|
|
monitorRepo := data.NewMonitorRepo(db, settingRepo)
|
|
monitorService := service.NewMonitorService(settingRepo, monitorRepo)
|
|
settingService := service.NewSettingService(locale, db, settingRepo, certRepo, certAccountRepo)
|
|
systemctlService := service.NewSystemctlService(locale)
|
|
toolboxNetworkService := service.NewToolboxNetworkService()
|
|
toolboxSystemService := service.NewToolboxSystemService(locale)
|
|
toolboxBenchmarkService := service.NewToolboxBenchmarkService(locale)
|
|
toolboxSSHService := service.NewToolboxSSHService(locale)
|
|
toolboxDiskService := service.NewToolboxDiskService(locale)
|
|
toolboxLogService := service.NewToolboxLogService(locale, db, containerImageRepo, settingRepo)
|
|
toolboxMigrationService := service.NewToolboxMigrationService(locale, config, logger, settingRepo, websiteRepo, databaseRepo, databaseServerRepo, databaseUserRepo, projectRepo, appRepo, environmentRepo)
|
|
webHookRepo := data.NewWebHookRepo(locale, db, logger)
|
|
webHookService := service.NewWebHookService(webHookRepo)
|
|
templateRepo := data.NewTemplateRepo(locale, logger, cacheRepo)
|
|
templateService := service.NewTemplateService(locale, templateRepo, settingRepo)
|
|
websiteStatRepo, err := data.NewWebsiteStatRepo()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
aggregator := websitestat.NewAggregator()
|
|
websiteStatService := service.NewWebsiteStatService(settingRepo, websiteStatRepo, websiteRepo, aggregator)
|
|
http := route.NewHttp(config, userService, userPasskeyService, userTokenService, homeService, taskService, websiteService, projectService, databaseService, databaseServerService, databaseRedisService, databaseElasticsearchService, databaseUserService, backupService, backupStorageService, certService, certDNSService, certAccountService, appService, environmentService, environmentGoService, environmentJavaService, environmentNodejsService, environmentPHPService, environmentPythonService, environmentDotnetService, cronService, processService, safeService, firewallService, firewallScanService, sshService, containerService, containerComposeService, containerNetworkService, containerImageService, containerVolumeService, fileService, logService, monitorService, settingService, systemctlService, toolboxNetworkService, toolboxSystemService, toolboxBenchmarkService, toolboxSSHService, toolboxDiskService, toolboxLogService, toolboxMigrationService, webHookService, templateService, websiteStatService, loader)
|
|
wsService := service.NewWsService(locale, config, logger, sshRepo, settingRepo, certRepo, backupRepo, taskRepo)
|
|
ws := route.NewWs(wsService, toolboxMigrationService)
|
|
mux, err := bootstrap.NewRouter(locale, middlewares, http, ws)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
reloader, err := bootstrap.NewTLSReloader(config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
server, err := bootstrap.NewHttp(config, mux, reloader)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
gormigrate := bootstrap.NewMigrate(db)
|
|
jobs := job.NewJobs(config, db, logger, aggregator, settingRepo, certRepo, certAccountRepo, backupRepo, cacheRepo, taskRepo, scanEventRepo, websiteStatRepo, websiteRepo)
|
|
cron, err := bootstrap.NewCron(logger, jobs)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
validator := service.NewValidator(config, db)
|
|
ace := app.NewAce(config, mux, server, reloader, gormigrate, cron, taskRunner, validator)
|
|
return ace, nil
|
|
}
|