1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-12 17:26:19 +00:00

Switch to fancy new YAML recipe form

Signed-off-by: David Young <davidy@funkypenguin.co.nz>
This commit is contained in:
David Young
2021-10-18 16:22:41 +13:00
parent 59eda9afae
commit 140ad2987f
3 changed files with 162 additions and 237 deletions

View File

@@ -1,63 +0,0 @@
name: "🍰 Request a new recipe!"
description: I have a request for a fresh recipe 😋"
title: "[recipe] "
labels: ["recipe/request", "status/backlog", "good first issue"]
body:
- type: markdown
attributes:
value: |
Greetings, fellow geek! Thanks for taking the time to request this recipe!
- type: checkboxes
attributes:
label: Contribution guidelines
description: Please read the contribution guidelines before proceeding.
options:
- label: I've read the [contribution guide](https://geek-cookbook.funkypenguin.co.nz/community/contribute/) and wholeheartedly agree
required: true
- type: input
id: project_homepage
attributes:
label: Project Homepage
description: Provide a link to the project's homepage
placeholder: e.g. https://radarr.video/
validations:
required: true
- type: checkboxes
id: sanity_check
attributes:
label: Sanity check
description: |
To avoid duplicating work, I have...
options:
- label: ...searched and confirmed no existing [open]((https://github.com/funkypenguin/geek-cookbook/issues?q=is%3Aissue)) or closed [closed](https://github.com/funkypenguin/geek-cookbook/issues?q=is%3Aissue+is%3Aclosed) issues for this app
required: true
- label: ...searched and confirmed no existing [open]((https://github.com/funkypenguin/geek-cookbook/pulls?q=is%3Apr)) or closed [closed](https://github.com/funkypenguin/geek-cookbook/pulls?q=is%3Apr+is%3Aclosed) issues for this app
required: true
- label: ... confirmed that the app is actively supported by its developers (_i.e., not deprecated or abandoned_)
required: true
- type: dropdown
id: authentication
attributes:
label: Authentication
description: |
Does the app provide its own authentication (_i.e. NextCloud_), or does it require an authentication frontend (_i.e., Radarr_)?
How should access to the app be managed?
multiple: false
options:
- The app provides its own, trustworthy authentication, or access control is unnecessary. (*I'd be happy exposing it to the internet*)
- The app needs something in front of it to secure access (_traefik-forward-auth, authelia, etc_)
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://geek-cookbook.funkypenguin.co.nz/community/code-of-conduct/)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -1,174 +0,0 @@
---
name: "\U0001F370 Request a recipe!"
about: "I have a request for a fresh recipe \U0001F60B"
title: "[recipe] "
labels: recipe/request, status/backlog, good first issue
---
<!-- Greetings, fellow geek!
(o_
//\
V_/_ "What's this screwy template?"
The idea here is to _quickly_ create a new recipe request, with a minimum of text entry,
followed by a checklist-driven recipe-preparation process.
"Umm.. what do I do now?"
Fill out the basic section that the penguin points you to, and then save the issue. It'll be
rendered in GitHub's UI, after which go through the checklists and make the necessary adjustments
-->
- [Recipe Request](#recipe-request)
- [💬 Summary](#-summary)
- [📝 Instructions](#-instructions)
- [🖼 Screenshot](#-screenshot)
- [Checklist](#checklist)
- [☑️ Prerequisites](#-prerequisites)
- [👮‍♂️ Access Control](#-access-control)
- [⚙️ Config Management](#-config-management)
- [🪠 Connectivity](#-connectivity)
- [💾 Data Management](#-data-management)
- [🪂 Backup](#-backup)
- [🤹‍♀️ Orchestration Platform](#-orchestration-platform)
- [💍 Engagement](#-engagement)
- [What's next?](#whats-next)
# Recipe Request
## 💬 Summary
<!--
(o_
//\
V_/_ "Briefly describe the new recipe you'd like added"
-->
> <!-- replace with 1-2 line description of the project -->
* [ ] Project homepage: <!-- replace with URL to the project home page -->
* [ ] Docker image: <!-- replace with link to the preferred docker container -->
* [ ] Community (optional): <!-- replace a link to the project's community or subreddit,
if appropriate. If not, delete this line -->
## 📝 Instructions
<!--
(o_
//\
V_/_ "Most projects include instructions on how to deploy via Docker.
Include a link to the relevant documentation below, as well as
the actual instructions / docker-compose file"
-->
```
< upstream docker compose / install instructions go here >
```
## 🖼 Screenshot
<!--
(o_
//\
V_/_ "Paste in a single, beautiful screenshot, which should be included in the recipe"
***
That's it for the text entry. Save the issue and then use the much-nicer rich viewer to complete the checklist below.
***
-->
# Checklist
## ☑️ Prerequisites
First, some house-keeping. Review closed issues and PRs, and confirm that this recipe hasn't already been proposed, deprecated, or duplicated before. Also confirm that the application itself is not abandoned.
* [ ] I have searched and confirmed no existing open or closed issues/PRs for this app
* [ ] The app is actively supported by its developers (_i.e., not deprecated_)
## 👮‍♂️ Access Control
Does the app provide its own authentication (_i.e. NextCloud_), or does it require an authentication frontend (_i.e., Radarr_)?
How should access to the app be managed?
* [ ] The app provides its own, trustworthy authentication, or access control is unnecessary. (*I'd be happy exposing it to the internet*)
* [ ] The app needs something in front of it to secure access (_traefik-forward-auth, authelia, etc_)
<!-- Add any extra details necessary to explain the selections above -->
## ⚙️ Config Management
How is the app configured? Some applications are configured [entirely using environment variables](https://12factor.net), some need static config files mounted into their container, and some are configured using an interactive setup process (_i.e. NextCloud_).
* [ ] Environment variables
* [ ] Command-line options
* [ ] Static config file
* [ ] Interactive setup which then persists the config somewhere to the filesystem
<!-- Add any extra details necessary to explain the selections above -->
## 🪠 Connectivity
What sort of network connectivity does the app need?
* [ ] None
* [ ] Requires inbound web access HTTP/S access
* [ ] Requires inbound arbitrary TCP/UDP access
* [ ] Requires connectivity to other apps
<!-- Add any extra details necessary to explain the selections above -->
## 💾 Data Management
What sort of persisted data does the app need?
* [ ] The app needs access to its own persistent data (i.e. logs, database directory, etc)
* [ ] The app needs access to outside data (i.e. Plex)
* [ ] The app needs access to *another* app's data
<!-- Add any extra details necessary to explain the selections above -->
## 🪂 Backup
How is backup of the app's data to be handled?
* [ ] Backup is unnecessary
* [ ] A simple file-based copy of the app's data folders will suffice
* [ ] A process is required to create backups for a file-based copy (i.e., a mysql database dump)
* [ ] A custom backup/restore process is required (provide details below)
<!-- Add any extra details necessary to explain the selections above -->
## 🤹‍♀️ Orchestration Platform
Which platform(s) are you interested in a recipe supporting?
* [ ] Docker Swarm (_via docker-compose files_)
* [ ] Docker Swarm (_via premix ansible deploy_)
* [ ] Kubernetes (_via a helm chart_)
## 💍 Engagement
I'm willing to:
* [ ] Submit a PR for the recipe
* [ ] Test the recipe
* [ ] Engage the community on Q&A for the recipe
# What's next?
What happens next? 🙋‍♂️
Seek buy-in from the [community](http://chat.funkypenguin.co.nz), to indicate whether the recipe is a good fit for the cookbook or not.

View File

@@ -0,0 +1,162 @@
name: "🍰 Request a new recipe!"
description: I have a request for a fresh recipe 😋
title: "[recipe] "
labels: ["recipe/request", "status/backlog", "good first issue"]
body:
- type: markdown
attributes:
value: |
Greetings, fellow geek! :wave:
Thanks for taking the time to request this recipe! This issue form helps to capture the
request in a standardized way, and to pre-gather as much information as possible, to expidite
the cooking process!
- type: checkboxes
id: sanity_check
attributes:
label: 🤪 Sanity check
description: Let's confirm that this is not a recipe which has previously been discussed / proposed
options:
- label: I have searched and confirmed no existing [open](https://github.com/funkypenguin/geek-cookbook/issues?q=is%3Aissue) / [closed](https://github.com/funkypenguin/geek-cookbook/issues?q=is%3Aissue+is%3Aclosed) issues, or [open](https://github.com/funkypenguin/geek-cookbook/pulls?q=is%3Apr) / [closed](https://github.com/funkypenguin/geek-cookbook/pulls?q=is%3Apr+is%3Aclosed) PRs exist for this recipe
required: true
- label: I have confirmed that the app is actively supported by its developers (_i.e., not deprecated or abandoned_)
required: true
- type: textarea
attributes:
label: Description
description: Please provide a brief description of the proposed recipe
validations:
required: true
- type: input
id: project_homepage
attributes:
label: 🏠 Project Homepage
description: Provide a link to the project's homepage
placeholder: e.g. https://radarr.video/
validations:
required: true
- type: input
id: discord_id
attributes:
label: Your Discord username
description: If you've joined our [Discord server](http://chat.funkypenguin.co.nz), enter your username here so that we can collaborate effectively
placeholder: BobTheBuilder#4567
- type: checkboxes
id: orchestration
attributes:
label: 🤹‍♀️ Orchestration Platform
description: Which platform(s) are you interested in a recipe supporting?
options:
- label: I'm interested deploying the app into Docker Swarm using manual editing and classic `docker stack deploy`
- label: I'm interested deploying the app into Docker Swarm using [premix](https://geek-cookbook.funkypenguin.co.nz/premix/)'s automated ansible playbooks
- label: I'm interested deploying the app into Kubernetes using [premix](https://geek-cookbook.funkypenguin.co.nz/premix/)'s helm charts
- type: checkboxes
id: engagement
attributes:
label: 💍 Engagement
description: To get this recipe cooked, I'm willing to...
options:
- label: I plan to test the recipe after publication and provide feedback
- label: I'm happy to provide community support in Discord re the recipe
- label: I plan to submit a PR for this recipe myself 🏆
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://geek-cookbook.funkypenguin.co.nz/community/code-of-conduct/)
options:
- label: I agree to follow this Geek Cookbook's Code of Conduct
required: true
- type: markdown
attributes:
value: |
That's it for the obligatory checkboxes 👌
---
The questions which follow are intended to help to frame the recipe correctly.
If your're not sure, that's ok, just choose `¯\_(ツ)_/¯` from the dropdown selection.
- type: dropdown
id: authentication
validations:
required: true
attributes:
label: 🔐 Authentication
description: |
Does the app provide its own authentication (_i.e. NextCloud_), or does it require an authentication frontend (_i.e., Radarr_)?
How should access to the app be managed?
options:
- The app provides its own, trustworthy authentication, or access control is unnecessary. I'd be happy exposing it to the internet
- The app needs something in front of it to secure access (traefik-forward-auth, authelia, etc)
- ¯\_(ツ)_/¯
- type: dropdown
validations:
required: true
id: config
attributes:
label: 💼 Config Management
description: How is the app configured? Some applications are configured [entirely using environment variables](https://12factor.net), some need static config files mounted into their container, and some are configured using an interactive setup process (_i.e. NextCloud_).
multiple: true
options:
- The app is configured with environment variables
- The app is configured with command-line arguments
- The app is configured with a static config file on the filesystem
- The app is configured interactively which then persists the config to the filesystem
- ¯\_(ツ)_/¯
- type: dropdown
id: connectivity
validations:
required: true
attributes:
label: 💼 Connnectivity
description: What sort of network connectivity does the app need?
multiple: true
options:
- The app requires no network connectivity
- The app requires inbound web access HTTP/S access
- The app requires inbound arbitrary TCP/UDP access
- The app requires connectivity to other apps in its own stack (i.e., a database)
- ¯\_(ツ)_/¯
- type: dropdown
id: persistence
validations:
required: true
attributes:
label: 💾 Data persistence
description: What sort of persisted data does the app need?
multiple: true
options:
- The app needs no persisted data
- The app needs access to its own persistent data (i.e. logs, database directory, etc)
- The app needs access to outside data (i.e. a media player)
- ¯\_(ツ)_/¯
- type: dropdown
id: backup
validations:
required: true
attributes:
label: 🪂 Backup
description: How is backup of the app's data to be handled?
options:
- The app does not require backup
- The app can be backed up with a simple filesystem data copy
- The app requires an extra process to create backups for a file-based copy (i.e., a mysql database dump)
- ¯\_(ツ)_/¯