1. 03 Nov, 2015 6 commits
    • Kirill Smelkov's avatar
      helloworld & helloweb: Go version · 24e82414
      Kirill Smelkov authored
      We added support for Go in the previous patch. Let's now illustrate how
      to use the toolchain and build simple service based on it.
      
      /cc @gabriel, @Camata
      24e82414
    • Kirill Smelkov's avatar
      Go component · f7db20a7
      Kirill Smelkov authored
      Add support for Go language in the form of providing component for Go
      toolchain and stdlib.
      
      Current Go stable series is 1.5.* but to bootstrap it one need to have
      Go 1.4.* available, which itself needs C compiler to bootstrap.
      
      We need Go support for upcoming GitLab SR, where one server is written
      in this language:
      
          https://gitlab.com/gitlab-org/gitlab-workhorse
      
      /cc @gabriel, @Camata
      f7db20a7
    • Kirill Smelkov's avatar
      helloworld & helloweb: Ruby version · 31a45a94
      Kirill Smelkov authored
      To illustrate how to build Ruby software, let's add helloweb-ruby
      component and integrate it into helloworld SR as a service.
      
      helloweb-ruby installation is a bit tricky, because we do not have it
      initially as a released gem, and have to build it with Bundler by hand.
      
      Changes for integration into helloworld services infrastructure are
      small, thanks for the "kind" rework we did in previous patch.
      
      /cc @kazuhiko
      31a45a94
    • Kirill Smelkov's avatar
      helloworld & helloweb: Prepare to show different kinds of helloweb to the world · 2b6c1e47
      Kirill Smelkov authored
      Prepare to have several helloweb programs each written in its own
      language, and installed into bin/ as helloworld-<language> and exposed
      as separate service to the web on its own port.
      
      For component/helloweb we just rename installed script and section.
      
      For software/helloworld we split helloweb & helloweb-promise section
      into base and generate requested helloweb-<kinds> & friends via jinja2
      programming; the same for exposing url for each kind.
      
      So far it is only preparatory changes for new kinds - i.e. instance code
      now supports it, but the only kind so far is still python.
      
      /cc @jerome
      2b6c1e47
    • Kirill Smelkov's avatar
      helloworld: Convert instance.cfg.in to jinja2 · eb270605
      Kirill Smelkov authored
      Jinja2 is currently the preferred way to do instance templating, because
      it has control structures.
      
      We'll need control structures in the following patches, but even without
      it, it is better to show "how to" do instances the preferred way.
      
      /cc @jerome
      eb270605
    • Kirill Smelkov's avatar
      helloworld: Move helloweb program to component/helloweb · e3a11eaa
      Kirill Smelkov authored
      This
      
      - better illustrates what components do (provide building recipes for
        programs) and what software do (gather components and provide recipes
        for instances).
      
      - illustrates how to build the software properly - usually we build
        eggs or scripts with zc.recipe.egg:* , not generate python programs via
        jinja2 templating. Because when installing via egg, it is possible to
        import other installed eggs relatively straghtforward, and for jinja2
        way it is hard to do.
      
      The helloweb program itself is moved into newly introduced helloweb.git
      repository and, as almost all other software, becomes separate from
      slapos.git .
      
      /cc @jerome
      e3a11eaa
  2. 30 Oct, 2015 1 commit
    • Kirill Smelkov's avatar
      helloworld: Unify naming for internal "hello web" service · 4a4e3e32
      Kirill Smelkov authored
      Since 7cd2f953 (helloworld: Turn it into real web-service) helloworld SR
      implements real web-service which talks to outside world with the help
      of shipped-with-it "hello web" program.
      
      Buildout sections which create helloweb service and promise were named
      based on helloworld prefix though, which is not very consistent. Thus the
      change for such sections to the same name as the "hello web" program uses.
      
      Also for style consistency the "hello web" program is renamed from
      hello-web to helloweb, as this naming style is usually used for
      helloworld.{c,py.rb,go,etc}
      
      So the final naming is:
      
          helloweb
      
      for both program and related sections.
      4a4e3e32
  3. 29 Oct, 2015 1 commit
  4. 27 Oct, 2015 8 commits
  5. 26 Oct, 2015 7 commits
  6. 23 Oct, 2015 3 commits
  7. 22 Oct, 2015 6 commits
  8. 21 Oct, 2015 6 commits
  9. 19 Oct, 2015 2 commits