Default images

This document describes how ArmoniK’s Terraform quick-deploy determines container image names and tags when they are not specified in tfvars files. You can rely on project defaults for most deployments, or override any image name and/or tag when you need a specific image or version.

How defaults are chosen

  • If a tfvars block omits an image name, Terraform uses the default image name declared in the corresponding variables.tf for that quick-deploy profile (for example, the localhost quick-deploy variables file).

  • If a tfvars block omits an image tag, Terraform selects a default tag from the central versions.tfvars.json file.

Defaults in versions.tfvars.json are organized into related sets:

  • armonik_versions: canonical component versions (for example, core, extcsharp).

  • armonik_images: lists of image names produced by each ArmoniK component. The default tag for those images is taken from the matching value in armonik_versions.

  • image_tags: default tags for third-party or external images (for example, mongo).

Important rule: you may override any image name and/or tag in your tfvars. If you provide a custom image name that is not listed in versions.tfvars.json, you must also provide an explicit tag so the deployment is deterministic.

Examples (all-in-one local deployment)

The examples below use an all-in-one local deployment that includes MongoDB. The versions.tfvars.json in these examples looks like:

{
  "armonik_versions": { "core": "0.8.3", "extcsharp": "0.8.1" },
  "armonik_images": {
    "core": ["dockerhubaneo/armonik_control","dockerhubaneo/armonik_core_bench_test_worker"],
    "extcsharp": ["dockerhubaneo/armonik_worker_dll"]
  },
  "image_tags": { "mongo": "5.0.9" }
}

You can also set images and tags directly in a tfvars file (for example, parameters.tfvars). Common patterns follow.

Use the default image and default tag

Leave a component block empty to use both the default image name and tag:

mongodb = {}

control_plane = {
  default_partition = ...
}

Examples of resulting images:

  • mongodb → mongo:5.0.9 (from image_tags)

  • control_plane → dockerhubaneo/armonik_control:0.8.3 (image from armonik_images, tag from armonik_versions)

Use the default image with a custom tag

Specify only image_tag to keep the default image name but change the tag:

mongodb = { image_tag = "6.0" }

control_plane = {
  image_tag = "0.8.0"
  default_partition = ...
}
  • mongodb → mongo:6.0

  • control_plane → dockerhubaneo/armonik_control:0.8.0

Use a custom image name and tag

Provide both image_name and image_tag for images hosted elsewhere or with different repository names. If the custom image name is not in versions.tfvars.json, the tag is required:

mongodb = { image_name = "custom_registry/mongo", image_tag = "6.0" }

control_plane = {
  image_name = "custom_registry/custom_armonik_control",
  image_tag  = "0.8.3",
  default_partition = ...
}
  • mongodb → custom_registry/mongo:6.0

  • control_plane → custom_registry/custom_armonik_control:0.8.3

Worker images (special rules)

Worker images are listed under armonik_images and follow the related component version from armonik_versions:

  • If a worker image appears in versions.tfvars.json, you may omit its tag and the default tag from armonik_versions (or image_tags) will be used.

  • If you reference a worker image that is not listed in versions.tfvars.json, you must supply an explicit tag.

Example compute_plane snippet:

compute_plane = {
  partition1 = { worker = [{ image = "dockerhubaneo/armonik_core_bench_test_worker" }] }
  partition2 = { worker = [{ image = "dockerhubaneo/armonik_worker_dll" }] }
  partition3 = { worker = [{ image = "dockerhubaneo/armonik_worker_dll", tag = "0.8.0" }] }
  partition4 = { worker = [{ image = "custom_worker", tag = "0.1.0" }] }
}

Resulting worker images (examples):

  • partition1 → dockerhubaneo/armonik_core_bench_test_worker:0.8.3

  • partition2 → dockerhubaneo/armonik_worker_dll:0.8.1

  • partition3 → dockerhubaneo/armonik_worker_dll:0.8.0 (explicit tag)

  • partition4 → custom_worker:0.1.0 (custom image + explicit tag)

Docker images

Image Name

Last release version

dockerhubaneo/armonik_pdc_update

0.3.0

dockerhubaneo/armonik_load_balancer

0.3.0

dockerhubaneo/armonik_pollingagent

0.39.0

dockerhubaneo/armonik_control_metrics

0.39.0

dockerhubaneo/armonik_control

0.39.0

dockerhubaneo/armonik_core_stream_test_worker

0.39.0

dockerhubaneo/armonik_core_stream_test_client

0.39.0

dockerhubaneo/armonik_core_htcmock_test_worker

0.39.0

dockerhubaneo/armonik_core_htcmock_test_client

0.39.0

dockerhubaneo/armonik_core_bench_test_worker

0.39.0

dockerhubaneo/armonik_core_bench_test_client

0.39.0

dockerhubaneo/armonik_admin_app

0.15.2

dockerhubaneo/armonik_admin_api

0.15.2

dockerhubaneo/armonik-dynamic-dotnet-worker

0.21.2

dockerhubaneo/armonik-sdk-cpp-dynamicworker

0.5.2

dockerhubaneo/armonik-dynamic-java-worker

0.1.3

dockerhubaneo/armonik_demo_helloworld_worker

2.24.0

dockerhubaneo/armonik_demo_subtasking_worker

2.24.0

dockerhubaneo/armonik_demo_linearsubtasking_worker

2.24.0

dockerhubaneo/armonik_demo_multipleresults_worker

2.24.0

Nuget packages

Package Name

Last release version

ArmoniK.Core.Base

0.39.1

ArmoniK.Api.Common

3.29.1

ArmoniK.Api.Client

3.29.1

ArmoniK.Api.Worker

3.29.1

ArmoniK.Api.Core

3.29.1

ArmoniK.Api.Common.Channel

3.29.1

ArmoniK.Utils

0.7.3

ArmoniK.DevelopmentKit.Common

0.19.4

ArmoniK.DevelopmentKit.Worker.Common

0.19.4

ArmoniK.DevelopmentKit.Client.Common

0.19.4

ArmoniK.DevelopmentKit.Worker.Unified

0.19.4

ArmoniK.DevelopmentKit.Client.Symphony

0.19.4

ArmoniK.DevelopmentKit.Client.Unified

0.19.4

ArmoniK.DevelopmentKit.Worker.DLLWorker

0.19.4

ArmoniK.DevelopmentKit.Worker.Symphony

0.19.4

ArmoniK.Utils.Diagnostics

0.7.3

ArmoniK.Utils.DocAttribute

0.7.3

Maven packages

NPM packages

Package Name

Latest Version

@aneoconsultingfr/armonik.api

3.29.0

@aneoconsultingfr/armonik.api.angular

3.29.0

Crates