|
141 | 141 | load_images_to_kind() {
|
142 | 142 | log_info "Loading Docker images into Kind..."
|
143 | 143 | for service in order catalog search frontend; do
|
| 144 | + # Try building locally first |
144 | 145 | log_info "Building $service service..."
|
145 | 146 | if docker build -t egitangu/$service-service:latest -f app/$service/Dockerfile app/$service; then
|
146 |
| - log_success "Built $service image ${TICK}" |
| 147 | + log_success "Built $service image locally ${TICK}" |
| 148 | + else |
| 149 | + log_warning "Failed to build $service locally, trying DockerHub..." |
| 150 | + # Pull from DockerHub if local build fails |
| 151 | + if docker pull egitangu/$service-service:latest; then |
| 152 | + log_success "Pulled $service image from DockerHub ${TICK}" |
| 153 | + else |
| 154 | + log_error "Failed to get $service image locally or from DockerHub ${CROSS}" |
| 155 | + return 1 |
| 156 | + fi |
| 157 | + fi |
| 158 | + |
| 159 | + # Load into Kind cluster (whether local or pulled) |
| 160 | + if kind load docker-image egitangu/$service-service:latest --name egitangu-local-cluster; then |
| 161 | + log_success "Loaded $service image into cluster ${TICK}" |
147 | 162 |
|
148 |
| - # Load into Kind cluster |
149 |
| - if kind load docker-image egitangu/$service-service:latest --name egitangu-local-cluster; then |
150 |
| - log_success "Loaded $service image into cluster ${TICK}" |
151 |
| - |
152 |
| - # Verify image is available in the cluster |
153 |
| - if crictl -r unix:///var/run/containerd/containerd.sock images | grep "egitangu/$service-service" >/dev/null 2>&1; then |
| 163 | + # Verify image is available |
| 164 | + if crictl -r unix:///var/run/containerd/containerd.sock images | grep "egitangu/$service-service" >/dev/null 2>&1; then |
| 165 | + log_success "Verified $service image in cluster ${TICK}" |
| 166 | + else |
| 167 | + if docker exec egitangu-local-cluster-control-plane crictl images | grep "egitangu/$service-service" >/dev/null 2>&1; then |
154 | 168 | log_success "Verified $service image in cluster ${TICK}"
|
155 | 169 | else
|
156 |
| - # Alternative verification using docker |
157 |
| - if docker exec egitangu-local-cluster-control-plane crictl images | grep "egitangu/$service-service" >/dev/null 2>&1; then |
158 |
| - log_success "Verified $service image in cluster ${TICK}" |
159 |
| - else |
160 |
| - log_warning "Image verification skipped (continuing anyway) ${YELLOW}⚠${NC}" |
161 |
| - fi |
| 170 | + log_warning "Image verification skipped (continuing anyway) ${YELLOW}⚠${NC}" |
162 | 171 | fi
|
163 |
| - else |
164 |
| - log_error "Failed to load $service image ${CROSS}" |
165 |
| - return 1 |
166 | 172 | fi
|
167 | 173 | else
|
168 |
| - log_error "Failed to build $service image ${CROSS}" |
| 174 | + log_error "Failed to load $service image ${CROSS}" |
169 | 175 | return 1
|
170 | 176 | fi
|
171 | 177 | done
|
|
0 commit comments