-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Object Storage (LEP 20230430) #649
Conversation
Add an "Object Storage" tab for managing object endpoints. Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
1aef73b
to
e6195ba
Compare
179db37
to
f7a3e63
Compare
Referecens: - longhorn/longhorn-ui#649 - https://github.com/longhorn/longhorn-manager/pull/2136/files#diff-cb740c237beef9090d8b3a15ca8b76aac83a3af2d52deadc382b4309916a715c - https://github.com/longhorn/longhorn-manager/pull/2136/files#diff-c75a796f2c69c35ee5ab6293f23db5c8d5af9a241f4f2345e96b1fc41d72ddceR41 Signed-off-by: Volker Theile <vtheile@suse.com>
Referecens: - longhorn/longhorn-ui#649 - https://github.com/longhorn/longhorn-manager/pull/2136/files#diff-cb740c237beef9090d8b3a15ca8b76aac83a3af2d52deadc382b4309916a715c - https://github.com/longhorn/longhorn-manager/pull/2136/files#diff-c75a796f2c69c35ee5ab6293f23db5c8d5af9a241f4f2345e96b1fc41d72ddceR41 Signed-off-by: Volker Theile <vtheile@suse.com>
39ddc83
to
396f532
Compare
de8694b
to
dcd15e1
Compare
f98925b
to
45ad8cf
Compare
Signed-off-by: Volker Theile <vtheile@suse.com>
- Reload list after creating a new ObjectStore - Add new `Administrate` menu which will redirect to the s3gw-ui - Disable action menus if necessary Signed-off-by: Volker Theile <vtheile@suse.com>
Signed-off-by: Volker Theile <vtheile@suse.com>
Signed-off-by: Volker Theile <vtheile@suse.com>
…eleted Signed-off-by: Volker Theile <vtheile@suse.com>
Signed-off-by: Volker Theile <vtheile@suse.com>
Signed-off-by: Volker Theile <vtheile@suse.com>
Serve Longhorn UI from /longhorn sub path. This avoids conflicts with s3gw instances and allows redirecting the browser to the S3 management UI Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
- Fix model function `get` --> `put` - Fix divider in action menu not having a key and thus throwing a warning Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
Add endpoint creation to the object store creation dialogue Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com> Signed-off-by: Volker Theile <vtheile@suse.com>
Serve Longhorn UI from /longhorn sub path. This avoids conflicts with s3gw instances and allows redirecting the browser to the S3 management UI Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
Make the endpoint input component work correctly by letting it propagate the user input to the parent component Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
- Add sorter - Init pagination correctly - Cleanup store handling in objectStorage Signed-off-by: Volker Theile <vtheile@suse.com>
Proxy object store UI in the nginx of the Longhorn UI. This allows for port-forwarding of the Longhorn UI to also access the administrative interface of the s3gw UI instances Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
ccc9090
to
2b94c3e
Compare
This pull request is now in conflicts. Could you fix it @m-ildefons? 🙏 |
Disable request body size limit for the object store UI location in the nginx config. This allows uploading large files through the s3gw UI to the object store. Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
Fix websocket connections in the object store page: - Name secrets, settings and objectstores in the data dependency model - Fix secrets model by adding state update functions for the websocket - Fix footer component - Ensure all resource names, types, namespaces etc. match what is exposed by the websocket API of the longhorn manager Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
Add action menu entry and plumbing for stopping/restarting an object store. This is useful to allow for certain kinds of volume maintenance operations, since it stops the workload on the volume backing the object store. Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
Display size and free space of the volume associated with an object store in the object store view. This makes it easy for users to view the amount of free space in an object store. Fix filters in object store view: Allow object stores to be filtered by their state and endpoints in addition to their name. This makes it easy for users to find stopped object stores if they have too many to display on a single page. It also makes it easy to find the object store associated with a domain name, which otherwise would be hard if the name of an object store has no relation to the domain name in use. Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
Fix flickering access/secret keys in create object store dialogue Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
Fix volume expansion: - don't allow a user to edit the size of an object store and make it smaller - propagate the size from the edit menu to the backend, so the volume can be expanded Fix from backup: - add an input field to allow populating a new object store with data from a previous backup Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
remove superfluous getObjectStore function and code path. It is not needed as there is no detailed view of object stores and the list view contains all available information Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
I couldn't figureout why we cannot access the s3gw-ui using your latest version at https://github.com/m-ildefons/s3gw-ui/tree/wip/longhorn-integration. Can you help? |
This is odd. I've never seen that error, maybe @votdev has an idea where it comes from. Can you provide a reproducer or some kind of hint what your configuration looks like? |
Hi @m-ildefons and @votdev The reproducing steps are:
|
When deploying an object store, there can be situations where the json object sent to the API is incorrectly constructed with null values. To avoid this, construct valid json objects regardless of the setting for the tls secret and domain name. Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
User interface for managing the object stores of Longhorn.
This adds a new tab to the Longhorn UI, which is dedicated to managing object stores. It can list, create and delete object stores as well as show their operational status.
Each object store corresponds to an
ObjectStore
CRD in the K8s cluster, the Longhorn Manager implements a corresponding controller which orchestrates an s3gw instance to implement that object store.Related: longhorn/longhorn-manager#2136
Related: longhorn/longhorn#6640
LEP: longhorn/longhorn#5832