Data source for Amazon S3 being able to accept S3 compatible server #9349

Closed
opened 2025-12-29 20:48:53 +01:00 by adam · 3 comments
Owner

Originally created by @javierdelapuente on GitHub (Mar 14, 2024).

Originally assigned to: @javierdelapuente on GitHub.

NetBox version

v3.7.4

Feature type

Change to existing functionality

Proposed functionality

Data sources of type Amazon S3 do not work with compatible S3 servers. The proposal is to allow S3 compatible servers to be used as data sources.

Currently, there is a datasource of type "Amazon S3", that uses Amazon S3 in AWS. When creating the data source, the URL protocol and domain/netloc are not taken into account (except to obtain the region), so by default only AWS can be used.

The proposal is to add the argument endpoint_url to construct the boto3.resource, so S3 compatible servers can be used. The proposed change will be located in here: 4adb44f60d/netbox/core/data_backends.py (L147)

As a workaround, environment variables can be used (like AWS_ENDPOINT_URL), but that limits all S3 data sources to reside in that url.

Use case

This feature will allow NetBox users to use other cloud providers or to host their own S3 compatible servers instead of using AWS to store their scripts and reports for Amazon S3 datasources.

Database changes

None

External dependencies

None

Originally created by @javierdelapuente on GitHub (Mar 14, 2024). Originally assigned to: @javierdelapuente on GitHub. ### NetBox version v3.7.4 ### Feature type Change to existing functionality ### Proposed functionality Data sources of type `Amazon S3` do not work with compatible S3 servers. The proposal is to allow S3 compatible servers to be used as data sources. Currently, there is a datasource of type "Amazon S3", that uses Amazon S3 in AWS. When creating the data source, the URL protocol and domain/netloc are not taken into account (except to obtain the region), so by default only AWS can be used. The proposal is to add the argument `endpoint_url` to construct the boto3.resource, so S3 compatible servers can be used. The proposed change will be located in here: https://github.com/netbox-community/netbox/blob/4adb44f60d91fec19c800ea0e03800e2eb338f06/netbox/core/data_backends.py#L147 As a workaround, environment variables can be used (like `AWS_ENDPOINT_URL`), but that limits all S3 data sources to reside in that url. ### Use case This feature will allow NetBox users to use other cloud providers or to host their own S3 compatible servers instead of using AWS to store their scripts and reports for `Amazon S3` datasources. ### Database changes None ### External dependencies None
adam added the status: acceptedtype: feature labels 2025-12-29 20:48:53 +01:00
adam closed this issue 2025-12-29 20:48:54 +01:00
Author
Owner

@jeremystretch commented on GitHub (Apr 3, 2024):

@javierdelapuente would you like to own this?

@jeremystretch commented on GitHub (Apr 3, 2024): @javierdelapuente would you like to own this?
Author
Owner

@javierdelapuente commented on GitHub (Apr 11, 2024):

Yes, I would be pleased to help!

@javierdelapuente commented on GitHub (Apr 11, 2024): Yes, I would be pleased to help!
Author
Owner

@jeremystretch commented on GitHub (Apr 15, 2024):

@javierdelapuente thanks, I've assigned this to you.

@jeremystretch commented on GitHub (Apr 15, 2024): @javierdelapuente thanks, I've assigned this to you.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#9349