Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
minor tweaks 4.1 and 4.2, 4.3 and 4.4 started/scaffolded
John Gasper committed Sep 13, 2018
1 parent e880dbe commit 4885fb4
Showing 47 changed files with 388 additions and 3 deletions.
3 changes: 2 additions & 1 deletion Jenkinsfile
@@ -16,7 +16,8 @@
exceriseSets = [
// 'ex101' : [3, 2],
// 'ex201' : [2, 2, 5, 6],
'ex401' : [6, 9]
// 'ex301' : [2, 2, 5, 6],
'ex401' : [6, 9, 7, 1]
]

pipeline {
18 changes: 17 additions & 1 deletion ex401/ex401.1.5/container_files/seed-data/bootstrap.gsh
@@ -50,4 +50,20 @@ attributeAssignOnAssignSave.assignAttributeDefName(attributeDefName);
attributeAssignOnAssignSave.addValue("true");
attributeAssignSave.addAttributeAssignOnThisAssignment(attributeAssignOnAssignSave);

attributeAssign = attributeAssignSave.save();
attributeAssign = attributeAssignSave.save();


# Groovy Script - Auto set expiration date on membership:
numDays = 32;
actAs = SubjectFinder.findRootSubject();
vpn_adhoc = getGroups("app:vpn:ref:vpn_adhoc")[0];
attribAssign = vpn_adhoc.getAttributeDelegate().addAttribute(RuleUtils.ruleAttributeDefName()).getAttributeAssign();
attribValueDelegate = attribAssign.getAttributeValueDelegate();
attribValueDelegate.assignValue(RuleUtils.ruleActAsSubjectSourceIdName(), actAs.getSourceId());
attribValueDelegate.assignValue(RuleUtils.ruleRunDaemonName(), "F");
attribValueDelegate.assignValue(RuleUtils.ruleActAsSubjectIdName(), actAs.getId());
attribValueDelegate.assignValue(RuleUtils.ruleCheckTypeName(), RuleCheckType.membershipAdd.name());
attribValueDelegate.assignValue(RuleUtils.ruleIfConditionEnumName(), RuleIfConditionEnum.thisGroupHasImmediateEnabledNoEndDateMembership.name());
attribValueDelegate.assignValue(RuleUtils.ruleThenEnumName(), RuleThenEnum.assignMembershipDisabledDaysForOwnerGroupId.name());
attribValueDelegate.assignValue(RuleUtils.ruleThenEnumArg0Name(), numDays.toString());
attribValueDelegate.assignValue(RuleUtils.ruleThenEnumArg1Name(), "T");
1 change: 1 addition & 0 deletions ex401/ex401.2.5/container_files/seed-data/bootstrap.gsh
@@ -2,6 +2,7 @@ gs = GrouperSession.startRootSession();

addStem("ref", "dept", "dept");
addGroup("ref:dept", "its", "its");
addMember("app:mfa:mfa_enabled_allow", "ref:dept:its");

addGroup("app:mfa:ref", "mfa_bypass", "mfa_bypass");
addGroup("app:mfa:ref", "athletics", "athletics");
2 changes: 2 additions & 0 deletions ex401/ex401.2.6/container_files/seed-data/bootstrap.gsh
@@ -1,2 +1,4 @@
gs = GrouperSession.startRootSession();

addGroup("app:mfa:ref", "NonFacultyBannerINB", "NonFacultyBannerINB");
addMember("app:mfa:mfa_enabled_allow", "app:mfa:ref:NonFacultyBannerINB");
2 changes: 2 additions & 0 deletions ex401/ex401.2.7/container_files/seed-data/bootstrap.gsh
@@ -1,3 +1,5 @@
gs = GrouperSession.startRootSession();

addGroup("app:mfa:ref", "BannerUsersMinusFaculty", "BannerUsersMinusFaculty");
addComposite("app:mfa:ref:BannerUsersMinusFaculty", CompositeType.COMPLEMENT, "app:mfa:ref:NonFacultyBannerINB", "ref:faculty");
addMember("app:mfa:mfa_enabled_allow", "app:mfa:ref:BannerUsersMinusFaculty")
5 changes: 5 additions & 0 deletions ex401/ex401.2.9/container_files/seed-data/bootstrap.gsh
@@ -1 +1,6 @@
gs = GrouperSession.startRootSession();

addGroup("basis", "bypass", "bypass");
addComposite("app:mfa:ref:mfa_opt_in_access", CompositeType.COMPLEMENT, "basis:bypass", "ref:opt-in");
addGroup("ref", "bypass-not-opt-in", "bypass-not-opt-in");
addMember("app:mfa:mfa_enabled_deny", "ref:bypass-not-opt-in");
26 changes: 26 additions & 0 deletions ex401/ex401.3.1/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.2.end

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.1

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
1 change: 1 addition & 0 deletions ex401/ex401.3.1/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1 @@
gs = GrouperSession.startRootSession();
Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.3.2/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.1

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.2

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
65 changes: 65 additions & 0 deletions ex401/ex401.3.2/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1,65 @@
gs = GrouperSession.startRootSession();

# SET THESE
parent_stem_path = "app";
app_extension = "baz";
app_name = "";


if (!app_name?.trim())
{
app_name = app_extension;
}

def makeStemInheritable(obj, stemName, groupName, priv="admin") {
baseStem = obj.getStems(stemName)[0];
aGroup = obj.getGroups(groupName)[0];
RuleApi.inheritGroupPrivileges(
SubjectFinder.findRootSubject(),
baseStem,
Stem.Scope.SUB,
aGroup.toSubject(),
Privilege.getInstances(priv)
);
RuleApi.runRulesForOwner(baseStem);
if(priv == 'admin')
{
RuleApi.inheritFolderPrivileges(
SubjectFinder.findRootSubject(),
baseStem,
Stem.Scope.SUB,
aGroup.toSubject(),
Privilege.getInstances("stem, create"));
}
RuleApi.runRulesForOwner(baseStem);
}

stem = addStem(parent_stem_path, app_extension, app_name);
etc_stem = addStem(stem.name, "etc", "etc");
admin_group_name = "${app_extension}_app_admins";
admin_group = addGroup(etc_stem.name, admin_group_name, admin_group_name);
admin_group.grantPriv(admin_group.toMember().getSubject(), AccessPrivilege.ADMIN);

mgr_group_name = "${app_extension}_app_mgr";
mgr_group = addGroup(etc_stem.name, mgr_group_name, mgr_group_name);
mgr_group.grantPriv(admin_group.toMember().getSubject(), AccessPrivilege.ADMIN);
mgr_group.grantPriv(mgr_group.toMember().getSubject(), AccessPrivilege.UPDATE);
mgr_group.grantPriv(mgr_group.toMember().getSubject(), AccessPrivilege.READ);

view_group_name = "${app_extension}_app_viewers";
view_group = addGroup(etc_stem.name, view_group_name, view_group_name);
view_group.grantPriv(view_group.toMember().getSubject(), AccessPrivilege.READ);
view_group.grantPriv(admin_group.toMember().getSubject(), AccessPrivilege.ADMIN);
view_group.grantPriv(mgr_group.toMember().getSubject(), AccessPrivilege.UPDATE);
view_group.grantPriv(mgr_group.toMember().getSubject(), AccessPrivilege.READ);

admin_group.grantPriv(view_group.toMember().getSubject(), AccessPrivilege.READ);
mgr_group.grantPriv(view_group.toMember().getSubject(), AccessPrivilege.READ);

# Child objects should also grant perms to these groups.
makeStemInheritable(this, stem.name, admin_group.name, 'admin');
makeStemInheritable(this, stem.name, mgr_group.name, 'update');
makeStemInheritable(this, stem.name, mgr_group.name, 'read');
makeStemInheritable(this, stem.name, view_group.name, 'read');

admin_group.revokePriv(mgr_group.toMember().getSubject(), AccessPrivilege.UPDATE);
Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.3.3/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.2

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.3

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
8 changes: 8 additions & 0 deletions ex401/ex401.3.3/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1,8 @@
gs = GrouperSession.startRootSession();

addStem("app", "boardeffect", "boardeffect");
addGroup("app:boardeffect", "cmt_fin_authorized", "cmt_fin_authorized");
addGroup("app:boardeffect", "cmt_fin_allow", "cmt_fin_allow");
addGroup("app:boardeffect", "cmt_fin_deny", "cmt_fin_deny");

addComposite("app:boardeffect:cmt_fin_authorized", CompositeType.COMPLEMENT, "app:boardeffect:cmt_fin_allow", "app:boardeffect:cmt_fin_deny");
Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.3.4/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.3

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.4

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
7 changes: 7 additions & 0 deletions ex401/ex401.3.4/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1,7 @@
gs = GrouperSession.startRootSession();

addGroup("app:boardeffect", "boardeffect_authorized", "boardeffect_authorized");
addGroup("app:boardeffect", "boardeffect_authorized_allow", "boardeffect_authorized_allow");
addGroup("app:boardeffect", "boardeffect_authorized_deny", "boardeffect_authorized_deny");

addComposite("app:boardeffect:boardeffect_authorized", CompositeType.COMPLEMENT, "app:boardeffect:boardeffect_authorized_allow", "app:boardeffect:boardeffect_authorized_deny");
Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.3.5/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.4

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.5

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
1 change: 1 addition & 0 deletions ex401/ex401.3.5/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1 @@
gs = GrouperSession.startRootSession();
Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.3.6/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.5

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.6

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
1 change: 1 addition & 0 deletions ex401/ex401.3.6/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1 @@
gs = GrouperSession.startRootSession();
Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.3.7/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.6

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.7

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
2 changes: 2 additions & 0 deletions ex401/ex401.3.7/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1,2 @@
gs = GrouperSession.startRootSession();

Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.3.end/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.7

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.3.end

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
1 change: 1 addition & 0 deletions ex401/ex401.3.end/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1 @@
gs = GrouperSession.startRootSession();
Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.4.1/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.3.end

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.4.1

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
2 changes: 2 additions & 0 deletions ex401/ex401.4.1/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1,2 @@
gs = GrouperSession.startRootSession();

Empty file.
Empty file.
26 changes: 26 additions & 0 deletions ex401/ex401.4.end/Dockerfile
@@ -0,0 +1,26 @@
FROM tier/grouper-training-env:ex401.4.1

LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
Vendor="TIER" \
ImageType="Grouper Training" \
ImageName=$imagename \
ImageOS=centos7

ENV USERTOKEN=ex401.4.end

COPY container_files/seed-data/ /seed-data/

RUN . /usr/local/bin/library.sh \
&& prepConf; \
(/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \
&& while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \
(mysqld_safe & ) \
&& while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \
cd /opt/grouper/grouper.apiBinary \
&& ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \
&& mysql grouper < /seed-data/sisData.sql \
&& bin/gsh /seed-data/bootstrap.gsh \
&& pkill -HUP slapd \
&& while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \
pkill -u mysql mysqld \
&& while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done
1 change: 1 addition & 0 deletions ex401/ex401.4.end/container_files/seed-data/bootstrap.gsh
@@ -0,0 +1 @@
gs = GrouperSession.startRootSession();
Empty file.
Empty file.
11 changes: 10 additions & 1 deletion manualBuild.sh
@@ -16,7 +16,16 @@ docker build --pull --tag=tier/grouper-training-env:base base/ \
&& docker build --tag=tier/grouper-training-env:ex401.2.7 ex401/ex401.2.7 \
&& docker build --tag=tier/grouper-training-env:ex401.2.8 ex401/ex401.2.8 \
&& docker build --tag=tier/grouper-training-env:ex401.2.9 ex401/ex401.2.9 \
&& docker build --tag=tier/grouper-training-env:ex401.2.end ex401/ex401.2.end
&& docker build --tag=tier/grouper-training-env:ex401.3.1 ex401/ex401.3.1 \
&& docker build --tag=tier/grouper-training-env:ex401.3.2 ex401/ex401.3.2 \
&& docker build --tag=tier/grouper-training-env:ex401.3.3 ex401/ex401.3.3 \
&& docker build --tag=tier/grouper-training-env:ex401.3.4 ex401/ex401.3.4 \
&& docker build --tag=tier/grouper-training-env:ex401.3.5 ex401/ex401.3.5 \
&& docker build --tag=tier/grouper-training-env:ex401.3.6 ex401/ex401.3.6 \
&& docker build --tag=tier/grouper-training-env:ex401.3.7 ex401/ex401.3.7 \
&& docker build --tag=tier/grouper-training-env:ex401.3.end ex401/ex401.3.end \
&& docker build --tag=tier/grouper-training-env:ex401.4.1 ex401/ex401.4.1 \
&& docker build --tag=tier/grouper-training-env:ex401.4.end ex401/ex401.4.end

if [[ "$OSTYPE" == "darwin"* ]]; then
say build complete

0 comments on commit 4885fb4

Please sign in to comment.