microsoft / AzureStorageExplorer

Easily manage the contents of your storage account with Azure Storage Explorer. Upload, download, and manage blobs, files, queues, tables, and Cosmos DB entities. Gain easy access to manage your virtual machine disks. Work with either Azure Resource Manager or classic storage accounts, plus manage and configure cross-origin resource sharing (CORS) rules.
Creative Commons Attribution 4.0 International
377 stars 87 forks source link

Navigate to target when opening symlinks in file shares #8270

Open bakoontz2 opened 3 weeks ago

bakoontz2 commented 3 weeks ago

Preflight Checklist

Problem

Symlinks are just files in a file share with no special behavior.

Desired Solution

Navigate to the target of a symlink when opened or double-clicked.

Alternatives and Workarounds

No workaround.

Additional Context

No response

bakoontz2 commented 3 weeks ago

Reference: #7973

I was asked to reopen this feature request with additional information. The original writeup can be found in the referenced feature request linked above. The additional requested info:

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.

craxal commented 3 weeks ago

Repurposing this issue to reference specifically the desire for symlinks to navigate to the target location.

craxal commented 1 week ago

@richardMSFT Let's investigate the possibility of this some more after 1.37.0 lockdown, come up with a plan, and reevaluate for 1.38.0.