chore: creating an initial set of documentation
This commit is contained in:
commit
043e638743
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode
|
||||||
|
|
||||||
|
### VisualStudioCode ###
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
!.vscode/*.code-snippets
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Built Visual Studio Code Extensions
|
||||||
|
*.vsix
|
||||||
|
|
||||||
|
### VisualStudioCode Patch ###
|
||||||
|
# Ignore all local history of files
|
||||||
|
.history
|
||||||
|
.ionide
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
# Metisyn
|
||||||
|
Metisyn is a project management ecosystem built out of decoupled components. Each component should provide a core API to make state reqeusts into the system and can be made of multiple event processors to integrate with other components and a UI micro-app to be embeded in the main project UI.
|
||||||
|
|
||||||
|
The Metisyn spec defines the expected events. This will allow components to be used independantly, new components to be added over time, or for custom conversion components to allow integrating third-party APIs into the system.
|
||||||
|
|
||||||
|
One of the driving ideals behind this project is cloud first, so each component will be made of contanerized subsystems, should support flexibility in data storage technologies, and other clound-native principles and practices.
|
||||||
|
|
||||||
|
# Components
|
||||||
|
Here's a quick summary of the components that make up the metisyn ecosystem, you can get more details under each components link.
|
||||||
|
|
||||||
|
## Source
|
||||||
|
The Source component manages all of the source code repositories that belong to the project. The base implementation will be built on top of git, but systems could be written for other scm systems.
|
||||||
|
|
||||||
|
## Pipeline
|
||||||
|
The Pipeline component is an automation system. It can be used to define complex, customizable processes you need to execute based on events flowing through out the metisyn ecosystem. This will be managed through an event driven flow where the pipeline defines events that need to be processed by other components in the ecosystem.
|
||||||
|
|
||||||
|
## Scan
|
||||||
|
The Scan component is a system capable of providing static code and security analysis tooling into your systems.
|
||||||
|
|
||||||
|
## Artifact
|
||||||
|
The Artifact component is a system to store your artifacts for the project.
|
||||||
|
|
||||||
|
## Task
|
||||||
|
The Task component is used by those working on the project to track tasks being worked on
|
||||||
|
|
||||||
|
## Ticket
|
||||||
|
The Ticket component can be used to track user-reported issues or larger epics of work
|
||||||
|
|
||||||
|
## Report
|
||||||
|
The Report component is a visualization tool to view all aspects of the work
|
||||||
|
|
||||||
|
## Incident
|
||||||
|
The incident component can be used to integrate with monitoring tools to report incidents and alerts
|
||||||
|
|
||||||
|
## Build
|
||||||
|
The Build component is responsible for managing the build processes for your project
|
||||||
|
|
||||||
|
# Events
|
||||||
|
Each component will define the spec specific to messages that component is responsible for emitting, so in this overview section we'll just cover common aspects.
|
||||||
|
All events will follow the CloudEvent Schema.
|
||||||
|
Within the CloudEvent payload, the following standards will be used, with all fields required even if the CloudEvent spec defines them as optional:
|
||||||
|
|
||||||
|
## Data
|
||||||
|
The data property, and by extension the datacontenttype, will be application/json
|
||||||
|
|
||||||
|
## Type
|
||||||
|
The type property should always match the pattern "io.metisyn.{component name}.{event type}"
|
||||||
|
|
||||||
|
## Id
|
||||||
|
The Id property should be a UUID, but no specific version is required.
|
||||||
|
|
||||||
|
# Time
|
||||||
|
The Time property should always be UTC
|
||||||
|
|
||||||
|
# Source
|
||||||
|
The Source property should always be the name of the originating application, even if not a metisyn component.
|
||||||
|
|
||||||
|
# Subject
|
||||||
|
The Subject property will be a component specific identifier related to the reason the event was triggered.
|
||||||
|
For example, each Source component should be able to handle multiple repositories, the subject would be the unique id for the repository that generated the event.
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
# Source Events Spec
|
||||||
|
|
||||||
|
This document defines the event spec for the Metisyn Source component.
|
||||||
|
|
||||||
|
# Cloud Event Fields
|
||||||
|
This section covers the specifics of the CloudEvent envelope.
|
||||||
|
|
||||||
|
## Type
|
||||||
|
The Type field should always be "io.metisyn.source.{event type}"
|
||||||
|
Event types will be described below.
|
||||||
|
|
||||||
|
## Subject
|
||||||
|
Each repository in a metisyn project will have a unique identifier. This Id will be generated on repo creation and will not be allowed to change.
|
||||||
|
It's this Id that will be used as the Subject filed in the cloud event envelope.
|
||||||
|
|
||||||
|
## Source
|
||||||
|
The Source field should always be set to /source/{repo type}
|
||||||
|
Repo Type should identify the underlying scm system, git for example
|
||||||
|
|
||||||
|
# Event Types
|
||||||
|
|
||||||
|
## Repo Created
|
||||||
|
## Repo Archived
|
||||||
|
## Repo Deleted
|
||||||
|
## Branch Created
|
||||||
|
## Commit
|
||||||
|
## Branch Deleted
|
||||||
|
## Pull Request Created
|
||||||
|
## Pull Request Approved
|
||||||
|
## Pull Request Declined
|
||||||
|
## Pull Request Updated
|
||||||
|
## Pull Request Merged
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# Coming Soon
|
||||||
Loading…
Reference in New Issue