Fixed
Details
Assignee
BenjaminBenjaminReporter
BenjaminBenjaminLabels
Priority
MediumDays in progress
0Backlog
yes
Details
Details
Assignee
Benjamin
BenjaminReporter
Benjamin
BenjaminLabels
Priority
Days in progress
0
Backlog
yes
Zendesk Support
Zendesk Support
Zendesk Support
Checklist
Checklist
Checklist
Created December 7, 2021 at 1:47 PM
Updated May 25, 2022 at 5:37 AM
Resolved May 25, 2022 at 5:37 AM
Issue
In the self-hosted kubernetes version of Mender, you provide a way to set up S3 storage on minio.
Deployments only takes one variable for AWS_URI. This variable is used by Deployments itself to talk with minio and by IoT devices to fetch artifacts.
With only one URI, it is not possible to use mTLS to validate incoming connections (or you have to rebuild the mender-deployments image to add a client certificate in it).
Also, this requires connections between deployments and minio to be outbound of the cluster.
Suggestion
The simplest way would be to have two endpoints, AWS_URI and AWS_EXTERNAL_URI.
AWS_URI: connection between the service deployment and S3 storage.
AWS_EXTERNAL_URI: base URI for frontend and artifacts URIs sent to devices.
Example:
Parameter
Description
Example value
Default
global.s3.AWS_URI
minio internal endpoint
http://minio:9000
global.s3.AWS_EXTERNAL_URI
minio external endpoint
https://mender.webdomain.com
{global.s3.AWS_URI}
h2. Our modifications
We have made changes that allow us to use two endpoints to access the bucket.
We are not GO experts but maybe this will help in your deployments:
https://github.com/upciti/mender-deployments/pull/1