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). |