Imporve monitoring
This commit is contained in:
@@ -37,6 +37,14 @@ show_help() {
|
||||
$0 prod # Deploy to production
|
||||
$0 --upgrade prod # Upgrade production deployment
|
||||
$0 --remove dev # Remove development deployment"
|
||||
echo ""
|
||||
echo "Docker Hub Authentication:"
|
||||
echo " This script automatically creates a Docker Hub secret for image pulls."
|
||||
echo " Provide credentials via environment variables (recommended):"
|
||||
echo " export DOCKERHUB_USERNAME='your-username'"
|
||||
echo " export DOCKERHUB_PASSWORD='your-personal-access-token'"
|
||||
echo " Or ensure you're logged in with Docker CLI:"
|
||||
echo " docker login"
|
||||
}
|
||||
|
||||
# Parse command line arguments
|
||||
@@ -124,6 +132,82 @@ ensure_namespace() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to create Docker Hub secret for image pulls
|
||||
create_dockerhub_secret() {
|
||||
echo "${BLUE}Setting up Docker Hub image pull secret...${NC}"
|
||||
|
||||
if [[ "$DRY_RUN" == true ]]; then
|
||||
echo " (dry-run) Would create Docker Hub secret in namespace $NAMESPACE"
|
||||
return
|
||||
fi
|
||||
|
||||
# Check if secret already exists
|
||||
if kubectl get secret dockerhub-creds -n "$NAMESPACE" &> /dev/null; then
|
||||
echo "${GREEN}Docker Hub secret already exists in namespace $NAMESPACE.${NC}"
|
||||
return
|
||||
fi
|
||||
|
||||
# Check if Docker Hub credentials are available
|
||||
if [[ -n "$DOCKERHUB_USERNAME" ]] && [[ -n "$DOCKERHUB_PASSWORD" ]]; then
|
||||
echo "${BLUE}Found DOCKERHUB_USERNAME and DOCKERHUB_PASSWORD environment variables${NC}"
|
||||
|
||||
kubectl create secret docker-registry dockerhub-creds \
|
||||
--docker-server=https://index.docker.io/v1/ \
|
||||
--docker-username="$DOCKERHUB_USERNAME" \
|
||||
--docker-password="$DOCKERHUB_PASSWORD" \
|
||||
--docker-email="${DOCKERHUB_EMAIL:-noreply@bakery-ia.local}" \
|
||||
-n "$NAMESPACE"
|
||||
|
||||
echo "${GREEN}Docker Hub secret created successfully.${NC}"
|
||||
|
||||
elif [[ -f "$HOME/.docker/config.json" ]]; then
|
||||
echo "${BLUE}Attempting to use Docker CLI credentials...${NC}"
|
||||
|
||||
# Try to extract credentials from Docker config
|
||||
if grep -q "credsStore" "$HOME/.docker/config.json"; then
|
||||
echo "${YELLOW}Docker is using a credential store. Please set environment variables:${NC}"
|
||||
echo " export DOCKERHUB_USERNAME='your-username'"
|
||||
echo " export DOCKERHUB_PASSWORD='your-password-or-token'"
|
||||
echo "${YELLOW}Continuing without Docker Hub authentication...${NC}"
|
||||
return
|
||||
fi
|
||||
|
||||
# Try to extract from base64 encoded auth
|
||||
AUTH=$(cat "$HOME/.docker/config.json" | jq -r '.auths["https://index.docker.io/v1/"].auth // empty' 2>/dev/null)
|
||||
if [[ -n "$AUTH" ]]; then
|
||||
echo "${GREEN}Found Docker Hub credentials in Docker config${NC}"
|
||||
local DOCKER_USERNAME=$(echo "$AUTH" | base64 -d | cut -d: -f1)
|
||||
local DOCKER_PASSWORD=$(echo "$AUTH" | base64 -d | cut -d: -f2-)
|
||||
|
||||
kubectl create secret docker-registry dockerhub-creds \
|
||||
--docker-server=https://index.docker.io/v1/ \
|
||||
--docker-username="$DOCKER_USERNAME" \
|
||||
--docker-password="$DOCKER_PASSWORD" \
|
||||
--docker-email="${DOCKERHUB_EMAIL:-noreply@bakery-ia.local}" \
|
||||
-n "$NAMESPACE"
|
||||
|
||||
echo "${GREEN}Docker Hub secret created successfully.${NC}"
|
||||
else
|
||||
echo "${YELLOW}Could not find Docker Hub credentials${NC}"
|
||||
echo "${YELLOW}To enable automatic Docker Hub authentication:${NC}"
|
||||
echo " 1. Run 'docker login', OR"
|
||||
echo " 2. Set environment variables:"
|
||||
echo " export DOCKERHUB_USERNAME='your-username'"
|
||||
echo " export DOCKERHUB_PASSWORD='your-password-or-token'"
|
||||
echo "${YELLOW}Continuing without Docker Hub authentication...${NC}"
|
||||
fi
|
||||
else
|
||||
echo "${YELLOW}Docker Hub credentials not found${NC}"
|
||||
echo "${YELLOW}To enable automatic Docker Hub authentication:${NC}"
|
||||
echo " 1. Run 'docker login', OR"
|
||||
echo " 2. Set environment variables:"
|
||||
echo " export DOCKERHUB_USERNAME='your-username'"
|
||||
echo " export DOCKERHUB_PASSWORD='your-password-or-token'"
|
||||
echo "${YELLOW}Continuing without Docker Hub authentication...${NC}"
|
||||
fi
|
||||
echo ""
|
||||
}
|
||||
|
||||
# Function to deploy SigNoz
|
||||
deploy_signoz() {
|
||||
local values_file="infrastructure/helm/signoz-values-$ENVIRONMENT.yaml"
|
||||
@@ -278,12 +362,15 @@ main() {
|
||||
|
||||
# Ensure namespace
|
||||
ensure_namespace
|
||||
|
||||
|
||||
if [[ "$REMOVE" == true ]]; then
|
||||
remove_signoz
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
# Create Docker Hub secret for image pulls
|
||||
create_dockerhub_secret
|
||||
|
||||
# Deploy SigNoz
|
||||
deploy_signoz
|
||||
|
||||
|
||||
Reference in New Issue
Block a user