Hi Alan,
thank you for you elaborate answer! It is much appreciated.
A little bit of background on what I am trying to accomplish: I'd like to have a guide or recipe for users to set up an automated ingest from a laboratory or measurement setup. So these are not users who will be pushing data manually, but they will set up a long-running process that automatically picks up measurements as they come in, probably adds some metadata to it, and then moves it into iRods. I expect these users to be able to write the scripting for metadating and maybe renaming. My idea was that iRods Automated ingest was a good basis for this, but if that is not the case then I am happy to explore alternatives (such as mango-ingest).
I do have some experience using the PRC, and mostly authentication looks more or less like this:
irods_host = os.getenv('IRODS_HOST')
irods_user = os.getenv('IRODS_USER')
irods_password = get_from_vault('irods_password')
irods_zone = os.getenv('IRODS_ZONE')
ssl_settings = {'client_server_negotiation': 'request_server_negotiation',
'client_server_policy': 'CS_NEG_REQUIRE',
'encryption_algorithm': 'AES-256-CBC',
'encryption_key_size': 32,
'encryption_num_hash_rounds': 16,
'encryption_salt_size': 8,
'ssl_verify_server': 'hostname',
}
with iRODSSession(
host=irods_host,
port=1247,
user=irods_user,
password=irods_password,
authentication_scheme="pam_password",
zone=irods_zone,
**ssl_settings) as session:
c = session.collections.get(f"/{irods_zone}/home")
print(c)
Everything then seems to work virtually the same as without pam (except for the authentication_scheme) and there are no external dependencies. I guess I was expecting the ingest tool to be able to work in a similar way!
I am interested in your remark about a job submission service though (if that is still relevant in light of my explanation here).
Best regards,
Mark