HDFGroup / hsds

Cloud-native, service based access to HDF data
https://www.hdfgroup.org/solutions/hdf-kita/
Apache License 2.0
129 stars 53 forks source link

[Question] Some configuration entries must be set as env variables ? #69

Closed loichuder closed 3 years ago

loichuder commented 3 years ago

Seeing #50, I thought that I could set all parameters in config.yml.

I was however proven wrong when running runall.sh. Checks are made on ROOT_DIR and HSDS_ENDPOINT that therefore must be set as environment variables.

Is this the expected behaviour or am I missing something to use the root_dir and hsds_endpoint entries in the config.yml ?

jreadey commented 3 years ago

Hey @loichuder - yes, that's expected. There are some environment variables like ROOT_DIR that are used by ./runall.sh to determine which docker_compose file to invoke. E.g. if ROOT_DIR is set, it assumes that you want to use the posix HSDS: https://github.com/HDFGroup/hsds/blob/master/admin/docker/docker-compose.posix.yml.

Others environment variables like AWS_ACCESS_KEY_ID are not set in config.yml because that would be a security risk to have in a text file.

And finally there are some variables that are by Docker in the compose file rather than accessed by the container. E.g. "DN_RAM" sets how much memory is allotted to each DN container.

Let me know if you still have questions about this.

loichuder commented 3 years ago

I see.

I indeed want to use the POSIX HSDS. In this case, there is no point setting root_dir in config.yml as it will be overwritten by ROOT_DIR anyway, right ?

jreadey commented 3 years ago

Right - the docker-compose.posix.yml needs ROOT_DIR to set the volume mount.

jreadey commented 3 years ago

Closing - please re-open if you have questions.