Code Monkey home page Code Monkey logo

callsign's Introduction

Yaybu

image

image

image

Yaybu is a push based configuration management tool written in Python with the goal of helping you tame your servers. You describe your infrastructure in a simple and flexible YAML-like language and Yaybu works out what needs to happen to deploy your updates.

All the documentation is available on http://docs.yaybu.com.

Yaybu is very new software, please subscribe to the yaybu-dev mailing list and let us know if you are using it, we'd love to hear from you. You can find the mailing list at http://lists.yaybu.com.

You can also find us in #yaybu on irc.oftc.net.

callsign's People

Contributors

shtev avatar winjer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

callsign's Issues

Deb configuration

Make network manager integration an option, but give it appropriate default and priority.
Integrate with resolvconf, as an option.
Integrate with wtf debian uses?
Basically operate in various different developer scenarios:

  • dev server, with no resolvconf or network-manager
  • dev desktop, with resolvconf but no network-manager
  • dev desktop with network-manager

Simple authentication for the daemon

Write a hash to a file /etc/minidns.key, with appropriate owner and group.
Pass this hash to the server to validate changes from the command line client.
Users must be in the minidns group, or root, to make changes.
Prevents various dns poisoning attacks.

Bind to *

Hello,

I'm trying to use this project in a docker container. I need to have it bind to * or 0.0.0.0
I've dug around the code slightly but I do not see a simple way of accomplishing this. Is this supported?

Support for OS X

I know you probably didn't write this for OS X in mind but it would be nice :)

$ minidns -c etc/minidns.conf start
Password:
sudo: iptables: command not found
sudo: iptables: command not found
Traceback (most recent call last):
  File "/Users/s2092651/.virtualenvs/minidns/bin/minidns", line 9, in <module>
    load_entry_point('minidns==0.3', 'console_scripts', 'minidns')()
  File "/Users/s2092651/.virtualenvs/minidns/lib/python2.7/site-packages/minidns/scripts/server.py", line 191, in run
    client.start()
  File "/Users/s2092651/.virtualenvs/minidns/lib/python2.7/site-packages/minidns/scripts/server.py", line 75, in start
    os.environ["MINIDNS_CONFIG_FILE"] = opts.config
NameError: global name 'opts' is not defined

Change into a proper daemon

This is a fiddly one.

We need to start as root, then fork a child (using the correct daemonisation incantations). The child will then drop privileges and serve on port 53. The parent will remain as root and listen for a SIGCHLD. When it receives a SIGCHLD it performs the cleanup activity that can only be performed by root - for example, iptables changes and /etc/resolv.conf changes.

This is partially implemented.

cannot provide config file

Hi,

I'm attempting to configure minidns with a config file but when I provide the -c option minidns fails with the following msg:

root@db2ff248aa02:~# minidns  -c /root/config.txt start
Traceback (most recent call last):
  File "/usr/local/bin/minidns", line 9, in <module>
    load_entry_point('minidns==0.3', 'console_scripts', 'minidns')()
  File "/usr/local/lib/python2.7/dist-packages/minidns/scripts/server.py", line 191, in run
    client.start()
  File "/usr/local/lib/python2.7/dist-packages/minidns/scripts/server.py", line 75, in start
    os.environ["MINIDNS_CONFIG_FILE"] = opts.config
NameError: global name 'opts' is not defined

Is it something I'm doing wrong? Or is it a bug? Seems unlikely for something common as a config file.

KeyError: 'getpwnam(): name not found: minidns'

Trying to test out the latest development version:

#!python
(minidns)
XXXXXXXX@031986
Wed Feb 05 14:42:46
~/minidns
$ minidns -c example.conf start
Unhandled Error
Traceback (most recent call last):
  File "/Users/XXXXXXXX/.virtualenvs/minidns/lib/python2.7/site-packages/twisted/application/app.py", line 642, in run
    runApp(config)
  File "/Users/XXXXXXXX/.virtualenvs/minidns/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 23, in runApp
    _SomeApplicationRunner(config).run()
  File "/Users/XXXXXXXX/.virtualenvs/minidns/lib/python2.7/site-packages/twisted/application/app.py", line 376, in run
    self.application = self.createOrGetApplication()
  File "/Users/XXXXXXXX/.virtualenvs/minidns/lib/python2.7/site-packages/twisted/application/app.py", line 441, in createOrGetApplication
    application = getApplication(self.config, passphrase)
--- <exception caught here> ---
  File "/Users/XXXXXXXX/.virtualenvs/minidns/lib/python2.7/site-packages/twisted/application/app.py", line 452, in getApplication
    application = service.loadApplication(filename, style, passphrase)
  File "/Users/XXXXXXXX/.virtualenvs/minidns/lib/python2.7/site-packages/twisted/application/service.py", line 405, in loadApplication
    application = sob.loadValueFromFile(filename, 'application', passphrase)
  File "/Users/XXXXXXXX/.virtualenvs/minidns/lib/python2.7/site-packages/twisted/persisted/sob.py", line 210, in loadValueFromFile
    exec fileObj in d, d
  File "/Users/XXXXXXXX/work/minidns/minidns/scripts/minidns.tac", line 26, in <module>
    OrchestrationService(conf).setServiceParent(application)
  File "/Users/XXXXXXXX/work/minidns/minidns/orchestra.py", line 17, in __init__
    self.dnsserver = DNSService(conf)
  File "/Users/XXXXXXXX/work/minidns/minidns/dns.py", line 297, in __init__
    self.factory = MiniDNSServerFactory(forwarders, savedir, self.get_ent())
  File "/Users/XXXXXXXX/work/minidns/minidns/dns.py", line 325, in get_ent
    ent = pwd.getpwnam(self.conf['user'])
exceptions.KeyError: 'getpwnam(): name not found: minidns'

Failed to load application: 'getpwnam(): name not found: minidns'

NSSwitch Module that can take a port number

Currently the DNS lookup nsswitch module looks for:

nameserver n.n.n.n

In /etc/resolv.conf and uses only port 53.

Instead find a line like:

nameserver n.n.n.n 8053

And use the specified port number.

Configuration may not be able to be placed in /etc/resolv.conf, I am not sure.

Support for @ IN A records?

I'm not sure (I could be wrong) but I don't think minidns currently supports wildcard entries.

e.g:

minidns add example.com
minidns record example.com a @ 192.168.0.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.