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)
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
Bugbane - Application security tools for CI/CD pipeline

BugBane Набор утилит для аудита безопасности приложений. Основные принципы и осо

GardaTech 20 Dec 09, 2022
NixOps is a tool for deploying to NixOS machines in a network or cloud.

NixOps NixOps is a tool for deploying to NixOS machines in a network or the cloud. Key features include: Declarative: NixOps determines and carries ou

Nix/Nixpkgs/NixOS 1.2k Jan 02, 2023
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
Ralph is the CMDB / Asset Management system for data center and back office hardware.

Ralph Ralph is full-featured Asset Management, DCIM and CMDB system for data centers and back offices. Features: keep track of assets purchases and th

Allegro Tech 1.9k Jan 01, 2023
The leading native Python SSHv2 protocol library.

Paramiko Paramiko: Python SSH module Copyright: Copyright (c) 2009 Robey Pointer 8.1k Jan 04, 2023

Chartreuse: Automated Alembic migrations within kubernetes

Chartreuse: Automated Alembic SQL schema migrations within kubernetes "How to automate management of Alembic database schema migration at scale using

Wiremind 8 Oct 25, 2022
Coding For Entrepreneurs 100 Jan 01, 2023
Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

Glances - An eye on your system Summary Glances is a cross-platform monitoring tool which aims to present a large amount of monitoring information thr

Nicolas Hennion 22k Jan 08, 2023
A honey token manager and alert system for AWS.

SpaceSiren SpaceSiren is a honey token manager and alert system for AWS. With this fully serverless application, you can create and manage honey token

287 Nov 09, 2022
ZeroMQ bindings for Twisted

Twisted bindings for 0MQ Introduction txZMQ allows to integrate easily ØMQ sockets into Twisted event loop (reactor). txZMQ supports both CPython and

Andrey Smirnov 149 Dec 08, 2022
framework providing automatic constructions of vulnerable infrastructures

中文 | English 1 Introduction Metarget = meta- + target, a framework providing automatic constructions of vulnerable infrastructures, used to deploy sim

rambolized 685 Dec 28, 2022
Push Container Image To Docker Registry In Python

push-container-image-to-docker-registry 概要 push-container-image-to-docker-registry は、エッジコンピューティング環境において、特定のエッジ端末上の Private Docker Registry に特定のコンテナイメー

Latona, Inc. 3 Nov 04, 2021
Changelog CI is a GitHub Action that enables a project to automatically generate changelogs

What is Changelog CI? Changelog CI is a GitHub Action that enables a project to automatically generate changelogs. Changelog CI can be triggered on pu

Maksudul Haque 106 Dec 25, 2022
ServerStatus 云探针、多服务器探针、云监控、多服务器云监控

ServerStatus 云探针、多服务器探针、云监控、多服务器云监控 基于ServerStatus-Hotaru膜改版的套娃膜改版(实际上本README也是抄它的)。 主要将client改为通过http提交数据,以及将服务端换成了php以便减小部署成本(PHP is the best!) 默认图片

shirakun 16 Apr 14, 2022
A system for managing CI data for Mozilla projects

Treeherder Description Treeherder is a reporting dashboard for Mozilla checkins. It allows users to see the results of automatic builds and their resp

Mozilla 235 Dec 22, 2022
Rancher Kubernetes API compatible with RKE, RKE2 and maybe others?

kctl Rancher Kubernetes API compatible with RKE, RKE2 and maybe others? Documentation is WIP. Quickstart pip install --upgrade kctl Usage from lazycls

1 Dec 02, 2021
This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase.

COA DevOps Training UseCase This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase. Demo environme

Cosmin Tudor 1 Jan 28, 2022
Build Netbox as a Docker container

netbox-docker The Github repository houses the components needed to build Netbox as a Docker container. Images are built using this code and are relea

Farshad Nick 1 Dec 18, 2021
More than 130 check plugins for Icinga and other Nagios-compatible monitoring applications. Each plugin is a standalone command line tool (written in Python) that provides a specific type of check.

Python-based Monitoring Check Plugins Collection This Enterprise Class Check Plugin Collection offers a package of more than 130 Python-based, Nagios-

Linuxfabrik 119 Dec 27, 2022