diff --git a/nodeup/pkg/model/containerd.go b/nodeup/pkg/model/containerd.go index 8d84ac40c2..772582e1a6 100644 --- a/nodeup/pkg/model/containerd.go +++ b/nodeup/pkg/model/containerd.go @@ -58,15 +58,36 @@ var containerdVersions = []packageVersion{ Architectures: []architectures.Architecture{architectures.ArchitectureAmd64}, Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.10.linux-amd64.tar.gz", Hash: "9125a6ae5a89dfe9403fea7d03a8d8ba9fa97b6863ee8698c4e6c258fb14f1fd", + MapFiles: map[string]string{ + "./usr/local/bin": "/usr", + "./usr/local/sbin": "/usr", + }, }, - // 1.2.13 - Linux Generic + // 1.2.13 - Linux Generic AMD64 { PackageVersion: "1.2.13", PlainBinary: true, Architectures: []architectures.Architecture{architectures.ArchitectureAmd64}, Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.13.linux-amd64.tar.gz", Hash: "92d6ae6c60f6b068652b31811ce23d650ec0f6cc1e618ec9ae23db9321956258", + MapFiles: map[string]string{ + "./usr/local/bin": "/usr", + "./usr/local/sbin": "/usr", + }, + }, + + // 1.2.13 - Linux Generic ARM64 + { + PackageVersion: "1.2.13", + PlainBinary: true, + Architectures: []architectures.Architecture{architectures.ArchitectureArm64}, + Source: "https://download.docker.com/linux/static/stable/aarch64/docker-19.03.11.tgz", + Hash: "9cd49fe82f6b7ec413b04daef35bc0c87b01d6da67611e5beef36291538d3145", + MapFiles: map[string]string{ + "docker/c*": "/usr/bin", + "docker/runc": "/usr/bin", + }, }, // 1.3.4 - Linux Generic @@ -76,6 +97,10 @@ var containerdVersions = []packageVersion{ Architectures: []architectures.Architecture{architectures.ArchitectureAmd64}, Source: "https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.3.4.linux-amd64.tar.gz", Hash: "4616971c3ad21c24f2f2320fa1c085577a91032a068dd56a41c7c4b71a458087", + MapFiles: map[string]string{ + "./usr/local/bin": "/usr", + "./usr/local/sbin": "/usr", + }, }, // TIP: When adding the next version, copy the previous version, string replace the version and run: @@ -165,11 +190,8 @@ func (b *ContainerdBuilder) Build(c *fi.ModelBuilderContext) error { Name: "containerd.io", Source: dv.Source, Hash: dv.Hash, + MapFiles: dv.MapFiles, TargetDir: "/", - MapFiles: map[string]string{ - "./usr/local/bin": "/usr", - "./usr/local/sbin": "/usr", - }, } c.AddTask(packageTask) } else { diff --git a/nodeup/pkg/model/convenience.go b/nodeup/pkg/model/convenience.go index 0e952f0899..ef2c7d888b 100644 --- a/nodeup/pkg/model/convenience.go +++ b/nodeup/pkg/model/convenience.go @@ -148,6 +148,8 @@ type packageVersion struct { // PlainBinary indicates that the Source is not an OS, but a "bare" tar.gz PlainBinary bool + // MapFiles is the list of files to extract with corresponding directories for PlainBinary + MapFiles map[string]string // MarkImmutable is a list of files on which we should perform a `chattr +i ` MarkImmutable []string diff --git a/nodeup/pkg/model/docker.go b/nodeup/pkg/model/docker.go index 758d86d782..c1c6b1a19d 100644 --- a/nodeup/pkg/model/docker.go +++ b/nodeup/pkg/model/docker.go @@ -305,6 +305,9 @@ var dockerVersions = []packageVersion{ Architectures: []architectures.Architecture{architectures.ArchitectureAmd64}, Source: "https://download.docker.com/linux/static/stable/x86_64/docker-18.09.9.tgz", Hash: "82a362af7689038c51573e0fd0554da8703f0d06f4dfe95dd5bda5acf0ae45fb", + MapFiles: map[string]string{ + "docker/docker*": "/usr/bin", + }, }, // 19.03.4 - Linux Generic @@ -314,6 +317,9 @@ var dockerVersions = []packageVersion{ Architectures: []architectures.Architecture{architectures.ArchitectureAmd64}, Source: "https://download.docker.com/linux/static/stable/x86_64/docker-19.03.4.tgz", Hash: "efef2ad32d262674501e712351be0df9dd31d6034b175d0020c8f5d5c9c3fd10", + MapFiles: map[string]string{ + "docker/docker*": "/usr/bin", + }, }, // 19.03.8 - Linux Generic @@ -323,15 +329,33 @@ var dockerVersions = []packageVersion{ Architectures: []architectures.Architecture{architectures.ArchitectureAmd64}, Source: "https://download.docker.com/linux/static/stable/x86_64/docker-19.03.8.tgz", Hash: "7f4115dc6a3c19c917f8b9664d7b51c904def1c984e082c4600097433323cf6f", + MapFiles: map[string]string{ + "docker/docker*": "/usr/bin", + }, }, - // 19.03.11 - Linux Generic + // 19.03.11 - Linux Generic AMD64 { PackageVersion: "19.03.11", PlainBinary: true, Architectures: []architectures.Architecture{architectures.ArchitectureAmd64}, Source: "https://download.docker.com/linux/static/stable/x86_64/docker-19.03.11.tgz", Hash: "0f4336378f61ed73ed55a356ac19e46699a995f2aff34323ba5874d131548b9e", + MapFiles: map[string]string{ + "docker/docker*": "/usr/bin", + }, + }, + + // 19.03.11 - Linux Generic ARM64 + { + PackageVersion: "19.03.11", + PlainBinary: true, + Architectures: []architectures.Architecture{architectures.ArchitectureArm64}, + Source: "https://download.docker.com/linux/static/stable/aarch64/docker-19.03.11.tgz", + Hash: "9cd49fe82f6b7ec413b04daef35bc0c87b01d6da67611e5beef36291538d3145", + MapFiles: map[string]string{ + "docker/docker*": "/usr/bin", + }, }, // TIP: When adding the next version, copy the previous version, string replace the version and run: @@ -406,10 +430,8 @@ func (b *DockerBuilder) Build(c *fi.ModelBuilderContext) error { Name: "docker-ce", Source: dv.Source, Hash: dv.Hash, + MapFiles: dv.MapFiles, TargetDir: "/", - MapFiles: map[string]string{ - "docker/docker*": "/usr/bin", - }, } c.AddTask(packageTask)