AzureStorageExplorer
AzureStorageExplorer copied to clipboard
Add icon for symlink
Preflight Checklist
- [X] I have installed the latest version of Storage Explorer.
- [X] I have checked existing resources, including the troubleshooting guide and the release notes.
- [X] I have searched for similar issues.
Problem
Differentiate symlinks from documents (both use the same icon)
Desired Solution
An icon that represents a symlink
Alternatives and Workarounds
No workaround, it is what it is right now
Additional Context
No response
The "documents" are actually symlinks in this image.
@bakoontz2 Can you provide more context? Are you using Blobs, ADLS Gen2 Blobs, or File Shares? What MIME types or content types are you seeing for these symlinks? Can you share more of your screenshot?
Can you share more about your particular use case? What platform do you run Storage Explorer on? Why do you upload symlinks to Azure? Why do you need a different icon?
File shares that we mount in Linux containers. Here is a better screenshot:
Here are the symlinks as represented in Linux after they are mounted:
Here is what SE thinks is the content type of the symlinks:
Some people on our team, not comfortable in a Linux environment, use SE to navigate and update the file system. Given that there is no clue in the SE presentation that what appear to be docs are actually symlinks, and the inability to navigate the symlinks from within SE, leads to confusion. SE is exclusively run on Win 10E. We don't "upload" symlinks to Azure. The symlinks are created after the FS is mounted in a Linux container. A different icon is desired because the present icon does not accurately represent the underlying symlink.
@RichardMSFT Getting a separate icon for symlinks should be pretty simple to do. But let's investigate for 1.35.0 what it would take to support navigation via symlink, and then we can plan further.
Thank you for the quick response!
@richardMSFT Let's focus on getting symlink icons for the items in 1.36.0. Later we can look into implementing actual navigation for symlinks (#8112).
@bakoontz2 Can you provide more detailed steps on how to recreate your existing scenario? How are you creating and mounting your file share? Is the file share using SMB or NFS protocol? How are the symlinks being created that are shown in your previous screenshot?
A step by step instruction would help us best to replicate your scenario and then in turn figure out what can be supported in storage explorer.
@bakoontz2 unfortunately we need some additional help from you to implement this feature, but we havne't heard back from you. Therefore we are going to close this feature request. If you are still interested in this feature, please open a new feature request with explicit instructions for how we can recreate this symlink scenario you have found yourself in. We need the minimal end to end steps on how to get in the same state as you are in.
Somehow I missed this last comment from @richardMSFT. l will document these steps and get the posted.
The file shares are created in the Azure portal as standard file shares, no share-level permissions, 14-day soft delete, 100TiB, maximum compatibility security (the defaults). These files share are mounted to their respective K8S containers via pre-defined PV/PVCs:
pv.yaml
spec:
accessModes:
- ReadWriteMany
azureFile:
secretName: some-secret
secretNamespace: some-ns
shareName: some-share-name
capacity:
storage: 100Ti
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: some-pvc
namespace: some-ns
resourceVersion: "12345678"
uid: <guid>
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=1000
- gid=1000
- mfsymlinks
- nobrl
persistentVolumeReclaimPolicy: Retain
volumeMode: Filesystem
pvc.yaml
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Ti
storageClassName: ""
volumeMode: Filesystem
volumeName: some-pv
status:
accessModes:
- ReadWriteMany
capacity:
storage: 100Ti
phase: Bound
job.yaml
...
volumeMounts:
- mountPath: /mnt
name: mnt
...
volumes:
- name: mnt
persistentVolumeClaim:
claimName: some-pvc
From there, we create the symlinks that are needed on the mounted filesystem using "ln -s".
I really have no idea if this is SMB or NFS. This is how the fileshares are mounted and used.
And I just noticed I need to open a new feature request, so I will do that with this comment.
@bakoontz2 Since you replied, we'll just reopen this issue. We can repurpose the new feature request you made for implementing the symlink navigation feature.