Configuring Stanchion
In your cluster, you must include one – and only one – Stanchion node. All the Riak CS nodes in that cluster must then be configured to communicate with that Stanchion node so that the cluster is able to track and negotiate causally-sensitive operations.
All of the settings used by the Stanchion node are stored in the
stanchion.conf
file, which is located in the /etc/stanchion
folder on most
operating systems.
If you’re upgrading from a version of Riak CS prior to 2.0.0 – when the
stanchion.conf
and riak-cs.conf
files was introduced – you can still use
the old-style app.config
configuration files. Examples for both configuration
types will be provided.
configuration.name = value
{stanchion, [
%% Configs here
]}
Specifying the Stanchion IP Address and Port
If you have a single node, you don’t have to change the Stanchion settings because Stanchion simply listens to the requests from the local host. If your Riak CS cluster has multiple nodes, you must set the IP address and port that Stanchion listens on for requests from other nodes.
You can set the IP using the listener
parameter. Replace 127.0.0.1
with the
IP address of the Stanchion node, and 8080
with the port of the Stanchion
node.
listener = 127.0.0.1:8080
{stanchion, [
{host, {"127.0.0.1", 8085}},
%% Other configs
]}
The IP address you enter here must match the IP address specified for the
stanchion_host
variable in the Riak riak.conf
file and the Riak CS
riak-cs.conf
file.
If you want to use SSL, make sure the ssl.certfile
and ssl.keyfile
settings
are not commented out, and have been set correctly.
ssl.certfile = "./etc/cert.pem"
ssl.keyfile = "./etc/key.pem"
{stanchion, [
{ssl, [
{certfile, "./etc/cert.pem"},
{keyfile, "./etc/key.pem"}
]},
%% Other configs
]}
Specifying the Admin User
The admin user is created during the configuration of Riak CS.
The same user credentials must be added to each Stanchion used in the cluster.
This is set in the stanchion.conf
file, which is located in the
/etc/stanchion
directory. Enter the same admin.key
and admin.secret
as
admin.key = OUCXMB6I3HOZ6D0GWO2D
admin.secret = a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==
{stanchion, [
%% Admin user credentials
{admin_key, "OUCXMB6I3HOZ6D0GWO2D"},
{admin_secret, "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag=="},
%% Other configs
]}
Specifying Riak Information
If you are running a single node for experimentation, or if a Riak node is
running locally and configured to listen for protocol buffer traffic on
0.0.0.0
, the default Riak configuration for Stanchion should be fine.
Otherwise, update the IP address and port for the Riak host in the Stanchion configuration file.
riak_host = 127.0.0.1:8087
{stanchion, [
{riak_host, {"127.0.0.1", 8087}},
%% Other configs
]}