2022-01-21 14:20:26 +05:30
|
|
|
+++
|
|
|
|
title = "How does it work?"
|
|
|
|
weight = 40
|
|
|
|
+++
|
|
|
|
|
|
|
|
# How does it work?
|
|
|
|
|
|
|
|
Bridges connect people, and so does ForgeFlux!
|
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
## Interface
|
2022-01-21 14:20:26 +05:30
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
The bridging component in ForgeFlux is called Interface.
|
2022-01-21 17:19:44 +05:30
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
[Interfaces](@/services/interface.md) are programs that run on either
|
|
|
|
side of the bridge, i.e, a bridge requires the participation of two
|
|
|
|
interfaces. Currently, Interfaces bridge the following operations:
|
2022-01-21 14:20:26 +05:30
|
|
|
|
|
|
|
- Pull Requests
|
|
|
|
- Issues
|
|
|
|
- Comments
|
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
An Interface implementation for a software forge is able to
|
|
|
|
talk to the forge's API and speak [ActivityPub
|
|
|
|
protocol](https://activitypub.rocks/) for server-to-server
|
|
|
|
communications. This architecture makes it possible to implement an
|
|
|
|
Interface for any forge setup.
|
2022-01-21 14:20:26 +05:30
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
## Northstar
|
2022-01-21 14:20:26 +05:30
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
Since Interfaces run external to the forges, a method to find Interfaces
|
|
|
|
that service forges was required.
|
2022-01-21 14:20:26 +05:30
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
[Northstar](@/services/northstar.md) is a discovery service that maps an
|
|
|
|
Interface and the forge that it services. It acts very similar to DNS,
|
|
|
|
except instead of querying host names with intent to find corresponding
|
|
|
|
IP address, Northstar is queried with the forge's host name to discover
|
|
|
|
the Interfaces that service it.
|
2022-01-21 14:20:26 +05:30
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
## Resources
|
2022-01-21 17:19:44 +05:30
|
|
|
|
2022-01-22 11:11:58 +05:30
|
|
|
-
|
|
|
|
[ecosystem-architecture](https://github.com/forgeflux-org/spec/blob/master/rfc/1-ecosystem-architecture/1-ecosystem-architecture.md):
|
|
|
|
describes basic architecture and terminology used in ForgeFlux
|