01-prepare.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. # Get the directory where this script is located
  3. DATABASE_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
  4. # Load configuration file
  5. source "$DATABASE_SCRIPT_DIR/00-config.sh"
  6. check_dependencies
  7. # Check if KubeBlocks is already installed, install it if it is not.
  8. source "$DATABASE_SCRIPT_DIR/install-kubeblocks.sh"
  9. # Create namespaces
  10. print "Creating namespaces..."
  11. kubectl create namespace $NAMESPACE 2>/dev/null || true
  12. # Install database addons
  13. print "Installing KubeBlocks database addons..."
  14. # Add and update Helm repository
  15. print "Adding and updating KubeBlocks Helm repository..."
  16. helm repo add kubeblocks $HELM_REPO
  17. helm repo update
  18. # Install database addons based on configuration
  19. [ "$ENABLE_POSTGRESQL" = true ] && print "Installing PostgreSQL addon..." && helm upgrade --install kb-addon-postgresql kubeblocks/postgresql --namespace kb-system --version $ADDON_CLUSTER_CHART_VERSION
  20. [ "$ENABLE_REDIS" = true ] && print "Installing Redis addon..." && helm upgrade --install kb-addon-redis kubeblocks/redis --namespace kb-system --version $ADDON_CLUSTER_CHART_VERSION
  21. [ "$ENABLE_ELASTICSEARCH" = true ] && print "Installing Elasticsearch addon..." && helm upgrade --install kb-addon-elasticsearch kubeblocks/elasticsearch --namespace kb-system --version $ADDON_CLUSTER_CHART_VERSION
  22. [ "$ENABLE_QDRANT" = true ] && print "Installing Qdrant addon..." && helm upgrade --install kb-addon-qdrant kubeblocks/qdrant --namespace kb-system --version $ADDON_CLUSTER_CHART_VERSION
  23. [ "$ENABLE_MONGODB" = true ] && print "Installing MongoDB addon..." && helm upgrade --install kb-addon-mongodb kubeblocks/mongodb --namespace kb-system --version $ADDON_CLUSTER_CHART_VERSION
  24. [ "$ENABLE_NEO4J" = true ] && print "Installing Neo4j addon..." && helm upgrade --install kb-addon-neo4j kubeblocks/neo4j --namespace kb-system --version $ADDON_CLUSTER_CHART_VERSION
  25. print_success "KubeBlocks database addons installation completed!"
  26. print "Now you can run 02-install-database.sh to install database clusters"