Skip to main content

Shared Defaults File

Shared Defaults File

The field/value pairs shown in the table in this section represent the contents of a defaults.json file that can be used for both the distributed cache cluster deployment and the sharded cluster deployment. As described at the start of this section, this file can be created by making a few modifications to the /Samples/AWS/default.json file, which is illustrated in the following:

{
    "Provider": "AWS",
    "Label": "Sample",
    "Tag": "TEST",
    "DataVolumeSize": "10",
    "SSHUser": "ubuntu",
    "SSHPublicKey": "/Samples/ssh/insecure-ssh2.pub",
    "SSHPrivateKey": "/Samples/ssh/insecure",
    "DockerRegistry": "https://containers.intersystems.com",
    "DockerImage": "containers.intersytems.com/intersystems/iris:some-tag",
    "DockerUsername": "xxxxxxxxxxxx",
    "DockerPassword": "xxxxxxxxxxxx",
    "TLSKeyDir": "/Samples/tls/",
    "LicenseDir": "/Samples/license/",
    "Region": "us-east-1",
    "Zone": "us-east-1a",
    "AMI": "ami-07267eded9a267f32",
    "DockerVersion": "5:20.10.17~3-0~ubuntu-jammy",
    "InstanceType": "m5.large",
    "Credentials": "/Samples/AWS/sample.credentials",
    "ISCPassword": "",
    "Mirror": "false",
    "UserCPF": "/Samples/cpf/iris.cpf"
}

The order of the fields in the table matches the order of this sample defaults file.

In the defaults file for a different provider, some of the fields have different provider-specific values, while others are replaced by different provider-specific fields. For example, in the Tencent defaults file, the value for InstanceType is S2.MEDIUM4, a Tencent-specific instance type that would be invalid on AWS, while the AWS AMI field is replaced by the equivalent Tencent field, ImageId. You can review these differences by examining the varying defaults.json files in the /Samples directory tree and referring to the General Parameters and Provider-Specific Parameters tables in the “ICM Reference” chapter.

Note:

The pathnames provided in the fields specifying security files in this sample defaults file assume you have placed your AWS credentials in the /Samples/AWS directory and used the keygen*.sh scripts to generate the keys as described in Obtain Security-Related Files. If you have generated or obtained your own keys, these may be replaced by internal paths to external storage volumes mounted when the ICM container is run, as described in the Launch ICM. For additional information about these files, see ICM Security and Security-Related Parameters in the “ICM Reference” chapter.

Shared characteristic /Samples/AWS/defaults.json Customization example Customization explanation
Platform to provision infrastructure on, in this case Amazon Web Services; see Provisioning Platforms in the “Essential ICM Elements” chapter. "Provider": "AWS", n/a If value is changed to GCP, Azure, Tencent, vSphere, or PreExisting, different fields and values from those shown here are required.

Naming pattern for provisioned nodes is Label-Role-Tag-NNNN, where Role is the value of the Role field in the definitions file, for example ANDY-DATA-TEST-0001. Modify these so that node names indicate ownership and purpose.

"Label": "Sample",

"Tag": "TEST",

"Label": "ANDY",

"Tag": "TEST",

Update to identify owner.
Size (in GB) of the persistent data volume to create for InterSystems IRIS containers; see Storage Volumes Mounted by ICM in the “ICM Reference” chapter. Can be overriden for specific node types in the definitions file. “DataVolumeSize”: “10”,

“DataVolumeSize”:”250”,

If all deployments using the defaults file consist of sharded cluster (DATA) nodes only, enlarging the default size of the data volume is recommended.

Nonroot account with sudo access, used by ICM for SSH access to provisioned nodes. On AWS, the required value depends on the AMI, but is typically ubuntu for Ubuntu AMIs; see Security-Related Parameters in the “ICM Reference” chapter.

"SSHUser": "ubuntu",

n/a If value is changed to GCP, Azure, Tencent, vSphere, or PreExisting, different fields and values from those shown here are required.

Locations of needed security key files; see Obtain Security-Related Files and Security-Related Parameters. Because provider is AWS, the SSH2–format public key in /Samples/ssh/ is specified.

"SSHPublicKey": "/Samples/ssh/secure-ssh2.pub",

"SSHPrivateKey": "/Samples/ssh/secure-ssh2",

"TLSKeyDir": "/Samples/tls/",

"SSHPublicKey": "/mydir/keys/mykey.pub",

“SSHPrivateKey": "/mydir/keys/mykey.ppk",

"TLSKeyDir": "/mydir/keys/tls/",

If you stage your keys on a mounted external volume, update the paths to reflect this.
The Docker version to be installed on provisioned nodes; typically you can keep the default value.

"DockerVersion": "5:20.10.5~3-0~ubuntu-bionic",

"DockerVersion": "18.06.1~ce~3-0~ubuntu", The version in each /Samples/.../defaults.json is generally correct for the platform. However. if your organization uses a different version of Docker, you may want that version installed on the cloud nodes instead.

The Docker image to deploy on provisioned nodes; see Docker Repositories in the “Elements of ICM” chapter, The icm run Command, and General Parameters in the “ICM Reference” chapter. This field can also be included in a node definition in definitions.json, overriding the defaults file value, as illustrated in Distributed Cache Cluster Definitions File.

"DockerImage": "intersystems/iris:stable",

“DockerImage”: “acme/iris:latest-em" If you pushed the InterSystems IRIS image to your organization’s registry, update the image spec.

Note: InterSystems IRIS images for standard platforms are named iris; those for ARM platforms are named iris-arm64.

Credentials to log in to the Docker registry in which the image specified by the previous field is stored; see Downloading the ICM Image.

"DockerUsername": "xxxxxxxxxxxx",

"DockerPassword": "xxxxxxxxxxxx",

"DockerUsername": "AndyB",

"DockerPassword": "password",

Update to use your Docker credentials for the specified registry.
Location of InterSystems IRIS license keys staged in the ICM container and individually specified by the LicenseKey fields in the definitions file; see InterSystems IRIS Licensing for ICM in the “ICM Reference” chapter. “LicenseDir”: “/Samples/Licenses”,

“LicenseDir”: “/mydir/licenses”,

If you stage your licenses on a mounted external volume, update the paths to reflect this.
Geographical region of provider’s compute resources in which infrastructure is to be provisioned; see General Parameters. "Region": "us-west-1", "Region": "us-east-2", If you want to provision in another valid combination of region and availability zone, update the values to reflect this.
Availability zone within specified region in which to locate provisioned nodes; see General Parameters. "Zone": "us-west-1c", "Zone": "us-east-2a",  
AMI to use as platform and OS template for nodes to be provisioned; see Amazon Web Services (AWS) Parameters in the “ICM Reference” chapter. "AMI": "ami-0121ef35996ede438", “AMI”: “ami-e24b7d9d”, If you want to provision from another valid combination of AMI and instance type, update the values to reflect this.

Instance type to use as compute resources template for nodes to be provisioned; see Amazon Web Services (AWS) Parameters.

"InstanceType": "m4.large", "InstanceType": "m5ad.large",  

Credentials for AWS account; see Amazon Web Services (AWS) Parameters.

"Credentials": "/Samples/AWS/sample.credentials",

“Credentials”: “/mydir/aws-credentials”, If you stage your credentials on a mounted external volume, update the path to reflect this.

Password for deployed InterSystems IRIS instances. Recommended approach is to specify on the deployment command line (see Deploy and Manage Services) to avoid displaying password in a configuration file

“ISCPassword”: "",

(delete) Remove in favor of specifying password by using -password option of icm run command.

Whether specific node types (including DM and DATA) defined in even numbers are deployed as mirrors (see Rules for Mirroring).

"Mirror": "true"

n/a Both deployments are mirrored.
The configuration merge file to be used to override initial CPF settings for deployed InterSystems IRIS instances (see Deploying with Customized InterSystems IRIS Configurations in the “ICM Reference” chapter) . "UserCPF": "/Samples/cpf/iris.cpf"   Remove unless you are familiar with the configuration merge feature and CPF settings (see Automating Configuration of InterSystems IRIS with Configuration MergeOpens in a new tab).
Important:

The major versions of the image from which you launched ICM and the InterSystems IRIS image you specify using the DockerImage field must match; for example, you cannot deploy a 2022.2 version of InterSystems IRIS using a 2022.1 version of ICM. For information about upgrading ICM before you upgrade your InterSystems containers, see Upgrading ICM Using Distributed Management Mode in the appendix “Sharing Deployments in Distributed Management Mode”.

FeedbackOpens in a new tab