1. 30 Aug, 2022 1 commit
    • Jérome Perrin's avatar
      component/defaults: use python3 by default · cc7f36a0
      Jérome Perrin authored
      Change python2 softwares to use python2 explicitly and python3
      softwares to use the default, but leave a few softwares (html5as,
      html5as-base, fluent-bit, packer, seleniumrunner) using the default
      python, as they were using python2 not because they only support python2
      but because they don't have strong dependency to the python version
      being used.
  2. 28 Apr, 2022 1 commit
    • Thomas Leymonerie's avatar
      Clean up slapos.recipe.template · f5ebda78
      Thomas Leymonerie authored
      Use slapos.recipe.template instead of slapos.recipe.template if possible
      Harmonize template keys :
      rendered -> output
      template -> url
      template = inline: -> inline =
      Delete "mode" key
      See merge request !1151
  3. 11 Oct, 2021 1 commit
  4. 10 Sep, 2021 1 commit
    • Kirill Smelkov's avatar
      golang: +go1.17 -go1.15 · 15e26abd
      Kirill Smelkov authored
      Go1.17 is incremental improvement over Go1.16 with better and faster compiler,
      runtime, module-mode improvements and faster generated code:
      Drop support for Go1.15, as that release reached EOL and nothing currently uses
      it in SlapOS.
      Don't drop support for Go1.12 yet, as that long-ago-EOL and no longer supported
      Go release is still being used by software/gitlab.
      Remain default at Go1.16 yet.
      Switch helloworld to Go1.17 and test this patch on that
  5. 29 Jun, 2021 1 commit
  6. 13 Jan, 2021 1 commit
  7. 02 Nov, 2020 2 commits
  8. 17 Feb, 2020 1 commit
  9. 29 Jan, 2020 1 commit
  10. 19 Nov, 2019 1 commit
  11. 08 Nov, 2019 1 commit
  12. 07 Oct, 2019 1 commit
  13. 05 Mar, 2019 1 commit
  14. 22 Jan, 2019 2 commits
    • Jérome Perrin's avatar
      helloworld: minimal test · 8053e6a4
      Jérome Perrin authored
    • Kirill Smelkov's avatar
      helloworld: Fix build · af176b5b
      Kirill Smelkov authored
      	2019-01-21 17:56:18 slapos[13553] INFO While:
      	2019-01-21 17:56:18 slapos[13553] INFO   Installing.
      	2019-01-21 17:56:18 slapos[13553] INFO   Getting section instance-profile.
      	2019-01-21 17:56:18 slapos[13553] INFO   Initializing section instance-profile.
      	2019-01-21 17:56:18 slapos[13553] INFO   Installing recipe slapos.recipe.template.
      	2019-01-21 17:56:18 slapos[13553] INFO   Getting distribution for 'slapos.recipe.template'.
      	2019-01-21 17:56:18 slapos[13553] INFO Error: Picked: slapos.recipe.template = 4.3
      	2019-01-21 17:56:19 slapos[13553] ERROR Failed to run buildout profile in directory '/srv/slapgrid/slappart7/srv/runner/software/19771f7b751ffc2a88162b15750c6069'
      	2019-01-21 18:01:21 slapos[26771] INFO While:
      	2019-01-21 18:01:21 slapos[26771] INFO   Installing.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting section helloweb-ruby.
      	2019-01-21 18:01:21 slapos[26771] INFO   Initializing section helloweb-ruby.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting option helloweb-ruby:input.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting section helloweb-ruby-bundle.
      	2019-01-21 18:01:21 slapos[26771] INFO   Initializing section helloweb-ruby-bundle.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting option helloweb-ruby-bundle:make-targets.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting section bundler.
      	2019-01-21 18:01:21 slapos[26771] INFO   Initializing section bundler.
      	2019-01-21 18:01:21 slapos[26771] INFO   Installing recipe rubygemsrecipe.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting distribution for 'rubygemsrecipe'.
      	2019-01-21 18:01:21 slapos[26771] INFO Error: Picked: rubygemsrecipe = 0.2.2+slapos001
      Ruby stuff was failing to download at all -> let's use the versions that
      are the same as currently used in software/gitlab.
      Based on patch by @romain.
      Helped by @jerome.
  15. 03 Nov, 2015 5 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
    • 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
    • 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
    • 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
    • Kirill Smelkov's avatar
      helloworld: Move helloweb program to component/helloweb · e3a11eaa
      Kirill Smelkov authored
      - 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
  16. 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
      So the final naming is:
      for both program and related sections.
  17. 27 Apr, 2015 2 commits
    • Kirill Smelkov's avatar
      helloworld: Turn it into real web-service · 7cd2f953
      Kirill Smelkov authored
      Implement a simple "hello world" web server in Python and hook it into
      SlapOS infrastructure, so that newcomers can see how to implement
      SlapOS services:
          - start service from under etc/service/
          - add promise for service monitoring
          - publish connection url
      TODO IPv4 frontend
      For now the service is only accessible via IPv6, because SlapOS provides
      an unique ipv6-address to every computer partition, and provided IPv4
      addresses have non-global scope and can be used only for organizing
      internal subservices.
      The way we handle IPv4 publish - is through explicit additional IPv4
      frontend - TODO add example how to do it.
      TODO monitoring
      Currently in SlapOS for a service in order to be monitorable, the
      service needs to explicitly extend from monitoring stack:
      TODO - add example how to do it.
      Cc: Jérome Perrin <jerome@nexedi.com>
    • Kirill Smelkov's avatar
      helloworld: Listening on partition IPv4 address makes sense only for internal services · 85e6a1da
      Kirill Smelkov authored
      Because partition IPv4 address(es) are not global ones - i.e.
      - so we cannot expose a service through them to the world without
      additional frontent proxy.
      So let's leave only IPv6 listening address in the example.
      Cc: Jérome Perrin <jerome@nexedi.com>
  18. 26 Apr, 2015 1 commit
    • Kirill Smelkov's avatar
      Revert "hello-world: add IP examples" · 05bfbb9d
      Kirill Smelkov authored
      This reverts the essence of commit 854e4766:
      Changing there
      was wrong - slapos.cookbook:slapconfiguration recipe, which is leveraged
      by [instance-parameter] section does not define global-ipv6:
      - only ipv6 as "Set of IPv6 addresses (of partition)" and ipv6-random
      "One of the IPv6 addresses".
      Trying to instantiate a helloworld SR inside webrunner:
          ---- 8< ---- (instance.log)
          [2015-04-26 11:56:20,133] INFO Error: Referenced option does not exist: instance-parameter global-ipv6
      and the same error while instantiating helloworld SR without slaprunner
      under local slapproxy.
      The global-ipv6 is helpfully injected by slapos.cookbook:softwaretype
      recipe into [slap-network-information] section:
      but unfortunately only if that slapos.cookbook:softwaretype recipe is
      activated - i.e. when we have several software types and we support switching
      between them, which is not the case for helloworld (and it's a pity that
      such fundamental network-configuration is only optionally provided by SlapOS).
      So let's switch back to ${instance-parameter:ipv6-random} - this way
      helloworld instance can be instantiated again.
      Cc: Jérome Perrin <jerome@nexedi.com>
  19. 16 Jan, 2015 1 commit
  20. 09 Dec, 2014 1 commit
  21. 06 Sep, 2013 1 commit
  22. 29 Aug, 2013 1 commit
  23. 02 May, 2013 1 commit
  24. 28 Mar, 2013 1 commit
  25. 26 Mar, 2013 1 commit
  26. 20 Mar, 2012 1 commit
  27. 20 Feb, 2012 1 commit
  28. 30 May, 2011 1 commit