Add TF upgrade instructions # Checklist for submitter If some of the following don't apply, delete the relevant line. <!-- Note that API documentation changes are now addressed by the product design team. --> - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files) for more information. - [ ] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements) - [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for new osquery data ingestion features. - [ ] Added/updated tests - [ ] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes - [ ] If database migrations are included, checked table schema to confirm autoupdate - For database migrations: - [ ] Checked schema for all modified table for columns that will auto-update timestamps during migration. - [ ] Confirmed that updating the timestamps is acceptable, and will not cause unwanted side effects. - [ ] Ensured the correct collation is explicitly set for character columns (`COLLATE utf8mb4_unicode_ci`). - [ ] Manual QA for all new/changed functionality - For Orbit and Fleet Desktop changes: - [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit feature/bugfix should only apply to one platform (`runtime.GOOS`). - [ ] Manual QA must be performed in the three main OSs, macOS, Windows and Linux. - [ ] Auto-update manual QA, from released version of component to new version (see [tools/tuf/test](../tools/tuf/test/README.md)). --------- Co-authored-by: Rachael Shaw <r@rachael.wtf>
2.5 KiB
Upgrading Fleet
This guide explains how to upgrade your Fleet instance to the latest version in order to get the latest features and bug fixes. For initial installation instructions, see Installing Fleet.
There are three steps to perform a typical Fleet upgrade:
Install the latest version of Fleet
Fleet may be installed locally, or used in a Docker container. Follow the appropriate method for your environment.
Local installation
Download the latest version of Fleet. Check the Upgrading section of the release notes for any additional steps that may need to be taken for a specific release.
Unzip the newly downloaded version, and replace the existing Fleet version with the new, unzipped version.
For example, after downloading:
unzip fleet.zip 'linux/*' -d fleet
sudo cp fleet/linux/fleet* /usr/bin/
Docker container
Pull the latest Fleet docker image:
docker pull fleetdm/fleet
Prepare the database
Changes to Fleet may include changes to the database. Running the built-in database migrations will ensure that your database is set up properly for the currently installed version.
It is always advised to back up the database before running migrations.
Database migrations in Fleet are intended to be run while the server is offline. Osquery is designed to be resilient to short downtime from the server, so no data will be lost from osqueryd clients in this process. Even on large Fleet installations, downtime during migrations is usually only seconds to minutes.
First, take the existing servers offline.
Run database migrations:
fleet prepare db
Serve the new version
Once Fleet has been replaced with the newest version and the database migrations have completed, serve the newly upgraded Fleet instance:
fleet serve
AWS with Terraform
If you are using Fleet's Terraform modules to manage your Fleet deployment to AWS, update the version in main.tf:
fleet_config = {
image = "fleetdm/fleet:<version>"
[...]
}
Run terraform apply to apply the changes.