This commit is contained in:
Thibault "bui" Koechlin 2020-12-15 17:02:24 +01:00 committed by GitHub
parent b79c897d99
commit 825f8f83b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 49 additions and 1 deletions

View file

@ -24,4 +24,8 @@ template: |
## Geolite2 notice
This product includes GeoLite2 data created by MaxMind, available from <a href="https://www.maxmind.com">https://www.maxmind.com</a>.
## Upgrading installation
Take a look at the [upgrade instructions](https://doc.crowdsec.net/Crowdsec/v1/getting_started/upgrades/) or [installation instructions](https://doc.crowdsec.net/Crowdsec/v1/getting_started/installation/).

View file

@ -0,0 +1,42 @@
# Upgrades
The wizard is here to help the user in the process of upgrading an existing installation.
Various items need to be kept during the upgrade process:
- scenarios/parsers/postoverflows : upstream scenarios need to be updated, while local/tainted ones need to be kept as-is
- most configurations must be kept as-is (`acquis.yaml` `*_credentials.yaml` `profiles.yaml` `simulation.yaml` `config.yaml`)
- database (especially if it's a SQLite file)
## Patch upgrade
`wizard.sh --binupgrade`
When doing a minor/patch upgrade (ie. `1.0.0` to `1.0.1`), the `--binupgrade` feature should be the more appropriate : It will simply upgrade the existing binaries, letting all configurations untouched.
As any breaking change should lead to a version bump and appropriate warning, this is the safest option.
## Minor upgrade
`wizard.sh --upgrade`
When doing a minor upgrade (ie. `1.0.4` to `1.1.0`), the `--upgrade` feature should be used : It will attempt to migrate and upgrade any existing configurations, include tainted/custom ones. The ambition is to be able to upgrade scenarios, parsers etc to the latest version when relevant, while keeping custom/tainted ones untouched.
It's using `cscli config backup`, creating a directory (usually `/tmp/tmp.<random>`) in which it's going to dump all relevant configurations before performing an upgrade :
- configuration files : `acquis.yaml` `*_credentials.yaml` `profiles.yaml` `simulation.yaml` `config.yaml`
- one directory for **parsers**, **scenarios**, **postoverflows** and **collections**, where it's going to store both reference to upstream configurations, and your custom/tainted ones
It is then going to cleanup crowdsec configuration, `/etc/crowdsec/` content (except bouncers configuration), before deploying the new binaries. Once this is done, configuration will be restored from our temp directory using `cscli config restore`.
## Major upgrade
For major upgrades (ie. `0.3.X` to `1.0.X`), `wizard` won't do the trick, and you'll have to rely on documentation to do so :
- Migrating from `0.3.X` to `1.0.X` : [documentation](Crowdsec/v1/migration/)

View file

@ -27,6 +27,7 @@ Download latest V1 {{v1X.crowdsec.name}} version [here]({{v1X.crowdsec.download_
tar xvzf crowdsec-release.tgz
cd crowdsec-v1*/
sudo ./wizard.sh --uninstall
sudo rm /etc/cron.d/crowdsec_pull
sudo ./wizard.sh --bininstall
```

View file

@ -5,6 +5,7 @@ nav:
# - Glossary: getting_started/glossary.md
- Concepts : getting_started/concepts.md
- Install Crowdsec : getting_started/installation.md
- Upgrade Crowdsec: getting_started/upgrades.md
- Crowdsec Tour: getting_started/crowdsec-tour.md
- User guide:
- CLI: user_guide/cscli.md