sematic-ai / sematic

An open-source ML pipeline development platform
Other
969 stars 58 forks source link

Support for S3-compatible storage (e.g. minio) #1084

Closed pwais closed 5 months ago

pwais commented 11 months ago

This change makes Sematic artifact storage and logging work with non-AWS S3-compatible storage. Tested with minio with self-signed certificate and Helm-deployed sematic cluster.

Key parts of this change:

See changes to docs/deploy.md for the jist.

Discussion about verify=False / skipping TLS verification:

One solution would be to make the sematic-server stop using redirects / self-signed urls for storage, as that can also be a pain when there are firewalls and other proxies in the picture. Not common for AWS, but possible elsewhere. I.e. all stores and reads must go thru sematic-server, and that alone has the proper cert / auth to read from storage. Note that docker-registry actually has this feature for these same reasons, see "redirect disable" https://docs.docker.com/registry/configuration/#redirect

Another solution is to just accept the verify=False approach used in this PR, as it can also be really useful for testing, and to put verify=False` behind a feature flag of sorts that gets set both server-side and user sematic yaml config.