<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Le 25/11/2014 01:16, Jean Rémond a
      écrit :<br>
    </div>
    <blockquote
cite="mid:CAO=cbAVH_2ChHWZhy8jfO2ucpRm7PcmJLQ-Ro1=fNhPXW8pEjQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>
                  <div>Hello guys,<br>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    Hello Jean,<br>
    <br>
    <blockquote
cite="mid:CAO=cbAVH_2ChHWZhy8jfO2ucpRm7PcmJLQ-Ro1=fNhPXW8pEjQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>Here are my 2 cents for the command-line :<br>
                </div>
                - make the help available from any argument and
                coherent, ex : "rudder agent help" and "rudder help
                agent" should return the same information <br>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Already done :)<br>
    <br>
    <blockquote
cite="mid:CAO=cbAVH_2ChHWZhy8jfO2ucpRm7PcmJLQ-Ro1=fNhPXW8pEjQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>- standardize debug flag (-d and/or --debug  for
              example) and make it applicable through all levels (any
              nested script should respect debug flag)<br>
            </div>
            - it does exist so : do NOT use information from headers
            inside the script, it mixes comments and code logic (see
            Debian apache2 modules dependencies or LSB init script)<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    We use them for documentation, like a lot of language do with
    annotations This is useful to keep the help data on the sub-command
    side without having to run them all the time.  <big><br>
      <br>
    </big><br>
    <blockquote
cite="mid:CAO=cbAVH_2ChHWZhy8jfO2ucpRm7PcmJLQ-Ro1=fNhPXW8pEjQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>- be careful to any dependency added (rsync for example in
          the pull request)<br>
        </div>
      </div>
    </blockquote>
    <br>
    Well spotted, we try to add as few dependencies as possible on the
    client side, we will replace rsync with something else.<br>
    <br>
    <br>
    <blockquote
cite="mid:CAO=cbAVH_2ChHWZhy8jfO2ucpRm7PcmJLQ-Ro1=fNhPXW8pEjQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">- standardize common flags for each script so
        external contributions will be homogeneous (-d for debug, -v for
        verbose, etc)<br>
      </div>
    </blockquote>
    <br>
    I agree that it is a good thing to standardize the meaning of some
    flag.<br>
    However, I think it's too burdensome to guarantee their existence on
    every sub-command.<br>
    <br>
    <br>
    <blockquote
cite="mid:CAO=cbAVH_2ChHWZhy8jfO2ucpRm7PcmJLQ-Ro1=fNhPXW8pEjQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Jean<br>
        </div>
      </div>
    </blockquote>
    <br>
    Benoît<br>
    <br>
    <blockquote
cite="mid:CAO=cbAVH_2ChHWZhy8jfO2ucpRm7PcmJLQ-Ro1=fNhPXW8pEjQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Fri, Nov 21, 2014 at 11:59 AM,
          Francois Armand <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:francois.armand@normation.com"
              target="_blank">francois.armand@normation.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF"> Hello guys, <br>
              <br>
              In Rudder 3.0, we want to add a command to manage Rudder
              Agent. <br>
              The main idea is to let the user have an unique entry
              point to do all the common stuff (running the agent now,
              in debug, updating its policies, sending an inventory,
              etc) with a sensical and harmonized naming scheme. <br>
              <br>
              So, that's for the big picture, now for some more ideas we
              wanted to share to get feedback early, because, well, we
              really want to make the Rudder user life easier, so it
              seems to make sense to ask what they are thinking about
              that :)<br>
              <br>
              <br>
              <b>Main goals for now:</b><br>
              <ul>
                <li>we have a main command with (at least) two
                  sub-context (agent and server) allowing to interact
                  with these components<br>
                </li>
                <li>the main cli must be an an extensible command
                  wrapper so that it is esay to add new command</li>
                <li>each command should be writtable in any language
                  (shell and python come to mind)</li>
                <li>the commands should be discoverable from the cli
                  without any other reference outside</li>
                <ul>
                  <li>(I refreigned to use intuitive, but its behavior
                    really must seem natural and logic for any sysadmin
                    used to unix)<br>
                  </li>
                  <li>we have convention about the behavior of
                    sub-command so that there is little suprise from one
                    to an other (not git like :)</li>
                  <li>each sub-command embed a description of its goal
                    so that it's easy to display a summary at the top
                    level<br>
                  </li>
                </ul>
              </ul>
              <br>
              <br>
              <b>Current state and technical details:</b><br>
              <br>
              We have a proto working for the agent and a very little
              subset of commands. The code will be available in repo <a
                moz-do-not-send="true"
                href="https://github.com/Normation/rudder-agent"
                target="_blank">https://github.com/Normation/rudder-agent</a>
              (you can already look at the Pull Request: <a
                moz-do-not-send="true"
                href="https://github.com/Normation/rudder-agent/pull/1"
                target="_blank">https://github.com/Normation/rudder-agent/pull/1</a>)<br>
              <br>
              There is two main items:<br>
              <ul>
                <li>a directory (/opt/rudder/share/commands) containing
                  individual commands, organized as follow:</li>
                <ul>
                  <li>each command is in its own executable file</li>
                  <li>the file has the naming scheme:
                    [agent|server]-cmd_name</li>
                  <li>the file contains an header with the command
                    description<br>
                  </li>
                </ul>
                <li>the (python) "rudder" command, that will be located
                  in "/opt/rudder/bin/rudder", and is just a wrapper
                  with the following behaviour:</li>
                <ul>
                  <li>"rudder" => display the general info, let know
                    that you can call "rudder [agent|server|help]</li>
                  <li>"rudder agent" or "rudder server": list all
                    commands in /opt/rudder/share/cli with the correct
                    prefix and for each of them, display its
                    description. <br>
                  </li>
                </ul>
              </ul>
              <br>
              The current implemented commands are only on rudder agent
              for now:<br>
              <ul>
                <li>rudder agent enable / disable<br>
                </li>
                <li>rudder agent reinit</li>
                <li>rudder agent reset</li>
                <li>rudder agent inventory</li>
                <li>rudder agent run</li>
                <li>rudder agent update<br>
                </li>
              </ul>
              <div>Hopefully, others will follow - and any feedback on
                that is warmlly welcomed !<br>
                <br>
                Cheers, <br>
                <span class="HOEnZb"><font color="#888888"> <br>
                    -- <br>
                    <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:part4.07030409.07020705@normation.com"
                                align="left" height="50" hspace="10"
                                width="50"> <span>François ARMAND</span></b><br>
                            <span><i>Directeur de la R&D</i></span><br>
                            <span><a moz-do-not-send="true"
                                href="http://www.normation.com"
                                target="_blank">Normation</a></span> </td>
                        </tr>
                        <tr>
                          <td colspan="2">
                            <hr></td>
                        </tr>
                        <tr>
                          <td colspan="2"><span><b>87 rue de Turbigo,
                                75003 Paris, France</b></span></td>
                        </tr>
                        <tr>
                          <td><span>Telephone:</span></td>
                          <td><span><a moz-do-not-send="true"
                                href="tel:%2B33%20%280%291%2083%2062%2099%2023"
                                value="+33183629923" target="_blank">+33
                                (0)1 83 62 99 23</a></span></td>
                        </tr>
                        <tr>
                          <td><span>Mobile:</span></td>
                          <td><span><a moz-do-not-send="true"
                                href="tel:%2B33%20%280%296%2063%2037%2060%2055"
                                value="+33663376055" target="_blank">+33
                                (0)6 63 37 60 55</a></span></td>
                        </tr>
                        <tr>
                          <td colspan="2">
                            <hr></td>
                        </tr>
                      </tbody>
                    </table>
                  </font></span></div>
            </div>
            <br>
            _______________________________________________<br>
            rudder-dev mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:rudder-dev@lists.rudder-project.org">rudder-dev@lists.rudder-project.org</a><br>
            <a moz-do-not-send="true"
              href="http://www.rudder-project.org/mailman/listinfo/rudder-dev"
              target="_blank">http://www.rudder-project.org/mailman/listinfo/rudder-dev</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
rudder-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rudder-dev@lists.rudder-project.org">rudder-dev@lists.rudder-project.org</a>
<a class="moz-txt-link-freetext" href="http://www.rudder-project.org/mailman/listinfo/rudder-dev">http://www.rudder-project.org/mailman/listinfo/rudder-dev</a>
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <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:part10.00090908.00060702@normation.com"
                  align="left" height="50" hspace="10" width="50">
                <span class="sig">Benoît PECCATTE</span></b><br>
              <span class="sig"><i>Responsable cloud development</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">Phone:</span></td>
            <td><span class="sigsmall">+33 (0)1 85 08 48 96</span></td>
          </tr>
          <!--<tr>
                        <td><span class="sigsmall">Mobile:</span></td>
                        <td><span class="sigsmall">+33 (0)6 XX XX XX XX</span></td>
          </tr>--> <tr>
            <td colspan="2">
              <hr></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>