<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 03/02/13 13:30, Michael Gliwinski
      wrote:<br>
    </div>
    <blockquote cite="mid:1683288.EbdiKVqS9F@hgis96" type="cite">
      <pre wrap="">Hi all,

I'm working on a new technique for configuring an authorization and 
authentication realm (NSS/PAM) using SSSD.  One of things remaining on the 
todo list before launching 1.0 is service management.

So basically the technique needs to ensure a service is enabled, running, etc.  
This seems like a good candidate for re-using a part of servicesManagement 
technique :D

Is there currently any way to do that?  Or are there any plans or ideas how 
this could be done?
</pre>
    </blockquote>
    <br>
    We have recently been working on some "best practices" to write
    Techniques. You can check out the current draft on
<a class="moz-txt-link-freetext" href="http://www.rudder-project.org/foswiki/bin/view/Development/TechniqueBestPractices">http://www.rudder-project.org/foswiki/bin/view/Development/TechniqueBestPractices</a>.<br>
    <br>
    For now, the only Technique that implements these best practices is
    sshManagement:
<a class="moz-txt-link-freetext" href="https://github.com/Normation/rudder-techniques/tree/master/techniques/systemSettings/remoteAccess/sshConfiguration/2.0">https://github.com/Normation/rudder-techniques/tree/master/techniques/systemSettings/remoteAccess/sshConfiguration/2.0</a>.<br>
    <br>
    This may not be extremely easy to understand yet (needs some
    clarifying I think), but one of the key points here is that all
    Techniques should be broken up into several bundles: one that gets
    parameters via StringTemplate variable remplacement
    (&TECHNIQUE_VALUE&), and one bundle that takes parameters,
    which is called from the first bundle, and applies the logic. This
    would enable you to call out to others Techniques using a "methods:
    "x" usebundle => " construct.<br>
    <br>
    The one remaining issue to solve is that Rudder only generates
    CFEngine promises for the Techniques that are explicitly configured
    for a node. So, if you wanted to call out to Services Management,
    that only works currently is another Directive uses Services
    Management directly on that node also. We should automate this.<br>
    <br>
    Does this clarify? Do you think this will be a useful approach?<br>
    <br>
    Jonathan<br>
    <div class="moz-signature">-- <br>
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <style type="text/css">
<!--
   a.redlink:link { color: #962322; }
   a.redlink:visited { color: #962322; }
  .sig { font-family: sans-serif; font-size: small; }
  .sigsmall { font-family: sans-serif; font-size: x-small; }
-->
</style>
      <table border="0" cellpadding="0" cellspacing="2" width="380">
        <tbody>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><b><img alt=""
                  src="cid:part1.00060308.00090802@normation.com"
                  align="left" height="50" hspace="10" width="50">
                <span class="sig">Jonathan CLARKE</span></b><br>
              <span class="sig"><i>CTO - Directeur technique</i></span><br>
              <span class="sig"><a class="redlink"
                  href="http://www.normation.com">Normation</a></span> </td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><span class="sigsmall"><b>87 rue de Turbigo,
                  75003 Paris, France</b></span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Telephone:</span></td>
            <td><span class="sigsmall">+33 (0)1 83 62 41 24</span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Mobile:</span></td>
            <td><span class="sigsmall">+33 (0)6 99 60 03 10</span></td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>