A colony of interacting processes

Overview

NColony

Infrastructure for running "colonies" of processes.

https://travis-ci.org/ncolony/ncolony.svg?branch=master Documentation Status

Hacking

$ tox

Should DTRT -- if it passes, it means unit tests are passing, and 100% coverage. Note that Travis-CI will automatically run tests on pull requests.

Please feel free to submit pull requests which are failing. However, they cannot be merged until the they are green in Travis-CI.

Release

  • Checkout a new branch
  • Run python -m incremental.update ncolony to update the version number.
  • Create a pull request
  • Merge the pull request
  • Run tox
  • Run twine upload build/tox/py27-wheel/tmp/dist/*

Contributors

Moshe Zadka <[email protected]> Mark Williams <[email protected]>

License

MIT License

Comments
  • fix pylint error

    fix pylint error

    We pin pylint to the current latest, and fix the current problems.

    PyLint adds new issues every release -- this lets us choose when we get them instead of bitrotting.

    opened by moshez 1
  • Port to Python 3.6 compatibility

    Port to Python 3.6 compatibility

    The usual stuff (six, unicode carefulness, print()) plus:

    • Move to incremental, versioneer had weird problems on 3.6
    • im_self/self for methods
    • Move to saner way of testing functions, required code changes
    opened by moshez 1
  • let environment pass to sub-processes

    let environment pass to sub-processes

    docker ENV has this handy syntax to let you reference the previous value of an env-var

    PATH=/mystuff/bin/:${PATH}
    

    Something like that would be nice. Or, perhaps alternatively, the ability to mark the whole environment or certain variables as pass-through. (PATH, PYTHONPATH, things like that).

    opened by kurtbrose 1
  • Add example: a full app

    Add example: a full app

    Write a simple hello-world klein app that reports web statistics to statsd, and run an example with a beat-based health-check and HTTP-based check, a statsd server, a carbon server, and a graphite server which allows monitoring of the app.

    opened by moshez 1
  • ncolony-schedule and ncolony-beatcheck don't beat

    ncolony-schedule and ncolony-beatcheck don't beat

    In ncolony/schedulelib.py service, and ncolony/beatcheck.py service, the services need to look for an NCOLONY_CONFIG environment variable, and if one is found then to start a service that beats.

    opened by moshez 1
  • Remove extraneous `gather` dependencies from tox.ini

    Remove extraneous `gather` dependencies from tox.ini

    Per https://github.com/ncolony/ncolony/pull/61#issuecomment-351845310, no tox test environment needs to depend on gather, because ncolony itself depends on it.

    opened by markrwilliams 0
  • Narrative docs

    Narrative docs

    • Explain python -m ncolony.ctl/"from ncolony import ctllib"/create JSON files options.
    • Explain each field. Give thorough examples.
    • Explain --messages/--config
    • Show a run through of starting up a system, recovering from problems and restarting things.
    opened by moshez 0
  • demo examples don't work

    demo examples don't work

    (venv) => twistd -n ncolony --messages messages --config conf 2018-09-30T09:38:09-0700 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 18.7.0 (/Users/nona/projects/ncolony_test/venv/bin/python 2.7.10) starting up. 2018-09-30T09:38:09-0700 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.selectreactor.SelectReactor.

    Good so far... but then (and right from the example here https://ncolony.readthedocs.io/en/latest/running.html#running-ncolony):

    (venv) => python -m ncolony ctl add my-cat-program --cmd cat usage: main.py [-h] --messages MESSAGES --config CONFIG {restart-all,restart,remove,add} ... main.py: error: argument --messages is required

    Fiddling with arguments specified in the trace doesn't seem to work.

    Suggestions welcomed.

    opened by minskmaz 2
  • Can't add a command with no arguments

    Can't add a command with no arguments

    $ python -m ncolony ctl --messages /tmp/message --config /tmp/config add test --cmd date
    Traceback (most recent call last):
      File "/home/mrw/.pyenv/versions/2.7.13/lib/python2.7/runpy.py", line 174, in _run_module_as_main
        "__main__", fname, loader, pkg_name)
      File "/home/mrw/.pyenv/versions/2.7.13/lib/python2.7/runpy.py", line 72, in _run_code
        exec code in run_globals
      File "/home/mrw/src/python/ncolony/ncolony/__main__.py", line 21, in <module>
        output=sys.stdout
      File "/home/mrw/.virtualenvs/ncolony/lib/python2.7/site-packages/gather/api.py", line 200, in run
        commands[argv[0]](argv)
      File "ncolony/ctllib.py", line 212, in main
        call(ns)
      File "ncolony/ctllib.py", line 175, in call
        func(places, **results)
      File "ncolony/ctllib.py", line 72, in add
        args = [cmd]+args
    TypeError: can only concatenate list (not "NoneType") to list
    

    That's because argparse's append action allows its target value to default to None.

    opened by markrwilliams 0
Releases(0.0.2)
Dockerized iCloud drive

iCloud-drive-docker is a simple iCloud drive client in Docker environment. It uses pyiCloud python library to interact with iCloud

Mandar Patil 376 Jan 01, 2023
MagTape is a Policy-as-Code tool for Kubernetes that allows for evaluating Kubernetes resources against a set of defined policies to inform and enforce best practice configurations.

MagTape is a Policy-as-Code tool for Kubernetes that allows for evaluating Kubernetes resources against a set of defined policies to inform and enforce best practice configurations. MagTape includes

T-Mobile 143 Dec 27, 2022
A cpp project template that uses CMake to build and Google Test / Github Actions to provide a CI

A cpp project template that uses CMake to build and Google Test / Github Actions to provide a CI

Martin Olivier 6 Nov 17, 2022
HB Case Study

HB Case Study Envoy Proxy It is a modern Layer7(App) and Layer3(TCP) proxy Incredibly modernized version of reverse proxies like NGINX, HAProxy It is

Ilker Ispir 1 Oct 22, 2021
Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.

Welcome to the Spinnaker Project Spinnaker is an open-source continuous delivery platform for releasing software changes with high velocity and confid

8.8k Jan 07, 2023
Honcho: a python clone of Foreman. For managing Procfile-based applications.

___ ___ ___ ___ ___ ___ /\__\ /\ \ /\__\ /\ \ /\__\ /\

Nick Stenning 1.5k Jan 03, 2023
📦 Powerful Package manager which updates plugins & server software for minecraft servers

pluGET A powerful package manager which updates Plugins and Server Software for minecraft servers. Screenshots check all to check installed plugins fo

106 Dec 16, 2022
Wubes is like Qubes but for Windows.

Qubes containerization on Windows. The idea is to leverage the Windows Sandbox technology to spawn applications in isolation.

NCC Group Plc 124 Dec 16, 2022
CTF infrastructure deployment automation tool.

CTF infrastructure deployment automation tool. Focus on the challenges. Mirrored from

Fake News 1 Apr 12, 2022
A Blazing fast Security Auditing tool for Kubernetes

A Blazing fast Security Auditing tool for kubernetes!! Basic Overview Kubestriker performs numerous in depth checks on kubernetes infra to identify th

Vasant Chinnipilli 934 Jan 04, 2023
Remote Desktop Protocol in Twisted Python

RDPY Remote Desktop Protocol in twisted python. RDPY is a pure Python implementation of the Microsoft RDP (Remote Desktop Protocol) protocol (client a

Sylvain Peyrefitte 1.6k Dec 30, 2022
Knock your images before these make you painful.

image-knocker Knock your images before these make you painful. Background One day, I had run my deep learning model training program and got off work

Yonghye Kwon 9 Jul 25, 2022
MLops tools review for execution on multiple cluster types: slurm, kubernetes, dask...

MLops tools review focused on execution using multiple cluster types: slurm, kubernetes, dask...

4 Nov 30, 2022
Build and Push docker image in Python (luigi + docker-py)

Docker build images workflow in Python Since docker hub stopped building images for free accounts, I've been looking for another way to do it. I could

Fabien D. 2 Dec 15, 2022
Docker Container wallstreetbets-sentiment-analysis

Docker Container wallstreetbets-sentiment-analysis A docker container using restful endpoints exposed on port 5000 "/analyze" to gather sentiment anal

145 Nov 22, 2022
Cobbler is a versatile Linux deployment server

Cobbler Cobbler is a Linux installation server that allows for rapid setup of network installation environments. It glues together and automates many

Cobbler 2.4k Dec 24, 2022
A simple python application for running a CI pipeline locally This app currently supports GitLab CI scripts

🏃 Simple Local CI Runner 🏃 A simple python application for running a CI pipeline locally This app currently supports GitLab CI scripts ⚙️ Setup Inst

Tom Stowe 0 Jan 11, 2022
Kube kombu - Running kombu consumers with support of liveness probe for kubernetes

Setup and Running Kombu consumers Steps: Install python 3.9 or greater on your s

Anmol Porwal 5 Dec 10, 2022
Automate SSH in python easily!

RedExpect RedExpect makes automating remote machines over SSH very easy to do and is very fast in doing exactly what you ask of it. Based on ssh2-pyth

Red_M 19 Dec 17, 2022