An error occurred fetching the project authors.
- 19 Nov, 2019 1 commit
-
-
Łukasz Nowak authored
-
- 03 Nov, 2015 5 commits
-
-
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 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 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 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 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
-
- 30 Oct, 2015 1 commit
-
-
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.
-
- 27 Apr, 2015 2 commits
-
-
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: http://git.erp5.org/gitweb/slapos.git/blob/HEAD:/stack/monitor/README.txt TODO - add example how to do it. Cc: Jérome Perrin <jerome@nexedi.com>
-
Kirill Smelkov authored
Because partition IPv4 address(es) are not global ones - i.e. 10.0.12.57 - 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>
-
- 26 Apr, 2015 1 commit
-
-
Kirill Smelkov authored
This reverts the essence of commit 854e4766: Changing there ${instance-parameter:ipv6-random} to ${instance-parameter:global-ipv6} was wrong - slapos.cookbook:slapconfiguration recipe, which is leveraged by [instance-parameter] section does not define global-ipv6: http://git.erp5.org/gitweb/slapos.git/blob/HEAD:/slapos/recipe/slapconfiguration.py?js=1#l70 - 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: http://git.erp5.org/gitweb/slapos.git/blob/HEAD:/slapos/recipe/softwaretype.py?js=1#l164 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>
-
- 16 Jan, 2015 1 commit
-
-
Cédric de Saint Martin authored
-
- 09 Dec, 2014 1 commit
-
-
Jérome Perrin authored
also fix a few typos and reference to slapgrid
-
- 29 Aug, 2013 1 commit
-
-
Cédric de Saint Martin authored
Also improve overall quality. (cherry picked from commit 7232c1e3409b65790d98d44467e4ef3739940478)
-
- 02 May, 2013 1 commit
-
-
Cédric de Saint Martin authored
-
- 28 Mar, 2013 1 commit
-
-
Cédric de Saint Martin authored
-
- 26 Mar, 2013 1 commit
-
-
Cédric de Saint Martin authored
-