diff --git a/scripts/deploy-database.sh b/scripts/deploy-database.sh index 7b0db38..e2168bf 100644 --- a/scripts/deploy-database.sh +++ b/scripts/deploy-database.sh @@ -13,6 +13,9 @@ NAMESPACE="umbratrans" CLUSTER_NAME="umbratrans-db" CNPG_VERSION="1.24.0" POSTGRES_VERSION="16.4" +REGISTRY="192.168.123.18:3001" +IMAGE_NAME="umbragit/umbradatastore" +IMAGE_TAG="latest" # Colors for output RED='\033[0;31m' @@ -43,6 +46,37 @@ check_prerequisites() { log_success "Prerequisites check passed" } +# Build and push database container image +build_database_image() { + log_info "Building database container image: ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" + + # Check if Docker is available + if ! command -v docker &> /dev/null; then + log_error "docker not found. Please install Docker." + exit 1 + fi + + # Build the image + log_info "Building Docker image..." + docker build -t "${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" \ + -t "${REGISTRY}/${IMAGE_NAME}:${POSTGRES_VERSION}" \ + -f Dockerfile \ + /home/umbra/src/UmbraDatastore + + # Try to push to registry (requires Docker daemon configured for insecure registry) + log_info "Pushing image to registry: ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" + log_warning "Note: Requires Docker daemon configured with 'insecure-registries: [\"192.168.123.18:3001\"]' in /etc/docker/daemon.json" + + if docker push "${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" && \ + docker push "${REGISTRY}/${IMAGE_NAME}:${POSTGRES_VERSION}"; then + log_success "Image pushed successfully" + else + log_warning "Failed to push image to registry. This may be due to Docker daemon not configured for insecure registry." + log_warning "To fix: Add 'insecure-registries: [\"192.168.123.18:3001\"]' to /etc/docker/daemon.json and restart Docker" + log_warning "Then run: docker push ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} && docker push ${REGISTRY}/${IMAGE_NAME}:${POSTGRES_VERSION}" + fi +} + # Install CNPG operator install_cnpg_operator() { log_info "Installing CloudNativePG operator v${CNPG_VERSION}..." @@ -332,6 +366,7 @@ main() { echo check_prerequisites + build_database_image install_cnpg_operator create_namespace create_secrets