diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 417c9009..45b0e976 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -4,9 +4,11 @@ ## Checklist for all submissions - + * [ ] Have you followed the guidelines in our [Contributing document](https://github.com/parkervcp/eggs/blob/master/CONTRIBUTING.md)? +* [ ] You verify that the start command applied does not use a shell script + * [ ] If some script is needed then it is part of a current yolk or a PR to add one * [ ] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? * [ ] Have you tested and reviewed your changes with confidence that everything works? * [ ] Did you branch your changes and PR from that branch and not from your master branch? diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 783aad05..6d5a6a10 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,17 +4,25 @@ You can contribute by either creating a new pull request or testing [existing pu ## General rules for eggs -1. Keep it simple. +1. Don't be afraid to submit PR's to the egg repo. + I don't bite. I will work with you on the egg and the required things to run it. Feel free to open a draft PR if you don't quite have the egg finished yet by yourself. + +2. Keep it secure. + No start scripts that a user can edit. + If a start script is needed it should be part of a yolk. + +3. Keep it simple. We don't need 8 miles of the install script. -2. Keep it small. - Only use what is absolutely needed. The [Yolks install images](https://github.com/parkervcp/yolks#installation-images) already contain the most basic packages that speeds up the installation process. +4. Keep it small. + Only use what is absolutely needed. The [yolks install images](https://github.com/parkervcp/yolks#installation-images) already contain the most basic packages that speeds up the installation process. -3. Use the stock images. +5. Use the stock images. If you need something in an image, open a PR in [my yolks repo](https://github.com/parkervcp/yolks) where it can be reviewed and built. Self-hosted or third-party images won't be accepted for security reasons. -4. Don't be afraid to submit PR's to the egg repo. - I don't bite. I will work with you on the egg and the required things to run it. Feel free to open a draft PR if you don't quite have the egg finished yet by yourself. +6. Export eggs from the panel + We ask that you use the panel to manage and export eggs. + This keeps the egg format correctly ### Sources for working on a new egg @@ -31,30 +39,30 @@ We have a collection of [existing install script snippets](https://github.com/pa The Pterodactyl install process is fairly simple once you know it. ```md - 1. Spin up install container - Creates a new container using an install image that's run as root. - Uses a volume mount on `/mnt/server` for the server files, which is the working directory during installation. - The volume will be later mounted as `/home/container` for the server container. Any files outside of `/mnt/server` will be gone after installation. - Install script can pull files or set up all that is needed to run the server, such as writing files, directories or compiling apps. - It is regularly used to just download the files required. Such as server files and configs. +1. Spin up install container + Creates a new container using an install image that's run as root. + Uses a volume mount on `/mnt/server` for the server files, which is the working directory during installation. + The volume will be later mounted as `/home/container` for the server container. Any files outside of `/mnt/server` will be gone after installation. + Install script can pull files or set up all that is needed to run the server, such as writing files, directories or compiling apps. + It is regularly used to just download the files required. Such as server files and configs. - 2. Stop and destroy install container +2. Stop and destroy install container - 3. Start a new container with the server files in /home/container - This is where the server is actually run. No root privileges. - Any dependencies installed during the install process are gone. - The container that is started should have everything you need. - No packages can be installed. Any required dependencies must exist in the used Docker image. +3. Start a new container with the server files in /home/container + This is where the server is actually run. No root privileges. + Any dependencies installed during the install process are gone. + The container that is started should have everything you need. + No packages can be installed. Any required dependencies must exist in the used Docker image. ``` ## Step 2 ### Testing -Make sure your install process is rock solid as I will be testing eggs before they ever hit my repo. +Make sure your install process is rock solid as eggs will be tested before they are merged. -I will make suggestions and changes at will. +Suggestions and changes will be made at will. This is to maintain a clean repo that others can pull and be fully aware of what is being done. ## Step 3