Fix pre-commit script to properly handle multiple files and resolve ESLint warnings
This commit is contained in:
@@ -52,9 +52,9 @@ load_env() {
|
||||
substitute_template() {
|
||||
local template_file="$1"
|
||||
local output_file="$2"
|
||||
|
||||
|
||||
print_status "Processing template: $template_file"
|
||||
|
||||
|
||||
# Use envsubst to substitute environment variables
|
||||
if command -v envsubst >/dev/null 2>&1; then
|
||||
envsubst < "$template_file" > "$output_file"
|
||||
@@ -62,14 +62,14 @@ substitute_template() {
|
||||
print_error "envsubst not found. Please install gettext package."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
print_success "Generated: $output_file"
|
||||
}
|
||||
|
||||
# Function to apply Kubernetes resources
|
||||
apply_k8s_resource() {
|
||||
local resource_file="$1"
|
||||
|
||||
|
||||
if [[ -f "$resource_file" ]]; then
|
||||
print_status "Applying Kubernetes resource: $resource_file"
|
||||
if kubectl apply -f "$resource_file"; then
|
||||
@@ -94,15 +94,15 @@ validate_env() {
|
||||
"STORAGE_CLASS"
|
||||
"STORAGE_SIZE"
|
||||
)
|
||||
|
||||
|
||||
local missing_vars=()
|
||||
|
||||
|
||||
for var in "${required_vars[@]}"; do
|
||||
if [[ -z "${!var:-}" ]]; then
|
||||
missing_vars+=("$var")
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
if [[ ${#missing_vars[@]} -gt 0 ]]; then
|
||||
print_error "Missing required environment variables:"
|
||||
for var in "${missing_vars[@]}"; do
|
||||
@@ -111,7 +111,7 @@ validate_env() {
|
||||
print_warning "Please update your .env file with these variables."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
print_success "All required environment variables are set"
|
||||
}
|
||||
|
||||
@@ -119,22 +119,22 @@ validate_env() {
|
||||
process_templates() {
|
||||
local temp_dir="/tmp/rxminder-k8s-$$"
|
||||
mkdir -p "$temp_dir"
|
||||
|
||||
|
||||
print_status "Processing Kubernetes templates..."
|
||||
|
||||
|
||||
# Find all template files
|
||||
local template_files=(
|
||||
"$K8S_DIR/couchdb-secret.yaml.template"
|
||||
"$K8S_DIR/ingress.yaml.template"
|
||||
)
|
||||
|
||||
|
||||
# Add any additional template files
|
||||
for template_file in "$K8S_DIR"/*.template; do
|
||||
if [[ -f "$template_file" ]]; then
|
||||
template_files+=("$template_file")
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# Process each template
|
||||
for template_file in "${template_files[@]}"; do
|
||||
if [[ -f "$template_file" ]]; then
|
||||
@@ -144,16 +144,16 @@ process_templates() {
|
||||
substitute_template "$template_file" "$output_file"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
echo "$temp_dir"
|
||||
}
|
||||
|
||||
# Function to deploy resources in correct order
|
||||
deploy_resources() {
|
||||
local resource_dir="$1"
|
||||
|
||||
|
||||
print_status "Deploying Kubernetes resources..."
|
||||
|
||||
|
||||
# Deploy in specific order for dependencies
|
||||
local deployment_order=(
|
||||
"couchdb-secret.yaml"
|
||||
@@ -167,7 +167,7 @@ deploy_resources() {
|
||||
"$K8S_DIR/network-policy.yaml"
|
||||
"$K8S_DIR/hpa.yaml"
|
||||
)
|
||||
|
||||
|
||||
for resource in "${deployment_order[@]}"; do
|
||||
if [[ "$resource" == *.yaml ]]; then
|
||||
# Check if it's a template-generated file
|
||||
@@ -184,11 +184,11 @@ deploy_resources() {
|
||||
# Function to run database seeding job
|
||||
run_db_seed() {
|
||||
print_status "Running database seed job..."
|
||||
|
||||
|
||||
# Apply the db-seed-job (which uses environment variables from secret)
|
||||
if kubectl apply -f "$K8S_DIR/db-seed-job.yaml"; then
|
||||
print_success "Database seed job submitted"
|
||||
|
||||
|
||||
# Wait for job completion
|
||||
print_status "Waiting for database seed job to complete..."
|
||||
if kubectl wait --for=condition=complete --timeout=300s job/db-seed-job; then
|
||||
@@ -207,19 +207,19 @@ run_db_seed() {
|
||||
show_status() {
|
||||
print_status "Deployment Status:"
|
||||
echo
|
||||
|
||||
|
||||
print_status "Pods:"
|
||||
kubectl get pods -l app="${APP_NAME:-rxminder}"
|
||||
echo
|
||||
|
||||
|
||||
print_status "Services:"
|
||||
kubectl get services -l app="${APP_NAME:-rxminder}"
|
||||
echo
|
||||
|
||||
|
||||
print_status "Ingress:"
|
||||
kubectl get ingress
|
||||
echo
|
||||
|
||||
|
||||
if [[ -n "${INGRESS_HOST:-}" ]]; then
|
||||
print_success "Application should be available at: http://${INGRESS_HOST}"
|
||||
fi
|
||||
@@ -235,12 +235,12 @@ cleanup() {
|
||||
# Main deployment function
|
||||
main() {
|
||||
local command="${1:-deploy}"
|
||||
|
||||
|
||||
case "$command" in
|
||||
"deploy"|"apply")
|
||||
print_status "🚀 Starting RxMinder Kubernetes deployment..."
|
||||
echo
|
||||
|
||||
|
||||
# Set default values for required variables
|
||||
export APP_NAME="${APP_NAME:-rxminder}"
|
||||
export DOCKER_IMAGE="${DOCKER_IMAGE:-gitea-http.taildb3494.ts.net/will/meds:latest}"
|
||||
@@ -249,39 +249,39 @@ main() {
|
||||
export INGRESS_HOST="${INGRESS_HOST:-rxminder.local}"
|
||||
export STORAGE_CLASS="${STORAGE_CLASS:-longhorn}"
|
||||
export STORAGE_SIZE="${STORAGE_SIZE:-5Gi}"
|
||||
|
||||
|
||||
load_env
|
||||
validate_env
|
||||
|
||||
|
||||
# Process templates
|
||||
temp_dir=$(process_templates)
|
||||
trap cleanup EXIT
|
||||
|
||||
|
||||
# Deploy resources
|
||||
deploy_resources "$temp_dir"
|
||||
|
||||
|
||||
# Run database seeding
|
||||
run_db_seed
|
||||
|
||||
|
||||
# Show status
|
||||
echo
|
||||
show_status
|
||||
|
||||
|
||||
print_success "🎉 RxMinder deployment completed!"
|
||||
;;
|
||||
|
||||
|
||||
"status")
|
||||
load_env
|
||||
show_status
|
||||
;;
|
||||
|
||||
|
||||
"delete"|"cleanup")
|
||||
print_status "🗑️ Cleaning up RxMinder deployment..."
|
||||
kubectl delete all,pvc,secret,configmap,ingress -l app="${APP_NAME:-rxminder}" || true
|
||||
kubectl delete job db-seed-job || true
|
||||
print_success "Cleanup completed"
|
||||
;;
|
||||
|
||||
|
||||
"help"|"-h"|"--help")
|
||||
echo "RxMinder Kubernetes Deployment Script"
|
||||
echo
|
||||
@@ -302,7 +302,7 @@ main() {
|
||||
echo " STORAGE_CLASS Storage class for PVCs (default: longhorn)"
|
||||
echo " STORAGE_SIZE Storage size for database (default: 5Gi)"
|
||||
;;
|
||||
|
||||
|
||||
*)
|
||||
print_error "Unknown command: $command"
|
||||
echo "Use '$0 help' for usage information"
|
||||
|
||||
Reference in New Issue
Block a user