Customizing your Scalarium Cloud using Chef: Overriding Default Attributes

Say you want to specify a different memory size for Redis' virtual memory system for this particular cloud without
changing the cookbook. Easy! You can specify a custom JSON configuration for each cloud which is merged into the one
generated by Scalarium, overwriting our defaults. With this simple yet powerful tool, you can pretty much overwrite all
of our internal default settings.

Edit Cloud

On the cloud's page, follow the "Edit Cloud" link from the "Actions" menu. On the following page you can specify a
custom JSON string. It needs to be valid JSON, and we're validating your input before we store it. We'll define just one
attribute to override the maximum virtual memory size for this cloud.

Custom JSON

The values specified here will be merged into any configuration set that's sent to the instances of this cloud, for all
of the available lifecycle events. You can pretty much override any of our defaults. We'll go into full detail on some
examples in a later post. Now you can retrigger the "setup" event for the Redis instance from the instance's detail
page, which will re-run the redis::server, updating the configuration with the new value and restarting the Redis
server.

Trigger Setup

When you have a look at the Redis configuration in /etc/redis.conf you'll notice that it contains the updated values
fetched from the custom JSON we configured. The Redis server has been properly restarted to reflect the changes too.
Neat!

Next step: Configuring the Clients

Or go back to Configuring Custom Cookbooks