Hi,
We're running Rubber 3.2.0, but it's been upgraded several times over the last several years.
I've got our application running on a staging server which hosts all the required roles. One of the roles is PostgreSQL, which is installed and running fine.
Since the I've had the app up on this server - several months now - I've never been able to get /etc/monit/monit.d/monit-postgresql.conf to populate correctly with the rubber_env variables.
The file contents:
/etc/monit/monit.d/monit-postgresql.conf
check process postgresql with pidfile
group postgresql-staging
start program = " restart"
stop program = " stop"
if failed host 127.0.0.1 port 5432 protocol pgsql then alert
if 5 restarts within 5 cycles then timeout
As you can see, the pidfile value is missing as are the start and stop program paths. These come from rubber_env.postgresql_pid_file and rubber_env.postgresql_ctl as far as I can tell.
I've checked rubber-postgresql.yml, and the variables are present. It seems like the file must not be getting pulled into the global rubber_env variable, but I can't figure out why.
As further detail, here's the contents of my instance-staging.yml file:
---
- !ruby/object:Rubber::Configuration::InstanceItem
name: staging01
roles:
- !ruby/object:Rubber::Configuration::RoleItem
name: web
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: app
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: unicorn
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: nginx
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: db
options:
primary: true
- !ruby/object:Rubber::Configuration::RoleItem
name: postgresql
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: postgresql_master
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: memcached
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: sidekiq
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: redis_master
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: redis
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: collectd
options: {}
- !ruby/object:Rubber::Configuration::RoleItem
name: monit
options: {}
instance_id: redacted
image_type: m3.medium
image_id: ami-e6296b8e
security_groups:
- default
external_host: redacted
external_ip:redacted
internal_host: redacted
internal_ip: redacted
zone: us-east-1e
provider: aws
platform: linux
root_device_type: ebs
- volumes: {}
static_ips: {}
Any thoughts?
Cheers,
Matt