---
name: "goiardi"
section: "8"
platform: "linux"
package: "goiardi"
version: "0.11.10-2+b11"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/goiardi"
---

# goiardi(8)

A Chef server written in Go

## NAME

goiardi - A Chef server written in Go

## DESCRIPTION

### Usage:

-

  goiardi \[OPTIONS\]

### Application Options:

- **-v**, **--version**

  Print version info.

- **-V**, **--verbose**

  Show verbose debug information. Repeat for more verbosity.

- **-c**, **--config=**

  Specify a config file to use.

- **-I**, **--ipaddress=**

  Listen on a specific IP address.

- **-H**, **--hostname=**

  Hostname to use for this server. Defaults to hostname reported by the kernel.

- **-P**, **--port=**

  Port to listen on. If port is set to 443, SSL will be activated. (default: 4545)

- **-Z**, **--proxy-hostname=**

  Hostname to report to clients if this goiardi server is behind a proxy using a different hostname. See also **--proxy-port**. Can be used with **--proxy-port** or alone, or not at all.

- **-W**, **--proxy-port=**

  Port to report to clients if this goiardi server is behind a proxy using a different port than the port goiardi is listening on. Can be used with **--proxy-hostname** or alone, or not at all.

- **-i**, **--index-file=**

  File to save search index data to.

- **-D**, **--data-file=**

  File to save data store data to.

- **-F**, **--freeze-interval=**

  Interval in seconds to freeze in-memory data structures to disk if there have been any changes (requires **-i**/--index-file and **-D**/--data-file options to be set). (Default 10 seconds.)

- **-L**, **--log-file=**

  Log to file X

- **-s**, **--syslog**

  Log to syslog rather than a log file. Incompatible with **-L**/--log-file.

- **--time-slew=**

  Time difference allowed between the server's clock and the time in the X-OPS-TIMESTAMP header. Formatted like 5m, 150s, etc. Defaults to 15m.

- **--conf-root=**

  Root directory for configs and certificates. Default: the directory the config file is in, or the current directory if no config file is set.

- **-A**, **--use-auth**

  Use authentication. Default: false.

- **--use-ssl**

  Use SSL for connections. If **--port** is set to 433, this will automatically be turned on. If it is set to 80, it will automatically be turned off. Default: off. Requires **--ssl-cert** and **--ssl-key**.

- **--ssl-cert=**

  SSL certificate file. If a relative path, will be set relative to **--conf-root**.

- **--ssl-key=**

  SSL key file. If a relative path, will be set relative to **--conf-root**.

- **--https-urls**

  Use 'https://' in URLs to server resources if goiardi is not using SSL for its connections. Useful when goiardi is sitting behind a reverse proxy that uses SSL, but is communicating with the proxy over HTTP.

- **--disable-webui**

  If enabled, disables connections and logins to goiardi over the webui interface.

- **--use-mysql**

  Use a MySQL database for data storage. Configure database options in the config file.

- **--use-postgresql**

  Use a PostgreSQL database for data storage. Configure database options in the config file.

- **--local-filestore-dir=**

  Directory to save uploaded files in. Optional when running in in-memory mode, \*mandatory\* (unless using S3 uploads) for SQL mode.

- **--log-events**

  Log changes to chef objects.

- **-K**, **--log-event-keep=**

  Number of events to keep in the event log. If set, the event log will be checked periodically and pruned to this number of entries.

- **-x**, **--export=**

  Export all server data to the given file, exiting afterwards. Should be used with caution. Cannot be used at the same time as **-m**/--import.

- **-m**, **--import=**

  Import data from the given file, exiting afterwards. Cannot be used at the same time as **-x**/--export.

- **-Q**, **--obj-max-size=**

  Maximum object size in bytes for the file store. Default 10485760 bytes (10MB).

- **-j**, **--json-req-max-size=**

  Maximum size for a JSON request from the client. Per chef-pedant, default is 1000000.

- **--use-unsafe-mem-store**

  Use the faster, but less safe, old method of storing data in the in-memory data store with pointers, rather than encoding the data with gob and giving a new copy of the object to each requestor. If this is enabled goiardi will run faster in in-memory mode, but one goroutine could change an object while it's being used by another. Has no effect when using an SQL backend.

- **--db-pool-size=**

  Number of idle db connections to maintain. Only useful when using one of the SQL backends. Default is 0 - no idle connections retained

- **--max-connections=**

  Maximum number of connections allowed for the database. Only useful when using one of the SQL backends. Default is 0 - unlimited.

- **--use-serf**

  If set, have goidari use serf to send and receive events and queries from a serf cluster. Required for shovey.

- **--serf-event-announce**

  Announce log events and joining the serf cluster over serf, as serf events. Requires **--use-serf**.

- **--serf-addr=**

  IP address and port to use for RPC communication with a serf agent. Defaults to 127.0.0.1:7373.

- **--use-shovey**

  Enable using shovey for sending jobs to nodes. Requires **--use-serf**.

- **--sign-priv-key=**

  Path to RSA private key used to sign shovey requests.

- **--dot-search**

  If set, searches will use . to separate elements instead of \_.

- **--convert-search**

  If set, convert \_ syntax searches to . syntax. Only useful if **--dot-search** is set.

- **--pg-search**

  Use the new Postgres based search engine instead of the default ersatz Solr. Requires **--use-postgresql**, automatically turns on **--dot-search**. **--convert-search** is recommended, but not required.

- **--use-statsd**

  Whether or not to collect statistics about goiardi and send them to statsd.

- **--statsd-addr=**

  IP address and port of statsd instance to connect to. (default 'localhost:8125')

- **--statsd-type=**

  statsd format, can be either 'standard' or 'datadog' (default 'standard')

- **--statsd-instance=**

  Statsd instance name to use for this server. Defaults to the server's hostname, with '.' replaced by '\_'.

- **--use-s3-upload**

  Store cookbook files in S3 rather than locally in memory or on disk. This or **--local-filestore-dir** must be set in SQL mode. Cannot be used with in-memory mode.

- **--aws-region=**

  AWS region to use S3 uploads.

- **--s3-bucket=**

  The name of the S3 bucket storing the files.

- **--aws-disable-ssl**

  Set to disable SSL for the endpoint. Mostly useful just for testing.

- **--s3-endpoint=**

  Set a different endpoint than the default s3.amazonaws.com. Mostly useful for testing with a fake S3 service, or if using an S3-compatible service.

- **--s3-file-period=**

  Length of time, in minutes, to allow files to be saved to or retrieved from S3 by the client. Defaults to 15 minutes.

### Help Options:

- **-h**, **--help**

  Show this help message

## COMPATIBILITY

This version of Goiardi aims for compatibility with Chef Server version 11.1.7.

## SEE ALSO

The complete Goiardi documentation is maintained as Sphinx docs online. The latest version can be found in the following URL:\
 https://goiardi.readthedocs.io/en/latest/.\
 If the **goiardi-doc** package is installed, you should be able to browse them offline by pointing your browser to the following local URL:\
 file:///usr/share/doc/goiardi-doc/html/index.html.\
 Please note this manpage was automatically generated by the Debian goiardi maintainers. Do not file bugs for its content to the Goiardi upstream authors.
