diff options
Diffstat (limited to 'gitano-admin/rules/defines.lace')
-rw-r--r-- | gitano-admin/rules/defines.lace | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/gitano-admin/rules/defines.lace b/gitano-admin/rules/defines.lace new file mode 100644 index 0000000..b6df4c5 --- /dev/null +++ b/gitano-admin/rules/defines.lace @@ -0,0 +1,82 @@ +# A useful set of defines + +# User/group related +define is_admin group gitano-admin +define is_owner owner ${user} + +define if_asanother as_user ~. + +# Self-related operations +define op_whoami operation whoami +define op_sshkey operation sshkey +define op_self anyof op_whoami op_sshkey + +# Admin-related operations + +## Users +define op_useradd operation useradd +define op_userdel operation userdel +define op_userlist operation userlist +define op_useremail operation useremail +define op_username operation username +define op_user anyof op_userlist op_useradd op_userdel op_useremail op_username + +## Groups +define op_grouplist operation grouplist +define op_groupshow operation groupshow +define op_groupadd operation groupadd +define op_groupdel operation groupdel +define op_groupadduser operation groupadduser +define op_groupdeluser operation groupdeluser +define op_groupaddgroup operation groupaddgroup +define op_groupdelgroup operation groupdelgroup +define op_groupdescription operation groupdescription +define op_group anyof op_grouplist op_groupshow op_groupadd op_groupdel op_groupadduser op_groupdeluser op_groupaddgroup op_groupdelgroup op_groupdescription + +## Aggregation of admin ops +define op_is_admin anyof op_user op_group + +# Primary repository-related operations +define op_read operation read +define op_write operation write +define op_createrepo operation createrepo +define op_renamerepo operation renamerepo +define op_destroyrepo operation destroyrepo + +# Remote configuration operations +define op_config_show operation config_show +define op_config_set operation config_set +define op_config_del operation config_del +define op_is_config anyof op_config_show op_config_set op_config_del + +# Reference update related operations +define op_createref operation createref +define op_deleteref operation deleteref +define op_fastforward operation updaterefff +define op_forcedupdate operation updaterefnonff + +# Combinator operations +define op_is_basic anyof op_read op_write +define op_is_update anyof op_fastforward op_forcedupdate +define op_is_normal anyof op_fastforward op_createref op_deleteref + +# Administration +define is_admin_repo repository gitano-admin +define is_gitano_ref ref ~^refs/gitano/ +define is_admin_ref ref refs/gitano/admin + +# Codethink defines: + +define repo_has_project_code repository ~^ct[0-9]+/ + +define ct_reader group ${repository/1}-readers +define ct_writer group ${repository/1}-writers +define ct_admin group ${repository/1}-admins + +define master_ref ref ~^refs/heads/master$ + +define op_is_reffy anyof op_is_normal op_forcedupdate + +define ct_site_admin group ct-admin + +define target_group_gitano_admin targetgroup gitano-admin |