traefik/pkg/plugins/types.go

31 lines
1.3 KiB
Go
Raw Normal View History

2020-04-20 16:36:34 +00:00
package plugins
// Descriptor The static part of a plugin configuration (prod).
type Descriptor struct {
// ModuleName (required)
2020-10-30 11:44:05 +00:00
ModuleName string `description:"plugin's module name." json:"moduleName,omitempty" toml:"moduleName,omitempty" yaml:"moduleName,omitempty" export:"true"`
2020-04-20 16:36:34 +00:00
// Version (required)
2020-10-30 11:44:05 +00:00
Version string `description:"plugin's version." json:"version,omitempty" toml:"version,omitempty" yaml:"version,omitempty" export:"true"`
2020-04-20 16:36:34 +00:00
}
// DevPlugin The static part of a plugin configuration (only for dev).
type DevPlugin struct {
// GoPath plugin's GOPATH. (required)
2020-10-30 11:44:05 +00:00
GoPath string `description:"plugin's GOPATH." json:"goPath,omitempty" toml:"goPath,omitempty" yaml:"goPath,omitempty" export:"true"`
2020-04-20 16:36:34 +00:00
// ModuleName (required)
2020-10-30 11:44:05 +00:00
ModuleName string `description:"plugin's module name." json:"moduleName,omitempty" toml:"moduleName,omitempty" yaml:"moduleName,omitempty" export:"true"`
2020-04-20 16:36:34 +00:00
}
// Manifest The plugin manifest.
type Manifest struct {
DisplayName string `yaml:"displayName"`
Type string `yaml:"type"`
Import string `yaml:"import"`
BasePkg string `yaml:"basePkg"`
Compatibility string `yaml:"compatibility"`
Summary string `yaml:"summary"`
TestData map[string]interface{} `yaml:"testData"`
}