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)
Supervisor process control system for UNIX

Supervisor Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. Supported Platf

Supervisor 7.6k Dec 31, 2022
Wiremind Kubernetes helper

Wiremind Kubernetes helper This Python library is a high-level set of Kubernetes Helpers allowing either to manage individual standard Kubernetes cont

Wiremind 3 Oct 09, 2021
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
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
SSH tunnels to remote server.

Author: Pahaz Repo: https://github.com/pahaz/sshtunnel/ Inspired by https://github.com/jmagnusson/bgtunnel, which doesn't work on Windows. See also: h

Pavel White 1k Dec 28, 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
Run Oracle on Kubernetes with El Carro

El Carro is a new project that offers a way to run Oracle databases in Kubernetes as a portable, open source, community driven, no vendor lock-in container orchestration system. El Carro provides a p

Google Cloud Platform 205 Dec 30, 2022
Visual disk-usage analyser for docker images

whaler What? A command-line tool for visually investigating the disk usage of docker images Why? Large images are slow to move and expensive to store.

Treebeard Technologies 194 Sep 01, 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
Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard

Speedtest All-In-One Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard. Getting Started About This Code This

Aaron Melton 2 Feb 22, 2022
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
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
Simple, Pythonic remote execution and deployment.

Welcome to Fabric! Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python obje

Fabric 13.8k Jan 06, 2023
Simple ssh overlay for easy, remote server management written in Python GTK with paramiko

Simple "ssh" overlay for easy, remote server management written in Python GTK with paramiko

kłapouch 3 May 01, 2022
Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

Apache Airflow Apache Airflow (or simply Airflow) is a platform to programmatically author, schedule, and monitor workflows. When workflows are define

The Apache Software Foundation 28.6k Jan 01, 2023
The low-level, core functionality of boto 3.

botocore A low-level interface to a growing number of Amazon Web Services. The botocore package is the foundation for the AWS CLI as well as boto3. On

the boto project 1.2k Jan 03, 2023
Tencent Yun tools with python

Tencent_Yun_tools 使用 python3.9 + 腾讯云 AccessKey 利用工具 使用之前请先填写config.ini配置文件 Usage python3 Tencent_rce.py -h Scanner python3 Tencent_rce.py -s 生成CSV

<img src="> 13 Dec 20, 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
sysctl/sysfs settings on a fly for Kubernetes Cluster. No restarts are required for clusters and nodes.

SysBindings Daemon Little toolkit for control the sysctl/sysfs bindings on Kubernetes Cluster on the fly and without unnecessary restarts of cluster o

Wallarm 19 May 06, 2022
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