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: hacking.md
+29
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,8 @@ There are currently two optional features at build time
16
16
- eBPF based recording
17
17
- This feature requires a rather new `libbpf` which requires a new `libelf`
18
18
version which in turn requires a new `libz` version.
19
+
- Install the necessary libraries based on your build OS.
20
+
For example, on Fedora, you'll need to install the RPMs `elfutils-libelf-devel` and `libbpf-devel`
19
21
- disable with `BPF_ENABLED=0`
20
22
- AppArmor
21
23
- This feature requires apparmor headers and development libraries as well as the `go-apparmor` bindings
@@ -35,6 +37,8 @@ for actually deploying the operator, `libseccomp` is not optional and whether
35
37
to build against seccomp is determined automatically based on the build
36
38
platform.
37
39
40
+
Also make sure you have `clang-tools-extra` installed
41
+
38
42
To build SPO with all the features simply run:
39
43
```shell
40
44
make
@@ -44,6 +48,31 @@ To disable features, prefix `make` with environment variables that deselect them
44
48
BPF_ENABLED=0 APPARMOR_ENABLED=0 make
45
49
```
46
50
51
+
In most cases you will need a container image. You can build by running:
52
+
```shell
53
+
make image
54
+
```
55
+
56
+
## Submitting a Pull Request (PR)
57
+
58
+
Here's the process for contributing your changes:
59
+
60
+
1.**Fork and Branch:**
61
+
* First, create your own copy (a "fork") of the [main repository](https://github.com/kubernetes-sigs/security-profiles-operator) on GitHub.
62
+
* Then, create a new branch within your forked repository to work on your changes.
63
+
64
+
2.**Build and Test:**
65
+
* Build a container image of your changes. This ensures your code runs in a kubernetes environment (Ex: OpenShift).
66
+
67
+
3.**Verify:**
68
+
* Run the command `make verify`. This command executes automated checks (like code style) to ensure your changes meet the project's standards. Make sure this command passes without any errors.
69
+
70
+
4.**PR Description:**
71
+
* When you create your Pull Request to merge your changes back into the main repository, please provide a clear description.
72
+
* Specifically, make sure to clearly indicate:
73
+
***Type of PR:** What kind of change is this?
74
+
***User-facing change:** If your changes will be noticeable to users of the project, briefly explain what those changes are. If not, you can state "NONE"
75
+
47
76
## Running unit tests and viewing coverage
48
77
SPO uses the Go's `testing` library augmented with [testify](https://github.com/stretchr/testify)
49
78
to provide nicer assertions and [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter)
0 commit comments