Read/write machine-readable recipe metadata #173

Closed
opened 2021-09-20 16:19:08 +00:00 by decentral1se · 2 comments
Owner

It is hard for abra to parse category/image link/features/etc. from the README (regex and such).

Also, I was thinking, we won't be able to support translations in a README file - we'll probably want to load this info into the documentation somehow also and it would be nice if it could support translation.

We might want abra to re-write this metadata as part of a CI/CD process (e.g. upgrading the rating after tests pass). Perhaps updating the Healthcheck value if we detect that the compose.yml has a healthcheck key.

Maybe it is time for a more structured format for this info that abra can easily read?

I'm talking specifically about this bit (source):

<!-- metadata -->
* **Category**: Apps
* **Status**: ❷💛
* **Image**: [`nextcloud`](https://hub.docker.com/_/nextcloud), ❶💚, upstream
* **Healthcheck**: Yes
* **Backups**: No
* **Email**: ❶💚
* **Tests**: ❷💛
* **SSO**: ❸🍎 (OAuth)
<!-- endmetadata -->

Any suggestions?

Maybe a recipe.yml in the recipe repositories?

---
category: apps
rating: ❷💛
image:
  url: https://hub.docker.com/_/nextcloud
  source: upstream
features:
  healthcheck: yes
  backups: no
  emails: ❶💚
  tests: ❷💛
single-sign-on:
  type: OAuth
  rating: ❸🍎

It is hard for `abra` to parse category/image link/features/etc. from the README (regex and such). Also, I was thinking, we won't be able to support translations in a README file - we'll probably want to load this info into the documentation somehow also and it would be nice if it could support translation. We might want `abra` to re-write this metadata as part of a CI/CD process (e.g. upgrading the rating after tests pass). Perhaps updating the `Healthcheck` value if we detect that the `compose.yml` has a `healthcheck` key. Maybe it is time for a more structured format for this info that `abra` can easily read? I'm talking specifically about this bit ([source](https://git.coopcloud.tech/coop-cloud/nextcloud/raw/branch/main/README.md)): ``` <!-- metadata --> * **Category**: Apps * **Status**: ❷💛 * **Image**: [`nextcloud`](https://hub.docker.com/_/nextcloud), ❶💚, upstream * **Healthcheck**: Yes * **Backups**: No * **Email**: ❶💚 * **Tests**: ❷💛 * **SSO**: ❸🍎 (OAuth) <!-- endmetadata --> ``` Any suggestions? Maybe a `recipe.yml` in the recipe repositories? ```yaml --- category: apps rating: ❷💛 image: url: https://hub.docker.com/_/nextcloud source: upstream features: healthcheck: yes backups: no emails: ❶💚 tests: ❷💛 single-sign-on: type: OAuth rating: ❸🍎 ```
decentral1se added this to the Versioning and deploy stability milestone 2021-09-20 16:19:08 +00:00
decentral1se added the
enhancement
abra
labels 2021-09-20 16:19:08 +00:00
decentral1se added this to the Beta release (software) project 2021-09-20 16:19:09 +00:00
decentral1se changed title from Describing recipe metadata in a structured way to Describing recipe metadata in a more machine-readable format 2021-09-20 16:19:28 +00:00
decentral1se changed title from Describing recipe metadata in a more machine-readable format to Read/write machine-readable recipe metadata 2021-09-20 16:20:09 +00:00
decentral1se self-assigned this 2021-09-20 16:46:21 +00:00
Author
Owner

We're putting this on the backburner for now to reduce churn. The new catalogue generation will just miss some extra metadata but will still be functional.

We're putting this on the backburner for now to reduce churn. The new catalogue generation will just miss some extra metadata but will still be functional.
decentral1se removed this from the Beta release (software) project 2021-09-30 12:59:22 +00:00
decentral1se removed their assignment 2021-09-30 12:59:27 +00:00
Author
Owner

Not following this up.

Not following this up.
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: coop-cloud/organising#173
No description provided.