forked from remind101/empire
/
events.go
31 lines (25 loc) · 1.1 KB
/
events.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package empire
import (
"fmt"
"github.com/docker/docker/pkg/jsonmessage"
)
// Event defines an interface for events within empire.
type Event interface {
// The type of event, e.g. "deploy", "error", "docker"
Event() string
}
type DockerEvent jsonmessage.JSONMessage
func (e *DockerEvent) Event() string {
return "docker"
}
// FakeDockerPull returns a slice of events that look like a docker pull.
func FakeDockerPull(image Image) []DockerEvent {
return []DockerEvent{
{Status: fmt.Sprintf("Pulling repository %s", image.Repo)},
{Status: fmt.Sprintf("Pulling image (%s) from %s", image.ID, image.Repo), Progress: &jsonmessage.JSONProgress{}, ID: "345c7524bc96"},
{Status: fmt.Sprintf("Pulling image (%s) from %s, endpoint: https://registry-1.docker.io/v1/", image.ID, image.Repo), Progress: &jsonmessage.JSONProgress{}, ID: "345c7524bc96"},
{Status: "Pulling dependent layers", Progress: &jsonmessage.JSONProgress{}, ID: "345c7524bc96"},
{Status: "Download complete", Progress: &jsonmessage.JSONProgress{}, ID: "a1dd7097a8e8"},
{Status: fmt.Sprintf("Status: Image is up to date for %s", image)},
}
}