Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
52d3bb1
Basic API to OpenVPN Client Export Utility. Initial commit.
vitspec99 May 28, 2025
a550781
Only POST method allowed
vitspec99 May 29, 2025
0fbf460
Configure FreeRADIUS Interfaces
vitspec99 Jun 2, 2025
beaf443
comment fixed
vitspec99 Jun 2, 2025
e2e2795
Change construction for $this->ipv
vitspec99 Jun 3, 2025
6b19ba7
Configure FreeRADIUS Client(s)
vitspec99 Jun 3, 2025
8556c83
Merge pull request #710 from vitspec99/FreeRADIUS
jaredhendrickson13 Jun 7, 2025
107f451
Merge pull request #703 from vitspec99/OpenVPNClientExport
jaredhendrickson13 Jun 7, 2025
d86f113
style: run prettier on new files
jaredhendrickson13 Jun 8, 2025
d24e8d8
Allow to set Timezone name
vitspec99 Jun 10, 2025
85f69ca
Instead of using the validate_extra method for this, create a method …
vitspec99 Jun 11, 2025
aa6bbf3
Merge pull request #714 from vitspec99/next_minor
jaredhendrickson13 Jun 11, 2025
3a7aa05
Merge branch 'master' of github.com:jaredhendrickson13/pfsense-api in…
jaredhendrickson13 Jul 19, 2025
17f4736
feat(Schemas): add NativeSchema definition #725
jaredhendrickson13 Jul 19, 2025
09ebb79
style: run prettier on changed files
jaredhendrickson13 Jul 19, 2025
4960853
chore: cleanup SystemTimezone model
jaredhendrickson13 Jul 19, 2025
0a38948
test(SystemTimezone): add tests for SystemTimezone model #711
jaredhendrickson13 Jul 19, 2025
67c5404
chore(FreeRADIUSInterface): cleanup FreeRADIUSInterface model
jaredhendrickson13 Jul 20, 2025
15ab63c
chore(FreeRADIUSClient): cleanup FreeRADIUSClient model
jaredhendrickson13 Jul 20, 2025
058325a
ci: add builds for pfSense CE 2.8.1 and Plus 25.07
jaredhendrickson13 Jul 20, 2025
6b6deda
ci: build and test on pfSense CE 2.8.1
jaredhendrickson13 Jul 20, 2025
0616184
chore(Endpoints): expand request method options for new FreeRADIUS en…
jaredhendrickson13 Jul 20, 2025
d2ec24e
Merge branch 'master' of github.com:jaredhendrickson13/pfsense-api in…
jaredhendrickson13 Jul 20, 2025
27c905f
fix(FreeRADIUSClient): remove unnecessary port field
jaredhendrickson13 Jul 20, 2025
a22f156
test(FreeRADIUSClient): add tests for FreeRADIUSClient model
jaredhendrickson13 Jul 20, 2025
feb0bfb
test(SystemTimezone): add newlines to expected zoneinfo output
jaredhendrickson13 Jul 20, 2025
0cc3b04
style: run prettier on changed files
jaredhendrickson13 Jul 20, 2025
3ec45ee
test(FreeRADIUSClient): correctly check for ipv6 address
jaredhendrickson13 Jul 20, 2025
2de9978
test(FreeRADIUSClient): validate entire addr field so labels are popu…
jaredhendrickson13 Jul 20, 2025
969954c
test(FreeRADIUSInterface): add tests for FreeRADIUSInterface model
jaredhendrickson13 Jul 22, 2025
1301277
chore: remove unnecessary use statement
jaredhendrickson13 Jul 22, 2025
daf17a8
style: run prettier on changed files
jaredhendrickson13 Jul 22, 2025
605a603
refactor: separate config logic from business logic in OpenVPNClientE…
jaredhendrickson13 Jul 23, 2025
9b437fe
refactor: setup endpoints for openvpn client export configs
jaredhendrickson13 Jul 23, 2025
e447606
style: run prettier on changed files
jaredhendrickson13 Jul 23, 2025
f9c546e
refactor: move OpenVPNClientExport* fields to shared traits
jaredhendrickson13 Jul 24, 2025
37d696e
refactor: redo OpenVPNClientExport model to only handle export logic
jaredhendrickson13 Jul 24, 2025
8ec14a8
style: run prettier on changed files
jaredhendrickson13 Jul 24, 2025
01f3875
chore(OpenVPNClientExport): adjust model for testing issues
jaredhendrickson13 Jul 25, 2025
728521c
test(OpenVPNClientExport): add tests for OpenVPN client exports #368
jaredhendrickson13 Jul 25, 2025
64a14cb
style: run prettier on changed files
jaredhendrickson13 Jul 25, 2025
772a828
docs: add extra help text for /api/v2/vpn/openvpn/client_export
jaredhendrickson13 Jul 26, 2025
f976673
Merge branch 'master' of github.com:jaredhendrickson13/pfsense-api in…
jaredhendrickson13 Aug 14, 2025
e81f1d1
feat: add models, endpoints and tests for system tables
jaredhendrickson13 Aug 14, 2025
ee6feaf
style: run prettier on changed files
jaredhendrickson13 Aug 14, 2025
77a3de5
test: give /dev/pf time to apply limiters
jaredhendrickson13 Aug 28, 2025
1972124
test: give pf tables time to populate entries
jaredhendrickson13 Aug 28, 2025
4373ec2
test: make reading pf rules context aware
jaredhendrickson13 Aug 29, 2025
704b0b6
test: don't check for matching certs during renewal test
jaredhendrickson13 Aug 29, 2025
27ba6be
test: remove flaky sync tests
jaredhendrickson13 Aug 29, 2025
34d8783
test: add additional pf not ready keywords
jaredhendrickson13 Aug 29, 2025
7a39cbf
test: ensure table is readable after creation during tests
jaredhendrickson13 Sep 3, 2025
91ddafc
style: run prettier on changed files
jaredhendrickson13 Sep 3, 2025
3822115
ci: add build for pfSense Plus 25.07.1
jaredhendrickson13 Sep 3, 2025
ade27ed
docs: update supported pfSense versions
jaredhendrickson13 Sep 3, 2025
91afb63
chore: merge changes from master
jaredhendrickson13 Sep 5, 2025
10b3fa5
test: add retries to pf rule reads for dnpipe limiter check
jaredhendrickson13 Sep 5, 2025
4120415
fix(InterfaceVLAN): make vlanif field read only
jaredhendrickson13 Sep 5, 2025
cd5845b
style: run prettier on changed files
jaredhendrickson13 Sep 5, 2025
37bd3e0
docs: add docs for new schemas
jaredhendrickson13 Sep 6, 2025
403e077
docs: add notes about correct content type usage
jaredhendrickson13 Sep 6, 2025
6057b64
docs: add instructions for pr target branches
jaredhendrickson13 Sep 6, 2025
5524e7a
test: revert pf retries in dnpipe test
jaredhendrickson13 Sep 6, 2025
017cf3c
style: run prettier on changed files
jaredhendrickson13 Sep 6, 2025
9fdfbab
test: adjust pfctl rule reads to wait for ridentifier
jaredhendrickson13 Sep 6, 2025
76a0e36
test: adjust wait times for pfctl rules to read
jaredhendrickson13 Sep 6, 2025
7856ef2
test: support retries in test methods
jaredhendrickson13 Sep 7, 2025
ff9b8c4
test: add retries to time sensitive tests
jaredhendrickson13 Sep 7, 2025
cd716e5
style: run prettier on changed files
jaredhendrickson13 Sep 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ jobs:
include:
- PFSENSE_VERSION: pfSense-2.8.0-RELEASE
FREEBSD_ID: freebsd15
- PFSENSE_VERSION: pfSense-2.8.1-RELEASE
FREEBSD_ID: freebsd15
steps:
- uses: actions/checkout@v5
- uses: actions/download-artifact@v5
Expand Down Expand Up @@ -105,6 +107,8 @@ jobs:
include:
- PFSENSE_VERSION: pfSense-2.8.0-RELEASE
FREEBSD_ID: freebsd15
- PFSENSE_VERSION: pfSense-2.8.1-RELEASE
FREEBSD_ID: freebsd15
steps:
- uses: actions/checkout@v5
- uses: actions/download-artifact@v5
Expand Down Expand Up @@ -132,6 +136,8 @@ jobs:
include:
- PFSENSE_VERSION: pfSense-2.8.0-RELEASE
FREEBSD_ID: freebsd15
- PFSENSE_VERSION: pfSense-2.8.1-RELEASE
FREEBSD_ID: freebsd15

steps:
- uses: actions/checkout@v5
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,14 @@ jobs:
# Note: The first item in this matrix must use env.DEFAULT_PFSENSE_VERSION as the PFSENSE_VERSION!
- FREEBSD_VERSION: FreeBSD-15.0-CURRENT
PFSENSE_VERSION: "2.8.0"
- FREEBSD_VERSION: FreeBSD-15.0-CURRENT
PFSENSE_VERSION: "2.8.1"
- FREEBSD_VERSION: FreeBSD-15.0-CURRENT
PFSENSE_VERSION: "24.11"
- FREEBSD_VERSION: FreeBSD-15.0-CURRENT
PFSENSE_VERSION: "25.07"
- FREEBSD_VERSION: FreeBSD-15.0-CURRENT
PFSENSE_VERSION: "25.07.1"

steps:
- uses: actions/checkout@v5
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ commands are included below for quick reference.
Install on pfSense CE:

```bash
pkg-static add https://github.com/jaredhendrickson13/pfsense-api/releases/latest/download/pfSense-2.8.0-pkg-RESTAPI.pkg
pkg-static add https://github.com/jaredhendrickson13/pfsense-api/releases/latest/download/pfSense-2.8.1-pkg-RESTAPI.pkg
```

Install on pfSense Plus:

```bash
pkg-static -C /dev/null add https://github.com/jaredhendrickson13/pfsense-api/releases/latest/download/pfSense-24.11-pkg-RESTAPI.pkg
pkg-static -C /dev/null add https://github.com/jaredhendrickson13/pfsense-api/releases/latest/download/pfSense-25.07.1-pkg-RESTAPI.pkg
```

> [!WARNING]
Expand Down
290 changes: 140 additions & 150 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions docs/BUILDING_CUSTOM_ENDPOINT_CLASSES.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,11 @@ The `tag` property is used to define the [OpenAPI tag](https://swagger.io/docs/s
for the endpoint. This is used to group related endpoints together in the API documentation. This property is optional
and defaults to the first section of the URL after the `/api/v2/` prefix.

### deprecated

The `deprecated` property is used to indicate if the endpoint is deprecated. This property defaults to `false`. When set
to `true`, the endpoint will be marked as deprecated in applicable documentation and schemas.

### requires_auth

The `requires_auth` property is used to specify whether the endpoint requires authentication and authorization. This property
Expand Down
8 changes: 6 additions & 2 deletions docs/COMMON_CONTROL_PARAMETERS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# Common Control Parameters

The API utilizes a set of common parameters to control certain behaviors of API calls. These parameters are available to
all endpoints and requests, but some endpoints may not support all parameters. Below are the available control
parameters you can use:
all endpoints and requests, but some endpoints may not support all parameters.

!!! Note
Requests must pass these parameters according to your specific [content type](CONTENT_AND_ACCEPT_TYPES.md). For
example, if you are using the `application/json` content-type, these parameters should be included in the JSON body
of your request. Content types cannot be mixed.

## append

Expand Down
4 changes: 4 additions & 0 deletions docs/CONTENT_AND_ACCEPT_TYPES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The REST API has been designed to allow multiple content and accept types to be

Content types are used to specify the format of the data being sent in your request. You must specify the content type in the `Content-Type` header of your request. The REST API supports the following content types:

!!! Important
Only one content type can be specified per request. Data formats cannot be mixed. For example, a request cannot
use both a JSON body and URL query string parameters to send data.

### application/json
- MIME Type: `application/json`
- Description: Use this content type to send JSON data in the body of your request. The data should be formatted as a JSON object or array.
Expand Down
Loading