zrok/environment/env_core/model.go
2024-09-26 14:34:55 -04:00

50 lines
1.0 KiB
Go

package env_core
import "github.com/openziti/zrok/rest_client_zrok"
// Root is the primary interface encapsulating the on-disk environment data.
type Root interface {
Metadata() *Metadata
Obliterate() error
HasConfig() (bool, error)
Config() *Config
SetConfig(cfg *Config) error
Client() (*rest_client_zrok.Zrok, error)
ApiEndpoint() (string, string)
DefaultFrontend() (string, string)
Headless() (bool, string)
IsEnabled() bool
Environment() *Environment
SetEnvironment(env *Environment) error
DeleteEnvironment() error
PublicIdentityName() string
EnvironmentIdentityName() string
ZitiIdentityNamed(name string) (string, error)
SaveZitiIdentityNamed(name, data string) error
DeleteZitiIdentityNamed(name string) error
AgentSocket() (string, error)
}
type Environment struct {
Token string
ZitiIdentity string
ApiEndpoint string
}
type Config struct {
ApiEndpoint string
DefaultFrontend string
Headless bool
}
type Metadata struct {
V string
RootPath string
}