MCPcopy Index your code
hub / github.com/Rookout/piper

github.com/Rookout/piper @v1.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.0 ↗ · + Follow
248 symbols 771 edges 46 files 1 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Piper

alt text

Welcome to Piper! Piper is open source project that aimed at providing multibranch pipeline functionality to Argo Workflows, allows users to create distinct Workflows based on Git branches.

Table of Contents

Getting Started

Piper configures a webhook in git provider and listens to the webhooks sends. It will create a Workflow CRD out of branches that contains .workflows folder. This folder should contain declarations of the templates and main DAG that will be running. Finally, it will submit the Workflow as a K8s resource in the cluster. To access more detailed explanations, please navigate to the Documentation site.

https://github.com/Rookout/piper/assets/106976988/09b3a5d8-3428-4bdc-9146-3034d81164bf

Reporting Issues

If you encounter any issues or bugs while using Piper, please help us improve by reporting them. Follow these steps to report an issue:

  1. Go to the Piper Issues page on GitHub.
  2. Click on the "New Issue" button.
  3. Provide a descriptive title and detailed description of the issue, including any relevant error messages or steps to reproduce the problem.
  4. Add appropriate labels to categorize the issue (e.g., bug, enhancement, question).
  5. Submit the issue, and our team will review and address it as soon as possible.

How to Contribute

If you're interested in contributing to this project, please feel free to submit a pull request. We welcome all contributions and feedback. Please check out our Contribution guidelines for this project

License

This project is licensed under the Apache License. Please see the LICENSE file for details.

Extension points exported contracts — how you extend this code

Client (Interface)
(no doc) [5 implementers]
pkg/git_provider/types.go
WorkflowsClient (Interface)
(no doc) [1 implementers]
pkg/workflow_handler/types.go
EventHandler (Interface)
(no doc) [1 implementers]
pkg/event_handler/types.go
WebhookHandler (Interface)
(no doc) [1 implementers]
pkg/webhook_handler/types.go
Interface (Interface)
(no doc) [1 implementers]
pkg/server/types.go
WebhookCreator (Interface)
(no doc) [1 implementers]
pkg/webhook_creator/types.go
EventNotifier (Interface)
(no doc) [1 implementers]
pkg/event_handler/types.go

Core symbols most depended-on inside this repo

SPtr
called by 107
pkg/utils/common.go
setWebhook
called by 25
pkg/webhook_creator/main.go
testFormValues
called by 18
pkg/git_provider/test_utils.go
NewWebhookCreator
called by 13
pkg/webhook_creator/main.go
testMethod
called by 12
pkg/git_provider/test_utils.go
ListContains
called by 9
pkg/utils/common.go
getWebhook
called by 8
pkg/webhook_creator/main.go
CreateDAGTemplate
called by 7
pkg/workflow_handler/workflows_utils.go

Shape

Method 112
Function 104
Struct 24
Interface 7
TypeAlias 1

Languages

Go100%

Modules by API surface

pkg/utils/common.go17 symbols
pkg/webhook_creator/main.go15 symbols
pkg/utils/common_test.go15 symbols
pkg/webhook_creator/tests_test.go12 symbols
pkg/git_provider/types.go12 symbols
pkg/git_provider/github.go12 symbols
pkg/workflow_handler/workflows.go11 symbols
pkg/git_provider/bitbucket.go11 symbols
pkg/event_handler/github_event_notifier_test.go11 symbols
pkg/workflow_handler/types.go10 symbols
pkg/webhook_handler/webhook_handler_test.go10 symbols
pkg/webhook_creator/mocks.go9 symbols

For agents

$ claude mcp add piper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact