mirror of
https://github.com/kreuzwerker/terraform-provider-docker.git
synced 2025-12-26 01:29:36 -05:00
* fix(service): remove image name suppress function * feat: add docker image data-source * docs(service): add example for iamge datasource usage * fix: image repo digest with tag determination * fix: always return a repoDigest * fix(image): deprecation notice for latest attribute * fix(ci): explicitly go get tfplugindocs * fix(ci): remove gocenter.io proxy
78 lines
1.7 KiB
HCL
78 lines
1.7 KiB
HCL
provider "docker" {
|
|
alias = "private"
|
|
registry_auth {
|
|
address = "127.0.0.1:15000"
|
|
}
|
|
}
|
|
|
|
data "docker_registry_image" "tftest_image" {
|
|
provider = "docker.private"
|
|
name = "%s"
|
|
insecure_skip_verify = true
|
|
}
|
|
resource "docker_image" "tftest_image" {
|
|
provider = "docker.private"
|
|
name = data.docker_registry_image.tftest_image.name
|
|
keep_locally = false
|
|
force_remove = true
|
|
pull_triggers = [data.docker_registry_image.tftest_image.sha256_digest]
|
|
}
|
|
|
|
resource "docker_service" "foo" {
|
|
provider = "docker.private"
|
|
name = "tftest-service-updateFailsAndRollbackConverge"
|
|
task_spec {
|
|
container_spec {
|
|
image = docker_image.tftest_image.repo_digest
|
|
stop_grace_period = "10s"
|
|
|
|
healthcheck {
|
|
test = ["CMD", "curl", "-f", "localhost:8080/health"]
|
|
interval = "5s"
|
|
timeout = "2s"
|
|
start_period = "0s"
|
|
retries = 4
|
|
}
|
|
}
|
|
}
|
|
|
|
mode {
|
|
replicated {
|
|
replicas = 2
|
|
}
|
|
}
|
|
|
|
update_config {
|
|
parallelism = 1
|
|
delay = "5s"
|
|
failure_action = "rollback"
|
|
monitor = "10s"
|
|
max_failure_ratio = "0.0"
|
|
order = "stop-first"
|
|
}
|
|
|
|
rollback_config {
|
|
parallelism = 1
|
|
delay = "1s"
|
|
failure_action = "pause"
|
|
monitor = "4s"
|
|
max_failure_ratio = "0.0"
|
|
order = "stop-first"
|
|
}
|
|
|
|
endpoint_spec {
|
|
mode = "vip"
|
|
ports {
|
|
name = "random"
|
|
protocol = "tcp"
|
|
target_port = "8080"
|
|
published_port = "8080"
|
|
publish_mode = "ingress"
|
|
}
|
|
}
|
|
|
|
converge_config {
|
|
delay = "7s"
|
|
timeout = "3m"
|
|
}
|
|
}
|