{"id":15291862,"url":"https://github.com/emma-community/emma-backstage-plugins","last_synced_at":"2026-02-03T00:02:55.874Z","repository":{"id":255034635,"uuid":"847763390","full_name":"emma-community/emma-backstage-plugins","owner":"emma-community","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-27T04:27:55.000Z","size":1430,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-05T16:39:45.518Z","etag":null,"topics":["aws","azure","cloud","gcp","multicloud"],"latest_commit_sha":null,"homepage":"https://emma.ms/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emma-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-26T13:56:41.000Z","updated_at":"2024-09-27T04:25:05.000Z","dependencies_parsed_at":"2024-08-27T17:06:14.179Z","dependency_job_id":"8514a800-4dbe-417b-8cda-922ed028e6a4","html_url":"https://github.com/emma-community/emma-backstage-plugins","commit_stats":null,"previous_names":["emma-community/emma-backstage-plugins"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emma-community%2Femma-backstage-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emma-community%2Femma-backstage-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emma-community%2Femma-backstage-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emma-community%2Femma-backstage-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emma-community","download_url":"https://codeload.github.com/emma-community/emma-backstage-plugins/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240067684,"owners_count":19742919,"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":["aws","azure","cloud","gcp","multicloud"],"created_at":"2024-09-30T16:14:51.136Z","updated_at":"2026-02-03T00:02:55.846Z","avatar_url":"https://github.com/emma-community.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# emma plugins for [Backstage](https://backstage.io)\n\n## Overview\n\nThe `emma-backstage-plugins` repository contains three main plugins: `emma`, `emma-backend`, and `emma-common`. These plugins work together to provide a comprehensive solution for managing and displaying data through a frontend interface and backend services.\n\n## Plugins\n\n### `emma` plugin\n\nThe `emma` plugin provides the frontend components and logic for the emma application. It includes UI components for displaying data, routing, and API interactions.\n\n**Key features:**\n\n- Main entry points for the plugin.\n- Initialization logic.\n- Routing definitions.\n- API client for backend interactions.\n- UI components for heat maps.\n\n### `emma-backend` plugin\n\nThe `emma-backend` plugin provides the backend services for the emma application. It includes API implementations, routing, and testing logic.\n\n**Key features:**\n\n- Main entry point for the backend plugin.\n- Initialization logic.\n- Backend API implementations.\n- Routing logic for backend services.\n- Tests for routing logic.\n\n### `emma-common` plugin\n\nThe `emma-common` plugin provides shared resources such as constants, types, and API methods that are used by both the frontend and backend plugins.\n\n**Key features:**\n\n- Shared constants and types.\n- Permission management logic.\n- API interaction methods and factory functions.\n- Setup logic for tests.\n\n## Getting started\n\n### Clone the repository\n\n```sh\ngit clone https://github.com/emma-community/emma-backstage-plugins.git\ncd emma-backstage-plugins\n```\n\n### Set environment variables\n\nEnsure that the environment variables `EMMA_CLIENT_ID` and `EMMA_CLIENT_SECRET` are set in your environment. You can set them in your terminal session or in a `.env` file.\n\n```sh\nexport EMMA_CLIENT_ID=your_client_id\nexport EMMA_CLIENT_SECRET=your_client_secret\n```\n\n### Install plugin dependencies\n\n```sh\nyarn install\n```\n\n## Running the code\n\nTo start the application stay in the root directory. To start the development server for each plugin, navigate to the respective plugin directories. Then run:\n\n```sh\nyarn dev\n```\n\n## Testing the code\n\nTo run all tests stay in the root directory. To run the tests for each plugin, navigate to the respective plugin directories. Then run:\n\n```sh\nyarn test\n```\n\n## Building and running with Docker\n\nThis section provides instructions on how to build and run the Backstage application using Docker Compose. The setup includes two main services: a PostgreSQL database (`backstage_db`) and the Backstage backend (`backend`).\n\n### Prerequisites\n\n- Docker and Docker Compose installed on your machine.\n- Environment variables `EMMA_CLIENT_ID` and `EMMA_CLIENT_SECRET` set in your environment.\n\n### Docker Compose configuration\n\nThe `docker-compose.yaml` file defines the services and their configurations.\n\n### Steps to build and run\n\n1. **Build and run the services**:\n   Use Docker Compose to build and run the services defined in the `docker-compose.yaml` file.\n\n   ```sh\n   docker-compose up --build\n   ```\n\n   This command will:\n   - Pull the latest PostgreSQL image and start the `backstage_db` service.\n   - Build the Backstage backend image from the Dockerfile located at `packages/backend/Dockerfile`.\n   - Start the `backstage-backend` service, which depends on the `backstage_db` service.\n\n2. **Access the application**:\n   Once the services are up and running, you can access the Backstage application at `http://localhost:7007`.\n\n### Stopping the services\n\nTo stop the running services, use the following command:\n\n```sh\ndocker-compose down\n```\n\nThis command will stop and remove the containers, networks, and volumes created by Docker Compose.\n\n### Additional notes\n\n- The PostgreSQL database data is persisted in a Docker volume named `db`.\n- The `backend` service uses environment variables for database connection and emma API credentials.\n\nBy following these steps, you can easily build and run the Backstage application using Docker Compose.\n\n## License\n\nThis project is licensed under the Apache 2.0 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femma-community%2Femma-backstage-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femma-community%2Femma-backstage-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femma-community%2Femma-backstage-plugins/lists"}