@gluo-nv/backstage-plugin-catalog-backend-module-hetzner
v0.1.7
Published
Backstage catalog module for Hetzner Cloud integration.
Readme
Backstage Catalog Backend Module for Hetzner
The Hetzner Cloud Catalog Backend Module is a Backstage backend module that connects to the Hetzner backend plugin to automatically discover and import Hetzner Cloud resources into the catalog. It creates entities for servers, volumes, and primary IPs, enabling centralized visibility of your Hetzner infrastructure within Backstage.
Table of Contents
Features
This backend catalog module provides the following key functionalities for Backstage:
- Entity Creation for Backstage Catalog: Automatically discovers and creates entities for Hetzner Cloud resources (such as servers, volumes, and primary IPs) in the Backstage catalog.
- Resource Synchronization: Periodically fetches the latest state of Hetzner Cloud resources and keeps the Backstage catalog up to date.
- Custom Metadata and Annotations: Enriches catalog entities with Hetzner-specific metadata and annotations for better traceability and management.
- Extensible Resource Support: Easily extendable to support additional Hetzner Cloud resource types as needed.
Dependencies
1. Hetzner Backend Plugin
The main Hetzner backend plugin provides the API endpoints and backend logic for Hetzner Cloud integration.
Repository:
Backstage Plugin Hetzner Backend
2. Frontend Plugin (Optional)
An optional frontend plugin is available for integrating with the backend plugin. The frontend plugin provides a user interface in Backstage to visualize Hetzner Cloud resources. It includes:
- Hetzner Cloud Page: An overview of the Hetzner Cloud platform.
- Hetzner Resource Card: A card component that displays detailed information about a specific Hetzner Cloud resource directly within the entity page in the Backstage catalog.
The frontend plugin can be found at:
Alternatively, you can create your own frontend plugin to suit your specific needs. The backend plugin is designed to support custom frontend implementations, so installing this provided frontend plugin is not mandatory.
However, it is strongly recommended to either install the provided frontend plugin or create your own. Without a frontend plugin, you will not have a user interface in Backstage to visualize Hetzner Cloud resources, which significantly limits the usability of this backend plugin. A frontend plugin is essential for providing insights into your Hetzner Cloud infrastructure and enabling effective management of your resources.
Installation
Backend Plugin
This frontend plugin requires the corresponding backend plugin to be installed. Please follow the instructions in the backend plugin directory.
Frontend Plugin
This backend plugin requires the corresponding frontend plugin to be installed. Please follow the instructions in the frontend plugin directory.
Catalog Backend Module Plugin
# From the Backstage root directory
yarn --cwd packages/backend add @gluo-nv/backstage-plugin-catalog-backend-module-hetznerConfiguration
Add the plugin to the backend in packages/backend/src/index.ts:
backend.add(import('@gluo-nv/backstage-plugin-catalog-backend-module-hetzner'));Development
Getting Started
- Clone the repository
- Install dependencies:
yarn install- Run the plugin in isolation
yarn startContributing
We welcome contributions to improve this module! If you’d like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a clear description of your changes.
For major changes, please open an issue first to discuss your ideas.
License
This plugin is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
Attribution
This plugin was created by Gluo NV.
Any use or distribution must include proper attribution to the original author.
