Skip to main content

slapos.cookbook

Cookbook of SlapOS recipes.

testing

Unit tests for recipes can be found under slapos/test/recipe. To run the tests use provided unittest.defaultTestLoader inside slapos/test/test_recipe by invoking

python setup.py test –test-suite slapos.test.test_recipe.additional_tests

generic_cloudooo

The generic_cloudooo recipe helps you to deploy cloudooo services with their configuration files.

How to use generic_cloudooo?

Here is an example of a section to add in your software.cfg :

[cloudooo-configuration]
recipe = slapos.cookbook:generic_cloudooo
configuration-file = ${directory:etc}/cloudooo.cfg
wrapper = ${directory:services}/cloudooo
data-directory = ${directory:srv}/cloudooo
ip = 0.0.0.0
port = 1234
ooo-paster = ${directory:bin}/cloudooo_paster
mimetype_entry_addition =
  text/html application/pdf wkhtmltopdf
openoffice-port = 1235
ooo-binary-path = ${directory:libreoffice-bin}/program
environment =
  FONTCONFIG_FILE = $${fontconfig-conf:output}
  PATH = ${binary-link:target-directory}
ooo-uno-path = ${directory:libreoffice-bin}/basis-link/program

Where :

  • configuration-file is the path where the put the configuration file;

  • wrapper is the path where the put the final executable file;

  • data-directory is the folder where cloudooo would put it’s temporary files;

  • ip and port is where cloudooo will listen to;

  • ooo-paster is the path of the program that will load cloudooo configuration and start the application;

  • mimetype_entry_addition is additional entries to give to the default mimetype registry. (see section below.) The mimetype entry list is sorted in order to make the global mimetype at the bottom of the list. (i.e. * * ooo > text/* * ooo)

    mimetype_entry_addition =
      <input_format> <output_format> <handler>
  • openoffice-port is the port where the internal OpenOffice.org service will listen to;

  • ooo-binary-path is the path of the openoffice service executable file;

  • environment are environment vars to use with the openoffice binary;

  • ooo-uno-path is the path where UNO library is installed.

Default mimetype registry

application/vnd.oasis.opendocument* * ooo
application/vnd.sun.xml* * ooo
application/pdf text/* pdf
application/pdf * ooo
video/* * ffmpeg
audio/* * ffmpeg
application/x-shockwave-flash * ffmpeg
application/ogg * ffmpeg
application/ogv * ffmpeg
image/png image/jpeg imagemagick
image/png * ooo
image/* image/* imagemagick
text/* * ooo
application/zip * ooo
application/msword * ooo
application/vnd* * ooo
application/x-vnd* * ooo
application/postscript * ooo
application/wmf * ooo
application/csv * ooo
application/x-openoffice-gdimetafile * ooo
application/x-emf * ooo
application/emf * ooo
application/octet* * ooo
* application/vnd.oasis.opendocument* ooo

librecipe

Thanks to using slapos.cookbook:librecipe it is easier to create zc.buildout recipes in SlapOS environment.

How to use?

In setup.py of recipe add only one install requires to slap.lib.recipe.

In code itself subclass from slap.lib.recipe.BaseSlapRecipe.BaseSlapRecipe.

Use _install hook:

from slap.lib.recipe.BaseSlapRecipe import BaseSlapRecipe

class Recipe(BaseSlapRecipe):
  ...
  def _install(self):
    # refer below for list of available objects
    specific code
    of recipe

Available variables self.:

  • name and options passed by zc.buildout during init

  • work_directory – buildout’s directory

  • bin_directory – places for generated binaries

  • running_wrapper_location – filename of wrapper to create

  • data_root_directory – directory container for data – inside this directory it is advised to create named directories for provided servers which needs data

  • backup_directory – directory container for backups – inside this directory it is advised o created named directories for backups, with same structure as in data_root_directory

  • var_directory – container for various, unix following things:

    • log_directory – container for logs

    • run_directory – container for pidfiles and sockets

  • etc_directory – place to put named files and directories of configuration for provided servers

  • computer_id – id of computer

  • computer_partition_id – if of computer partition

  • server_url - url of Vifib server

  • software_release_url – url of software release being instantiated

  • slap – initialised connection to Vifib server

  • computer_partition – initialised connection to computer partition

  • request – shortcut to computer partition request method

By default all directories are created before calling _install hook.

_install method shall return list of paths which are safe to be removed by buildout during part uninstallation.

Important assumptions

Because in SlapOS environment zc.buildout does not know when data are changed, recipes shall be always uninstalled/installed. This is done during constructing recipe instance which subclasses from BaseSlapRecipe.

mkdirectory

mkdirectory loops on its options and create the directory joined

The created directory won’t be added to path list.

These recipes provide the ability to save some buildout parameters and their value in a custom file, inside the instance folder.

In both recipes, you HAVE TO give a filename, which will be stored at the root of the instance folder

WriteRecipe :

  • Is used to create a section (named according to the buildout section_name).

  • You can give then as much parameters you wish, with their default values.

  • Whenever you run buildout, if the parameter has yet been saved in the config file, it will do nothing.

  • If the parameter’s value has changed in the config file, it won’t be overwritten

  • /!If you decide to change the default value of one parameter, ALL other parameters will be reseted in the config file, even if you changed it manually. Explanation : The default values aren’t expected to change, except while development purposes.

ReadRecipe :

  • It fills its own section with all the options in all the sections of the config file.

Metadata

Release files for slapos.cookbook 1.0.514

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for slapos.cookbook 1.0.514
File Size Uploaded
slapos_cookbook-1.0.514.tar.gz 202.8 kB Details

Release files / slapos_cookbook-1.0.514.tar.gz

Download URL slapos_cookbook-1.0.514.tar.gz
Size 202.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e8f9688e80ee8e08fef2a95fa5d7fc5f13ad13bb2dcab5d6bb2800426bd3e4b3
BLAKE2b-256 checksum
How to use checksums
dbb1c8739a4fc582a9cc2d133c33ef7a6c418a45a36b6224d49aa014b4dadcfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.0.514 This release

1 release file

1.0.497

1 release file

1.0.493

1 release file

1.0.472

1 release file

1.0.459

1 release file

1.0.438

1 release file

1.0.431

1 release file

1.0.420

1 release file

1.0.416

1 release file

1.0.415

1 release file

1.0.406

1 release file

1.0.403

1 release file

1.0.402

1 release file

1.0.401

1 release file

1.0.397

1 release file

1.0.394

1 release file

1.0.386

1 release file

1.0.373

1 release file

1.0.367

1 release file

1.0.360

1 release file

1.0.351

1 release file

1.0.329

1 release file

1.0.326

1 release file

1.0.297

1 release file

1.0.291

1 release file

1.0.246

1 release file

1.0.237

1 release file

1.0.236

1 release file

1.0.226

1 release file

1.0.214

1 release file

1.0.213

1 release file

1.0.184

1 release file

1.0.167

1 release file

1.0.152

1 release file

1.0.146

1 release file

1.0.145

1 release file

1.0.143

1 release file

1.0.142

1 release file

1.0.124

1 release file

1.0.122

1 release file

1.0.121

1 release file

1.0.119

1 release file

1.0.118

1 release file

1.0.92

1 release file

1.0.85

1 release file

1.0.84

1 release file

1.0.75

1 release file

1.0.66

1 release file

1.0.62

1 release file

1.0.61

1 release file

1.0.59

1 release file

1.0.58

1 release file

1.0.53

1 release file

1.0.52

1 release file

1.0.50

1 release file

1.0.48

1 release file

1.0.45

1 release file

1.0.44

1 release file

1.0.43

1 release file

1.0.41

1 release file

1.0.35

1 release file

1.0.31

1 release file

1.0.30

1 release file

1.0.25

1 release file

1.0.22

1 release file

1.0.17

1 release file

1.0.16

1 release file

1.0.14

1 release file

1.0.9

1 release file

0.103

1 release file

0.102

1 release file

0.101

1 release file

0.100

1 release file

0.99

1 release file

0.98

1 release file

0.97

1 release file

0.96

1 release file

0.95

1 release file

0.94

1 release file

0.93

1 release file

0.92

1 release file

0.91

1 release file

0.90

1 release file

0.89

1 release file

0.88

1 release file

0.87

1 release file

0.85

1 release file

0.84.2

1 release file

0.84.1

1 release file

0.84

1 release file

0.83.1

1 release file

0.83

1 release file

0.82

1 release file

0.81

1 release file

0.80

1 release file

0.79

1 release file

0.78.5

1 release file

0.78.4

1 release file

0.78.3

1 release file

0.78.1

1 release file

0.78.0

1 release file

0.77.1

1 release file

0.77.0

1 release file

0.76.0

1 release file

0.75.0

1 release file

0.74.0

1 release file

0.73.1

1 release file

0.73.0

1 release file

0.72.0

1 release file

0.71.4

1 release file

0.71.3

1 release file

0.71.2

1 release file

0.71.1

1 release file

0.71

1 release file

0.70

1 release file

0.69

1 release file

0.68.1

1 release file

0.68

1 release file

0.67

1 release file

0.66

1 release file

0.65

1 release file

0.64.2

1 release file

0.64.1

1 release file

0.64

1 release file

0.63

1 release file

0.62

1 release file

0.61

1 release file

0.60

1 release file

0.59

1 release file

0.58

1 release file

0.57

1 release file

0.56

1 release file

0.55

1 release file

0.54.1

1 release file

0.54

1 release file

0.53

1 release file

0.52

1 release file

0.51

1 release file

0.50

1 release file

0.49

1 release file

0.48

1 release file

0.47

1 release file

0.46

1 release file

0.45

1 release file

0.44

1 release file

0.43

1 release file

0.42

1 release file

0.41

1 release file

0.40.1

1 release file

0.40

1 release file

0.39

1 release file

0.38

1 release file

0.37

1 release file

0.36

1 release file

0.35

1 release file

0.34

1 release file

0.33

1 release file

0.32

1 release file

0.31

1 release file

0.30

1 release file

0.29

1 release file

0.28

1 release file

0.27

1 release file

0.26

1 release file

0.25

1 release file

0.24

1 release file

0.23

1 release file

0.22

1 release file

0.21

1 release file

0.20

1 release file

0.19

1 release file

0.18

1 release file

0.17

1 release file

0.16

1 release file

0.15

1 release file

0.14

1 release file

0.13

1 release file

0.12

1 release file

0.11

1 release file

0.10

1 release file

0.9

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page