Skip to content

Commit c2e387d

Browse files
committed
Add markdownlint ci step
Signed-off-by: Nathan Skrzypczak <[email protected]>
1 parent 4ad885a commit c2e387d

39 files changed

+986
-551
lines changed

.ci/buildspec.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ phases:
3030
build:
3131
commands:
3232
- make go-check
33+
- make mdlint
3334

3435
- make -C vpp-manager clean-vpp
3536
- make images

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,27 @@ assignees: ''
77

88
---
99

10-
**Environment**
11-
- Calico/VPP version:
12-
- Kubernetes version:
10+
## Environment
11+
12+
- Calico version:
13+
- Calico/VPP version:
14+
- Kubernetes version:
1315
- Deployment type: cloud, hosted, VM, bare-metal...
14-
- Network configuration: Calico / host-local IPAM? IPIP / VXLAN enabled? Specific BGP settings?
16+
- Network configuration (flat,IPIP,VXLAN,Wireguard,Ipsec):
17+
- Custom options (IPAM, BGP ?):
18+
19+
## Issue description
1520

16-
**Issue description**
1721
A clear and concise description of what the problem is.
1822

19-
**To Reproduce**
23+
## To Reproduce
24+
2025
Steps to reproduce the behavior:
21-
- ...
22-
- ...
2326

24-
**Expected behavior**
27+
## Expected behavior
28+
2529
A clear and concise description of what you expected to happen.
2630

27-
**Additional context**
31+
## Additional context
32+
2833
Add any other useful information about the problem or your deployment here.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,20 @@ assignees: ''
77

88
---
99

10-
**Is your feature request related to a problem? Please describe.**
11-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
10+
## Is your feature request related to a problem? Please describe
11+
12+
A clear and concise description of what the problem is
13+
e.g. I'm always frustrated when [...]
14+
15+
## Describe the solution you'd like
1216

13-
**Describe the solution you'd like**
1417
A clear and concise description of what you want to happen.
1518

16-
**Describe alternatives you've considered**
17-
A clear and concise description of any alternative solutions or features you've considered.
19+
## Describe alternatives you've considered
20+
21+
A clear and concise description of any alternative
22+
solutions or features you've considered.
23+
24+
## Additional context
1825

19-
**Additional context**
2026
Add any other context about the feature request here.

CONTRIBUTING.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1-
Thank you for considering contributing to Calico/VPP! Please follow these steps for an efficient contribution:
1+
# Contributing
22

3-
1) Open an issue describing the fix or improvement you would like to make, that describes your proposed approach
4-
as well as any other approaches you have considered. A maintainer will reply to discuss the contribution.
5-
2) Once the maintainer agrees on the approach, please submit a pull request and notify the maintainer. We will
6-
then review your pull request, potentially make some comments, and merge it once you address all comments.
3+
Thank you for considering contributing to Calico/VPP! Please follow these
4+
steps for an efficient contribution:
5+
6+
1) Open an issue describing the fix or improvement you would like to make,
7+
that describes your proposed approach
8+
as well as any other approaches you have considered. A maintainer will reply
9+
to discuss the contribution.
10+
2) Once the maintainer agrees on the approach, please submit a pull request
11+
and notify the maintainer. We will
12+
then review your pull request, potentially make some comments, and merge it
13+
once you address all comments.

Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,3 +338,10 @@ go-lint: lint
338338
.PHONY: depend-image-hash
339339
depend-image-hash:
340340
@echo $(DEPEND_IMAGE)
341+
342+
.PHONY: mdlint
343+
mdlint:
344+
ifdef CI_BUILD
345+
npm install -g markdownlint-cli
346+
endif
347+
markdownlint --dot --ignore vpp-manager/vpp_build .

README.md

Lines changed: 51 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,68 @@
11
# Calico VPP dataplane
22

3+
<!-- markdownlint-disable -->
34
<p float="left">
45
<img src="https://docs.tigera.io/img/favicon.png" width="100" height="100">
56
<img src="https://fd.io/img/fdio-color.svg" width="100" height="100">
67
</p>
8+
<!-- markdownlint-restore -->
79

8-
This repository contains the source for Calico's VPP dataplane integration. The integration is in incubation status, with significant development in progress.
10+
This repository contains the source for Calico's VPP dataplane integration. The
11+
integration is in incubation status, with significant development in progress.
912

10-
### Integration goals
13+
## Integration goals
1114

12-
The main goal of this integration is to accelerate the networking of k8s clusters that use Calico thanks to [FD.io VPP](https://fd.io/docs/vpp/master/). Nodes running the VPP dataplane provide faster networking to their pods, without requiring any changes to the applications running in the pods.
15+
The main goal of this integration is to accelerate the networking of k8s
16+
clusters that use Calico thanks to [FD.io VPP](https://fd.io/docs/vpp/master/).
17+
Nodes running the VPP dataplane provide faster networking to their pods,
18+
without requiring any changes to the applications running in the pods.
1319

14-
This integration aims to be as transparent as possible. In particular, the VPP dataplane does not have any additional requirements compared to regular Calico. All the networking configuration, including traffic encapsulation, IP Pools, BGP Configuration, etc. is done through regular Calico means. As a result, the docs present in this repository will only describe the VPP-specific elements.
20+
This integration aims to be as transparent as possible. In particular, the VPP
21+
dataplane does not have any additional requirements compared to regular Calico.
22+
All the networking configuration, including traffic encapsulation, IP Pools,
23+
BGP Configuration, etc. is done through regular Calico means. As a result, the
24+
docs present in this repository will only describe the VPP-specific elements.
1525

16-
VPP-enabled nodes are entirely compatible with regular Calico nodes - meaning that it is possible to have a cluster with some VPP-enabled nodes and some regular nodes. This makes it easy to migrate a cluster from Linux or eBPF Calico networking to VPP-accelerated networking.
26+
VPP-enabled nodes are entirely compatible with regular Calico nodes - meaning
27+
that it is possible to have a cluster with some VPP-enabled nodes and some
28+
regular nodes. This makes it easy to migrate a cluster from Linux or eBPF
29+
Calico networking to VPP-accelerated networking.
1730

18-
In addition to that, the VPP Dataplane provides some additional features that are not available in Calico. For instance :
19-
- We support very fast container traffic encryption with IPsec
20-
- SRv6 is also supported for node to node transport
21-
- Network intensive applications can also require [memif packet interfaces](https://s3-docs.fd.io/vpp/23.02/interfacing/libmemif/index.html) for optimized user-space networking.
22-
- Network intensive endpoint applications (using TCP, TLS, UDP, QUIC, ...) can consume the [VPP Hoststack](https://wiki.fd.io/view/VPP/HostStack) with the VPP Client Library [VCL](https://wiki.fd.io/view/VPP/HostStack/VCL)
23-
- Containerized network functions requiring multiple high speed interfaces can leverage [multinet](docs/multinet.md)
31+
In addition to that, the VPP Dataplane provides some additional features that
32+
are not available in Calico. For instance :
2433

25-
Finally, our goal is to make the deployment of Calico-VPP as simple as applying a YAML file through kubectl.
34+
- We support very fast container traffic encryption with IPsec
35+
- SRv6 is also supported for node to node transport
36+
- Network intensive applications can also require
37+
[memif packet interfaces](https://s3-docs.fd.io/vpp/23.02/interfacing/libmemif/index.html)
38+
for optimized user-space networking.
39+
- Network intensive endpoint applications (using TCP, TLS, UDP, QUIC, ...)
40+
can consume the [VPP Hoststack](https://wiki.fd.io/view/VPP/HostStack) with the
41+
VPP Client Library [VCL](https://wiki.fd.io/view/VPP/HostStack/VCL)
42+
- Containerized network functions requiring multiple high speed interfaces can
43+
leverage [multinet](docs/multinet.md)
44+
45+
Finally, our goal is to make the deployment of Calico-VPP as simple as applying
46+
a YAML file through kubectl.
2647

2748
## Get Started Using Calico/VPP
2849

29-
* Please see our [Getting started page](https://docs.tigera.io/calico/latest/getting-started/kubernetes/vpp/getting-started) for instructions on how to set it up on a cluster.
30-
* If you want to learn more about Calico, see the documentation on [docs.tigera.io/calico](https://docs.tigera.io/calico).
31-
* If you have questions, feel free to drop us a line in the [Calico Slack room #vpp](https://calicousers.slack.com/archives/C017220EXU1)
32-
* Check out [Release notes](RELEASE_NOTES.md)
50+
- Please see our [Getting started page](https://docs.tigera.io/calico/latest/getting-started/kubernetes/vpp/getting-started)
51+
for instructions on how to set it up on a cluster.
52+
- If you want to learn more about Calico, see the documentation on
53+
[docs.tigera.io/calico](https://docs.tigera.io/calico).
54+
- If you have questions, feel free to drop us a line in the
55+
[Calico Slack room #vpp](https://calicousers.slack.com/archives/C017220EXU1)
56+
- Check out [Release notes](RELEASE_NOTES.md)
3357

34-
### Software Architecture
58+
## Software Architecture
3559

36-
For technical details about the Calico-VPP integration, see the [VPP dataplane implementation details](https://docs.tigera.io/calico/latest/reference/vpp/technical-details).
60+
For technical details about the Calico-VPP integration, see the
61+
[VPP dataplane implementation details](https://docs.tigera.io/calico/latest/reference/vpp/technical-details).
3762

38-
### Contributing
63+
## Contributing
3964

40-
Contributions to this code are welcome!
65+
Contributions to this code are welcome!
4166

4267
Before starting, make sure you've read [the Calico contributor guide](CONTRIBUTING.md).
4368

@@ -47,6 +72,10 @@ Or refer to the [developer documentation in this repository](docs)
4772

4873
## License
4974

50-
Calico binaries are licensed under the [Apache v2.0 license](LICENSE), with the exception of some [GPL licensed eBPF programs](https://github.com/projectcalico/calico/tree/master/felix/bpf-gpl/README).
75+
Calico binaries are licensed under the [Apache v2.0 license](LICENSE),
76+
with the exception of some [GPL licensed eBPF programs](https://github.com/projectcalico/calico/tree/master/felix/bpf-gpl/README).
5177

52-
Calico imports packages with a number of apache-compatible licenses. For more information, see [licenses](https://github.com/projectcalico/calico/blob/master/calico/LICENSE). In addition, the base container image contains pre-packaged software with a variety of licenses.
78+
Calico imports packages with a number of apache-compatible licenses. For more
79+
information, see [licenses](https://github.com/projectcalico/calico/blob/master/calico/LICENSE)
80+
In addition, the base container image contains pre-packaged software with a
81+
variety of licenses.

calico-vpp-agent/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Calico/vpp Agent
22

33
This directory contains the agent that configures VPP for:
4+
45
- CNI implementation
56
- Services load balancing
67
- Traffic encapsulation / encryption

docs/Ipsec.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1-
This describes how to enable IPSEC on a Calico/VPP cluster
1+
# IPSec support in CalicoVPP
22

3-
## Enable ipsec on a running cluster
3+
This describes how to enable IPSec on a Calico/VPP cluster
4+
5+
## Enable IPSec on a running cluster
46

57
[You can find the documentation here](https://docs.tigera.io/calico/latest/getting-started/kubernetes/vpp/ipsec)
68

79
## Using this kustomize component
810

9-
You can use the following script to build the appropriate manifest for a cluster with ipsec enabled.
11+
You can use the following script to build the appropriate manifest for a
12+
cluster with ipsec enabled.
1013

11-
```bash
14+
````bash
1215
cd $REPOSITORY_ROOT/yaml
1316

1417
cat > kustomization.yaml <<EOF
@@ -19,11 +22,11 @@ components:
1922
EOF
2023
kubectl kustomize . > calico-vpp-ipsec.yaml
2124
kubectl apply -f calico-vpp-ipsec.yaml
22-
```
25+
````
2326

2427
You will also need to create the secret for the PSK out of band
2528

26-
```bash
29+
````bash
2730
kubectl -n calico-vpp-dataplane create secret generic calicovpp-ipsec-secret \
2831
--from-literal=psk="$(dd if=/dev/urandom bs=1 count=36 2>/dev/null | base64)"
29-
```
32+
````

docs/L2TapInterfaces.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
## We support L2 interfaces in pods
1+
# L2 interafce support in pods
22

3-
Pods use an L3 interface per default (tun interface in VPP). However, we also support having L2 interfaces (tap), via this [annotation](config.md#L99):
3+
Pods use an L3 interface per default (tun interface in VPP). However, we also
4+
support having L2 interfaces (tap), via this [annotation](config.md#L99):
45

5-
```yaml
6+
````yaml
67
apiVersion: v1
78
kind: Pod
89
metadata:
@@ -12,22 +13,25 @@ metadata:
1213
{
1314
"eth0": {"isl3": false },
1415
}
15-
```
16+
````
1617

17-
This has a known limitation : the linux routing configuration is currently incomplete. A workaround for it is to have a cap admin capability on a privileged container:
18+
This has a known limitation : the linux routing configuration is currently
19+
incomplete. A workaround for it is to have a cap admin capability on a
20+
privileged container:
1821

19-
```yaml
22+
````yaml
2023
securityContext:
2124
capabilities:
2225
add: [ "NET_ADMIN"]
23-
```
26+
````
27+
2428
and to run these commands on the container to have connectivity:
2529

26-
```bash
30+
````bash
2731
ip link set dev eth0 down
2832
ip link set dev eth0 address 02:00:00:00:00:01
2933
ip link set dev eth0 up
3034
ip neigh add 169.0.254.1 lladdr 51:53:00:17:34:09 dev eth0
3135
ip route add 169.0.254.1 dev eth0
3236
ip route add default via 169.0.254.1 dev eth0
33-
```
37+
````

docs/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# Calico/VPP technical documentation
22

3-
This folder contains Calico/VPP technical documentation. This is this repository's counterpart of the documentation available at [https://docs.tigera.io](https://docs.tigera.io/calico/latest/reference/vpp/technical-details)
3+
This folder contains Calico/VPP technical documentation.
4+
This is this repository's counterpart of the documentation
5+
available at [https://docs.tigera.io](https://docs.tigera.io/calico/latest/reference/vpp/technical-details)
46

5-
It contains developer oriented documentation, details of VPP specific features :
7+
It contains developer oriented documentation, details of VPP specific features:
68

79
- [Interface configuration](config.md)
810
- [Developer's getting started](developper_guide.md)

0 commit comments

Comments
 (0)