Skip to main content

No project description provided

Project description

# moon_engine

## Installation

If you want a stable version:

`bash sudo python -m pip install moon_engine `

If you want a development version:

`bash ARTIFACTORY=https://artifactory-iva.si.francetelecom.fr/artifactory/api/pypi/python-virt-orange-product-devops/simple sudo python -m pip install --pre moon_engine -i $ARTIFACTORY ` Use it at your own risk, this is an unstable version.

If you want to be in development mode, and get the code:

`bash git clone git@gitlab.forge.orange-labs.fr:moon/moon_utilities.git cd moon_utilities sudo pip install -e . cd .. git clone git@gitlab.forge.orange-labs.fr:moon/moon_cache.git cd moon_cache sudo pip install -e . cd .. git clone git@gitlab.forge.orange-labs.fr:moon/moon_engine.git cd moon_engine sudo pip install -e . `

## Configuration

You need to create 3 configuration files.

### config.cfg:

# configuration for Gunicorn
bind = "127.0.0.1:8081"
workers = 2

# configuration for moon_engine
moon = "moon.yaml"

### moon.yaml (feel free to update the configuration file to your need…):

type: "pipeline"
uuid:
manager_url: ""
incremental_updates: false
api_token:
data: policy.json
debug: true

management:
  password: admin
  url: http://127.0.0.1:8000
  user: admin
  token_file: moon_engine_users.json

orchestration:
  driver: moon_engine.plugins.pyorchestrator
  connection: local
  port: 20000...20100
  config_dir: /tmp

authorization:
  driver: moon_engine.plugins.authz

plugins:
  directory: /tmp

logging:
  version: 1

  formatters:
    brief:
      format: "%(levelname)s %(name)s %(message)-30s"
    custom:
      format: "%(asctime)-15s %(levelname)s %(name)s %(message)s"

  handlers:
    console:
      class : logging.StreamHandler
      formatter: custom
      level   : INFO
      stream  : ext://sys.stdout
    file:
      class : logging.handlers.RotatingFileHandler
      formatter: custom
      level   : DEBUG
      filename: /tmp/moon_engine.log
      maxBytes: 1048576
      backupCount: 3

  loggers:
    moon:
      level: DEBUG
      handlers: [console, file]
      propagate: no

  root:
    level: ERROR
    handlers: [console]

### policy.json

This file contains all data that will be imported in the Engine. As we cannot update the cache after the creation of the Engine, all data must be in this file. Example files lie in the conf directory.

## Web server execution

Execution when library is installed:

For a development server:

`bash hug -m moon_engine.server config.cfg `

For a production server:

`bash gunicorn moon_engine.server:__hug_wsgi__ -c config.cfg `

or

`bash moon_engine start config.cfg `

If library is not installed:

`bash gunicorn moon_engine/server:__hug_wsgi__ -c config.cfg `

This will install an autonomous engine server. If you need to connect to a Manager, you must update the moon.yaml accordingly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

moon_engine-0.8-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file moon_engine-0.8-py3-none-any.whl.

File metadata

  • Download URL: moon_engine-0.8-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.10

File hashes

Hashes for moon_engine-0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 df43fae35403566abec7ee4d0f2091a68a08945bf397dfe566777af0fb58f170
MD5 bd1f9f80a54d4879432ae08c99add223
BLAKE2b-256 32fa1d009dc45bcec303eb891dd8aaaea57b63cfe76fa542fee2287fdb213ee8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page