:title: Customizing store-daemon
:description: Learn how to tune custom Deis settings.

.. _store_daemon_settings:

Customizing store-daemon
=========================
The following settings are tunable for the :ref:`store` component's daemon service.

Dependencies
------------
Requires: :ref:`store-monitor <store_monitor_settings>`

Required by: :ref:`store-gateway <store_gateway_settings>`

Considerations: none

Settings set by store-daemon
-----------------------------
The following etcd keys are set by the store-daemon component, typically in its /bin/boot script.

=============================            =================================================================================
setting                                  description
=============================            =================================================================================
/deis/store/osds/$HOST                   Ceph OSD ID for this OSD instance (generated by Ceph)
=============================            =================================================================================

Settings used by store-daemon
------------------------------
The following etcd keys are used by the store-daemon component.

====================================      =================================================================================================
setting                                   description
====================================      =================================================================================================
/deis/store/adminKeyring                  keyring for an admin user to access the Ceph cluster (set by store-monitor)
/deis/store/fsid                          Ceph filesystem ID (set by store-monitor)
/deis/store/hosts/*                       deis-monitor hosts (set by store-monitor)
/deis/store/monKeyring                    keyring for the monitor to access the Ceph cluster (set by store-monitor)
/deis/store/monSetupComplete              set when the Ceph cluster setup is complete (set by store-monitor)
/deis/store/monSetupLock                  host of store-monitor that completed setup (set by store-monitor)
/deis/store/minSize                       minimum number of store-daemons necessary for the cluster to accept writes (set by store-monitor)
/deis/store/pgNum                         number of Ceph placement groups for the storage pools (set by store-monitor)
/deis/store/size                          number of replicas for data stored in Ceph (set by store-monitor)
====================================      =================================================================================================

Using a custom store-daemon image
---------------------------------
You can use a custom Docker image for the store-daemon component instead of the image
supplied with Deis:

.. code-block:: console

    $ deisctl config store-daemon set image myaccount/myimage:latest

This will pull the image from the public Docker registry. You can also pull from a private
registry:

.. code-block:: console

    $ deisctl config store-daemon set image registry.mydomain.org:5000/myaccount/myimage:latest

Be sure that your custom image functions in the same way as the `stock store-daemon image`_ shipped with
Deis. Specifically, ensure that it sets and reads appropriate etcd keys.

.. _`stock store-daemon image`: https://github.com/deis/deis/tree/master/store/daemon
