/kokki-cookbooks/cloudkick/recipes/default.py
https://github.com/rizumu/deploymachine · Python · 58 lines · 46 code · 10 blank · 2 comment · 12 complexity · bfa5c940cb41294766e2f4696c534fe5 MD5 · raw file
- from kokki import Execute, Fail, File, Template, Package, Service
- assert env.config.cloudkick.oauth_key and env.config.cloudkick.oauth_secret and env.config.cloudkick.hostname
- apt_list_path = '/etc/apt/sources.list.d/cloudkick.list'
- apt = None
- if env.system.platform == "ubuntu":
- ver = env.system.lsb['release']
- if ver == "10.10":
- apt = "deb http://packages.cloudkick.com/ubuntu lucid main"
- elif ver == "10.04":
- apt = "deb http://packages.cloudkick.com/ubuntu lucid main"
- elif ver == "9.10":
- apt = "deb http://packages.cloudkick.com/ubuntu karmic main"
- elif ver == "9.04":
- apt = "deb http://packages.cloudkick.com/ubuntu jaunty main"
- elif ver == "8.10":
- apt = "deb http://packages.cloudkick.com/ubuntu intrepid main"
- elif ver == "8.04":
- apt = "deb http://packages.cloudkick.com/ubuntu hardy main"
- elif ver == "6.04":
- apt = "deb http://packages.cloudkick.com/ubuntu dapper main"
- elif env.system.platform == "debian":
- ver = env.system.lsb['release']
- apt = "deb http://packages.cloudkick.com/ubuntu lucid main"
- # if ver == '5.0':
- # apt = "deb http://apt.librato.com/debian/ lenny non-free"
- if not apt:
- raise Fail("Can't find a cloudkick package for your platform/version")
- Execute("apt-update-cloudkick",
- command = "apt-get update",
- action = "nothing")
- Execute("curl http://packages.cloudkick.com/cloudkick.packages.key | apt-key add -",
- not_if = "(apt-key list | grep 'Cloudkick' > /dev/null)")
- File(apt_list_path,
- owner = "root",
- group ="root",
- mode = 0644,
- content = apt+"\n",
- notifies = [("run", env.resources["Execute"]["apt-update-cloudkick"], True)])
- File("/etc/cloudkick.conf",
- owner = "root",
- group = "root",
- mode = 0644,
- content = Template("cloudkick/cloudkick.conf.j2"))
- Package("cloudkick-agent",
- action = "upgrade")
- Service("cloudkick-agent",
- supports_restart = True,
- subscribes = [("restart", env.resources["File"]["/etc/cloudkick.conf"])])