[fix] update readme
This commit is contained in:
parent
4c81704049
commit
895cab87b4
48
README.md
48
README.md
@ -5,31 +5,61 @@ Based on the Masters Book of Serious Sysadmin's Best Practices Chapter, this scr
|
||||
## Crash course
|
||||
|
||||
```
|
||||
wget https://this.repo.srs.ly/alban/changelog/bla/bla/raw/changelog
|
||||
wget https://git.interhacker.space/alban/changelog/raw/branch/master/changelog.sh
|
||||
chmod +x changelog
|
||||
sudo ./changelog
|
||||
sudo -E ./changelog
|
||||
```
|
||||
|
||||
## How it works
|
||||
|
||||
The script will ask for your name if no `CHANGELOG_USERNAME` environment variable is found.
|
||||
|
||||
Then it will ask for a first change informations:
|
||||
Then it will ask for change informations:
|
||||
|
||||
* The nature of the change: which software / domain did you change? Why?
|
||||
* Some comments: How did you do it? What was happening? Is it fixed?
|
||||
|
||||
You can then add multiple lines for a single change as well as multiple changes for a changelog entry (ex: deploy a new service and remove old packages).
|
||||
|
||||
This changelog entry is now inserted on top of the /etc/changelog file, which is created with a default entry if not present yet.
|
||||
|
||||
**Limitations**
|
||||
|
||||
* Please note that to enter multiline comments, you have for now to escape newline characters using the `\\\\n` sequence. Ugly.
|
||||
* Please note that to enter multiline comments, you have for now to escape newline characters using the `\\\\n` sequence. Ugly.
|
||||
|
||||
* By default, it will attempt to create and edit `/etc/changelog`. You better be running it as root, by default.
|
||||
|
||||
## Plugins and config
|
||||
|
||||
# Possible improvements
|
||||
You can add plugins to hook actions at two points in time. The `plugins-available` directory contains two working examples of these hooks.
|
||||
|
||||
* Enable a sudo requirement / ways to restart oneself as a root user
|
||||
* Enable simple multiline comments
|
||||
* Provide a way to attach files
|
||||
* Provide a way (plugins?) to report each change to a central server
|
||||
* adding a changelog entry lines. Example `content-hastebin.sh` plugin pushes a file content to a pastebin service
|
||||
* saving the changelog. Example `output-changelog-server.sh` plugin pushes a changelog to a remote central server
|
||||
|
||||
You can activate the plugins by placing/linking them in the `plugins-enabled` directory.
|
||||
|
||||
The plugins might need some configuration variables.
|
||||
|
||||
Do `mv config.sample.sh config.sh` and edit the file to suit your needs.
|
||||
|
||||
|
||||
|
||||
## Baking a fat exec
|
||||
|
||||
While providing a mean to run plugins is cool, it's not very efficient at deployment time.
|
||||
|
||||
Run `build.sh` to get a single exec, ready for shipping, embedding:
|
||||
|
||||
* your config.sh file
|
||||
* all the plugins you added to plugins-enabled
|
||||
|
||||
## Possible improvements
|
||||
|
||||
* [x] Enable a sudo requirement / ways to restart oneself as a root user
|
||||
* [] Enable simple multiline comments
|
||||
* [x] Provide a way to attach files
|
||||
* [x] Provide a way (plugins?) to report each change to a central server
|
||||
* [x] Provide a build system to cook config and plugins in a single exec
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user