|
9 | 9 | "compress/gzip" |
10 | 10 | "context" |
11 | 11 | "fmt" |
| 12 | + "io" |
12 | 13 | "os" |
13 | 14 | "path/filepath" |
14 | 15 | "strings" |
@@ -436,3 +437,32 @@ func getDockerClient() *client.Client { |
436 | 437 |
|
437 | 438 | return instance |
438 | 439 | } |
| 440 | + |
| 441 | +// PullImages pulls images |
| 442 | +func PullImages(stackVersion, agentVersion, kibanaVersion string) error { |
| 443 | + c := getDockerClient() |
| 444 | + ctx := context.Background() |
| 445 | + images := []string{ |
| 446 | + "docker.elastic.co/beats/elastic-agent:" + agentVersion, |
| 447 | + "docker.elastic.co/beats/elastic-agent-ubi8:" + agentVersion, |
| 448 | + "docker.elastic.co/elasticsearch/elasticsearch:" + stackVersion, |
| 449 | + "docker.elastic.co/kibana/kibana:" + kibanaVersion, |
| 450 | + "docker.elastic.co/observability-ci/elastic-agent:" + agentVersion, |
| 451 | + "docker.elastic.co/observability-ci/elastic-agent-ubi8:" + agentVersion, |
| 452 | + "docker.elastic.co/observability-ci/elasticsearch:" + stackVersion, |
| 453 | + "docker.elastic.co/observability-ci/elasticsearch-ubi8:" + stackVersion, |
| 454 | + "docker.elastic.co/observability-ci/kibana:" + kibanaVersion, |
| 455 | + "docker.elastic.co/observability-ci/kibana-ubi8:" + kibanaVersion, |
| 456 | + } |
| 457 | + for _, image := range images { |
| 458 | + r, err := c.ImagePull(ctx, image, types.ImagePullOptions{}) |
| 459 | + if err != nil { |
| 460 | + return err |
| 461 | + } |
| 462 | + _, err = io.Copy(os.Stdout, r) |
| 463 | + if err != nil { |
| 464 | + return err |
| 465 | + } |
| 466 | + } |
| 467 | + return nil |
| 468 | +} |
0 commit comments