update: repo/variables-and-secrets/commit-1
Browse files- Dockerfile +15 -0
- app.py +38 -0
- requirements.txt +2 -0
Dockerfile
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
FROM python:3.9
|
3 |
+
RUN pip install -U pip
|
4 |
+
WORKDIR /app
|
5 |
+
COPY . .
|
6 |
+
RUN pip install -r requirements.txt
|
7 |
+
|
8 |
+
ARG AUTHOR_NAME
|
9 |
+
ARG REPO_NAME
|
10 |
+
RUN echo $AUTHOR_NAME > var1.build
|
11 |
+
RUN echo $REPO_NAME > var2.build
|
12 |
+
RUN --mount=type=secret,id=SECRET,mode=0444,required=true echo $(cat /run/secrets/SECRET) > secret.build
|
13 |
+
RUN --mount=type=secret,id=SECRET2,mode=0444,required=true echo $(cat /run/secrets/SECRET2) > secret2.build
|
14 |
+
|
15 |
+
ENTRYPOINT ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
|
app.py
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import fastapi
|
3 |
+
|
4 |
+
|
5 |
+
app = fastapi.FastAPI()
|
6 |
+
|
7 |
+
|
8 |
+
@app.get("/")
|
9 |
+
async def root():
|
10 |
+
check_env()
|
11 |
+
return {"message": "Hello World"}
|
12 |
+
|
13 |
+
|
14 |
+
def check_env():
|
15 |
+
var1_env = os.getenv("AUTHOR_NAME")
|
16 |
+
var2_env = os.getenv("REPO_NAME")
|
17 |
+
secret_env = os.getenv("SECRET")
|
18 |
+
secret_env2 = os.getenv("SECRET2")
|
19 |
+
|
20 |
+
with open("var1.build") as f1:
|
21 |
+
var1_fs = f1.read().rstrip("\n")
|
22 |
+
with open("var2.build") as f2:
|
23 |
+
var2_fs = f2.read().rstrip("\n")
|
24 |
+
with open("secret.build") as fs:
|
25 |
+
secret_fs = fs.read().rstrip("\n")
|
26 |
+
with open("secret2.build") as fs:
|
27 |
+
secret_fs2 = fs.read().rstrip("\n")
|
28 |
+
|
29 |
+
print(f"'{var1_env}', '{var1_fs}'")
|
30 |
+
print(f"'{var2_env}', '{var2_fs}'")
|
31 |
+
print(f"'{secret_env}', '{secret_fs}'")
|
32 |
+
print(f"'{secret_env2}', '{secret_fs2}'")
|
33 |
+
|
34 |
+
if (secret_env != secret_fs) or (secret_env2 != secret_fs2) or (var1_env != var1_fs) or (var2_env != var2_fs):
|
35 |
+
raise Exception("Environment variables and build-time values mismatch!")
|
36 |
+
|
37 |
+
if (secret_env != "s3cr3t") or (secret_env2 != "s3cr3t2") or (var1_env != "hf-user") or (var2_env != "facebook/mms-tts"):
|
38 |
+
raise Exception("Environment have unexpected values!")
|
requirements.txt
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
fastapi==0.99
|
2 |
+
uvicorn==0.22
|