From 140ad2987ff58f9fc5db26870cfd293f918d5905 Mon Sep 17 00:00:00 2001 From: David Young Date: Mon, 18 Oct 2021 16:22:41 +1300 Subject: [PATCH] Switch to fancy new YAML recipe form Signed-off-by: David Young --- .../ISSUE_TEMPLATE/recipe-request-dev.yaml | 63 ------- .github/ISSUE_TEMPLATE/recipe-request.md | 174 ------------------ .github/ISSUE_TEMPLATE/recipe-request.yaml | 162 ++++++++++++++++ 3 files changed, 162 insertions(+), 237 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/recipe-request-dev.yaml delete mode 100644 .github/ISSUE_TEMPLATE/recipe-request.md create mode 100644 .github/ISSUE_TEMPLATE/recipe-request.yaml diff --git a/.github/ISSUE_TEMPLATE/recipe-request-dev.yaml b/.github/ISSUE_TEMPLATE/recipe-request-dev.yaml deleted file mode 100644 index 405fdfe..0000000 --- a/.github/ISSUE_TEMPLATE/recipe-request-dev.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/recipe-request.md b/.github/ISSUE_TEMPLATE/recipe-request.md deleted file mode 100644 index 84e906c..0000000 --- a/.github/ISSUE_TEMPLATE/recipe-request.md +++ /dev/null @@ -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 ---- - - - -- [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 - - - -> - -* [ ] Project homepage: -* [ ] Docker image: -* [ ] Community (optional): - -## ๐Ÿ“ Instructions - - - -``` -< upstream docker compose / install instructions go here > -``` - -## ๐Ÿ–ผ Screenshot - - - -# 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_) - - - -## โš™๏ธ 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 - - - -## ๐Ÿช  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 - - - -## ๐Ÿ’พ 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 - - - -## ๐Ÿช‚ 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) - - - -## ๐Ÿคนโ€โ™€๏ธ 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. diff --git a/.github/ISSUE_TEMPLATE/recipe-request.yaml b/.github/ISSUE_TEMPLATE/recipe-request.yaml new file mode 100644 index 0000000..0d85ce1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/recipe-request.yaml @@ -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) + - ยฏ\_(ใƒ„)_/ยฏ +