{"id":18355143,"url":"https://github.com/flowup/mmo-plugins","last_synced_at":"2025-04-10T01:36:55.937Z","repository":{"id":90369163,"uuid":"105996020","full_name":"flowup/mmo-plugins","owner":"flowup","description":null,"archived":false,"fork":false,"pushed_at":"2018-12-04T12:20:54.000Z","size":50,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-15T16:52:05.895Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flowup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"supported.go","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-06T11:13:34.000Z","updated_at":"2018-12-04T12:20:53.000Z","dependencies_parsed_at":"2024-01-09T08:45:14.908Z","dependency_job_id":null,"html_url":"https://github.com/flowup/mmo-plugins","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowup%2Fmmo-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowup%2Fmmo-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowup%2Fmmo-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowup%2Fmmo-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flowup","download_url":"https://codeload.github.com/flowup/mmo-plugins/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248141247,"owners_count":21054417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T22:06:07.095Z","updated_at":"2025-04-10T01:36:55.914Z","avatar_url":"https://github.com/flowup.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MMO plugins repository\n\nThis repository contains all officially supported MMO plugins.\n\n## MMO Plugin creation guide\n\nEvery MMO Plugin is a Docker container. It has following properties:\n\n* Source code is mounted to `/source` folder\n* Entrypoint is set to a program named `gen.sh` (generator)\n\nUpon plugin invocation container is started and name of the service(s) are passed as command arguments to the entrypoint program. \n\nThere are two types of the plugins - global and service plugins. Principle of functionality is same for both of types. Only difference is that all services are passed as arguments upon global plugin invocation. Upon single service plugins invocation is only one name of the service passed.\n\n### Example\n\n**Simple example of the MMO plugin that creates an empty file called `hello-mmo` in service.**\n\nCreate a script named `gen.sh` in the root of your plugin folder:\n```bash\n#!/bin/sh\ntouch $1\n```\n\nDon't forget to add execution permissions to the script:\n```\n$ chmod +x gen.sh\n```\n\nCreate `Dockerfile` in your root afterwards:\n\n```Dockerfile\nFROM alpine:latest\n\nADD gen.sh /mmo/gen.sh\nENTRYPOINT /mmo/gen.sh\n```\n\nDocker image is built in the last step (`-t` is name of the plugin):\n```\n$ docker build -t hello-mmo .\n```\n\nAfter acomplishing these step we can put `hello-mmo:latest` to the `plugins` section of some service in the mmo.yaml. Image can be pushed, eg. to Docker hub: \n\n```\n$ docker push hello-mmo:latest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowup%2Fmmo-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflowup%2Fmmo-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowup%2Fmmo-plugins/lists"}