Help us shape the future of Go! Take the 2026 Go Developer Survey

dto

package
v1.9.6 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AppToolMap = map[string]string{
	"mysql": "phpmyadmin",
	"redis": "redis-commander",
}
View Source
var ScopeKeyMap = map[NginxKey][]string{
	Index:     {"index"},
	LimitConn: {"limit_conn", "limit_rate", "limit_conn_zone"},
	SSL:       {"ssl_certificate", "ssl_certificate_key"},
	HttpPer:   {"server_names_hash_bucket_size", "client_header_buffer_size", "client_max_body_size", "keepalive_timeout", "gzip", "gzip_min_length", "gzip_comp_level"},
}
View Source
var StaticFileKeyMap = map[NginxKey]struct {
}{
	SSL:        {},
	CACHE:      {},
	ProxyCache: {},
}

Functions

This section is empty.

Types

type AddrRuleOperate added in v1.1.0

type AddrRuleOperate struct {
	Operation string `json:"operation" validate:"required,oneof=add remove"`
	Address   string `json:"address"  validate:"required"`
	Strategy  string `json:"strategy" validate:"required,oneof=accept drop"`

	Description string `json:"description"`
}

type AddrRuleUpdate added in v1.1.0

type AddrRuleUpdate struct {
	OldRule AddrRuleOperate `json:"oldRule"`
	NewRule AddrRuleOperate `json:"newRule"`
}

type AppConfigVersion added in v1.3.0

type AppConfigVersion struct {
	Name                string      `json:"name"`
	LastModified        int         `json:"lastModified"`
	DownloadUrl         string      `json:"downloadUrl"`
	DownloadCallBackUrl string      `json:"downloadCallBackUrl"`
	AppForm             interface{} `json:"additionalProperties"`
}

type AppDatabase

type AppDatabase struct {
	ServiceName string `json:"PANEL_DB_HOST"`
	DbName      string `json:"PANEL_DB_NAME"`
	DbUser      string `json:"PANEL_DB_USER"`
	Password    string `json:"PANEL_DB_USER_PASSWORD"`
}

type AppDefine

type AppDefine struct {
	Icon         string `json:"icon"`
	Name         string `json:"name"`
	ReadMe       string `json:"readMe"`
	LastModified int    `json:"lastModified"`

	AppProperty AppProperty        `json:"additionalProperties"`
	Versions    []AppConfigVersion `json:"versions"`
}

type AppForm

type AppForm struct {
	FormFields []AppFormFields `json:"formFields"`
}

type AppFormFields

type AppFormFields struct {
	Type     string         `json:"type"`
	LabelZh  string         `json:"labelZh"`
	LabelEn  string         `json:"labelEn"`
	Required bool           `json:"required"`
	Default  interface{}    `json:"default"`
	EnvKey   string         `json:"envKey"`
	Disabled bool           `json:"disabled"`
	Edit     bool           `json:"edit"`
	Rule     string         `json:"rule"`
	Multiple bool           `json:"multiple"`
	Child    interface{}    `json:"child"`
	Values   []AppFormValue `json:"values"`
}

type AppFormValue added in v1.0.3

type AppFormValue struct {
	Label string `json:"label"`
	Value string `json:"value"`
}

type AppInstallInfo added in v1.6.0

type AppInstallInfo struct {
	ID   uint   `json:"id"`
	Key  string `json:"key"`
	Name string `json:"name"`
}

type AppList

type AppList struct {
	Valid        bool     `json:"valid"`
	Violations   []string `json:"violations"`
	LastModified int      `json:"lastModified"`

	Apps  []AppDefine     `json:"apps"`
	Extra ExtraProperties `json:"additionalProperties"`
}

type AppOssConfig

type AppOssConfig struct {
	Version string `json:"version"`
	Package string `json:"package"`
}

type AppProperty added in v1.3.0

type AppProperty struct {
	Name               string   `json:"name"`
	Type               string   `json:"type"`
	Tags               []string `json:"tags"`
	ShortDescZh        string   `json:"shortDescZh"`
	ShortDescEn        string   `json:"shortDescEn"`
	Key                string   `json:"key"`
	Required           []string `json:"Required"`
	CrossVersionUpdate bool     `json:"crossVersionUpdate"`
	Limit              int      `json:"limit"`
	Recommend          int      `json:"recommend"`
	Website            string   `json:"website"`
	Github             string   `json:"github"`
	Document           string   `json:"document"`
}

type AppResource

type AppResource struct {
	Type string `json:"type"`
	Name string `json:"name"`
}

type AppVersion

type AppVersion struct {
	Version  string `json:"version"`
	DetailId uint   `json:"detailId"`
}

type AuthParam

type AuthParam struct {
	RootPassword string `json:"PANEL_DB_ROOT_PASSWORD"`
	RootUser     string `json:"PANEL_DB_ROOT_USER"`
}

type BackupInfo

type BackupInfo struct {
	ID         uint      `json:"id"`
	CreatedAt  time.Time `json:"createdAt"`
	Type       string    `json:"type"`
	Bucket     string    `json:"bucket"`
	BackupPath string    `json:"backupPath"`
	Vars       string    `json:"vars"`
}

type BackupOperate

type BackupOperate struct {
	ID         uint   `json:"id"`
	Type       string `json:"type" validate:"required"`
	Bucket     string `json:"bucket"`
	AccessKey  string `json:"accessKey"`
	Credential string `json:"credential"`
	BackupPath string `json:"backupPath"`
	Vars       string `json:"vars" validate:"required"`
}

type BackupRecords

type BackupRecords struct {
	ID         uint      `json:"id"`
	CreatedAt  time.Time `json:"createdAt"`
	Source     string    `json:"source"`
	BackupType string    `json:"backupType"`
	FileDir    string    `json:"fileDir"`
	FileName   string    `json:"fileName"`
	Size       int64     `json:"size"`
}

type BackupSearchFile

type BackupSearchFile struct {
	Type string `json:"type" validate:"required"`
}

type BatchDelete

type BatchDelete struct {
	Force bool     `json:"force"`
	Names []string `json:"names" validate:"required"`
}

type BatchDeleteReq

type BatchDeleteReq struct {
	Ids []uint `json:"ids" validate:"required"`
}

type BatchRuleOperate added in v1.1.0

type BatchRuleOperate struct {
	Type  string            `json:"type" validate:"required"`
	Rules []PortRuleOperate `json:"rules"`
}

type BindInfo added in v1.8.0

type BindInfo struct {
	Ipv6        string `json:"ipv6" validate:"required,oneof=enable disable"`
	BindAddress string `json:"bindAddress" validate:"required"`
}

type BindUser added in v1.9.3

type BindUser struct {
	Database   string `json:"database" validate:"required"`
	DB         string `json:"db" validate:"required"`
	Username   string `json:"username" validate:"required"`
	Password   string `json:"password" validate:"required"`
	Permission string `json:"permission" validate:"required"`
}

type CaptchaResponse

type CaptchaResponse struct {
	CaptchaID string `json:"captchaID"`
	ImagePath string `json:"imagePath"`
}

type ChangeDBInfo

type ChangeDBInfo struct {
	ID       uint   `json:"id"`
	From     string `json:"from" validate:"required,oneof=local remote"`
	Type     string `json:"type" validate:"required,oneof=mysql mariadb postgresql"`
	Database string `json:"database" validate:"required"`
	Value    string `json:"value" validate:"required"`
}

type ChangeHostGroup

type ChangeHostGroup struct {
	ID      uint `json:"id" validate:"required"`
	GroupID uint `json:"groupID" validate:"required"`
}

type ChangePasswd added in v1.9.0

type ChangePasswd struct {
	User   string `json:"user"`
	Passwd string `json:"passwd"`
}

type ChangeRedisPass added in v1.6.0

type ChangeRedisPass struct {
	Value string `json:"value" validate:"required"`
}

redis

type Clean added in v1.7.0

type Clean struct {
	TreeType string `json:"treeType"`
	Name     string `json:"name"`
	Size     uint64 `json:"size"`
}

type CleanData added in v1.7.0

type CleanData struct {
	SystemClean    []CleanTree `json:"systemClean"`
	UploadClean    []CleanTree `json:"uploadClean"`
	DownloadClean  []CleanTree `json:"downloadClean"`
	SystemLogClean []CleanTree `json:"systemLogClean"`
}

type CleanLog

type CleanLog struct {
	LogType string `json:"logType" validate:"required,oneof=login operation"`
}

type CleanTree added in v1.7.0

type CleanTree struct {
	ID       string      `json:"id"`
	Label    string      `json:"label"`
	Children []CleanTree `json:"children"`

	Type string `json:"type"`
	Name string `json:"name"`

	Size        uint64 `json:"size"`
	IsCheck     bool   `json:"isCheck"`
	IsRecommend bool   `json:"isRecommend"`
}

type CommandInfo

type CommandInfo struct {
	ID          uint   `json:"id"`
	GroupID     uint   `json:"groupID"`
	Name        string `json:"name"`
	Command     string `json:"command"`
	GroupBelong string `json:"groupBelong"`
}

type CommandOperate

type CommandOperate struct {
	ID          uint   `json:"id"`
	GroupID     uint   `json:"groupID"`
	GroupBelong string `json:"groupBelong"`
	Name        string `json:"name" validate:"required"`
	Command     string `json:"command" validate:"required"`
}

type CommandTree added in v1.8.0

type CommandTree struct {
	ID       uint          `json:"id"`
	Label    string        `json:"label"`
	Children []CommandInfo `json:"children"`
}

type CommonBackup

type CommonBackup struct {
	Type       string `json:"type" validate:"required,oneof=app mysql mariadb redis website postgresql"`
	Name       string `json:"name"`
	DetailName string `json:"detailName"`
}

type CommonRecover

type CommonRecover struct {
	Source     string `json:"source" validate:"required,oneof=OSS S3 SFTP MINIO LOCAL COS KODO OneDrive WebDAV"`
	Type       string `json:"type" validate:"required,oneof=app mysql mariadb redis website postgresql"`
	Name       string `json:"name"`
	DetailName string `json:"detailName"`
	File       string `json:"file"`
}

type ComposeContainer

type ComposeContainer struct {
	ContainerID string `json:"containerID"`
	Name        string `json:"name"`
	CreateTime  string `json:"createTime"`
	State       string `json:"state"`
}

type ComposeCreate

type ComposeCreate struct {
	Name     string `json:"name"`
	From     string `json:"from" validate:"required,oneof=edit path template"`
	File     string `json:"file"`
	Path     string `json:"path"`
	Template uint   `json:"template"`
}

type ComposeInfo

type ComposeInfo struct {
	Name            string             `json:"name"`
	CreatedAt       string             `json:"createdAt"`
	CreatedBy       string             `json:"createdBy"`
	ContainerNumber int                `json:"containerNumber"`
	ConfigFile      string             `json:"configFile"`
	Workdir         string             `json:"workdir"`
	Path            string             `json:"path"`
	Containers      []ComposeContainer `json:"containers"`
}

type ComposeOperation

type ComposeOperation struct {
	Name      string `json:"name" validate:"required"`
	Path      string `json:"path" validate:"required"`
	Operation string `json:"operation" validate:"required,oneof=start stop down"`
	WithFile  bool   `json:"withFile"`
}

type ComposeTemplateCreate

type ComposeTemplateCreate struct {
	Name        string `json:"name" validate:"required"`
	Description string `json:"description"`
	Content     string `json:"content"`
}

type ComposeTemplateInfo

type ComposeTemplateInfo struct {
	ID          uint      `json:"id"`
	CreatedAt   time.Time `json:"createdAt"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Content     string    `json:"content"`
}

type ComposeTemplateUpdate

type ComposeTemplateUpdate struct {
	ID          uint   `json:"id"`
	Description string `json:"description"`
	Content     string `json:"content"`
}

type ComposeUpdate

type ComposeUpdate struct {
	Name    string `json:"name" validate:"required"`
	Path    string `json:"path" validate:"required"`
	Content string `json:"content" validate:"required"`
}

type ContainerExec

type ContainerExec struct {
	ContainerName string      `json:"containerName"`
	DbParam       AppDatabase `json:"dbParam"`
	Auth          AuthParam   `json:"auth"`
}

type ContainerInfo

type ContainerInfo struct {
	ContainerID string `json:"containerID"`
	Name        string `json:"name"`
	ImageId     string `json:"imageID"`
	ImageName   string `json:"imageName"`
	CreateTime  string `json:"createTime"`
	State       string `json:"state"`
	RunTime     string `json:"runTime"`

	Network []string `json:"network"`
	Ports   []string `json:"ports"`

	IsFromApp     bool `json:"isFromApp"`
	IsFromCompose bool `json:"isFromCompose"`

	AppName        string   `json:"appName"`
	AppInstallName string   `json:"appInstallName"`
	Websites       []string `json:"websites"`
}

type ContainerListStats added in v1.4.0

type ContainerListStats struct {
	ContainerID string `json:"containerID"`

	CPUTotalUsage uint64  `json:"cpuTotalUsage"`
	SystemUsage   uint64  `json:"systemUsage"`
	CPUPercent    float64 `json:"cpuPercent"`
	PercpuUsage   int     `json:"percpuUsage"`

	MemoryCache   uint64  `json:"memoryCache"`
	MemoryUsage   uint64  `json:"memoryUsage"`
	MemoryLimit   uint64  `json:"memoryLimit"`
	MemoryPercent float64 `json:"memoryPercent"`
}

type ContainerOperate added in v1.4.0

type ContainerOperate struct {
	ContainerID     string         `json:"containerID"`
	ForcePull       bool           `json:"forcePull"`
	Name            string         `json:"name" validate:"required"`
	Image           string         `json:"image" validate:"required"`
	Network         string         `json:"network"`
	PublishAllPorts bool           `json:"publishAllPorts"`
	ExposedPorts    []PortHelper   `json:"exposedPorts"`
	Tty             bool           `json:"tty"`
	OpenStdin       bool           `json:"openStdin"`
	Cmd             []string       `json:"cmd"`
	Entrypoint      []string       `json:"entrypoint"`
	CPUShares       int64          `json:"cpuShares"`
	NanoCPUs        float64        `json:"nanoCPUs"`
	Memory          float64        `json:"memory"`
	Privileged      bool           `json:"privileged"`
	AutoRemove      bool           `json:"autoRemove"`
	Volumes         []VolumeHelper `json:"volumes"`
	Labels          []string       `json:"labels"`
	Env             []string       `json:"env"`
	RestartPolicy   string         `json:"restartPolicy"`
}

type ContainerOperation

type ContainerOperation struct {
	Names     []string `json:"names" validate:"required"`
	Operation string   `json:"operation" validate:"required,oneof=start stop restart kill pause unpause remove"`
}

type ContainerPrune added in v1.3.0

type ContainerPrune struct {
	PruneType  string `json:"pruneType" validate:"required,oneof=container image volume network"`
	WithTagAll bool   `json:"withTagAll"`
}

type ContainerPruneReport added in v1.3.0

type ContainerPruneReport struct {
	DeletedNumber  int `json:"deletedNumber"`
	SpaceReclaimed int `json:"spaceReclaimed"`
}

type ContainerRename added in v1.8.0

type ContainerRename struct {
	Name    string `json:"name" validate:"required"`
	NewName string `json:"newName" validate:"required"`
}

type ContainerStats added in v1.4.0

type ContainerStats struct {
	CPUPercent float64 `json:"cpuPercent"`
	Memory     float64 `json:"memory"`
	Cache      float64 `json:"cache"`
	IORead     float64 `json:"ioRead"`
	IOWrite    float64 `json:"ioWrite"`
	NetworkRX  float64 `json:"networkRX"`
	NetworkTX  float64 `json:"networkTX"`

	ShotTime time.Time `json:"shotTime"`
}

type ContainerUpgrade added in v1.4.0

type ContainerUpgrade struct {
	Name      string `json:"name" validate:"required"`
	Image     string `json:"image" validate:"required"`
	ForcePull bool   `json:"forcePull"`
}

type CronjobBatchDelete added in v1.1.0

type CronjobBatchDelete struct {
	CleanData bool   `json:"cleanData"`
	IDs       []uint `json:"ids" validate:"required"`
}

type CronjobClean added in v1.1.0

type CronjobClean struct {
	IsDelete  bool `json:"isDelete"`
	CleanData bool `json:"cleanData"`
	CronjobID uint `json:"cronjobID" validate:"required"`
}

type CronjobCreate

type CronjobCreate struct {
	Name string `json:"name" validate:"required"`
	Type string `json:"type" validate:"required"`
	Spec string `json:"spec" validate:"required"`

	Script         string `json:"script"`
	ContainerName  string `json:"containerName"`
	AppID          string `json:"appID"`
	Website        string `json:"website"`
	ExclusionRules string `json:"exclusionRules"`
	DBType         string `json:"dbType"`
	DBName         string `json:"dbName"`
	URL            string `json:"url"`
	SourceDir      string `json:"sourceDir"`

	BackupAccounts  string `json:"backupAccounts"`
	DefaultDownload string `json:"defaultDownload"`
	RetainCopies    int    `json:"retainCopies" validate:"number,min=1"`
}

type CronjobDownload

type CronjobDownload struct {
	RecordID        uint `json:"recordID" validate:"required"`
	BackupAccountID uint `json:"backupAccountID" validate:"required"`
}

type CronjobInfo

type CronjobInfo struct {
	ID   uint   `json:"id"`
	Name string `json:"name"`
	Type string `json:"type"`
	Spec string `json:"spec"`

	Script          string `json:"script"`
	ContainerName   string `json:"containerName"`
	AppID           string `json:"appID"`
	Website         string `json:"website"`
	ExclusionRules  string `json:"exclusionRules"`
	DBType          string `json:"dbType"`
	DBName          string `json:"dbName"`
	URL             string `json:"url"`
	SourceDir       string `json:"sourceDir"`
	BackupAccounts  string `json:"backupAccounts"`
	DefaultDownload string `json:"defaultDownload"`
	RetainCopies    int    `json:"retainCopies"`

	LastRecordTime string `json:"lastRecordTime"`
	Status         string `json:"status"`
}

type CronjobUpdate

type CronjobUpdate struct {
	ID   uint   `json:"id" validate:"required"`
	Name string `json:"name" validate:"required"`
	Spec string `json:"spec" validate:"required"`

	Script         string `json:"script"`
	ContainerName  string `json:"containerName"`
	AppID          string `json:"appID"`
	Website        string `json:"website"`
	ExclusionRules string `json:"exclusionRules"`
	DBType         string `json:"dbType"`
	DBName         string `json:"dbName"`
	URL            string `json:"url"`
	SourceDir      string `json:"sourceDir"`

	BackupAccounts  string `json:"backupAccounts"`
	DefaultDownload string `json:"defaultDownload"`
	RetainCopies    int    `json:"retainCopies" validate:"number,min=1"`
}

type CronjobUpdateStatus

type CronjobUpdateStatus struct {
	ID     uint   `json:"id" validate:"required"`
	Status string `json:"status" validate:"required"`
}

type DBBaseInfo

type DBBaseInfo struct {
	Name          string `json:"name"`
	ContainerName string `json:"containerName"`
	Port          int64  `json:"port"`
}

type DBConfUpdateByFile added in v1.9.3

type DBConfUpdateByFile struct {
	Type     string `json:"type" validate:"required,oneof=mysql mariadb postgresql redis"`
	Database string `json:"database" validate:"required"`
	File     string `json:"file"`
}

common

type DaemonJsonConf

type DaemonJsonConf struct {
	IsSwarm      bool     `json:"isSwarm"`
	Status       string   `json:"status"`
	Version      string   `json:"version"`
	Mirrors      []string `json:"registryMirrors"`
	Registries   []string `json:"insecureRegistries"`
	LiveRestore  bool     `json:"liveRestore"`
	IPTables     bool     `json:"iptables"`
	CgroupDriver string   `json:"cgroupDriver"`

	Ipv6         bool   `json:"ipv6"`
	FixedCidrV6  string `json:"fixedCidrV6"`
	Ip6Tables    bool   `json:"ip6Tables"`
	Experimental bool   `json:"experimental"`

	LogMaxSize string `json:"logMaxSize"`
	LogMaxFile string `json:"logMaxFile"`
}

type DaemonJsonUpdateByFile

type DaemonJsonUpdateByFile struct {
	File string `json:"file"`
}

type DashboardBase

type DashboardBase struct {
	WebsiteNumber      int `json:"websiteNumber"`
	DatabaseNumber     int `json:"databaseNumber"`
	CronjobNumber      int `json:"cronjobNumber"`
	AppInstalledNumber int `json:"appInstalledNumber"`

	Hostname             string `json:"hostname"`
	OS                   string `json:"os"`
	Platform             string `json:"platform"`
	PlatformFamily       string `json:"platformFamily"`
	PlatformVersion      string `json:"platformVersion"`
	KernelArch           string `json:"kernelArch"`
	KernelVersion        string `json:"kernelVersion"`
	VirtualizationSystem string `json:"virtualizationSystem"`

	CPUCores        int    `json:"cpuCores"`
	CPULogicalCores int    `json:"cpuLogicalCores"`
	CPUModelName    string `json:"cpuModelName"`

	CurrentInfo DashboardCurrent `json:"currentInfo"`
}

type DashboardCurrent

type DashboardCurrent struct {
	Uptime          uint64 `json:"uptime"`
	TimeSinceUptime string `json:"timeSinceUptime"`

	Procs uint64 `json:"procs"`

	Load1            float64 `json:"load1"`
	Load5            float64 `json:"load5"`
	Load15           float64 `json:"load15"`
	LoadUsagePercent float64 `json:"loadUsagePercent"`

	CPUPercent     []float64 `json:"cpuPercent"`
	CPUUsedPercent float64   `json:"cpuUsedPercent"`
	CPUUsed        float64   `json:"cpuUsed"`
	CPUTotal       int       `json:"cpuTotal"`

	MemoryTotal       uint64  `json:"memoryTotal"`
	MemoryAvailable   uint64  `json:"memoryAvailable"`
	MemoryUsed        uint64  `json:"memoryUsed"`
	MemoryUsedPercent float64 `json:"memoryUsedPercent"`

	SwapMemoryTotal       uint64  `json:"swapMemoryTotal"`
	SwapMemoryAvailable   uint64  `json:"swapMemoryAvailable"`
	SwapMemoryUsed        uint64  `json:"swapMemoryUsed"`
	SwapMemoryUsedPercent float64 `json:"swapMemoryUsedPercent"`

	IOReadBytes  uint64 `json:"ioReadBytes"`
	IOWriteBytes uint64 `json:"ioWriteBytes"`
	IOCount      uint64 `json:"ioCount"`
	IOReadTime   uint64 `json:"ioReadTime"`
	IOWriteTime  uint64 `json:"ioWriteTime"`

	DiskData []DiskInfo `json:"diskData"`

	NetBytesSent uint64 `json:"netBytesSent"`
	NetBytesRecv uint64 `json:"netBytesRecv"`

	ShotTime time.Time `json:"shotTime"`
}

type DatabaseCreate added in v1.6.0

type DatabaseCreate struct {
	Name     string `json:"name" validate:"required,max=256"`
	Type     string `json:"type" validate:"required"`
	From     string `json:"from" validate:"required,oneof=local remote"`
	Version  string `json:"version" validate:"required"`
	Address  string `json:"address"`
	Port     uint   `json:"port"`
	Username string `json:"username" validate:"required"`
	Password string `json:"password" validate:"required"`

	SSL        bool   `json:"ssl"`
	RootCert   string `json:"rootCert"`
	ClientKey  string `json:"clientKey"`
	ClientCert string `json:"clientCert"`
	SkipVerify bool   `json:"skipVerify"`

	Description string `json:"description"`
}

type DatabaseDelete added in v1.7.0

type DatabaseDelete struct {
	ID           uint `json:"id" validate:"required"`
	ForceDelete  bool `json:"forceDelete"`
	DeleteBackup bool `json:"deleteBackup"`
}

type DatabaseFileRecords

type DatabaseFileRecords struct {
	FileName  string `json:"fileName"`
	FileDir   string `json:"fileDir"`
	CreatedAt string `json:"createdAt"`
	Size      int    `json:"size"`
}

type DatabaseInfo added in v1.6.0

type DatabaseInfo struct {
	ID        uint      `json:"id"`
	CreatedAt time.Time `json:"createdAt"`
	Name      string    `json:"name" validate:"max=256"`
	From      string    `json:"from"`
	Type      string    `json:"type"`
	Version   string    `json:"version"`
	Address   string    `json:"address"`
	Port      uint      `json:"port"`
	Username  string    `json:"username"`
	Password  string    `json:"password"`

	SSL        bool   `json:"ssl"`
	RootCert   string `json:"rootCert"`
	ClientKey  string `json:"clientKey"`
	ClientCert string `json:"clientCert"`
	SkipVerify bool   `json:"skipVerify"`

	Description string `json:"description"`
}

type DatabaseItem added in v1.9.3

type DatabaseItem struct {
	ID       uint   `json:"id"`
	From     string `json:"from"`
	Database string `json:"database"`
	Name     string `json:"name"`
}

type DatabaseOption added in v1.6.0

type DatabaseOption struct {
	ID       uint   `json:"id"`
	Type     string `json:"type"`
	From     string `json:"from"`
	Database string `json:"database"`
	Version  string `json:"version"`
	Address  string `json:"address"`
}

type DatabaseSearch added in v1.6.0

type DatabaseSearch struct {
	PageInfo
	Info    string `json:"info"`
	Type    string `json:"type"`
	OrderBy string `json:"orderBy"`
	Order   string `json:"order"`
}

database

type DatabaseUpdate added in v1.6.0

type DatabaseUpdate struct {
	ID       uint   `json:"id"`
	Type     string `json:"type" validate:"required"`
	Version  string `json:"version" validate:"required"`
	Address  string `json:"address"`
	Port     uint   `json:"port"`
	Username string `json:"username" validate:"required"`
	Password string `json:"password" validate:"required"`

	SSL        bool   `json:"ssl"`
	RootCert   string `json:"rootCert"`
	ClientKey  string `json:"clientKey"`
	ClientCert string `json:"clientCert"`
	SkipVerify bool   `json:"skipVerify"`

	Description string `json:"description"`
}

type DeleteByName

type DeleteByName struct {
	Name string `json:"name" validate:"required"`
}

type DeviceBaseInfo added in v1.9.0

type DeviceBaseInfo struct {
	DNS       []string     `json:"dns"`
	Hosts     []HostHelper `json:"hosts"`
	Hostname  string       `json:"hostname"`
	TimeZone  string       `json:"timeZone"`
	LocalTime string       `json:"localTime"`
	Ntp       string       `json:"ntp"`
	User      string       `json:"user"`

	SwapMemoryTotal     uint64 `json:"swapMemoryTotal"`
	SwapMemoryAvailable uint64 `json:"swapMemoryAvailable"`
	SwapMemoryUsed      uint64 `json:"swapMemoryUsed"`
	MaxSize             uint64 `json:"maxSize"`

	SwapDetails []SwapHelper `json:"swapDetails"`
}

type DiskInfo added in v1.0.4

type DiskInfo struct {
	Path        string  `json:"path"`
	Type        string  `json:"type"`
	Device      string  `json:"device"`
	Total       uint64  `json:"total"`
	Free        uint64  `json:"free"`
	Used        uint64  `json:"used"`
	UsedPercent float64 `json:"usedPercent"`

	InodesTotal       uint64  `json:"inodesTotal"`
	InodesUsed        uint64  `json:"inodesUsed"`
	InodesFree        uint64  `json:"inodesFree"`
	InodesUsedPercent float64 `json:"inodesUsedPercent"`
}

type DockerOperation

type DockerOperation struct {
	Operation string `json:"operation" validate:"required,oneof=start restart stop"`
}

type DownloadRecord

type DownloadRecord struct {
	Source   string `json:"source" validate:"required,oneof=OSS S3 SFTP MINIO LOCAL COS KODO OneDrive WebDAV"`
	FileDir  string `json:"fileDir" validate:"required"`
	FileName string `json:"fileName" validate:"required"`
}

type ExtraProperties added in v1.3.0

type ExtraProperties struct {
	Tags    []Tag  `json:"tags"`
	Version string `json:"version"`
}

type Fail2BanBaseInfo added in v1.9.0

type Fail2BanBaseInfo struct {
	IsEnable bool   `json:"isEnable"`
	IsActive bool   `json:"isActive"`
	IsExist  bool   `json:"isExist"`
	Version  string `json:"version"`

	Port      int    `json:"port"`
	MaxRetry  int    `json:"maxRetry"`
	BanTime   string `json:"banTime"`
	FindTime  string `json:"findTime"`
	BanAction string `json:"banAction"`
	LogPath   string `json:"logPath"`
}

type Fail2BanSearch added in v1.9.0

type Fail2BanSearch struct {
	Status string `json:"status" validate:"required,oneof=banned ignore"`
}

type Fail2BanSet added in v1.9.0

type Fail2BanSet struct {
	IPs     []string `json:"ips"`
	Operate string   `json:"operate"  validate:"required,oneof=banned ignore"`
}

type Fail2BanUpdate added in v1.9.0

type Fail2BanUpdate struct {
	Key   string `json:"key" validate:"required,oneof=port bantime findtime maxretry banaction logpath port"`
	Value string `json:"value"`
}

type FilePath

type FilePath struct {
	Path string `json:"path" validate:"required"`
}

type FirewallBaseInfo added in v1.1.0

type FirewallBaseInfo struct {
	Name       string `json:"name"`
	Status     string `json:"status"`
	Version    string `json:"version"`
	PingStatus string `json:"pingStatus"`
}

type FirewallOperation added in v1.1.0

type FirewallOperation struct {
	Operation string `json:"operation" validate:"required,oneof=start stop restart disablePing enablePing"`
}

type ForBuckets

type ForBuckets struct {
	Type       string `json:"type" validate:"required"`
	AccessKey  string `json:"accessKey"`
	Credential string `json:"credential" validate:"required"`
	Vars       string `json:"vars" validate:"required"`
}

type GenerateLoad added in v1.3.0

type GenerateLoad struct {
	EncryptionMode string `json:"encryptionMode" validate:"required,oneof=rsa ed25519 ecdsa dsa"`
}

type GenerateSSH added in v1.3.0

type GenerateSSH struct {
	EncryptionMode string `json:"encryptionMode" validate:"required,oneof=rsa ed25519 ecdsa dsa"`
	Password       string `json:"password"`
}

type GroupCreate

type GroupCreate struct {
	ID   uint   `json:"id"`
	Name string `json:"name" validate:"required"`
	Type string `json:"type" validate:"required"`
}

type GroupInfo

type GroupInfo struct {
	ID        uint   `json:"id"`
	Name      string `json:"name"`
	Type      string `json:"type"`
	IsDefault bool   `json:"isDefault"`
}

type GroupSearch

type GroupSearch struct {
	Type string `json:"type" validate:"required"`
}

type GroupUpdate

type GroupUpdate struct {
	ID        uint   `json:"id"`
	Name      string `json:"name"`
	Type      string `json:"type" validate:"required"`
	IsDefault bool   `json:"isDefault"`
}

type HostConnTest

type HostConnTest struct {
	Addr       string `json:"addr" validate:"required"`
	Port       uint   `json:"port" validate:"required,number,max=65535,min=1"`
	User       string `json:"user" validate:"required"`
	AuthMode   string `json:"authMode" validate:"oneof=password key"`
	Password   string `json:"password"`
	PrivateKey string `json:"privateKey"`
	PassPhrase string `json:"passPhrase"`
}

type HostHelper added in v1.9.0

type HostHelper struct {
	IP   string `json:"ip"`
	Host string `json:"host"`
}

type HostInfo

type HostInfo struct {
	ID               uint      `json:"id"`
	CreatedAt        time.Time `json:"createdAt"`
	GroupID          uint      `json:"groupID"`
	GroupBelong      string    `json:"groupBelong"`
	Name             string    `json:"name"`
	Addr             string    `json:"addr"`
	Port             uint      `json:"port"`
	User             string    `json:"user"`
	AuthMode         string    `json:"authMode"`
	Password         string    `json:"password"`
	PrivateKey       string    `json:"privateKey"`
	PassPhrase       string    `json:"passPhrase"`
	RememberPassword bool      `json:"rememberPassword"`

	Description string `json:"description"`
}

type HostOperate

type HostOperate struct {
	ID               uint   `json:"id"`
	GroupID          uint   `json:"groupID"`
	Name             string `json:"name"`
	Addr             string `json:"addr" validate:"required"`
	Port             uint   `json:"port" validate:"required,number,max=65535,min=1"`
	User             string `json:"user" validate:"required"`
	AuthMode         string `json:"authMode" validate:"oneof=password key"`
	Password         string `json:"password"`
	PrivateKey       string `json:"privateKey"`
	PassPhrase       string `json:"passPhrase"`
	RememberPassword bool   `json:"rememberPassword"`

	Description string `json:"description"`
}

type HostTree

type HostTree struct {
	ID       uint        `json:"id"`
	Label    string      `json:"label"`
	Children []TreeChild `json:"children"`
}

type ImageBuild

type ImageBuild struct {
	From       string   `json:"from" validate:"required"`
	Name       string   `json:"name" validate:"required"`
	Dockerfile string   `json:"dockerfile" validate:"required"`
	Tags       []string `json:"tags"`
}

type ImageInfo

type ImageInfo struct {
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"createdAt"`
	IsUsed    bool      `json:"isUsed"`
	Tags      []string  `json:"tags"`
	Size      string    `json:"size"`
}

type ImageLoad

type ImageLoad struct {
	Path string `json:"path" validate:"required"`
}

type ImagePull

type ImagePull struct {
	RepoID    uint   `json:"repoID"`
	ImageName string `json:"imageName" validate:"required"`
}

type ImagePush

type ImagePush struct {
	RepoID  uint   `json:"repoID" validate:"required"`
	TagName string `json:"tagName" validate:"required"`
	Name    string `json:"name" validate:"required"`
}

type ImageRepoCreate

type ImageRepoCreate struct {
	Name        string `json:"name" validate:"required"`
	DownloadUrl string `json:"downloadUrl"`
	Protocol    string `json:"protocol"`
	Username    string `json:"username" validate:"max=256"`
	Password    string `json:"password" validate:"max=256"`
	Auth        bool   `json:"auth"`
}

type ImageRepoDelete

type ImageRepoDelete struct {
	Ids []uint `json:"ids" validate:"required"`
}

type ImageRepoInfo

type ImageRepoInfo struct {
	ID          uint      `json:"id"`
	CreatedAt   time.Time `json:"createdAt"`
	Name        string    `json:"name"`
	DownloadUrl string    `json:"downloadUrl"`
	Protocol    string    `json:"protocol"`
	Username    string    `json:"username"`
	Auth        bool      `json:"auth"`

	Status  string `json:"status"`
	Message string `json:"message"`
}

type ImageRepoOption

type ImageRepoOption struct {
	ID          uint   `json:"id"`
	Name        string `json:"name"`
	DownloadUrl string `json:"downloadUrl"`
}

type ImageRepoUpdate

type ImageRepoUpdate struct {
	ID          uint   `json:"id"`
	DownloadUrl string `json:"downloadUrl"`
	Protocol    string `json:"protocol"`
	Username    string `json:"username" validate:"max=256"`
	Password    string `json:"password" validate:"max=256"`
	Auth        bool   `json:"auth"`
}

type ImageSave

type ImageSave struct {
	TagName string `json:"tagName" validate:"required"`
	Path    string `json:"path" validate:"required"`
	Name    string `json:"name" validate:"required"`
}

type ImageTag

type ImageTag struct {
	SourceID   string `json:"sourceID" validate:"required"`
	TargetName string `json:"targetName" validate:"required"`
}

type InspectReq

type InspectReq struct {
	ID   string `json:"id" validate:"required"`
	Type string `json:"type" validate:"required"`
}

type Ipv6Option added in v1.9.0

type Ipv6Option struct {
	FixedCidrV6  string `json:"fixedCidrV6"`
	Ip6Tables    bool   `json:"ip6Tables" validate:"required"`
	Experimental bool   `json:"experimental"`
}

type LocalAppAppDefine added in v1.3.0

type LocalAppAppDefine struct {
	AppProperty model.App `json:"additionalProperties" yaml:"additionalProperties"`
}

type LocalAppInstallDefine added in v1.3.0

type LocalAppInstallDefine struct {
	FormFields interface{} `json:"formFields" yaml:"formFields"`
}

type LocalAppParam added in v1.3.0

type LocalAppParam struct {
	AppParams LocalAppInstallDefine `json:"additionalProperties" yaml:"additionalProperties"`
}

type LogOption added in v1.3.0

type LogOption struct {
	LogMaxSize string `json:"logMaxSize"`
	LogMaxFile string `json:"logMaxFile"`
}

type Login

type Login struct {
	Name          string `json:"name" validate:"required"`
	Password      string `json:"password" validate:"required"`
	IgnoreCaptcha bool   `json:"ignoreCaptcha"`
	Captcha       string `json:"captcha"`
	CaptchaID     string `json:"captchaID"`
	AuthMethod    string `json:"authMethod" validate:"required,oneof=jwt session"`
	Language      string `json:"language" validate:"required,oneof=zh en tw"`
}

type LoginLog

type LoginLog struct {
	ID        uint      `json:"id"`
	IP        string    `json:"ip"`
	Address   string    `json:"address"`
	Agent     string    `json:"agent"`
	Status    string    `json:"status"`
	Message   string    `json:"message"`
	CreatedAt time.Time `json:"createdAt"`
}

type MFALogin

type MFALogin struct {
	Name       string `json:"name" validate:"required"`
	Password   string `json:"password" validate:"required"`
	Code       string `json:"code" validate:"required"`
	AuthMethod string `json:"authMethod"`
}

type MfaCredential

type MfaCredential struct {
	Secret   string `json:"secret" validate:"required"`
	Code     string `json:"code" validate:"required"`
	Interval string `json:"interval" validate:"required"`
}

type MfaRequest added in v1.7.0

type MfaRequest struct {
	Title    string `json:"title" validate:"required"`
	Interval int    `json:"interval" validate:"required"`
}

type MinioAuthParam added in v1.9.0

type MinioAuthParam struct {
	RootPassword string `json:"PANEL_MINIO_ROOT_PASSWORD"`
	RootUser     string `json:"PANEL_MINIO_ROOT_USER"`
}

type MonitorData

type MonitorData struct {
	Param string        `json:"param" validate:"required,oneof=cpu memory load io network"`
	Date  []time.Time   `json:"date"`
	Value []interface{} `json:"value"`
}

type MonitorSearch

type MonitorSearch struct {
	Param     string    `json:"param" validate:"required,oneof=all cpu memory load io network"`
	Info      string    `json:"info"`
	StartTime time.Time `json:"startTime"`
	EndTime   time.Time `json:"endTime"`
}

type MysqlDBCreate

type MysqlDBCreate struct {
	Name        string `json:"name" validate:"required"`
	From        string `json:"from" validate:"required,oneof=local remote"`
	Database    string `json:"database" validate:"required"`
	Format      string `json:"format" validate:"required,oneof=utf8mb4 utf8 gbk big5"`
	Username    string `json:"username" validate:"required"`
	Password    string `json:"password" validate:"required"`
	Permission  string `json:"permission" validate:"required"`
	Description string `json:"description"`
}

type MysqlDBDelete

type MysqlDBDelete struct {
	ID           uint   `json:"id" validate:"required"`
	Type         string `json:"type" validate:"required,oneof=mysql mariadb"`
	Database     string `json:"database" validate:"required"`
	ForceDelete  bool   `json:"forceDelete"`
	DeleteBackup bool   `json:"deleteBackup"`
}

type MysqlDBDeleteCheck added in v1.6.0

type MysqlDBDeleteCheck struct {
	ID       uint   `json:"id" validate:"required"`
	Type     string `json:"type" validate:"required,oneof=mysql mariadb"`
	Database string `json:"database" validate:"required"`
}

type MysqlDBInfo

type MysqlDBInfo struct {
	ID          uint      `json:"id"`
	CreatedAt   time.Time `json:"createdAt"`
	Name        string    `json:"name"`
	From        string    `json:"from"`
	MysqlName   string    `json:"mysqlName"`
	Format      string    `json:"format"`
	Username    string    `json:"username"`
	Password    string    `json:"password"`
	Permission  string    `json:"permission"`
	BackupCount int       `json:"backupCount"`
	Description string    `json:"description"`
}

type MysqlDBSearch added in v1.5.0

type MysqlDBSearch struct {
	PageInfo
	Info     string `json:"info"`
	Database string `json:"database" validate:"required"`
	OrderBy  string `json:"orderBy"`
	Order    string `json:"order"`
}

mysql

type MysqlLoadDB added in v1.6.0

type MysqlLoadDB struct {
	From     string `json:"from" validate:"required,oneof=local remote"`
	Type     string `json:"type" validate:"required,oneof=mysql mariadb"`
	Database string `json:"database" validate:"required"`
}

type MysqlOption added in v1.5.0

type MysqlOption struct {
	ID       uint   `json:"id"`
	From     string `json:"from"`
	Type     string `json:"type"`
	Database string `json:"database"`
	Name     string `json:"name"`
}

type MysqlStatus

type MysqlStatus struct {
	AbortedClients               string `json:"Aborted_clients"`
	AbortedConnects              string `json:"Aborted_connects"`
	BytesReceived                string `json:"Bytes_received"`
	BytesSent                    string `json:"Bytes_sent"`
	ComCommit                    string `json:"Com_commit"`
	ComRollback                  string `json:"Com_rollback"`
	Connections                  string `json:"Connections"`
	CreatedTmpDiskTables         string `json:"Created_tmp_disk_tables"`
	CreatedTmpTables             string `json:"Created_tmp_tables"`
	InnodbBufferPoolPagesDirty   string `json:"Innodb_buffer_pool_pages_dirty"`
	InnodbBufferPoolReadRequests string `json:"Innodb_buffer_pool_read_requests"`
	InnodbBufferPoolReads        string `json:"Innodb_buffer_pool_reads"`
	KeyReadRequests              string `json:"Key_read_requests"`
	KeyReads                     string `json:"Key_reads"`
	KeyWriteEequests             string `json:"Key_write_requests"`
	KeyWrites                    string `json:"Key_writes"`
	MaxUsedConnections           string `json:"Max_used_connections"`
	OpenTables                   string `json:"Open_tables"`
	OpenedFiles                  string `json:"Opened_files"`
	OpenedTables                 string `json:"Opened_tables"`
	QcacheHits                   string `json:"Qcache_hits"`
	QcacheInserts                string `json:"Qcache_inserts"`
	Questions                    string `json:"Questions"`
	SelectFullJoin               string `json:"Select_full_join"`
	SelectRangeCheck             string `json:"Select_range_check"`
	SortMergePasses              string `json:"Sort_merge_passes"`
	TableLocksWaited             string `json:"Table_locks_waited"`
	ThreadsCached                string `json:"Threads_cached"`
	ThreadsConnected             string `json:"Threads_connected"`
	ThreadsCreated               string `json:"Threads_created"`
	ThreadsRunning               string `json:"Threads_running"`
	Uptime                       string `json:"Uptime"`
	Run                          string `json:"Run"`
	File                         string `json:"File"`
	Position                     string `json:"Position"`
}

type MysqlVariables

type MysqlVariables struct {
	BinlogCachSize       string `json:"binlog_cache_size"`
	InnodbBufferPoolSize string `json:"innodb_buffer_pool_size"`
	InnodbLogBufferSize  string `json:"innodb_log_buffer_size"`
	JoinBufferSize       string `json:"join_buffer_size"`
	KeyBufferSize        string `json:"key_buffer_size"`
	MaxConnections       string `json:"max_connections"`
	MaxHeapTableSize     string `json:"max_heap_table_size"`
	QueryCacheSize       string `json:"query_cache_size"`
	QueryCache_type      string `json:"query_cache_type"`
	ReadBufferSize       string `json:"read_buffer_size"`
	ReadRndBufferSize    string `json:"read_rnd_buffer_size"`
	SortBufferSize       string `json:"sort_buffer_size"`
	TableOpenCache       string `json:"table_open_cache"`
	ThreadCacheSize      string `json:"thread_cache_size"`
	ThreadStack          string `json:"thread_stack"`
	TmpTableSize         string `json:"tmp_table_size"`

	SlowQueryLog  string `json:"slow_query_log"`
	LongQueryTime string `json:"long_query_time"`
}

type MysqlVariablesUpdate

type MysqlVariablesUpdate struct {
	Type      string                       `json:"type" validate:"required,oneof=mysql mariadb"`
	Database  string                       `json:"database" validate:"required"`
	Variables []MysqlVariablesUpdateHelper `json:"variables"`
}

type MysqlVariablesUpdateHelper added in v1.6.0

type MysqlVariablesUpdateHelper struct {
	Param string      `json:"param"`
	Value interface{} `json:"value"`
}

type Network

type Network struct {
	ID         string    `json:"id"`
	Name       string    `json:"name"`
	Labels     []string  `json:"labels"`
	Driver     string    `json:"driver"`
	IPAMDriver string    `json:"ipamDriver"`
	Subnet     string    `json:"subnet"`
	Gateway    string    `json:"gateway"`
	CreatedAt  time.Time `json:"createdAt"`
	Attachable bool      `json:"attachable"`
}

type NetworkCreate added in v1.3.0

type NetworkCreate struct {
	Name       string          `json:"name" validate:"required"`
	Driver     string          `json:"driver" validate:"required"`
	Options    []string        `json:"options"`
	Ipv4       bool            `json:"ipv4"`
	Subnet     string          `json:"subnet"`
	Gateway    string          `json:"gateway"`
	IPRange    string          `json:"ipRange"`
	AuxAddress []SettingUpdate `json:"auxAddress"`

	Ipv6         bool            `json:"ipv6"`
	SubnetV6     string          `json:"subnetV6"`
	GatewayV6    string          `json:"gatewayV6"`
	IPRangeV6    string          `json:"ipRangeV6"`
	AuxAddressV6 []SettingUpdate `json:"auxAddressV6"`
	Labels       []string        `json:"labels"`
}

type NginxAuth added in v1.2.0

type NginxAuth struct {
	Username string `json:"username"`
	Remark   string `json:"remark"`
}

type NginxConfig

type NginxConfig struct {
	FilePath   string
	Config     *components.Config
	OldContent string
}

type NginxFull

type NginxFull struct {
	Install    model.AppInstall
	Website    model.Website
	ConfigDir  string
	ConfigFile string
	SiteDir    string
	Dir        string
	RootConfig NginxConfig
	SiteConfig NginxConfig
}

type NginxKey

type NginxKey string
const (
	Index      NginxKey = "index"
	LimitConn  NginxKey = "limit-conn"
	SSL        NginxKey = "ssl"
	CACHE      NginxKey = "cache"
	HttpPer    NginxKey = "http-per"
	ProxyCache NginxKey = "proxy-cache"
)

type NginxParam

type NginxParam struct {
	UpdateScope string
	Name        string
	Params      []string
}

type OneDriveInfo added in v1.9.5

type OneDriveInfo struct {
	ClientID     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	RedirectUri  string `json:"redirect_uri"`
}

type Operate added in v1.3.0

type Operate struct {
	Operation string `json:"operation" validate:"required"`
}

type OperateByID

type OperateByID struct {
	ID uint `json:"id" validate:"required"`
}

type OperationLog

type OperationLog struct {
	ID     uint   `json:"id"`
	Source string `json:"source"`

	IP        string `json:"ip"`
	Path      string `json:"path"`
	Method    string `json:"method"`
	UserAgent string `json:"userAgent"`

	Latency time.Duration `json:"latency"`
	Status  string        `json:"status"`
	Message string        `json:"message"`

	DetailZH  string    `json:"detailZH"`
	DetailEN  string    `json:"detailEN"`
	CreatedAt time.Time `json:"createdAt"`
}

type OperationWithName

type OperationWithName struct {
	Name string `json:"name" validate:"required"`
}

type OperationWithNameAndType

type OperationWithNameAndType struct {
	Name string `json:"name"`
	Type string `json:"type" validate:"required"`
}

type Options

type Options struct {
	Option string `json:"option"`
}

type PageContainer

type PageContainer struct {
	PageInfo
	Name            string `json:"name"`
	State           string `json:"state" validate:"required,oneof=all created running paused restarting removing exited dead"`
	OrderBy         string `json:"orderBy"`
	Order           string `json:"order"`
	Filters         string `json:"filters"`
	ExcludeAppStore bool   `json:"excludeAppStore"`
}

type PageInfo

type PageInfo struct {
	Page     int `json:"page" validate:"required,number"`
	PageSize int `json:"pageSize" validate:"required,number"`
}

type PageResult

type PageResult struct {
	Total int64       `json:"total"`
	Items interface{} `json:"items"`
}

type PasswordUpdate

type PasswordUpdate struct {
	OldPassword string `json:"oldPassword" validate:"required"`
	NewPassword string `json:"newPassword" validate:"required"`
}

type PortHelper

type PortHelper struct {
	HostIP        string `json:"hostIP"`
	HostPort      string `json:"hostPort"`
	ContainerPort string `json:"containerPort"`
	Protocol      string `json:"protocol"`
}

type PortRuleOperate added in v1.1.0

type PortRuleOperate struct {
	Operation string `json:"operation" validate:"required,oneof=add remove"`
	Address   string `json:"address"`
	Port      string `json:"port" validate:"required"`
	Protocol  string `json:"protocol" validate:"required,oneof=tcp udp tcp/udp"`
	Strategy  string `json:"strategy" validate:"required,oneof=accept drop"`

	Description string `json:"description"`
}

type PortRuleUpdate added in v1.1.0

type PortRuleUpdate struct {
	OldRule PortRuleOperate `json:"oldRule"`
	NewRule PortRuleOperate `json:"newRule"`
}

type PortUpdate

type PortUpdate struct {
	ServerPort uint `json:"serverPort" validate:"required,number,max=65535,min=1"`
}

type PostgresqlBindUser added in v1.9.3

type PostgresqlBindUser struct {
	Name      string `json:"name" validate:"required"`
	Database  string `json:"database" validate:"required"`
	Username  string `json:"username" validate:"required"`
	Password  string `json:"password" validate:"required"`
	SuperUser bool   `json:"superUser"`
}

type PostgresqlConfUpdateByFile added in v1.9.3

type PostgresqlConfUpdateByFile struct {
	Type     string `json:"type" validate:"required,oneof=postgresql mariadb"`
	Database string `json:"database" validate:"required"`
	File     string `json:"file"`
}

type PostgresqlDBCreate added in v1.9.3

type PostgresqlDBCreate struct {
	Name        string `json:"name" validate:"required"`
	From        string `json:"from" validate:"required,oneof=local remote"`
	Database    string `json:"database" validate:"required"`
	Format      string `json:"format"`
	Username    string `json:"username" validate:"required"`
	Password    string `json:"password" validate:"required"`
	SuperUser   bool   `json:"superUser"`
	Description string `json:"description"`
}

type PostgresqlDBDelete added in v1.9.3

type PostgresqlDBDelete struct {
	ID           uint   `json:"id" validate:"required"`
	Type         string `json:"type" validate:"required,oneof=postgresql"`
	Database     string `json:"database" validate:"required"`
	ForceDelete  bool   `json:"forceDelete"`
	DeleteBackup bool   `json:"deleteBackup"`
}

type PostgresqlDBDeleteCheck added in v1.9.3

type PostgresqlDBDeleteCheck struct {
	ID       uint   `json:"id" validate:"required"`
	Type     string `json:"type" validate:"required,oneof=postgresql"`
	Database string `json:"database" validate:"required"`
}

type PostgresqlDBInfo added in v1.9.3

type PostgresqlDBInfo struct {
	ID             uint      `json:"id"`
	CreatedAt      time.Time `json:"createdAt"`
	Name           string    `json:"name"`
	From           string    `json:"from"`
	PostgresqlName string    `json:"postgresqlName"`
	Format         string    `json:"format"`
	Username       string    `json:"username"`
	Password       string    `json:"password"`
	SuperUser      bool      `json:"superUser"`
	BackupCount    int       `json:"backupCount"`
	Description    string    `json:"description"`
}

type PostgresqlDBSearch added in v1.9.3

type PostgresqlDBSearch struct {
	PageInfo
	Info     string `json:"info"`
	Database string `json:"database" validate:"required"`
	OrderBy  string `json:"orderBy"`
	Order    string `json:"order"`
}

type PostgresqlLoadDB added in v1.9.3

type PostgresqlLoadDB struct {
	From     string `json:"from" validate:"required,oneof=local remote"`
	Type     string `json:"type" validate:"required,oneof=postgresql"`
	Database string `json:"database" validate:"required"`
}

type PostgresqlOption added in v1.9.3

type PostgresqlOption struct {
	ID       uint   `json:"id"`
	From     string `json:"from"`
	Type     string `json:"type"`
	Database string `json:"database"`
	Name     string `json:"name"`
}

type PostgresqlPrivileges added in v1.9.3

type PostgresqlPrivileges struct {
	Name      string `json:"name" validate:"required"`
	Database  string `json:"database" validate:"required"`
	Username  string `json:"username" validate:"required"`
	SuperUser bool   `json:"superUser"`
}

type Record

type Record struct {
	ID         uint      `json:"id"`
	StartTime  time.Time `json:"startTime"`
	Records    string    `json:"records"`
	Status     string    `json:"status"`
	Message    string    `json:"message"`
	TargetPath string    `json:"targetPath"`
	Interval   int       `json:"interval"`
	File       string    `json:"file"`
}

type RecordSearch

type RecordSearch struct {
	PageInfo
	Type       string `json:"type" validate:"required"`
	Name       string `json:"name"`
	DetailName string `json:"detailName"`
}

type RecordSearchByCronjob added in v1.9.5

type RecordSearchByCronjob struct {
	PageInfo
	CronjobID uint `json:"cronjobID" validate:"required"`
}

type RedisAuthParam added in v1.5.0

type RedisAuthParam struct {
	RootPassword string `json:"PANEL_REDIS_ROOT_PASSWORD"`
}

type RedisBackupRecover

type RedisBackupRecover struct {
	FileName string `json:"fileName"`
	FileDir  string `json:"fileDir"`
}

type RedisConf

type RedisConf struct {
	Name          string `json:"name"`
	Port          int64  `json:"port"`
	ContainerName string `json:"containerName"`
	Timeout       string `json:"timeout"`
	Maxclients    string `json:"maxclients"`
	Requirepass   string `json:"requirepass"`
	Maxmemory     string `json:"maxmemory"`
}

type RedisConfPersistenceUpdate

type RedisConfPersistenceUpdate struct {
	Type        string `json:"type" validate:"required,oneof=aof rbd"`
	Appendonly  string `json:"appendonly"`
	Appendfsync string `json:"appendfsync"`
	Save        string `json:"save"`
}

type RedisConfUpdate

type RedisConfUpdate struct {
	Timeout    string `json:"timeout"`
	Maxclients string `json:"maxclients"`
	Maxmemory  string `json:"maxmemory"`
}

type RedisConfUpdateByFile

type RedisConfUpdateByFile struct {
	File       string `json:"file" validate:"required"`
	RestartNow bool   `json:"restartNow"`
}

type RedisPersistence

type RedisPersistence struct {
	Appendonly  string `json:"appendonly"`
	Appendfsync string `json:"appendfsync"`
	Save        string `json:"save"`
}

type RedisStatus

type RedisStatus struct {
	TcpPort                  string `json:"tcp_port"`
	UptimeInDays             string `json:"uptime_in_days"`
	ConnectedClients         string `json:"connected_clients"`
	UsedMemory               string `json:"used_memory"`
	UsedMemory_rss           string `json:"used_memory_rss"`
	UsedMemory_peak          string `json:"used_memory_peak"`
	MemFragmentationRatio    string `json:"mem_fragmentation_ratio"`
	TotalConnectionsReceived string `json:"total_connections_received"`
	TotalCommandsProcessed   string `json:"total_commands_processed"`
	InstantaneousOpsPerSec   string `json:"instantaneous_ops_per_sec"`
	KeyspaceHits             string `json:"keyspace_hits"`
	KeyspaceMisses           string `json:"keyspace_misses"`
	LatestForkUsec           string `json:"latest_fork_usec"`
}

type ResourceLimit added in v1.4.0

type ResourceLimit struct {
	CPU    int `json:"cpu"`
	Memory int `json:"memory"`
}

type Response

type Response struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

type RuleSearch added in v1.1.0

type RuleSearch struct {
	PageInfo
	Info     string `json:"info"`
	Status   string `json:"status"`
	Strategy string `json:"strategy"`
	Type     string `json:"type" validate:"required"`
}

type SSHConf added in v1.3.0

type SSHConf struct {
	File string `json:"file"`
}

type SSHHistory added in v1.3.0

type SSHHistory struct {
	Date     time.Time `json:"date"`
	DateStr  string    `json:"dateStr"`
	Area     string    `json:"area"`
	User     string    `json:"user"`
	AuthMode string    `json:"authMode"`
	Address  string    `json:"address"`
	Port     string    `json:"port"`
	Status   string    `json:"status"`
	Message  string    `json:"message"`
}

type SSHInfo added in v1.3.0

type SSHInfo struct {
	AutoStart              bool   `json:"autoStart"`
	Status                 string `json:"status"`
	Message                string `json:"message"`
	Port                   string `json:"port"`
	ListenAddress          string `json:"listenAddress"`
	PasswordAuthentication string `json:"passwordAuthentication"`
	PubkeyAuthentication   string `json:"pubkeyAuthentication"`
	PermitRootLogin        string `json:"permitRootLogin"`
	UseDNS                 string `json:"useDNS"`
}

type SSHLog added in v1.3.0

type SSHLog struct {
	Logs            []SSHHistory `json:"logs"`
	TotalCount      int          `json:"totalCount"`
	SuccessfulCount int          `json:"successfulCount"`
	FailedCount     int          `json:"failedCount"`
}

type SSHUpdate added in v1.8.0

type SSHUpdate struct {
	Key      string `json:"key" validate:"required"`
	OldValue string `json:"oldValue"`
	NewValue string `json:"newValue"`
}

type SSLInfo added in v1.2.0

type SSLInfo struct {
	Domain   string `json:"domain"`
	Timeout  string `json:"timeout"`
	RootPath string `json:"rootPath"`
	Cert     string `json:"cert"`
	Key      string `json:"key"`
	SSLID    uint   `json:"sslID"`
}

type SSLUpdate added in v1.2.0

type SSLUpdate struct {
	SSLType string `json:"sslType" validate:"required,oneof=self select import import-paste import-local"`
	Domain  string `json:"domain"`
	SSL     string `json:"ssl" validate:"required,oneof=enable disable"`
	Cert    string `json:"cert"`
	Key     string `json:"key"`
	SSLID   uint   `json:"sslID"`
}

type SearchCommandWithPage added in v1.8.0

type SearchCommandWithPage struct {
	SearchWithPage
	OrderBy string `json:"orderBy"`
	Order   string `json:"order"`
	GroupID uint   `json:"groupID"`
	Info    string `json:"info"`
}

type SearchForTree

type SearchForTree struct {
	Info string `json:"info"`
}

type SearchHostWithPage

type SearchHostWithPage struct {
	PageInfo
	GroupID uint   `json:"groupID"`
	Info    string `json:"info"`
}

type SearchLgLogWithPage

type SearchLgLogWithPage struct {
	PageInfo
	IP     string `json:"ip"`
	Status string `json:"status"`
}

type SearchOpLogWithPage

type SearchOpLogWithPage struct {
	PageInfo
	Source    string `json:"source"`
	Status    string `json:"status"`
	Operation string `json:"operation"`
}

type SearchRecord

type SearchRecord struct {
	PageInfo
	CronjobID int       `json:"cronjobID"`
	StartTime time.Time `json:"startTime"`
	EndTime   time.Time `json:"endTime"`
	Status    string    `json:"status"`
}

type SearchSSHLog added in v1.3.0

type SearchSSHLog struct {
	PageInfo
	Info   string `json:"info"`
	Status string `json:"Status" validate:"required,oneof=Success Failed All"`
}

type SearchWithPage

type SearchWithPage struct {
	PageInfo
	Info    string `json:"info"`
	OrderBy string `json:"orderBy"`
	Order   string `json:"order"`
}

type SettingInfo

type SettingInfo struct {
	UserName       string `json:"userName"`
	Email          string `json:"email"`
	SystemIP       string `json:"systemIP"`
	SystemVersion  string `json:"systemVersion"`
	DockerSockPath string `json:"dockerSockPath"`

	SessionTimeout string `json:"sessionTimeout"`
	LocalTime      string `json:"localTime"`
	TimeZone       string `json:"timeZone"`
	NtpSite        string `json:"ntpSite"`

	Port           string `json:"port"`
	Ipv6           string `json:"ipv6"`
	BindAddress    string `json:"bindAddress"`
	PanelName      string `json:"panelName"`
	Theme          string `json:"theme"`
	Language       string `json:"language"`
	DefaultNetwork string `json:"defaultNetwork"`
	LastCleanTime  string `json:"lastCleanTime"`
	LastCleanSize  string `json:"lastCleanSize"`
	LastCleanData  string `json:"lastCleanData"`

	ServerPort             string `json:"serverPort"`
	SSL                    string `json:"ssl"`
	SSLType                string `json:"sslType"`
	BindDomain             string `json:"bindDomain"`
	AllowIPs               string `json:"allowIPs"`
	SecurityEntrance       string `json:"securityEntrance"`
	ExpirationDays         string `json:"expirationDays"`
	ExpirationTime         string `json:"expirationTime"`
	ComplexityVerification string `json:"complexityVerification"`
	MFAStatus              string `json:"mfaStatus"`
	MFASecret              string `json:"mfaSecret"`
	MFAInterval            string `json:"mfaInterval"`

	MonitorStatus    string `json:"monitorStatus"`
	MonitorInterval  string `json:"monitorInterval"`
	MonitorStoreDays string `json:"monitorStoreDays"`

	MessageType string `json:"messageType"`
	EmailVars   string `json:"emailVars"`
	WeChatVars  string `json:"weChatVars"`
	DingVars    string `json:"dingVars"`

	AppStoreVersion      string `json:"appStoreVersion"`
	AppStoreLastModified string `json:"appStoreLastModified"`
	AppStoreSyncStatus   string `json:"appStoreSyncStatus"`

	FileRecycleBin string `json:"fileRecycleBin"`
}

type SettingUpdate

type SettingUpdate struct {
	Key   string `json:"key" validate:"required"`
	Value string `json:"value"`
}

type SnapshotCreate

type SnapshotCreate struct {
	ID              uint   `json:"id"`
	From            string `json:"from" validate:"required"`
	DefaultDownload string `json:"defaultDownload" validate:"required"`
	Description     string `json:"description" validate:"max=256"`
}

type SnapshotImport

type SnapshotImport struct {
	From        string   `json:"from"`
	Names       []string `json:"names"`
	Description string   `json:"description" validate:"max=256"`
}

type SnapshotInfo

type SnapshotInfo struct {
	ID              uint      `json:"id"`
	Name            string    `json:"name"`
	Description     string    `json:"description" validate:"max=256"`
	From            string    `json:"from"`
	DefaultDownload string    `json:"defaultDownload"`
	Status          string    `json:"status"`
	Message         string    `json:"message"`
	CreatedAt       time.Time `json:"createdAt"`
	Version         string    `json:"version"`

	InterruptStep    string `json:"interruptStep"`
	RecoverStatus    string `json:"recoverStatus"`
	RecoverMessage   string `json:"recoverMessage"`
	LastRecoveredAt  string `json:"lastRecoveredAt"`
	RollbackStatus   string `json:"rollbackStatus"`
	RollbackMessage  string `json:"rollbackMessage"`
	LastRollbackedAt string `json:"lastRollbackedAt"`
}

type SnapshotRecover

type SnapshotRecover struct {
	IsNew      bool `json:"isNew"`
	ReDownload bool `json:"reDownload"`
	ID         uint `json:"id" validate:"required"`
}

type SnapshotStatus added in v1.6.0

type SnapshotStatus struct {
	Panel      string `json:"panel"`
	PanelInfo  string `json:"panelInfo"`
	DaemonJson string `json:"daemonJson"`
	AppData    string `json:"appData"`
	PanelData  string `json:"panelData"`
	BackupData string `json:"backupData"`

	Compress string `json:"compress"`
	Size     string `json:"size"`
	Upload   string `json:"upload"`
}

type SwapHelper added in v1.9.0

type SwapHelper struct {
	Path string `json:"path" validate:"required"`
	Size uint64 `json:"size"`
	Used string `json:"used"`

	IsNew bool `json:"isNew"`
}

type SyncTime added in v1.3.0

type SyncTime struct {
	NtpSite string `json:"ntpSite" validate:"required"`
}

type Tag

type Tag struct {
	Key  string `json:"key"`
	Name string `json:"name"`
	Sort int    `json:"sort"`
}

type TimeZoneOptions added in v1.9.0

type TimeZoneOptions struct {
	From  string   `json:"from"`
	Zones []string `json:"zones"`
}

type TreeChild

type TreeChild struct {
	ID    uint   `json:"id"`
	Label string `json:"label"`
}

type UpdateByFile added in v1.9.0

type UpdateByFile struct {
	File string `json:"file"`
}

type UpdateByNameAndFile added in v1.9.0

type UpdateByNameAndFile struct {
	Name string `json:"name"`
	File string `json:"file"`
}

type UpdateDescription

type UpdateDescription struct {
	ID          uint   `json:"id" validate:"required"`
	Description string `json:"description" validate:"max=256"`
}

type UpdateFirewallDescription added in v1.6.0

type UpdateFirewallDescription struct {
	Type     string `json:"type"`
	Address  string `json:"address"`
	Port     string `json:"port"`
	Protocol string `json:"protocol"`
	Strategy string `json:"strategy" validate:"required,oneof=accept drop"`

	Description string `json:"description"`
}

type Upgrade

type Upgrade struct {
	Version string `json:"version" validate:"required"`
}

type UpgradeInfo

type UpgradeInfo struct {
	NewVersion    string `json:"newVersion"`
	LatestVersion string `json:"latestVersion"`
	ReleaseNote   string `json:"releaseNote"`
}

type UserLoginInfo

type UserLoginInfo struct {
	Name      string `json:"name"`
	Token     string `json:"token"`
	MfaStatus string `json:"mfaStatus"`
}

type Volume

type Volume struct {
	Name       string    `json:"name"`
	Labels     []string  `json:"labels"`
	Driver     string    `json:"driver"`
	Mountpoint string    `json:"mountpoint"`
	CreatedAt  time.Time `json:"createdAt"`
}

type VolumeCreate added in v1.3.0

type VolumeCreate struct {
	Name    string   `json:"name" validate:"required"`
	Driver  string   `json:"driver" validate:"required"`
	Options []string `json:"options"`
	Labels  []string `json:"labels"`
}

type VolumeHelper

type VolumeHelper struct {
	SourceDir    string `json:"sourceDir"`
	ContainerDir string `json:"containerDir"`
	Mode         string `json:"mode"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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