Skip to content

Instantly share code, notes, and snippets.

View jefferai's full-sized avatar

Jeff Mitchell jefferai

View GitHub Profile
@jefferai
jefferai / reload_haproxy.sh
Last active October 22, 2015 16:25
haproxy reloader
#!/bin/bash
haproxy_bin="/usr/sbin/haproxy"
haproxy_config="/etc/haproxy/haproxy.cfg"
haproxy_tmp_config=$(mktemp --tmpdir haproxy_config_XXXX)
haproxy_pidfile="/run/haproxy.pid"
haproxy_temp_pidfile="/run/haproxy-reloader-${BASHPID}.pid"
EXTRAOPTS=

Service:

{"ID":"registry:kirby:8000","Service":"apibrowse","Tags":null,"Address":"10.88.24.2","Port":49224}

Agent output:

2015/03/19 18:51:45 [INFO] agent: Deregistered service 'registry:kirby:8000'
2015/03/19 18:51:46 [INFO] agent: Synced service 'registry:kirby:8000'

consul-template output (note timestamps), this is the log from the beginning of the consul-template run, the change happened almost two minutes later):

$ bundle exec rake db:migrate RAILS_ENV=production
== 20140907220153 SerializeServiceProperties: migrating =======================
-- add_column(:services, :properties, :text)
-> 0.0011s
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
undefined local variable or method `template' for #<EmailsOnPushService:0x00000004ced980>/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activemodel-4.1.1/lib/active_model/attribute_methods.rb:435:in `method_missing'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/attribute_methods.rb:206:in `method_missing'
/home/git/gitlab/app/models/service.rb:37:in `template?'
resource "docker_container" "example" {
name = "example"
image = "ubuntu:14.04"
command = ["nc", "-l", "-u", "-p 82"]
hostname = "example"
dns = ["5.6.7.8"]
publish_all_ports = true
}
pomluser@thisisit:~/terraformtest$ terraform apply
2015/02/17 21:21:42 [INFO] Terraform version: 0.3.7 dev 94b24d22fec8aec2aeb06d424b9c95b78b77384f
2015/02/17 21:21:42 Detected home directory from env var: /home/pomluser
2015/02/17 21:21:42 [DEBUG] Discovered plugin: atlas = /home/pomluser/gocode/bin/terraform-provider-atlas
2015/02/17 21:21:42 [DEBUG] Discovered plugin: aws = /home/pomluser/gocode/bin/terraform-provider-aws
2015/02/17 21:21:42 [DEBUG] Discovered plugin: azure = /home/pomluser/gocode/bin/terraform-provider-azure
2015/02/17 21:21:42 [DEBUG] Discovered plugin: cloudflare = /home/pomluser/gocode/bin/terraform-provider-cloudflare
2015/02/17 21:21:42 [DEBUG] Discovered plugin: cloudstack = /home/pomluser/gocode/bin/terraform-provider-cloudstack
2015/02/17 21:21:42 [DEBUG] Discovered plugin: consul = /home/pomluser/gocode/bin/terraform-provider-consul
2015/02/17 21:21:42 [DEBUG] Discovered plugin: digitalocean = /home/pomluser/gocode/bin/terraform-provider-digitalocean
resource "docker_container" "example" {
name = "example"
image = "ubuntu:14.04"
command = ["nc", "-l", "-u", "-p 82"]
hostname = "example"
dns = ["1.2.3.4", "5.6.7.8"]
#publish_all_ports = true
}
pomluser@thisisit:~/terraformtest$ terraform plan
2015/02/17 21:06:03 [INFO] Terraform version: 0.3.7 dev fc07ff5ee1a74553a0709bd98432c030d7fcaa65
2015/02/17 21:06:03 Detected home directory from env var: /home/pomluser
2015/02/17 21:06:03 [DEBUG] Discovered plugin: atlas = /home/pomluser/gocode/bin/terraform-provider-atlas
2015/02/17 21:06:03 [DEBUG] Discovered plugin: aws = /home/pomluser/gocode/bin/terraform-provider-aws
2015/02/17 21:06:03 [DEBUG] Discovered plugin: azure = /home/pomluser/gocode/bin/terraform-provider-azure
2015/02/17 21:06:03 [DEBUG] Discovered plugin: cloudflare = /home/pomluser/gocode/bin/terraform-provider-cloudflare
2015/02/17 21:06:03 [DEBUG] Discovered plugin: cloudstack = /home/pomluser/gocode/bin/terraform-provider-cloudstack
2015/02/17 21:06:03 [DEBUG] Discovered plugin: consul = /home/pomluser/gocode/bin/terraform-provider-consul
2015/02/17 21:06:03 [DEBUG] Discovered plugin: digitalocean = /home/pomluser/gocode/bin/terraform-provider-digitalocean
pomluser@thisisit:~/terraformtest$ terraform apply
2015/02/17 21:03:11 [INFO] Terraform version: 0.3.7 dev fc07ff5ee1a74553a0709bd98432c030d7fcaa65
2015/02/17 21:03:11 Detected home directory from env var: /home/pomluser
2015/02/17 21:03:11 [DEBUG] Discovered plugin: atlas = /home/pomluser/gocode/bin/terraform-provider-atlas
2015/02/17 21:03:11 [DEBUG] Discovered plugin: aws = /home/pomluser/gocode/bin/terraform-provider-aws
2015/02/17 21:03:11 [DEBUG] Discovered plugin: azure = /home/pomluser/gocode/bin/terraform-provider-azure
2015/02/17 21:03:11 [DEBUG] Discovered plugin: cloudflare = /home/pomluser/gocode/bin/terraform-provider-cloudflare
2015/02/17 21:03:11 [DEBUG] Discovered plugin: cloudstack = /home/pomluser/gocode/bin/terraform-provider-cloudstack
2015/02/17 21:03:11 [DEBUG] Discovered plugin: consul = /home/pomluser/gocode/bin/terraform-provider-consul
2015/02/17 21:03:11 [DEBUG] Discovered plugin: digitalocean = /home/pomluser/gocode/bin/terraform-provider-digitalocean
$ terraform apply
docker_container.example: Creating...
active: "" => "0"
command.#: "" => "4"
command.0: "" => "nc"
command.1: "" => "-l"
command.2: "" => "-u"
command.3: "" => "-p 82"
computed_command.#: "" => "<computed>"
computed_dns.#: "" => "<computed>"
var envSet *schema.Set = nil
if env, ok := d.GetOk("env"); ok {
envSet = env.(*schema.Set)
}