mirror of https://github.com/hashicorp/consul
32 lines
999 B
Go
32 lines
999 B
Go
|
package proxy
|
||
|
|
||
|
import (
|
||
|
"github.com/hashicorp/consul/agent/structs"
|
||
|
)
|
||
|
|
||
|
// snapshot is the structure of the snapshot file. This is unexported because
|
||
|
// we don't want this being a public API.
|
||
|
//
|
||
|
// The snapshot doesn't contain any configuration for the manager. We only
|
||
|
// want to restore the proxies that we're managing, and we use the config
|
||
|
// set at runtime to sync and reconcile what proxies we should start,
|
||
|
// restart, stop, or have already running.
|
||
|
type snapshot struct {
|
||
|
// Version is the version of the snapshot format and can be used
|
||
|
// to safely update the format in the future if necessary.
|
||
|
Version int
|
||
|
|
||
|
// Proxies are the set of proxies that the manager has.
|
||
|
Proxies []snapshotProxy
|
||
|
}
|
||
|
|
||
|
// snapshotProxy represents a single proxy.
|
||
|
type snapshotProxy struct {
|
||
|
// Mode corresponds to the type of proxy running.
|
||
|
Mode structs.ProxyExecMode
|
||
|
|
||
|
// Config is an opaque mapping of primitive values that the proxy
|
||
|
// implementation uses to restore state.
|
||
|
Config map[string]interface{}
|
||
|
}
|