Hi,
We are looking to develop several custom plugins for FreeIPA. Could anyone please advise on any documentation guidelines on FreeIPA plugin development?
Thanks, Yuri
________________________________
LEGAL DISCLAIMER: M.C. Dean, Inc. and its subsidiaries considers this e-mail and any files transmitted with it to be protected, proprietary or privileged information intended solely for the use of the named recipient(s). Any disclosure of this material or the information contained herein, in whole or in part, to anyone outside of the intended recipient or affiliates is strictly prohibited. M. C. Dean, Inc. accepts no liability for the content of this e-mail or for the consequences of any actions taken on the basis of the information contained in it, unless that information is subsequently confirmed in writing. Employees of M.C. Dean, Inc. are instructed not to infringe on any rights of the recipient; any such communication violates company policy. If you are not the intended recipient, any disclosure, copying, distribution, or action taken or omitted in reliance on this information is strictly prohibited by M.C. Dean, Inc.; please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
I'm in the same boat. The current documentation leaves a lot to be desired. Most resources you find are terribly outdated. Thanks Josh
On October 28, 2018 4:44:47 PM UTC, Yuri Krysko via FreeIPA-users freeipa-users@lists.fedorahosted.org wrote:
Hi,
We are looking to develop several custom plugins for FreeIPA. Could anyone please advise on any documentation guidelines on FreeIPA plugin development?
Thanks, Yuri
LEGAL DISCLAIMER: M.C. Dean, Inc. and its subsidiaries considers this e-mail and any files transmitted with it to be protected, proprietary or privileged information intended solely for the use of the named recipient(s). Any disclosure of this material or the information contained herein, in whole or in part, to anyone outside of the intended recipient or affiliates is strictly prohibited. M. C. Dean, Inc. accepts no liability for the content of this e-mail or for the consequences of any actions taken on the basis of the information contained in it, unless that information is subsequently confirmed in writing. Employees of M.C. Dean, Inc. are instructed not to infringe on any rights of the recipient; any such communication violates company policy. If you are not the intended recipient, any disclosure, copying, distribution, or action taken or omitted in reliance on this information is strictly prohibited by M.C. Dean, Inc.; please notify the sender immediately by return e-mail, delete this communication and destroy all copies. _______________________________________________ FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org To unsubscribe send an email to freeipa-users-leave@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/freeipa-users@lists.fedorahoste...
On su, 28 loka 2018, Joshua D Doll via FreeIPA-users wrote:
I'm in the same boat. The current documentation leaves a lot to be desired. Most resources you find are terribly outdated.
There are two sources that stay more or less up to date:
- FreeIPA source code - My plugins at https://github.com/abbra/
The last is a shameless plug but I try to keep them up to date with the current state of plugin development and packaging I do as part of my day to day job.
For the source code, an easy way to explore the documentation we already have is to start with pydoc:
pydoc ipalib
this will give you an overview of a plugin infrastructure and parameters.
All commands that operate on objects in LDAP are built on top of classes provided by ipaserver.plugins.baseldap, so 'pydoc ipaserver.plugins.baseldap' would give you a basic view of how it is structured. Any specific plugin's code in ipaserver/plugins/*.py would serve as an example.
I'd recommend to look at simple plugins in my github tree to understand how you can amend some aspects: https://github.com/abbra/freeipa-userstatus-plugin/
If you want a bit more complex example, https://github.com/abbra/freeipa-desktop-profile gives a fully working sample that stores two different objects in LDAP and even has managed entries plugin integration for bridging them together under specific complex access controls.
Even more harcode is https://github.com/abbra/freeipa-adusers-admins
freeipa-users@lists.fedorahosted.org