Skip to content

Commit 08c9bf0

Browse files
committed
[BV] add initial bV configurations and guidlines
1 parent 2419b1c commit 08c9bf0

14 files changed

Lines changed: 639 additions & 47 deletions

.bumpversion.cfg

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,14 @@
11
[bumpversion]
2-
current_version = 2.5.0-beta.1
2+
current_version = 2.5.0-bv1
33
commit = True
44
tag = True
5-
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-(?P<release>.*)-(?P<build>\d+))?
6-
serialize =
7-
{major}.{minor}.{patch}-{release}-{build}
5+
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-bv(?P<build>\d+))?
6+
serialize =
7+
{major}.{minor}.{patch}-bv{build}
88
{major}.{minor}.{patch}
99

10-
[bumpversion:part:release_name]
11-
first_value = regular
12-
optional_value = regular
13-
values =
14-
alpha
15-
beta
16-
rc
17-
test
18-
regular
10+
[bumpversion:part:build]
11+
first_value = 1
1912

2013
[bumpversion:file:source/app/configuration.py]
2114
search = IRIS_VERSION = "v{current_version}"

.github/copilot-instructions.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!-- GitHub Copilot reads this file automatically for workspace context. -->
2+
<!-- For full details see AGENTS.md at the repo root. -->
3+
4+
This is **baseVISION/iris-web**, a fork of dfir-iris/iris-web (DFIR case-management platform).
5+
6+
## Branches
7+
- `bv-develop` — integration branch, branch from here for fixes/features; direct push allowed but PR is preferred
8+
- `bv-main` — production, PR only from `release/*` branches
9+
- `origin/master`, `origin/develop` — upstream mirrors, never modify
10+
11+
## Commit prefixes
12+
`[FIX]`, `[IMP]`, `[ADD]` = upstream-eligible | `[BV]`, `[BV-FIX]` = BV-internal only (never contribute upstream)
13+
14+
## Branch naming
15+
`fix/<name>` · `feature/<name>` · `release/<version>` · `sync/upstream-<date>` · `contrib/<name>`
16+
17+
`contrib/` branches must be created from `upstream/develop`, not `bv-develop`. Only cherry-pick commits without a `[BV]` prefix.
18+
19+
## Version string
20+
`source/app/configuration.py``IRIS_VERSION`. Format: `vX.Y.Z-bvN`. Managed by `.bumpversion.cfg`.
21+
22+
See [AGENTS.md](../AGENTS.md) for full workflow details.

.github/workflows/build-db.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
name: Build and push DB image
22

3+
# Disabled: images are built and pushed to ACR via Azure DevOps.
4+
# Trigger manually if needed for testing.
35
on:
4-
push:
5-
# Publish semver tags as releases.
6-
tags: [ 'v*.*.*' ]
7-
pull_request:
8-
branches: [ "main" ]
96
workflow_dispatch:
107

118
env:

.github/workflows/build-nginx.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
name: Build and push Nginx image
22

3+
# Disabled: images are built and pushed to ACR via Azure DevOps.
4+
# Trigger manually if needed for testing.
35
on:
4-
push:
5-
# Publish semver tags as releases.
6-
tags: [ 'v*.*.*' ]
7-
pull_request:
8-
branches: [ "main" ]
96
workflow_dispatch:
107

118
env:

.github/workflows/build-webApp.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
name: Build and push WebApp image
22

3+
# Disabled: images are built and pushed to ACR via Azure DevOps.
4+
# Trigger manually if needed for testing.
35
on:
4-
push:
5-
# Publish semver tags as releases.
6-
tags: [ 'v*.*.*' ]
7-
pull_request:
8-
branches: [ "main" ]
96
workflow_dispatch:
107

118
env:

.github/workflows/chart-releaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Release Iris Web Helm Chart
33
on:
44
push:
55
branches:
6-
- main
6+
- bv-main
77
workflow_dispatch:
88

99
jobs:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ run_nv_test.py
3131
certificates/web_certificates/*.pem
3232
certificates/web_certificates/*.key
3333
!certificates/web_certificates/iris_dev_*
34+
local_dev/

AGENTS.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# Agent Instructions — baseVISION iris-web
2+
3+
This is a fork of [dfir-iris/iris-web](https://github.com/dfir-iris/iris-web) maintained by baseVISION.
4+
The upstream project is a DFIR case-management platform (Python/Flask backend, SvelteKit frontend, PostgreSQL).
5+
6+
---
7+
8+
## Branch Structure
9+
10+
| Branch | Purpose | Push rules |
11+
|---|---|---|
12+
| `bv-main` | Production-stable. Tagged releases deploy to AKS prod. | PR only, 1 approval + CI green |
13+
| `bv-develop` | Integration branch. Pushes auto-deploy to AKS staging. | Direct push allowed; PR preferred |
14+
| `origin/master` | Upstream master mirror — **never modify** | Read-only |
15+
| `origin/develop` | Upstream develop mirror — **never modify** | Read-only |
16+
17+
Short-lived branches (delete after merge):
18+
19+
| Pattern | Target | Purpose |
20+
|---|---|---|
21+
| `fix/<name>` | `bv-develop` | Bug fix |
22+
| `feature/<name>` | `bv-develop` | New feature |
23+
| `release/<version>` | `bv-main` | Release prep |
24+
| `sync/upstream-<date>` | `bv-develop` | Upstream merge |
25+
| `contrib/<name>` | upstream `develop` | Contribution to dfir-iris |
26+
27+
**Preferred:** branch from `bv-develop`, open a PR, merge. Direct pushes to `bv-develop` are allowed but should be reserved for trivial changes. `bv-main` is protected — PRs only. Exception: `contrib/` branches must be branched from `upstream/develop`.
28+
29+
---
30+
31+
## Commit Message Convention
32+
33+
Every commit must start with one of these prefixes:
34+
35+
| Prefix | Meaning | Contribute upstream? |
36+
|---|---|---|
37+
| `[FIX]` | Bug fix | Yes — cherry-pick candidate |
38+
| `[IMP]` | Improvement | Yes — cherry-pick candidate |
39+
| `[ADD]` | New feature | Case by case |
40+
| `[BV]` | baseVISION-internal | **Never** |
41+
| `[BV-FIX]` | Fix specific to BV infra/config | **Never** |
42+
43+
**Rule:** commits without a `[BV]` prefix must be clean enough to open a PR on upstream without modification. Do not mix BV-specific logic with upstream-eligible commits.
44+
45+
---
46+
47+
## Key Workflows
48+
49+
### Normal fix or feature
50+
51+
```bash
52+
git checkout bv-develop && git pull origin bv-develop
53+
git checkout -b fix/<name>
54+
# make changes, commit with [FIX]/[IMP]/[ADD]/[BV] prefix
55+
git push origin fix/<name>
56+
# Open PR → bv-develop
57+
# Delete branch after merge
58+
```
59+
60+
### Release to production
61+
62+
```bash
63+
git checkout bv-develop && git pull
64+
git checkout -b release/<version> # e.g. release/2.5.0-bv1
65+
# Bump version in:
66+
# source/app/configuration.py → IRIS_VERSION = "v<version>"
67+
# README.md
68+
# docker-compose.yml
69+
git commit -m "[BV] Bump version to <version>"
70+
git push origin release/<version>
71+
# Open PR → bv-main (requires 1 review + CI)
72+
# After merge: tag vX.Y.Z-bvN and push tag → triggers AKS prod deploy
73+
```
74+
75+
### Syncing upstream bugfixes
76+
77+
```bash
78+
git fetch upstream
79+
git checkout -b sync/upstream-<YYYY-MM> bv-develop
80+
git merge upstream/develop # resolve conflicts
81+
git push origin sync/upstream-<YYYY-MM>
82+
# Open PR → bv-develop
83+
```
84+
85+
### Contributing a fix back to upstream
86+
87+
```bash
88+
git checkout -b contrib/<name> upstream/develop # branch from upstream, NOT bv-develop
89+
git cherry-pick <commit-hash> # only commits WITHOUT [BV] prefix
90+
git push origin contrib/<name>
91+
# Open PR on github.com/dfir-iris/iris-web targeting their develop branch
92+
# Delete branch after upstream merge
93+
```
94+
95+
---
96+
97+
## Version Numbering
98+
99+
- Format: `vX.Y.Z-bvN` (e.g. `v2.5.0-bv1`)
100+
- `source/app/configuration.py` contains `IRIS_VERSION` — this is the canonical version string
101+
- `.bumpversion.cfg` controls automated bumping across `configuration.py`, `README.md`, and `docker-compose.yml`
102+
103+
---
104+
105+
## CI / GitHub Actions
106+
107+
| Workflow | Trigger | Purpose |
108+
|---|---|---|
109+
| `ci.yml` | All pushes and PRs | Static checks, Docker builds, API tests, DB migration tests, e2e tests |
110+
| `build-webApp.yml` | Manual only (disabled) | GHCR publish — replaced by Azure DevOps + ACR |
111+
| `build-db.yml` | Manual only (disabled) | GHCR publish — replaced by Azure DevOps + ACR |
112+
| `build-nginx.yml` | Manual only (disabled) | GHCR publish — replaced by Azure DevOps + ACR |
113+
| `chart-releaser.yml` | Push to `bv-main` or manual | Helm chart release |
114+
115+
CI must be green before any PR can be merged. The relevant required check is named **"Continuous Integration"**.
116+
117+
---
118+
119+
## Important Files
120+
121+
| File | Purpose |
122+
|---|---|
123+
| `source/app/configuration.py` | App config including `IRIS_VERSION` |
124+
| `source/requirements.txt` | Python dependencies |
125+
| `docker-compose.yml` | Production compose (references version tag) |
126+
| `docker-compose.bv.yml` | Development compose (used by CI and local dev) |
127+
| `docker/webApp/Dockerfile` | App image |
128+
| `docker/db/Dockerfile` | DB image |
129+
| `docker/nginx/Dockerfile` | Nginx image |
130+
| `deploy/kubernetes/` | Helm charts for AKS |
131+
| `.bumpversion.cfg` | Version bump configuration |
132+
| `BV-DEV-CONCEPT.md` | Full fork strategy and open decisions (not committed to branches) |
133+
134+
---
135+
136+
## Do Not
137+
138+
- Do **not** push directly to `bv-main` or `bv-develop` — always use a PR
139+
- Do **not** commit to or rebase `origin/master` or `origin/develop` — they are upstream mirrors
140+
- Do **not** include `[BV]`-prefixed commits in `contrib/` branches
141+
- Do **not** push BV-internal config (secrets, ACR credentials, AKS manifests with cluster details) to any branch

CONTRIBUTING.md

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
1-
# Contributing to DFIR-IRIS
2-
*This applies to any repository present in the DFIR-IRIS organisation.*
1+
# Contributing to baseVISION iris-web
32

4-
We are an open project, and we gladly accept contributions of any kinds. The two main ways to contribute are by
5-
creating issues or submitting pull requests.
3+
This is a fork of [dfir-iris/iris-web](https://github.com/dfir-iris/iris-web) maintained by baseVISION.
64

7-
## Issues
8-
Please try to follow the templates that are provided for feature requests and bugs. Also ensure that you feature or issue
9-
is not already mentioned in the [roadmap](https://github.com/orgs/dfir-iris/projects/1/views/4). If an issue is similar
10-
but not fit perfectly with what you have in mind, you can add comments to it, and it will take into account.
5+
## Issues
6+
Please try to follow the templates provided for feature requests and bugs.
117

12-
If you want to report a security issue, please read the [security page](./SECURITY.md).
8+
If you want to report a security issue, please read the [security page](./SECURITY.md).
139

14-
## Pull requests
15-
Please make sure to follow the [code guideline](./CODESTYLE.md) when writing your code.
16-
The pull requests must be submitted on the `develop` branch of the project. Ensure that before submitting you are
17-
up-to-date with it.
10+
## Pull requests
11+
Please follow the [code guideline](./CODESTYLE.md) when writing your code.
1812

19-
## Others
20-
If you have any ideas not directly link to the code itself, you can directly contact us by [email](mailto:contact@dfir-iris.org).
13+
### Internal contributors (baseVISION team)
14+
- Branch from `bv-develop` and open a PR targeting `bv-develop`.
15+
- Use the commit prefix convention from `BV-DEV-CONCEPT.md` (`[FIX]`, `[IMP]`, `[ADD]`, `[BV]`, `[BV-FIX]`).
16+
- Commits without a `[BV]` prefix must be clean enough to submit upstream without modification.
17+
18+
### Contributing back to upstream
19+
- Branch from `upstream/develop` (not from `bv-develop`) using the naming convention `contrib/<name>`.
20+
- Only cherry-pick commits that have **no** `[BV]` prefix.
21+
- Open the PR on [dfir-iris/iris-web](https://github.com/dfir-iris/iris-web) targeting their `develop` branch.
22+
- Delete the `contrib/` branch after upstream merge.
23+
24+
## Others
25+
If you have any ideas not directly linked to the code itself, you can contact us by [email](mailto:contact@dfir-iris.org).

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@
66
<p align="center">
77
Incident Response Investigation System
88
<br>
9-
<i>Current Version v2.4.20</i>
9+
<i>Current Version v2.5.0-bv1</i>
1010
<br>
1111
<a href="https://v200.beta.dfir-iris.org">Online Demonstration</a>
1212
</p>
1313

14-
# IRIS
14+
# IRIS — baseVISION Development Fork
15+
16+
> **This is the baseVISION development fork of [dfir-iris/iris-web](https://github.com/dfir-iris/iris-web).**
17+
> - For local dev environment setup see [bV-local-dev-environment-setup.md](bV-local-dev-environment-setup.md)
18+
> - For branching, commit conventions and release workflow see [bV-development-guide.md](bV-development-guide.md)
1519
1620
[![License: LGPL v3](https://img.shields.io/badge/License-LGPL_v3-blue.svg)](./LICENSE.txt)
1721
Iris is a web collaborative platform aiming to help incident responders sharing technical details during investigations.

0 commit comments

Comments
 (0)