Think about it: A week has 7x24 hours (= 168 hours) and your engineers work 40 hours per week, so in about 128 hours per week, an engineer is not working.
But what if your dev workloads are running 24/7?
You can save over 70% of infrastructure cost by turning dev workloads off when engineers are not working, i.e. every night, when they are on vacation, when they are sick, even when they are in meetings, ...
Loft monitors all user activity (open connections, kubectl commands etc.) and detects when a user is not working for a certain period of time.
If sleep mode is enabled, Loft will purge all containers from the idle namespace and only persist the objects inside the namespace. So, instead of wasting CPU and memory, sleeping namespaces only consume a tiny bit of storage.
Once an engineer starts using a namespace again (e.g. run a kubectl command), Loft automatically restores the state of the namespace and the engineer can keep working.
Loft allows you to define when sleep mode should kick in for a namespace by setting an idle timeout (i.e. period of inactivity after which sleep mode starts). This can be different for each user, for each team or even for individual namespaces.
Loft does not have a database and operates 100% based on the Kubernetes API, so all sleep mode settings are stored as Kubernetes annotations. If you want to change the idle timeout for a single namespace, for example, all you need to do is to set or alter an annotation of the respective namespace.