@@ -154,12 +154,16 @@ services:
154154 helm repo add dandydeveloper https://dandydeveloper.github.io/charts
155155 helm repo update
156156
157- # Build helm dependencies (skip if redis-ha disabled)
158- helm dependency build /app/manifests || true
157+ # Build helm dependencies
158+ helm dependency build /app/manifests
159159
160- # Deploy simple Redis for CI (much faster than redis-ha)
161- echo "Deploying simple Redis for CI..."
162- kubectl apply -n s3proxy -f - <<REDIS_EOF
160+ # Generate encryption key for testing
161+ ENCRYPT_KEY=$$(openssl rand -base64 32)
162+
163+ # CI uses simple Redis (fast), local uses redis-ha (complete)
164+ if [ "$${CI:-false}" = "true" ]; then
165+ echo "CI detected - deploying simple Redis for speed..."
166+ kubectl apply -n s3proxy -f - <<REDIS_EOF
163167 apiVersion: apps/v1
164168 kind: Deployment
165169 metadata:
@@ -194,31 +198,49 @@ services:
194198 ports:
195199 - port: 6379
196200 REDIS_EOF
197-
198- echo "Waiting for Redis to be ready..."
199- kubectl wait --for=condition=ready pod -l app=redis -n s3proxy --timeout=120s
200-
201- # Generate encryption key for testing
202- ENCRYPT_KEY=$$(openssl rand -base64 32)
203- echo "Installing Helm chart..."
204- helm upgrade --install s3proxy /app/manifests \
205- -n s3proxy \
206- --set image.repository=s3proxy \
207- --set image.pullPolicy=IfNotPresent \
208- --set s3.host="http://minio:9000" \
209- --set secrets.encryptKey="$$ENCRYPT_KEY" \
210- --set secrets.awsAccessKeyId="minioadmin" \
211- --set secrets.awsSecretAccessKey="minioadmin" \
212- --set gateway.enabled=true \
213- --set ingress.enabled=true \
214- --set resources.limits.cpu=500m \
215- --set resources.requests.cpu=500m \
216- --set redis-ha.enabled=false \
217- --set externalRedis.url="redis://redis:6379/0"
201+ kubectl wait --for=condition=ready pod -l app=redis -n s3proxy --timeout=120s
202+
203+ echo "Installing Helm chart (simple Redis)..."
204+ helm upgrade --install s3proxy /app/manifests \
205+ -n s3proxy \
206+ --set image.repository=s3proxy \
207+ --set image.pullPolicy=IfNotPresent \
208+ --set s3.host="http://minio:9000" \
209+ --set secrets.encryptKey="$$ENCRYPT_KEY" \
210+ --set secrets.awsAccessKeyId="minioadmin" \
211+ --set secrets.awsSecretAccessKey="minioadmin" \
212+ --set gateway.enabled=true \
213+ --set ingress.enabled=true \
214+ --set resources.limits.cpu=500m \
215+ --set resources.requests.cpu=500m \
216+ --set redis-ha.enabled=false \
217+ --set externalRedis.url="redis://redis:6379/0"
218+
219+ TIMEOUT=300
220+ else
221+ echo "Local environment - deploying full redis-ha..."
222+ helm upgrade --install s3proxy /app/manifests \
223+ -n s3proxy --wait --timeout 1800s \
224+ --set image.repository=s3proxy \
225+ --set image.pullPolicy=IfNotPresent \
226+ --set s3.host="http://minio:9000" \
227+ --set secrets.encryptKey="$$ENCRYPT_KEY" \
228+ --set secrets.awsAccessKeyId="minioadmin" \
229+ --set secrets.awsSecretAccessKey="minioadmin" \
230+ --set gateway.enabled=true \
231+ --set ingress.enabled=true \
232+ --set resources.limits.cpu=500m \
233+ --set resources.requests.cpu=500m \
234+ --set redis-ha.persistentVolume.enabled=false \
235+ --set redis-ha.hardAntiAffinity=false \
236+ --set redis-ha.affinity=null \
237+ --set redis-ha.haproxy.hardAntiAffinity=false \
238+ --set redis-ha.haproxy.affinity=null
239+
240+ TIMEOUT=60
241+ fi
218242
219243 echo "=== Waiting for s3proxy to be ready ==="
220- # Wait with progress updates every 15s (5 min should be enough without redis-ha)
221- TIMEOUT=300
222244 ELAPSED=0
223245 while [ $$ELAPSED -lt $$TIMEOUT ]; do
224246 echo "--- Status at $${ELAPSED}s ---"
0 commit comments