diff --git a/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties b/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties index 90e1bf1..fe0865b 100755 --- a/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties +++ b/Workbench/configs-and-secrets/grouper/application/grouper-loader.properties @@ -60,6 +60,7 @@ db.midPoint.user = grouper # provisioner midpoint provisioner.midPoint.class = edu.internet2.middleware.grouper.app.midpointProvisioning.MidPointProvisioner +provisioner.midPoint.configureMetadata = true provisioner.midPoint.customizeEntityCrud = true provisioner.midPoint.customizeGroupCrud = true provisioner.midPoint.customizeMembershipCrud = true @@ -73,10 +74,14 @@ provisioner.midPoint.deleteMemberships = true provisioner.midPoint.deleteMembershipsIfNotExistInGrouper = false provisioner.midPoint.deleteMembershipsIfGrouperDeleted = true provisioner.midPoint.makeChangesToEntities = true +provisioner.midPoint.metadata.0.name = md_grouper_emailListName +provisioner.midPoint.metadata.0.showForGroup = true provisioner.midPoint.midPointDeletedColumnName = deleted provisioner.midPoint.midPointLastModifiedColumnName = last_modified provisioner.midPoint.midPointLastModifiedColumnType = long provisioner.midPoint.midPointTablesPrefix = gr +provisioner.midPoint.numberOfGroupAttributes = 1 +provisioner.midPoint.numberOfMetadata = 1 provisioner.midPoint.operateOnGrouperEntities = true provisioner.midPoint.operateOnGrouperGroups = true provisioner.midPoint.operateOnGrouperMemberships = true @@ -84,6 +89,9 @@ provisioner.midPoint.provisioningType = membershipObjects provisioner.midPoint.selectAllEntities = true provisioner.midPoint.startWith = this is start with read only provisioner.midPoint.subjectSourcesToProvision = ldap +provisioner.midPoint.targetGroupAttribute.0.name = emailListName +provisioner.midPoint.targetGroupAttribute.0.translateExpression = \u0024{grouperProvisioningGroup.retrieveAttributeValueString('md_grouper_emailListName')} +provisioner.midPoint.targetGroupAttribute.0.translateExpressionType = translationScript # changeLog/FullSync midPoint changeLog.consumer.midPoint.class = edu.internet2.middleware.grouper.changeLog.esb.consumer.EsbConsumer diff --git a/Workbench/configs-and-secrets/grouper/application/grouper.text.en.us.properties b/Workbench/configs-and-secrets/grouper/application/grouper.text.en.us.properties new file mode 100644 index 0000000..148ca04 --- /dev/null +++ b/Workbench/configs-and-secrets/grouper/application/grouper.text.en.us.properties @@ -0,0 +1,3 @@ +md_grouper_emailListName_midPoint_description = Enter the email list description +md_grouper_emailListName_midPoint_label = Email list name + diff --git a/Workbench/docker-compose.yml b/Workbench/docker-compose.yml index 6149589..4da0429 100644 --- a/Workbench/docker-compose.yml +++ b/Workbench/docker-compose.yml @@ -43,6 +43,9 @@ services: - type: bind source: ./configs-and-secrets/grouper/application/subject.properties target: /opt/grouper/grouperWebapp/WEB-INF/classes/subject.properties + - type: bind + source: ./configs-and-secrets/grouper/application/grouper.text.en.us.properties + target: /opt/grouper/grouperWebapp/WEB-INF/classes/grouperText/grouper.text.en.us.properties grouper_ui: build: context: ./grouper_ui/ @@ -107,6 +110,9 @@ services: - type: bind source: ./configs-and-secrets/grouper/application/subject.properties target: /opt/grouper/grouperWebapp/WEB-INF/classes/subject.properties + - type: bind + source: ./configs-and-secrets/grouper/application/grouper.text.en.us.properties + target: /opt/grouper/grouperWebapp/WEB-INF/classes/grouperText/grouper.text.en.us.properties grouper_ws: build: ./grouper_ws/ command: bash -c "while ! nc -z grouper_data 5432; do echo waiting for pgsql to start; sleep 3; done; while ! nc -z directory 389; do echo waiting for ldap to start; sleep 3; done; exec ws" @@ -157,7 +163,9 @@ services: - type: bind source: ./configs-and-secrets/grouper/application/subject.properties target: /opt/grouper/grouperWebapp/WEB-INF/classes/subject.properties - + - type: bind + source: ./configs-and-secrets/grouper/application/grouper.text.en.us.properties + target: /opt/grouper/grouperWebapp/WEB-INF/classes/grouperText/grouper.text.en.us.properties grouper_data: build: ./grouper_data/ networks: diff --git a/Workbench/grouper_daemon/Dockerfile b/Workbench/grouper_daemon/Dockerfile index 90a0953..7d62758 100644 --- a/Workbench/grouper_daemon/Dockerfile +++ b/Workbench/grouper_daemon/Dockerfile @@ -1,4 +1,4 @@ -FROM i2incommon/grouper:4.7.1 +FROM i2incommon/grouper:4.7.2 LABEL author="tier-packaging@internet2.edu " diff --git a/Workbench/grouper_data/Dockerfile b/Workbench/grouper_data/Dockerfile index 88cd4a5..2d725c2 100644 --- a/Workbench/grouper_data/Dockerfile +++ b/Workbench/grouper_data/Dockerfile @@ -1,4 +1,4 @@ -FROM i2incommon/grouper:4.7.1 +FROM i2incommon/grouper:4.7.2 LABEL author="tier-packaging@internet2.edu " diff --git a/Workbench/grouper_data/container_files/bootstrap/set-prov.gsh b/Workbench/grouper_data/container_files/bootstrap/set-prov.gsh index 2cc4bbc..e142afe 100644 --- a/Workbench/grouper_data/container_files/bootstrap/set-prov.gsh +++ b/Workbench/grouper_data/container_files/bootstrap/set-prov.gsh @@ -24,7 +24,22 @@ def setProvOnGroup(grouperSession,provisioner_name,group_name) { } +def setProvOnGroupWithMailListAttr(grouperSession,provisioner_name,group_name,email_list_name) { + AttributeAssign attributeAssignMarker = null; + attributeAssignMarker = new AttributeAssignSave(grouperSession).assignOwnerGroupName(group_name).assignNameOfAttributeDefName("etc:provisioning:provisioningMarker").save(); + new AttributeAssignSave(grouperSession).assignOwnerAttributeAssign(attributeAssignMarker).assignNameOfAttributeDefName("etc:provisioning:provisioningDirectAssign").addValue("true").save(); + new AttributeAssignSave(grouperSession).assignOwnerAttributeAssign(attributeAssignMarker).assignNameOfAttributeDefName("etc:provisioning:provisioningDoProvision").addValue(provisioner_name).save(); + new AttributeAssignSave(grouperSession).assignOwnerAttributeAssign(attributeAssignMarker).assignNameOfAttributeDefName("etc:provisioning:provisioningStemScope").addValue("sub").save(); + new AttributeAssignSave(grouperSession).assignOwnerAttributeAssign(attributeAssignMarker).assignNameOfAttributeDefName("etc:provisioning:provisioningTarget").addValue(provisioner_name).save(); + new AttributeAssignSave(grouperSession).assignOwnerAttributeAssign(attributeAssignMarker).assignNameOfAttributeDefName("etc:provisioning:provisioningMetadataJson").addValue("{\"destination\":\"midpoint\",\"actor\":\"initial load\"}").save(); + new AttributeAssignSave(grouperSession).assignOwnerAttributeAssign(attributeAssignMarker).assignNameOfAttributeDefName("etc:provisioning:provisioningMetadataJson").addValue("{\"md_grouper_emailListName\":\"" + email_list_name + "\"}").save(); + +} + + setProvOnStem(grouperSession,provisioner_name,"app") +setProvOnGroupWithMailListAttr(grouperSession,provisioner_name,"app:mailinglist:chess","chessclub@example.edu") +setProvOnGroupWithMailListAttr(grouperSession,provisioner_name,"app:mailinglist:idm-fans","idmfans@example.edu") setProvOnStem(grouperSession,provisioner_name,"test") setProvOnStem(grouperSession,provisioner_name,"ref:dept") setProvOnStem(grouperSession,provisioner_name,"ref:course") diff --git a/Workbench/grouper_ui/Dockerfile b/Workbench/grouper_ui/Dockerfile index 2c181f3..eb363a7 100644 --- a/Workbench/grouper_ui/Dockerfile +++ b/Workbench/grouper_ui/Dockerfile @@ -1,4 +1,4 @@ -FROM i2incommon/grouper:4.7.1 +FROM i2incommon/grouper:4.7.2 LABEL author="tier-packaging@internet2.edu " diff --git a/Workbench/grouper_ws/Dockerfile b/Workbench/grouper_ws/Dockerfile index 6277cfd..3df1d17 100644 --- a/Workbench/grouper_ws/Dockerfile +++ b/Workbench/grouper_ws/Dockerfile @@ -1,4 +1,4 @@ -FROM i2incommon/grouper:4.7.1 +FROM i2incommon/grouper:4.7.2 LABEL author="tier-packaging@internet2.edu " diff --git a/Workbench/webproxy/container_files/httpd/index.html b/Workbench/webproxy/container_files/httpd/index.html index cb355a1..f78fd9a 100644 --- a/Workbench/webproxy/container_files/httpd/index.html +++ b/Workbench/webproxy/container_files/httpd/index.html @@ -9,7 +9,7 @@

Welcome to the InCommon TAP Workbench!

The system contains the following TAP components (click the links to access each component in its own tab):