• Stars
    star
    180
  • Rank 206,318 (Top 5 %)
  • Language
    Go
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OSX Launch Manager

lunchy-go

A friendly wrapper for launchctl. Start your agents and go to lunch!

This is a port of original lunchy ruby gem by Mike Perham with extra functionality.

Release

Overview

Don't you hate OSX's launchctl? You have to give it exact filenames. The syntax is annoying different from Linux's nice, simple init system and overly verbose. It's just not a very developer-friendly tool.

Lunchy aims to be that friendly tool by wrapping launchctl and providing a few simple operations that you perform all the time:

  • ls [pattern]
  • start [pattern]
  • stop [pattern]
  • restart [pattern]
  • status, ps [pattern]
  • install [file]
  • show [pattern]
  • edit [pattern]
  • remove, rm [pattern]
  • scan [path]

where pattern is just a substring that matches the agent's plist filename.

So instead of:

$ launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist

you can do this:

$ lunchy start redis

and:

$ lunchy ls

com.danga.memcached
com.google.keystone.agent
com.mysql.mysqld
io.redis.redis-server
org.mongodb.mongod

Install

You can install binary by running the following bash command:

curl -s https://raw.githubusercontent.com/sosedoff/lunchy-go/master/install.sh | bash

Homebrew

Install using Homebrew:

brew install lunchy-go

Binary Releases

Precompiled binaries are available on Github: https://github.com/sosedoff/lunchy-go/releases

Build from source

Build source code with Go 1.2+:

git clone https://github.com/sosedoff/lunchy-go.git $GOPATH/src/lunchy
cd lunchy
go build
mv ./lunchy-go /usr/local/bin/lunchy

Usage

Add a new plist:

# Install plist
$ lunchy install /usr/local/Cellar/redis/2.8.1/homebrew.mxcl.redis.plist

Manage services:

$ lunchy start redis
$ lunchy stop redis
$ lunchy restart redis
$ lunchy status redis

If you have multiple plists from homebrew, you can simple control all of them:

$ lunchy status
homebrew.mxcl.elasticsearch
homebrew.mxcl.mysql
homebrew.mxcl.postgresql
homebrew.mxcl.redis

# Will stop all processes prefixed by "homebrew"
$ lunchy stop homebrew

Manage plists:

$ lunchy show redis
$ lunchy edit redis

Scan directory for existing plists:

$ lunchy scan /usr/local/Cellar

Scan all homebrew plists:

$ lunchy scan homebrew

Profiles

When switching between different projects you might find yourself stopping and starting lots of different daemons in order to reduce memory usage. This is all good but there's a better way of doing it. Enter lunchy profiles.

Profile file .lunchy should be placed under your project's root directory and include a list of services that needs to be started or stopped. Example:

postgres
redis
elasticsearch

Then you can simply run the following command to start/stop/restart ALL of them at once:

lunchy start
lunchy stop
lunchy restart

License

The MIT License (MIT)

Copyright (c) 2013-2015 Dan Sosedoff, [email protected]

More Repositories

1

pgweb

Cross-platform client for PostgreSQL databases
Go
8,042
star
2

capistrano-unicorn

Capistrano integration for Unicorn! - NEEDS MAINTAINER
Ruby
403
star
3

gitkit

Git toolkit for Go: Smart HTTP server, SSH server, hook receiver
Go
260
star
4

goodreads

Goodreads API wrapper
Ruby
240
star
5

opentable

Unofficial OpenTable API
Ruby
147
star
6

grooveshark

Grooveshark.com unofficial API library
Ruby
123
star
7

slack-notify

Slack.com notifier
Ruby
94
star
8

musicbot

Play music from Slack: Raspberry Pi + Mopidy + Spotify
Go
93
star
9

lxc-ruby

Linux containers (LXC) ruby wrapper
Ruby
89
star
10

xml-sitemap

Easy XML sitemap generation for Ruby/Rails/Merb/Sinatra applications
Ruby
56
star
11

munin-ruby

Munin node client for Ruby
Ruby
41
star
12

omxremote

Web frontend and API for Raspberry Pi omxplayer media player
Go
38
star
13

ansible-vault-go

Go package to interact with Ansible Vault files
Go
37
star
14

wireguard-aws-gateway

Wireguard VPN gateway or AWS
HCL
29
star
15

mail_extract

Strip email message body from quotes and signatures
Ruby
25
star
16

net-ssh-session

Shell session for Net::SSH connections
Ruby
25
star
17

travis-github

Travis CI builds tab in Github
JavaScript
24
star
18

cloudwatchlogs

Web interface for AWS CloudWatch Logs
Go
23
star
19

rackspace-clouddns

Rackspace CloudDNS Ruby Wrapper
Ruby
20
star
20

github-events

Listen to Github repository events in real time
Go
18
star
21

shuttle

Minimalistic deployment tool
Ruby
17
star
22

heroku-vegeta

Using Heroku as a distributed stress-testing platform
Go
16
star
23

nginx2influxdb

Stream Nginx logs directly into InfluxDB
Go
14
star
24

rack-revision

Rack middleware for add code revision header X-REVISION
Ruby
14
star
25

pastie

Simplified API to Pastie.org
Ruby
12
star
26

markup-editor

Web-based markup editor with on-the-fly preview
JavaScript
12
star
27

app-config

Flexible and simple in-application settings for Rails/Sinatra applications
Ruby
11
star
28

envd

Serve application environment variables over HTTP
Go
11
star
29

docker-router

Reverse proxy for docker containers with automatic SSL
Go
11
star
30

bundle_cache

Cache bundle to Amazon S3
Go
10
star
31

docify

Render your favorite markup (RDoc, Markdown, Textile) into nice-looking html.
Ruby
10
star
32

apple_push

Sinatra-based API to send Apple Push Notifications
Ruby
10
star
33

proxie

HTTP proxy server with sqlite-powered storage and web interface for debugging.
Ruby
9
star
34

lxc-server

Web API for LXC container management
Ruby
9
star
35

cxml

Ruby implementation of cXML communication protocol
Ruby
9
star
36

fakemail

Sendmail replacement to debug email output, layouts, etc.
Ruby
8
star
37

hipache-api

HTTP interface for Hipache
Go
8
star
38

munin-plugins

Some useful munin plugins
Ruby
8
star
39

wg-registry

User and device self-service portal for WireGuard
Go
8
star
40

unfuddle-cli

Console-based tool to manage Unfuddle repositories
Ruby
8
star
41

cron2

Cron2 is cron scheduler on steroids: HCL, Docker, Logs, Notifications, Etc
Go
7
star
42

grit-http

Sinatra based API for Git repositories, powered by Grit
Ruby
7
star
43

zeroconf-beacon

Spawn a simple zeroconf service over the local network
Go
7
star
44

lxc-tools

Set of tools to work with LXC containers
Ruby
6
star
45

xtract

Simple data extraction tool
Go
6
star
46

go-craigslist

Craigslist.org wrapper for Go
HTML
6
star
47

snatch

Remote database downloader based on SSH
Ruby
6
star
48

docker-gateway

Stupid simple reverse proxy for Docker
Go
6
star
49

rack-norris

X-Chuck-Norris header with a joke in your Rack app!
Ruby
5
star
50

reeder

Experimental RSS reader
CSS
5
star
51

actions

Repo for Github Actions
Shell
4
star
52

howdy

Experimental YAML-based service monitoring thingy.
Go
4
star
53

unfuddle-services

Sinatra based hook server for Unfuddle. Similar to github-services.
Ruby
3
star
54

rscale

Image scaling wrapper based on ImageMagick console utils
Ruby
3
star
55

dep-cache

Parallel dependency cache helper for running in CI environments
Go
3
star
56

gitvault

Your personal git hosting
Ruby
3
star
57

arduino-rc-receiver

Script to troubleshoot RC receiver with Arduino
Arduino
3
star
58

dotfiles

Development environment configuration, scripts, etc
Ruby
3
star
59

shelly

Remote bash runner over HTTP
Go
2
star
60

debugserver

Debugging server for any console-less applications
Ruby
2
star
61

munin-dashboard

Sinatra based API and GUI for munin nodes
Ruby
2
star
62

ws

Websocket debugging tool
Go
2
star
63

app-detective

Detect application type
Ruby
2
star
64

spellcheck

Text spellcheck/correction based on Redis key-value storage server
Ruby
2
star
65

capistrano-payload

Capistrano plugin that delivers JSON payload to the specified URL
Ruby
2
star
66

dependenci

Client for http://dependenci.com
Ruby
2
star
67

irc2pusher

Send IRC messages to a Pusher channel
2
star
68

sqlembed

Parse out *.sql files and embed the queries as consts
Go
2
star
69

crash_hook

Exception notifications via HTTP
Ruby
2
star
70

debugclient-php

DebugServer PHP client library
PHP
2
star
71

terminal_helpers

Various helpers for console-based applications
Ruby
2
star
72

fpm-builder

Helpers for building packages with fpm
Shell
1
star
73

git-branches

A small tool to show current status of the git repository
Go
1
star
74

arrow_payments

ArrowPayments gateway for Ruby
Ruby
1
star
75

crash_server

Simple web application for crash_hook
Ruby
1
star
76

docker-sandbox

Docker quickstart and playground
1
star
77

bootstrap_navigation

Navigation helper for bootstap html/css framework
Ruby
1
star
78

git-handler

Control git flow
Ruby
1
star
79

server-configs

Set of various server configs and scripts
1
star
80

reckless

Ruby client to Chicago's records store Reckless.com
Ruby
1
star
81

helm-wireguard

Wireguard Helm Chart
Go
1
star
82

docker-http-proxy

Go
1
star
83

shuttle-go

Shuttle is a minimalisting application deployment tool
Go
1
star
84

heroku-addon

Heroku Addon SDK for Go
Go
1
star
85

dummy-service

This a service dummy for random testing
Ruby
1
star
86

dockerfiles

Collection of Dockerfiles
Shell
1
star