Skip to main content

Hello wonderful IFS Community!

I had a question come up that I wasn’t able to answer - Where is the folder structure for the IFS Cloud middletier stored at on the Ubuntu server? I poked around the /home/ifs directory, but nothing really seemed to be stored there except for some configuration files. I also looked under /etc, but didn’t find anything that was what I was searching for.

Many thanks, and feel free to respond with any clarifying questions, should they be needed.

Regards,

Randy

Hi Randy,

Are you referring to IFS Storage? This is set to the SMB share defined in the ifscloud-values file via the ifsfilestorage.fssSmbSharePath setting. Typically this is an external SMB share rather than the middleware server, though if an SMB share is configured there it should work as well.

Best regards -- Ben


If you wonder where middle tier binaries/configs is stored then read the microk8s doc. But mainly under /var/snap/mirok8s, but it will be of very little use as it is only a k8s platform. Each pod has it’s own middle tier file structure...  


Hi ​@Ben Monroe - appreciate the input, but I’m not referring to document storage on the middle-tier, but instead the folder structure for the binaries the middle-tier is executing.

Thank you ​@hhanse for the suggestion to look in the /var/snap directory. Poking around in some of the subdirectories leant some interesting finds. I found a directory ‘containers’ at path ‘/var/snap/microk8s/common/run/containerd/io.containerd.grpc.v1.cri/containers’ that held a series of GUID-style folders that was inaccessible as user ‘ifs’. Looking in the linked folder ‘current’ in the microk8s directory also had a few interesting destinations.

I appreciate both of you contributing to my inquiry :)

-Randy

 


The IFS Cloud middle tier runs as a containerized deployment on Kubernetes (using MicroK8s) within your Ubuntu server. This means the core "folder structure" for the middle tier isn't stored as traditional files in a single directory like older IFS versions (e.g., no classic IFS_HOME with app servers and Java EAR files). Instead:

  • Configuration files (e.g., Helm values like ifscloud-values.yaml, solution sets, and main configs) are primarily managed from the Windows Management Server in the ifsroot\config folder (or equivalent path where you unzipped the IFS Remote bootstrap). These get pushed to the Ubuntu server during deployment via the installer scripts (e.g., main.ps1 or the IFS Cloud Installer).
  • On the Ubuntu middle tier server itself:
    • The Kubernetes cluster is installed via snaps under /snap/microk8s (this includes the kubelet, API server, and related binaries—no direct app code here).
    • Persistent data, logs, and any mounted volumes (e.g., for file storage or secrets) are typically in /var/snap/microk8s or /var/lib/microk8s (check subdirs like pods, etcd, or runners for runtime artifacts).
    • Deployed IFS Cloud components (e.g., pods for the OData API, IFS Connect, or the main app namespace) live in Kubernetes namespaces (like ifscloud). You won't see a human-readable "folder structure" here—these are ephemeral container images and configs stored in etcd (Kubernetes' backing store, under /var/snap/microk8s/common/etcd).
    • Any SMB shares for file storage (if enabled) are mounted externally, not in a fixed IFS-specific path.

The /home/ifs directory you checked likely only holds SSH keys, temp installer artifacts, or basic setup scripts from the initial bootstrap (e.g., if you ran main.ps1 -resource 'INIT' or similar). It's not the main storage for the middle tier runtime. Similarly, /etc might have system-level Kubernetes configs (e.g., /etc/kubernetes), but nothing IFS-specific beyond that.

Quick Troubleshooting/Verification on Ubuntu

SSH into the middle tier server as the ubuntu user and run these to inspect:

  1. Check Kubernetes status and pods (confirms middle tier is running):

    text

    microk8s status --wait-ready
    microk8s kubectl get pods -n ifscloud # Replace 'ifscloud' with your namespace if different
  2. View logs for a specific pod (e.g., the main app pod):

    text

    microk8s kubectl logs <pod-name> -n ifscloud
  3. List persistent volumes (any mounted storage):

    text

    microk8s kubectl get pv,pvc -n ifscloud
  4. Explore MicroK8s directories:

    text

    ls -la /snap/microk8s/current/args/  # Core args and configs
    ls -la /var/snap/microk8s/common/ # Includes addons, certs, etcd data

If you're looking for backups or exports (e.g., for troubleshooting), use the mtctl tool from the Management Server to dump the entire namespace into a zip (see IFS docs on "Tips for Managing the Middle Tier").

For full details, refer to the IFS Cloud Technical Documentation on Middle Tier Deployment and Managing the Middle Tier. If this is for a specific release (e.g., 24R1+), paths might vary slightly—double-check your main_config.json on the Management Server for custom overrides.


Hi ​@HVeon - I appreciate the level of effort you put into your response, very informative :)

I appreciate everyone’s input, and will mark this as answered.

Regards,

Randy