You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CODE_OF_CONDUCT.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,15 +46,18 @@ We agree to restrict the following behaviors in our community. Instances, threat
46
46
47
47
Tensions can occur between community members even when they are trying their best to collaborate. Not every conflict represents a code of conduct violation, and this Code of Conduct reinforces encouraged behaviors and norms that can help avoid conflicts and minimize harm.
48
48
49
-
When an incident does occur, it is important to report it promptly. To report a possible violation, **[NOTE: describe your means of reporting here.]**
49
+
When an incident does occur, it is important to report it promptly. To report a possible violation, please contact the Community Moderators via one of the following channels:
- GitHub Discussions: https://github.com/bubustack/bobrapet/discussions (select the Community Moderation category)
53
+
54
+
If you are uncomfortable reporting publicly, email is preferred. We aim to acknowledge reports within 72 hours and will keep reporters updated as appropriate.
50
55
51
56
Community Moderators take reports of violations seriously and will make every effort to respond in a timely manner. They will investigate all reports of code of conduct violations, reviewing messages, logs, and recordings, or interviewing witnesses and other participants. Community Moderators will keep investigation and enforcement actions as transparent as possible while prioritizing safety and confidentiality. In order to honor these values, enforcement actions are carried out in private with the involved parties, but communicating to the whole community may be part of a mutually agreed upon resolution.
52
57
53
58
54
59
## Addressing and Repairing Harm
55
60
56
-
**[NOTE: The remedies and repairs outlined below are suggestions based on best practices in code of conduct enforcement. If your community has its own established enforcement process, be sure to edit this section to describe your own policies.]**
57
-
58
61
If an investigation by the Community Moderators finds that this Code of Conduct has been violated, the following enforcement ladder may be used to determine how best to repair harm, based on the incident's impact on the individuals involved and the community as a whole. Depending on the severity of a violation, lower rungs on the ladder may be skipped.
Bobrapet is a powerful, cloud-native workflow engine for orchestrating complex AI and data processing pipelines on Kubernetes. It leverages the declarative power of Custom Resource Definitions (CRDs) to let you define, manage, and execute multi-step, event-driven workflows with unparalleled flexibility and control.
5
+
Bobrapet is a powerful, cloud-native workflow engine for orchestrating complex AI and data processing pipelines on Kubernetes. It leverages the declarative power of Custom Resource Definitions (CRDs) to let you define, manage, and execute multi-step, event-driven workflows with flexibility and control.
6
6
7
-
For full product docs, visit: https://bubustack.io/docs/
@@ -19,14 +22,8 @@ For full product docs, visit: https://bubustack.io/docs/
19
22
20
23
## 🏗️ Architecture
21
24
22
-
The `bobrapet` operator is engineered for robustness and maintainability, following best practices for Kubernetes controller design. The core `StoryRun` controller, for example, is built on a modular, sub-reconciler pattern:
23
-
24
-
-**Main Controller**: Acts as a lean, high-level orchestrator.
25
-
-**RBAC Manager**: Manages all RBAC-related resources (`ServiceAccount`, `Role`, `RoleBinding`).
26
-
-**DAG Reconciler**: Contains the entire workflow state machine, handling state synchronization, dependency analysis, and scheduling.
27
-
-**Step Executor**: Manages the specific logic for launching different types of steps (`engram`, `executeStory`, etc.).
28
-
29
-
This clean separation of concerns makes the operator highly scalable, testable, and easy to extend.
25
+
High-level architecture, patterns, and controller internals are documented on the website:
26
+
- Overview and architecture: https://bubustack.io/docs/bobrapet/explanations/architecture
30
27
31
28
## 📚 Core Concepts
32
29
@@ -39,32 +36,8 @@ This clean separation of concerns makes the operator highly scalable, testable,
39
36
40
37
## 🧰 Workflow Primitives
41
38
42
-
Beyond running custom `Engrams`, `Story` resources can use a rich set of built-in primitives for advanced control flow:
43
-
44
-
-**`loop`**: Iterate over a list and expand a template step per item.
45
-
-`with.items`: CEL‑resolvable data (evaluated with `inputs`, `steps` contexts)
46
-
-`with.template`: a single `Step` to instantiate per item
47
-
- Limits: max 100 iterations; creates child `StepRun`s and records them under `status.primitiveChildren[step]`; marks the loop step Running ("Loop expanded").
48
-
49
-
-**`parallel`**: Run multiple steps concurrently.
50
-
-`with.steps[]`: array of `Step` entries; each branch’s `with` is CEL‑resolved with `inputs` and `steps`
51
-
- Creates sibling `StepRun`s; marks the parallel step Running ("Parallel block expanded").
52
-
53
-
-**`stop`**: Terminate the workflow early.
54
-
-`with.phase`: one of `Succeeded|Failed|Canceled` (defaults to `Succeeded`)
55
-
-`with.message`: optional human message
56
-
- Sets `StoryRun.status.phase/message` and returns.
57
-
58
-
-**`executeStory`**: Run another `Story` as a sub‑workflow.
59
-
-`with.storyRef`: `{ name, namespace? }`
60
-
- Current status: placeholder; marks step Succeeded with a message.
Copy file name to clipboardExpand all lines: SECURITY.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,9 @@
2
2
3
3
## Supported versions
4
4
5
-
We provide security updates for the latest released version of the operator. Please ensure you are using a supported version to receive security patches.
5
+
We provide security updates for the latest released minor of the operator. Please ensure you are using a supported version to receive security patches. We generally support the latest minor and the immediately previous minor.
6
+
7
+
Supported Kubernetes versions: we aim to support N-2 of upstream stable releases. For example, when Kubernetes 1.31 is current, we target 1.31, 1.30, 1.29. See `config/crd/kustomization.yaml` and CI matrices for exact compatibility.
6
8
7
9
## Reporting a vulnerability
8
10
@@ -18,7 +20,7 @@ When reporting a vulnerability, please provide the following information:
18
20
19
21
-**A clear description** of the vulnerability and its potential impact.
20
22
-**Steps to reproduce** the vulnerability, including any example code, scripts, or configurations.
21
-
-**The version(s) of the SDK** affected.
23
+
-**The version(s) of the operator** affected.
22
24
-**Your contact information** for us to follow up with you.
23
25
24
26
## Disclosure process
@@ -27,7 +29,9 @@ When reporting a vulnerability, please provide the following information:
27
29
2.**Confirmation**: We will acknowledge your report within 48 hours.
28
30
3.**Investigation**: We will investigate the vulnerability and determine its scope and impact. We may contact you for additional information during this phase.
29
31
4.**Fix**: We will develop a patch for the vulnerability.
30
-
5.**Disclosure**: We will create a security advisory, issue a CVE, and release a new version with the patch. We will credit you for your discovery unless you prefer to remain anonymous.
32
+
5.**Disclosure**: We will create a security advisory, issue a CVE (if applicable), and release a new version with the patch. We will credit you for your discovery unless you prefer to remain anonymous.
33
+
34
+
We aim to resolve high severity vulnerabilities within 30 days, medium within 60 days, and low within 90 days, subject to complexity and scope. We'll keep you informed of progress.
31
35
32
36
We aim to resolve all vulnerabilities as quickly as possible. The timeline for a fix and disclosure will vary depending on the complexity and severity of the vulnerability. We will keep you informed of our progress throughout the process.
0 commit comments