Add support for image mirroring
This commit is contained in:
parent
d3d82ab265
commit
ef40638cd6
4 changed files with 26 additions and 1 deletions
docker/service
17
docker/service/image.tf
Normal file
17
docker/service/image.tf
Normal file
|
@ -0,0 +1,17 @@
|
|||
resource "docker_image" "mirror" {
|
||||
count = var.mirror != null ? 1 : 0
|
||||
name = data.docker_registry_image.image.name
|
||||
pull_triggers = [data.docker_registry_image.image.sha256_digest]
|
||||
force_remove = false
|
||||
}
|
||||
resource "docker_tag" "mirror" {
|
||||
count = var.mirror != null ? 1 : 0
|
||||
source_image = docker_image.mirror[0].name
|
||||
target_image = var.mirror
|
||||
}
|
||||
resource "docker_registry_image" "mirror" {
|
||||
count = var.mirror != null ? 1 : 0
|
||||
depends_on = [docker_tag.mirror[0]]
|
||||
name = docker_tag.mirror[0].target_image
|
||||
keep_remotely = true
|
||||
}
|
|
@ -1,6 +1,11 @@
|
|||
variable "image" {
|
||||
type = string
|
||||
}
|
||||
variable "mirror" {
|
||||
type = string
|
||||
default = null
|
||||
description = "Whether to mirror the image to the local registry. Value is the mirror location."
|
||||
}
|
||||
variable "command" {
|
||||
type = list(string)
|
||||
default = null
|
||||
|
|
|
@ -14,4 +14,7 @@ locals {
|
|||
"ooo.grey.service.image" = data.docker_registry_image.image.name
|
||||
"ooo.grey.service.image.digest" = data.docker_registry_image.image.sha256_digest
|
||||
})
|
||||
|
||||
# Calculate the docker image to use
|
||||
image = var.mirror != null ? "${docker_registry_image.mirror[0].name}@${docker_registry_image.mirror[0].sha256_digest}" : "${data.docker_registry_image.image.name}@${data.docker_registry_image.image.sha256_digest}"
|
||||
}
|
|
@ -9,7 +9,7 @@ resource "docker_service" "instance" {
|
|||
# Define the task spec
|
||||
task_spec {
|
||||
container_spec {
|
||||
image = "${data.docker_registry_image.image.name}@${data.docker_registry_image.image.sha256_digest}"
|
||||
image = local.image
|
||||
command = var.command
|
||||
env = var.environment_variables
|
||||
|
||||
|
|
Loading…
Reference in a new issue