Skip to content

philips-labs/dicom-on-hsdp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HSDP DICOM Store

Requirements

Name Version
hsdp >= 0.16.1
Terraform >= v0.15.1

Providers

No providers.

Modules

Resources

No resources.

Inputs

Name Description Type Default Required
environment Possible values: dev, client-test, prod. string n/a yes
region Deployment Region. Possible values: us-east-1, eu-west-1 string n/a yes
is_instance_shared DICOMStore deployment type. Possible values: true, false bool false no
cdr_base_url CDR Base URL which is provided for DICOM Store onboarding (E.g: https://cdr-example.us-east.philips-healthsuite.com) string n/a yes
dss_config_url DICOM Store config URL (Should have received from Onboarding Request) string n/a yes
iam_url IAM URL. E.g. https://iam-development.us-east.philips-healthsuite.com string n/a yes
idm_url IDM URL. E.g. https://idm-development.us-east.philips-healthsuite.com string n/a yes
oauth2_client_id OAauth2 Client Id string n/a yes
oauth2_password OAuth2 Password string n/a yes
org_admin_username Organization admin username.
E.g. kareppa.hipparagi@philips.com
string n/a yes
org_admin_password Organization admin password. string n/a yes
managing_root_definition Managing root configuration.
If 'input_is_instance_shared' is set to true then 'shared_cdr_service_account_id' is mandatory.
If 'use_default_object_store_for_all_orgs' set to true then s3creds_bucket_name and s3creds_product_key are mandatory. Also, use can skip the s3creds details in tenant _definitions.
object({
organization_id = string
admin_users = list(string)
dicom_users = optional(list(string))
s3creds_bucket_name = optional(string)
s3creds_product_key = optional(string)
force_delete_object_store = optional(bool)
use_default_object_store_for_all_orgs = optional(bool)
repository_organization_id = optional(string)
shared_cdr_service_account_id = optional(string)
mpi_endpoint = optional(string)
})
null yes
tenant_definitions List of tenant configurations
list(object({
managing_root_organization_id = string
tenant_organization_id = string
admin_users = list(string)
dicom_users = optional(list(string))
s3creds_bucket_name = optional(string)
s3creds_product_key = optional(string)
force_delete_object_store = optional(bool)
repository_organization_id = optional(string)
}))
[] no

Outputs

No outputs.

Running Terraform Scripts

  • terraform init
  • terraform plan
  • terraform apply

Best Practices

  • Always run terraform plan to understand the resources creation and updates.
  • Use terrraform destroy very carefully as this will destroy all the existing configurations which are created using terraform apply. Not recommended for production use cases.
  • Try avoiding the deletion of the terraform tfstate files section which results in destroy of those resources.
  • Have secure credentials in var file and provide during the terraform command execution. Run terraform command with var-file
$ cat config/secrets.dev.tfvars
oauth2_client_id    = "devOAuthClientId"
oauth2_password     = "devOAuthSecret"
org_admin_username  = "admin@philips.com"
org_admin_password  = "mypassword"
$ terraform plan -var-file="secrets.dev.tfvars"

With var-file, you can easily manage environment (dev/stag/prod) variables.

  • Enable version control on terraform state files.
  • Manage tfstate files securely
  • Turn on debug when you need do troubleshooting
debug_log          = "c:\\temp\\terrraform.log"
  • Validate and format terraform code

    Always run terraform fmt -recursive to format terraform files and make them neat.

Contact / Getting help

Post your questions on the #terraform HSDP Slack channel

License

License is MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages