17417: Merge branch 'main' into 17417-add-arm64
[arvados.git] / doc / user / topics / arvados-sync-groups.html.textile.liquid
index 9a609039b4903420f2cd1aeedee530d4a07f82f4..1f7eede4bb14650a862e1276cf1b8bccbc05e429 100644 (file)
@@ -15,10 +15,12 @@ h1. Using arvados-sync-groups
 
 This tool reads a CSV (comma-separated values) file having information about external groups and their members. When running it for the first time, it'll create a special group named 'Externally synchronized groups' meant to be the parent of all the remote groups.
 
-Every line on the file should have 2 values: a group name and a local user identifier, meaning that the named user is a member of the group. The tool will create the group if it doesn't exist, and add the user to it. If group member is not present on the input file, the account will be removed from the group.
+Every line on the file should have 3 values: a group name, a local user identifier and a permission level, meaning that the named user is a member of the group with the provided permission. The tool will create the group if it doesn't exist, and add the user to it. If any group member is not present on the input file, it will be removed from the group.
 
 Users can be identified by their email address or username: the tool will check if every user exist on the system, and report back when not found. Groups on the other hand, are identified by their name.
 
+Permission level can be one of the following: @can_read@, @can_write@ or @can_manage@, giving the group member read, read/write or managing privileges on the group. For backwards compatibility purposes, if any record omits the third (permission) field, it will default to @can_write@ permission. You can read more about permissions on the "group management admin guide":{{ site.baseurl }}/admin/group-management.html.
+
 This tool is designed to be run periodically reading a file created by a remote auth system (ie: LDAP) dump script, applying what's included on the file as the source of truth.
 
 
@@ -30,11 +32,12 @@ The following command line options are supported:
 
 table(table table-bordered table-condensed).
 |_. Option |_. Description |
-|==--help==|             This list of options|
-|==--parent-group-uuid==|   UUID of group to own all the externally synchronized groups|
-|==--user-id== |            Identifier to use in looking up user. One of 'email' or 'username' (Default: 'email')|
-|==--verbose==|             Log informational messages (Default: False)|
-|==--version==|             Print version and exit|
+|==--help==|This list of options|
+|==--case-insensitive==|Uses case-insensitive username matching|
+|==--parent-group-uuid==|UUID of group to own all the externally synchronized groups|
+|==--user-id==|Identifier to use in looking up user. One of 'email' or 'username' (Default: 'email')|
+|==--verbose==|Log informational messages (Default: False)|
+|==--version==|Print version and exit|
 
 h2. Examples