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
tfvarsblock omits an image name, Terraform uses the default image name declared in the correspondingvariables.tffor that quick-deploy profile (for example, the localhost quick-deploy variables file).If a
tfvarsblock omits an image tag, Terraform selects a default tag from the centralversions.tfvars.jsonfile.
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 inarmonik_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(fromimage_tags)control_plane →
dockerhubaneo/armonik_control:0.8.3(image fromarmonik_images, tag fromarmonik_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.0control_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.0control_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 fromarmonik_versions(orimage_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.3partition2 →
dockerhubaneo/armonik_worker_dll:0.8.1partition3 →
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 |