Minikube & Hyper-V: Fix Start Host Error

Recently, I’ve been struggling with a Minikube issue on Windows 11 with Hyper-V enabled and decided to share a quick note about it. Many people opt for VirtualBox, but I believe Hyper-V is a superior option because it’s a higher-level hypervisor that offers better performance. It’s also readily available on Windows without the need to install additional tools.

However, it’s not without its flaws, and this issue serves as a prime example. I had installed Minikube and kubectl, then started the cluster. After conducting tests and stopping it, I was unable to restart it the following day. Minikube only reported:

Exiting due to GUEST_PROVISION: error provisioning guest: Failed to start host: recreate: creating host: create: creating: exit status 1

There was also recommendation to use minikube delete to fix issue, but it did not work. The problem was in Hyper-V, not in Minikube: cluster was not enable to start because of broken cache. Fortunately solution is very simple:

  1. Use minikube delete to remove leftovers
  2. Use services.msc to disable all Hyper-V services
  3. Navigate to C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines Cache and remove all cache
  4. Restart computer or just re-enable Hyper-V services

After these steps, minikube start will work again and will create cluster for you without issues.

Laravel: Repository Pattern

Laravel and Eloquent offer a straightforward and powerful approach to database interaction, enabling easy data retrieval, saving, updating, and deletion from various points in an application. This simplicity, while beneficial, brings with it a significant challenge: it becomes all too easy to produce code that is tightly coupled and disorganized. This issue is particularly evident when examining the structure of a basic controller, where the convenience of direct database operations can inadvertently lead to a lack of separation of concerns and an increase in code complexity. Fortunately, there is a good solution for that.

Continue reading “Laravel: Repository Pattern”

Leading with Impact: Essential Tips for Team Leaders

I have been leading teams for several years and have learned a great deal during this time. The journey has been challenging at times, but it has offered me a completely different perspective on many aspects of leadership. Today, I cannot categorically state whether I am a good or bad leader; this path is ongoing and continues to unveil new insights. However, I have formed opinions on certain topics and decided to share them with you. I believe these tips can significantly enhance the effectiveness of the team you manage.

I understand that there are various approaches to team leadership: some leaders focus meticulously on details, while others concentrate on the broader picture. Some adhere strictly to rules, while others prefer a more flexible, personable approach. I won’t suggest which method is superior; instead, these tips are intended to serve as a universal guide. So, let’s begin with the importance of listening to others—a skill that many of us find surprisingly challenging to master.

Continue reading “Leading with Impact: Essential Tips for Team Leaders”

Laravel Temporary URLs & MinIO

I really like Laravel as framework, because it simplifies a lot of stuff – instead of focusing on every detail, we can just use a lot of tools and focus more or business logic. Of course, sometimes they are a bit limited, and we need to extend them or even replace, but overall, it is a very solid solution with amazing community support. The problem starts if something is not well documented or even documented in wrong way and in effect, we have some hidden functionalities. Last time I found something like that related to filesystems and MinIO driver, finally decided to write separate blog post about that, because it may help many people.

Continue reading “Laravel Temporary URLs & MinIO”