@@ -4,7 +4,7 @@ README_URL="https://github.com/oracle-quickstart/db-endpoint-latency-testing-amm
4
4
5
5
set -e
6
6
7
- echo " 🔧 [1/4 ] Creating Python virtual environment (.venv)..."
7
+ echo " 🔧 [1/5 ] Creating Python virtual environment (.venv)..."
8
8
if python3 -m venv .venv; then
9
9
echo " ✅ Virtual environment created."
10
10
else
13
13
exit 1
14
14
fi
15
15
16
- echo " 🔧 [2/4 ] Activating virtual environment..."
16
+ echo " 🔧 [2/5 ] Activating virtual environment..."
17
17
# shellcheck source=/dev/null
18
18
if source .venv/bin/activate 2> /dev/null; then
19
19
echo " ✅ Virtual environment activated."
23
23
exit 1
24
24
fi
25
25
26
- echo " 🔧 [3/4 ] Installing requirements from requirements.txt..."
26
+ echo " 🔧 [3/5 ] Installing requirements from requirements.txt..."
27
27
if pip install --upgrade pip > /dev/null 2>&1 && pip install -r requirements.txt; then
28
28
echo " ✅ Dependencies installed."
29
29
else
32
32
exit 1
33
33
fi
34
34
35
- echo " 🚦 [4/4] Launching app with uvicorn (running at http://localhost:8000)..."
36
- if uvicorn app.main:app --host 0.0.0.0 --port 8000
37
- then
38
- echo " ✅ App launched."
35
+ echo " � [4/5] Generating self-signed SSL certificate if not present..."
36
+ SSL_DIR=" ssl"
37
+ KEY_FILE=" $SSL_DIR /key.pem"
38
+ CERT_FILE=" $SSL_DIR /cert.pem"
39
+
40
+ if ! command -v openssl & > /dev/null; then
41
+ echo " ❌ OpenSSL is required for SSL certificate generation but is not installed."
42
+ echo " Refer to manual setup: $README_URL "
43
+ exit 1
44
+ fi
45
+
46
+ mkdir -p " $SSL_DIR "
47
+ if [[ -f " $KEY_FILE " && -f " $CERT_FILE " ]]; then
48
+ echo " ✅ SSL certificate and key found."
49
+ else
50
+ echo " Generating self-signed cert/key. Expect prompts for certificate info."
51
+ openssl req -x509 -nodes -days 825 -newkey rsa:2048 \
52
+ -keyout " $KEY_FILE " -out " $CERT_FILE " \
53
+ -subj " /C=US/ST=Self/L=Self/O=Self/CN=localhost"
54
+ if [[ $? -eq 0 ]]; then
55
+ echo " ✅ SSL certificate generated."
56
+ else
57
+ echo " ❌ Failed to generate SSL certificate."
58
+ echo " Refer to manual setup: $README_URL "
59
+ exit 1
60
+ fi
61
+ fi
62
+
63
+ echo " 🚦 [5/5] Launching app with uvicorn (https://localhost:8000, self-signed SSL)..."
64
+ if uvicorn app.main:app --host 0.0.0.0 --port 8000 --ssl-keyfile " $KEY_FILE " --ssl-certfile " $CERT_FILE " ; then
65
+ echo " ✅ App launched with HTTPS."
39
66
else
40
67
echo " ❌ Failed to launch the app. Please check above for errors."
41
68
echo " Refer to manual setup: $README_URL "
0 commit comments