grim/convey

Port from logrus to log/slog
default tip
5 months ago, Elliott Sales de Andrade
c588f9b3f559
Port from logrus to log/slog

This doesn't really take much advantage of structured logging beyond what is already done (`id` and `idColor`), and consequently the log handler does not try to do any handling of anything more than that (i.e., grouping, or arbitrary attributes beyond those defined).

One should maybe have a `Context` available to pass in, but there isn't one, and anyway, the log handler doesn't use it, so I've passed in a `TODO` instead.

Everything else is just normal import/rename changes.

Testing Done:
Ran `go run . run`

Reviewed at https://reviews.imfreedom.org/r/2871/
# Convey
The convey tasks provides some intrinsic tasks that convey provides.
----
## convey/clean
A clean task will remove files from the host relative and limited to the
directory containing the `convey.yml` for the run.
### Attributes
| Name | Required | Default | Description |
| --------- | -------- | ------- | ----------- |
| files | Yes | | A list of filenames relative to the convey.yml file to remove. |
### Example
```yaml
clean:
type: convey/clean
files:
- convey-amd64
- "**/*.pyc"
- "**/__pycache__"
```
----
## convey/export
An export task will move files from the workspace to the host. Files on the host
will be created relative to the `convey.yml` file.
### Attributes
| Name | Required | Default | Description |
| --------- | -------- | ------- | ----------- |
| files | Yes | | A single filename or a list of files to copy from the workspace to the host. Files can be specified in one of two forms which can be mixed. The first is `source:destination` and the other is `filename` where filename will be used for both the host and the volume. |
### Examples
```yaml
export:
type: convey/export
files: filename1
```
```yaml
export:
type: convey/export
files:
- logo.png
- binary:binary-linux-x86_64
```
----
## convey/import
An import task copies files from the host to the workspace. It has one required
attribute named `files`. This is a list of files relative to the directory
containing the `convey.yml` file that will be copied into the workspace.
### Attributes
| Name | Required | Default | Description |
| ----- | -------- | ------- | ----------- |
| files | Yes | | A single filename or a list of files to copy from the host to the workspace. Files can be specified in one of two forms which can be mixed. The first is `source:destination` and the other is `filename` where filename will be used for both the host and the volume. |
### Examples
```yaml
import:
type: convey/import
files: filename1
```
```yaml
import:
type: convey/import
files:
- Dockerfile
- src:source
```
----
## convey/noop
A noop task does nothing. It is a "NO OPeration" task. It's used primarily in
testing, but could be useful for stubbing stuff out or debugging.
### Attributes
None.
### Example
```yaml
clean:
type: convey/noop
```