* Add google/renameio/v2 dependency * Add new command to generate IntelliJ run configurations * Detect the OpenSearch version for the Data Node config * Use .template as template file suffix The regenerate command picks up all ".xml.tmpl" files in the repository and fails on the run configuration template. So we use a different suffix to avoid that issue. * Update dependencies * Warn users about hostname setup in /etc/hosts On Linux the *.localhost hostnames work automatically. On other operating systems the users have to add the names to /etc/hosts.
graylog-project CLI
This is a CLI tool for managing a graylog-project setup. Building Graylog involves managing multiple repositories, and this tool helps streamline that process.
Installation
- Download the binary for your platform from the releases page
- Copy the downloaded binary to a directory in your
PATH(i.e.cp graylog-project.linux $HOME/bin/graylog-project - See graylog-project instructions on how to use it
Update
The CLI tool provides a self-update command to download and install the
latest version from GitHub Releases.
Configuration
The CLI uses a manifest file to determine which repositories it should be managing. These manifests can be found in the manifests/ directory. When you run the checkout command, for example, the cli will checkout all the repos mentioned in the config at the versions specified.
Additionally, there is the apply-manifest file. This file is used during releases. It contains the new version that all managed repos should be set to after the release. It can also optionally contain the name of a new branch to create across all repos.
Available Commands
| command name | description |
|---|---|
| apply-manifest | Builds a version of Graylog using the components specified in the apply-manifest. Also increments the version after the build and optionally creates a new branch. |
| apply-manifest-generate | Generate an apply-manifest from the given manifest |
| bootstrap | Clone and setup graylog-project repository |
| changelog | Changelog mangement |
| checkout | Update all repos for the given manifest |
| exec | Execute arbitrary commands across all modules |
| git | Run git commands across all modules |
| github | GitHub management |
| graylog-version | Sets the Graylog version across all modules |
| help | Display help on any command |
| idea | Commands for setting up IntelliJ IDEA |
| maven-parent | Show or modify maven parent |
| maven-property | Gets or sets a maven property |
| npm | Run npm commands across all modules |
| npm-clean | Cleanup npm/yarn related state |
| npm-version | Set package.json version |
| project-changelog | Project-wide changelog management |
| regenerate | Regenerate files for the current checkout |
| run | Run Graylog server, MongoDB , Elasticsearch and other services |
| self-update | Update the CLI tool to the latest version. |
| status | Shows the current version and branch of each managed repo. |
| update | Update all repositories for the current manifest |
| version | Display version of the Graylog CLI tool |
| yarn | Run yarn commands across all modules |
Contributing
Please read the contributing instructions to get started.
License
graylog-project-cli is released under the SSPL.