Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Answered
Hi All, I Am Currently Trying To Deploy Clearml In Aws Fargate Using Terraform, And Need To Pass In Some

Hi all,

I am currently trying to deploy clearml in AWS Fargate using Terraform, and need to pass in some https://clear.ml/docs/latest/docs/deploying_clearml/clearml_server_config#dynamic-environment-variables to configure https://clear.ml/docs/latest/docs/deploying_clearml/clearml_server_config#web-login-authentication .

For example the /opt/clearml/config/apiserver.conf file would look like:
auth { # Fixed users login credentials # No other user will be able to login fixed_users { enabled: true pass_hashed: false users: [ { username: "jane" password: "12345678" name: "Jane Doe" }, { username: "john" password: "12345678" name: "John Doe" }, ] } }Instead of passing in a conf file, I would like to pass the credentials in via the dynamic environment variables.

This would look something like this:

######## Configuring ClearML Authentication ######## variable "api_env_vars" { default = [ { name = "CLEARML__APISERVER__AUTH__FIXED_USERS__ENABLED", value = "true" }, { name = "CLEARML__APISERVER__AUTH__FIXED_USERS__PASS_HASHED", value = "false" }, #### clearml uses pyparsing in the background { name = "CLEARML__APISERVER__AUTH__FIXED_USERS__USERS", value = "" }, ]The question is how do I pass a list of users such that it is correctly parsed by clearml for the "CLEARML__APISERVER__AUTH__FIXED_USERS__USERS" environment variable?

  
  
Posted 2 years ago
Votes Newest

Answers 6


SuccessfulKoala55 That seemed to do the trick, thanks for your help! 😄

  
  
Posted 2 years ago

Hi ExuberantBat52
I do not think you can... i would use aws secret manager to push the entire user list config file wdyt?

  
  
Posted 2 years ago

I'm actually trying that as we speak 😛

  
  
Posted 2 years ago

Hi AgitatedDove14 ,

I am planning to use terraform to retrieve the secrets from AWS, after I retrieve the user list from the secrets manager, I am going to pass them as Environment variables.

The reason I am passing them as environment variables is that, I couldn't find a way to automatically upload files to AWS EFS from Terraform. Since the config file needs to be mounted as an EFS volume to the ECS task definition.

I was able to make the web authentication work while passing the following.
{ name = "CLEARML__APISERVER__AUTH__FIXED_USERS__ENABLED", value = "true" },That was simple to do since I am only passing a string containing a Boolean value, my question is how do I do the same but for the list containing the user information shown above.

Once I validated that I am able to pass values with this dummy example, I'll then replace them with the values that I get from the secrets manager.

  
  
Posted 2 years ago

Hi ExuberantBat52 , you should be able to pass it - the value should be a pyhocon-parsable one-line string, so something like:
"[ {username: \"jane\", password:\"123556\", name: \"Jane Doe\"}, ... ]"

  
  
Posted 2 years ago

Just waiting for the changes to be completed

  
  
Posted 2 years ago
1K Views
6 Answers
2 years ago
one year ago
Tags