icegridregistry
6 min read
6 min read
6 min read
6 min read
6 min read
6 min read
6 min read
6 min read
6 min read
The IceGrid registry is a centralized repository of information, including deployed applications and well-known objects. A registry can optionally be collocated with an IceGrid node, which conserves resources and can be convenient during development and testing. The registry server is implemented by the icegridregistry executable.
Command Line Options for icegridregistry
icegridregistryThe registry supports the following command-line options:
icegridregistry -hUsage: icegridregistry [options]Options:-h, --help Show this message.-v, --version Display the Ice version.--readonly Start the master registry in read-only mode.--initdb-from-replica <replica> Initialize the database from the given replica.The --readonly option prevents any updates to the registry's database; it also prevents slaves from synchronizing their databases with this master. This option is useful when you need to verify that the master registry's database is correct after promoting a slave to become the new master. The --initdb-from-replica option, added in Ice 3.5.1, allows you to initialize the database from another registry replica. This option is useful when you need to start a new master with the contents of a slave database.
Additional command line options are supported, including those that allow the registry to run as a Windows service or Unix daemon, and Ice includes a utility to help you install an IceGrid registry as a Windows service.
Configuring Registry Endpoints
The IceGrid registry creates up to six object adapters. You configure their endpoints with the following properties:
- IceGrid.Registry.Client.Endpoints The
IceGrid.Registry.Clientadapter hosts the objects that clients use: the locator (Ice::Locator), theIceGrid::QueryandIceGrid::Registryobjects, and theIceGrid::Session,IceGrid::AdminSessionandIceGrid::Adminobjects of the sessions that clients create. The registry requires this property to start.
IceGrid.Registry.Server.Endpoints The
IceGrid.Registry.Serveradapter hosts the locator registry (Ice::LocatorRegistry), with which servers register their object adapters. The registry requires this property to start.IceGrid.Registry.Internal.Endpoints The
IceGrid.Registry.Internaladapter hosts the objects that IceGrid nodes and registry replicas use. The registry requires this property to start, even when there are no nodes or replicas.IceGrid.Registry.SessionManager.Endpoints The
IceGrid.Registry.SessionManageradapter hosts the Glacier2 session managers that create sessions for the clients of a Glacier2 router. The registry creates this adapter only when this property is set.IceGrid.Registry.AdminSessionManager.Endpoints The
IceGrid.Registry.AdminSessionManageradapter hosts the Glacier2 session managers that create administrative sessions for the clients of a Glacier2 router. The registry creates this adapter only when this property is set.IceGrid.Registry.Discovery.Endpoints The
IceGrid.Registry.Discoveryadapter hosts the object that answers locator discovery queries, on UDP multicast endpoints. The registry creates this adapter by default, with port4061; settingIceGrid.Registry.Discovery.Enabledto0disables it.
Registry Security Considerations
A client that successfully establishes an administrative session with the registry has the ability to compromise the security of the registry host. As a result, it is imperative that you configure the registry carefully if you intend to allow the use of administrative sessions.
Administrative sessions are disabled unless you explicitly configure the registry to use an authentication mechanism. To allow authentication with a user name and password, you can specify a password file using the property IceGrid.Registry.AdminCryptPasswords or use your own permissions verifier object by supplying its proxy in the property IceGrid.Registry.AdminPermissionsVerifier. Your verifier object must implement the Glacier2::PermissionsVerifier interface.
To authenticate administrative clients using their SSL connections, define IceGrid.Registry.AdminSSLPermissionsVerifier with the proxy of a verifier object that implements the Glacier2::SSLPermissionsVerifier interface.
Configuring the Registry's Database Directory
You must provide an empty directory in which the registry can initialize its database. The path name of this directory is supplied by the configuration property IceGrid.Registry.LMDB.Path.
The files in this directory must not be edited manually, but rather indirectly using one of the administrative tools. To clear a registry's database, first ensure the server is not currently running, then remove all of the files in its data directory and restart the server.
Registry Configuration Example
The registry requires values for the three mandatory endpoint properties, as well as the database directory property, as shown in the following example:
IceGrid.Registry.Client.Endpoints=tcp -p 4061IceGrid.Registry.Server.Endpoints=tcpIceGrid.Registry.Internal.Endpoints=tcpIceGrid.Registry.LMDB.Path=/opt/ripper/registryIn addition, we also recommend defining IceGrid.InstanceName, whose value affects the identities of the registry's well-known objects.
The remaining configuration properties are discussed in IceGrid.*.
See Also
- Using IceGrid Deployment
- Well-Known Objects
- Promoting a Registry Slave
- Windows Services
- Resource Allocation Using IceGrid Sessions
- IceGrid Administrative Sessions
- Glacier2 Integration with IceGrid
- icegridadmin Command Line Tool
- Securing a Glacier2 Router
- IceGrid Persistent Data
- Well-Known Registry Objects
- IceGrid.*