Convert Command-Line Options to YAML
Starting in MongoDB 4.2, mongod
and
mongos
accept --outputConfig
command-line option to
output the configuration used by the
mongod
/ mongos
instance.
You can use this option to convert command-line options to YAML configuration.
Examples
Convert mongod
Command-Line Options to YAML
Consider the following mongod
invocation that uses the
command-line options:
mongod --shardsvr --replSet myShard --dbpath /var/lib/mongodb --bind_ip localhost,My-Example-Hostname --fork --logpath /var/log/mongodb/mongod.log --clusterAuthMode x509 --tlsMode requireTLS --tlsCAFile /path/to/my/CA/file --tlsCertificateKeyFile /path/to/my/certificate/file --tlsClusterFile /path/to/my/cluster/membership/file
Include the --outputConfig
command-line option to generate the corresponding YAML file.
mongod --shardsvr --replSet myShard --dbpath /var/lib/mongodb --bind_ip localhost,My-Example-Hostname --fork --logpath /var/log/mongodb/mongod.log --clusterAuthMode x509 --tlsMode requireTLS --tlsCAFile /path/to/my/CA/file --tlsCertificateKeyFile /path/to/my/certificate/file --tlsClusterFile /path/to/my/cluster/membership/file --outputConfig
The mongod
outputs the following YAML to stdout
and
exits:
net: bindIp: localhost,My-Example-Hostname tls: CAFile: /path/to/my/CA/file certificateKeyFile: /path/to/my/certificate/file clusterFile: /path/to/my/cluster/membership/file mode: requireTLS outputConfig: true processManagement: fork: true replication: replSet: myShard security: clusterAuthMode: x509 sharding: clusterRole: shardsvr storage: dbPath: /var/lib/mongodb systemLog: destination: file path: /var/log/mongodb/mongod.log
To create a configuration file, copy the generated content into a
file and delete the outputConfig
setting from the YAML.
Convert mongos
Command-Line Options to YAML
Consider the following mongos
invocation that uses the
command-line options:
mongos --configdb myCSRS/cfg1.example.net:27019,cfg2.example.net:27019 --bind_ip localhost,My-Example-MONGOS-Hostname --fork --logpath /var/log/mongodb/mongos.log --clusterAuthMode x509 --tlsMode requireTLS --tlsCAFile /path/to/my/CA/file --tlsCertificateKeyFile /path/to/my/certificate/file --tlsClusterFile /path/to/my/cluster/membership/file
Include the --outputConfig
command-line option to generate the corresponding YAML for the
mongos
instance:
mongos --configdb myCSRS/cfg1.example.net:27019,cfg2.example.net:27019 --bind_ip localhost,My-Example-MONGOS-Hostname --fork --logpath /var/log/mongodb/mongos.log --clusterAuthMode x509 --tlsMode requireTLS --tlsCAFile /path/to/my/CA/file --tlsCertificateKeyFile /path/to/my/certificate/file --tlsClusterFile /path/to/my/cluster/membership/file --outputConfig
The mongos
outputs the following YAML to stdout
and exits:
net: bindIp: localhost,My-Example-MONGOS-Hostname tls: CAFile: /path/to/my/CA/file certificateKeyFile: /path/to/my/certificate/file clusterFile: /path/to/my/cluster/membership/file mode: requireTLS outputConfig: true processManagement: fork: true security: clusterAuthMode: x509 sharding: configDB: myCSRS/cfg1.example.net:27019,cfg2.example.net:27019 systemLog: destination: file path: /var/log/mongodb/mongos.log
To create a configuration file, copy the generated content into a
file and delete the outputConfig
setting from the YAML.