Fence Usersync CronJob
If .Values.usersync.usersync
is set to true, the Fence usersync-cron.yaml will be deployed to the cluster.
User lists can be synced from three sources:
A ftp/sftp server that hosts user csv files that follows the format provided by dbgap, enabled if
.Values.usersync.syncFromDbgap
is set to "true". Please follow the Sftp Setup guide before enabling this option.A user.yaml file that is pulled from the S3 bucket specified in the
.Values.usersync.userYamlS3Path
field is used to update fence's user-access database. Please note an IAM policy with S3 read is required for this option. Please follow S3 user.yaml Setup guide below.If the
.Values.usersync.userYamlS3Path
string is set to "none", the user.yaml file specified in the fence values.yaml HERE will be used.
S3 Setup
Please see this documentation that details user.yaml formatting.
You can pull this file from an S3 bucket that is set in the .Values.usersync.userYamlS3Path
field. Then input the IAM credentials for a user that has read access to the specified S3 bucket in the .Values.secrets.awsAccessKeyId
and .Values.secrets.awsSecretAccessKey
fields.
You can utilize a local secret to avoid pasting credentials in the values.yaml file. Just set .global.aws.useLocalSecret.enabled
to true and supply your secret name.
Notice: The Gen3 Helm chart has various jobs and uses for an IAM user. To enhance code reusability, we've implemented the option for jobs and services to share the same AWS IAM global user. If you would like to use the same IAM user for Fence Usersync, External Secrets, etc.- you can follow THIS guide that details how to setup a Helm global user.
As previously mentioned, if the .Values.usersync.userYamlS3Path
string is set to "none", the user.yaml file from Fence values.yaml will be used.
Dbgap
Sftp Setup
You can configure one or more dbGaP SFTP servers to sync telemetry files from. To configure one single dbGaP server, add credentials and information to the fence-config.yaml under dbGaP, this is outlined here.
To configure additional dbGaP servers, include in the config.yaml a list of dbGaP servers under dbGaP, like so:
dbGaP:
- info:
host:
username:
password:
...
protocol: 'sftp'
...
...
- info:
host:
username:
...
You can find more detailed information on the setup with examples here.
For an example of a dbGap auth file (csv), please see this example for formatting.
Dbgap Options
Set .Values.usersync.addDbgap
to "true" to attempt a dbgap sync and fall back on user.yaml.
Set .Values.usersync.onlyDbgap
to "true" to run only a dbgap sync and ignore the user.yaml.
Slack Options
Set .Values.usersync.slack_webhook
to configure a webhook endpoint to be used for regular usersync updates to Slack.
Set .Values.usersync.slack_send_dbgap
to "true" to echo the files that are being seen on dbgap ftp to Slack.
Other Customizations
The .Values.usersync.schedule
option can be set to customize the cron schedule expression. The default setting is to have the job run once every 30 minutes.
The .Values.usersync.custom_image
can be set to override the default "awshelper" image for the init container of the userync cronjob.