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
Let's Git - Version Control & Open Source Homework

Let's Git - Version Control & Open Source Homework Welcome to this homework for our MOOC: Let's Git! We hope you will learn a lot and have fun working

1 Dec 05, 2021
A tool to clone efficiently all the repos in an organization

cloner A tool to clone efficiently all the repos in an organization Installation MacOS (not yet tested) python3 -m venv .venv pip3 install virtualenv

Ramon 6 Apr 15, 2022
Quick & dirty controller to schedule Kubernetes Jobs later (once)

K8s Jobber Operator Quickly implemented Kubernetes controller to enable scheduling of Jobs at a later time. Usage: To schedule a Job later, Set .spec.

Jukka Väisänen 2 Feb 11, 2022
Kubediff: a tool for Kubernetes to show differences between running state and version controlled configuration.

Kubediff: a tool for Kubernetes to show differences between running state and version controlled configuration.

Weaveworks 1.1k Dec 30, 2022
Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals.

Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals. Implemented Functi

Ahmed Ayman 2 Oct 15, 2021
A Python library for the Docker Engine API

Docker SDK for Python A Python library for the Docker Engine API. It lets you do anything the docker command does, but from within Python apps – run c

Docker 6.1k Dec 31, 2022
Cado Response Integration with Amazon GuardDuty using AWS Lambda

Cado Response Integration with Amazon GuardDuty using AWS Lambda This repository contains a simple example where: An alert is triggered by GuardDuty T

Cado Security 4 Mar 02, 2022
Find-Xss - Termux Kurulum Dosyası Eklendi Eğer Hata Alıyorsanız Lütfen Resmini Çekip İnstagramdan Bildiriniz

FindXss Waf Bypass Eklendi !!! PRODUCER: Saep UPDATER: Aser-Vant Download: git c

Aser 2 Apr 17, 2022
a CLI that provides a generic automation layer for assessing the security of ML models

Counterfit About | Getting Started | Learn More | Acknowledgments | Contributing | Trademarks | Contact Us -------------------------------------------

Microsoft Azure 575 Jan 02, 2023
Python job scheduling for humans.

schedule Python job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax. A simple to use API for

Dan Bader 10.4k Jan 02, 2023
GitGoat enables DevOps and Engineering teams to test security products intending to integrate with GitHub

GitGoat is an open source tool that was built to enable DevOps and Engineering teams to design and implement a sustainable misconfiguration prevention strategy. It can be used to test with products w

Arnica 149 Dec 22, 2022
Convenient tool to manage multiple VMs at once using libvirt

Convenient tool to manage multiple VMs at once using libvirt Installing To install the tool and its dependencies: pip install -e . Getting completion

Cedric Bosdonnat 13 Nov 11, 2022
Big data on k8s

# microsoft azure # https://docs.microsoft.com/en-us/cli/azure/install-azure-cli az account set --subscription [] az aks get-credentials --resource-g

Luan Moreno 22 Dec 24, 2022
Blazingly-fast :rocket:, rock-solid, local application development :arrow_right: with Kubernetes.

Gefyra Gefyra gives Kubernetes-("cloud-native")-developers a completely new way of writing and testing their applications. Over are the times of custo

Michael Schilonka 352 Dec 26, 2022
Hatch plugin for Docker containers

hatch-containers CI/CD Package Meta This provides a plugin for Hatch that allows

Ofek Lev 11 Dec 30, 2022
docker-compose工程部署时的辅助脚本

okta-cmd Introduction docker-compose 辅助脚本

完美风暴666 4 Dec 09, 2021
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 basic instruction for Kubernetes setup and understanding.

A basic instruction for Kubernetes setup and understanding Module ID Module Guide - Install Kubernetes Cluster k8s-install 3 Docker Core Technology mo

648 Jan 02, 2023
DataOps framework for Machine Learning projects.

Noronha DataOps Noronha is a Python framework designed to help you orchestrate and manage ML projects life-cycle. It hosts Machine Learning models ins

52 Oct 30, 2022