deploy-stack 0.9.5 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/src/utils/generator.js
CHANGED
|
@@ -65,7 +65,7 @@ export async function generateTemplates(targetDir, config) {
|
|
|
65
65
|
} else {
|
|
66
66
|
const existingGitignore = await fs.readFile(targetGitignore, 'utf-8');
|
|
67
67
|
if (!existingGitignore.includes('terraform/.terraform/')) {
|
|
68
|
-
const appendIgnore = '\n# Added by deploy-stack (Terraform)\n
|
|
68
|
+
const appendIgnore = '\n# Added by deploy-stack (Terraform)\n.terraform/*\n*.tfstate\n*.tfstate.backup\n.terraform.lock.hcl\nsecret_keys.json\n.env\n';
|
|
69
69
|
await fs.appendFile(targetGitignore, appendIgnore);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -77,6 +77,9 @@ export async function generateTemplates(targetDir, config) {
|
|
|
77
77
|
.git/
|
|
78
78
|
.github/
|
|
79
79
|
terraform/
|
|
80
|
+
**/.terraform/
|
|
81
|
+
**/.terraform.*
|
|
82
|
+
**/*.tfstate*
|
|
80
83
|
.env
|
|
81
84
|
README.md
|
|
82
85
|
node_modules/
|
|
@@ -92,11 +95,11 @@ __pycache__/
|
|
|
92
95
|
function getGitignoreContent(framework) {
|
|
93
96
|
const baseIgnore = `
|
|
94
97
|
# Infrastructure (deploy-stack)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
.terraform/*
|
|
99
|
+
*.tfstate
|
|
100
|
+
*.tfstate.backup
|
|
101
|
+
.terraform.lock.hcl
|
|
102
|
+
secret_keys.json
|
|
100
103
|
.env
|
|
101
104
|
|
|
102
105
|
# OS
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
FROM python:3.
|
|
1
|
+
FROM python:3.12-slim
|
|
2
|
+
|
|
3
|
+
# Prevent Python from writing .pyc files and buffer stdout for cleaner logs
|
|
4
|
+
ENV PYTHONDONTWRITEBYTECODE=1
|
|
5
|
+
ENV PYTHONUNBUFFERED=1
|
|
6
|
+
|
|
2
7
|
WORKDIR /app
|
|
3
8
|
|
|
4
|
-
|
|
9
|
+
# Upgrade Debian OS packages to patch system-level CVEs (like python3-setuptools)
|
|
10
|
+
RUN apt-get update && apt-get upgrade -y && \
|
|
11
|
+
apt-get install -y --no-install-recommends gcc libpq-dev && \
|
|
12
|
+
rm -rf /var/lib/apt/lists/*
|
|
5
13
|
|
|
6
14
|
# Create unprivileged user
|
|
7
15
|
RUN groupadd -g 1001 appgroup && \
|
|
@@ -10,7 +18,7 @@ RUN groupadd -g 1001 appgroup && \
|
|
|
10
18
|
COPY requirements.txt .
|
|
11
19
|
|
|
12
20
|
# Patch core python packaging tools to resolve CVEs
|
|
13
|
-
RUN pip install --upgrade pip setuptools wheel
|
|
21
|
+
RUN pip install --upgrade pip setuptools wheel
|
|
14
22
|
RUN pip install --no-cache-dir -r requirements.txt gunicorn
|
|
15
23
|
|
|
16
24
|
# Copy code with explicit ownership
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
FROM python:3.
|
|
1
|
+
FROM python:3.12-slim
|
|
2
2
|
|
|
3
3
|
# Prevent Python from writing .pyc files and buffer stdout for cleaner logs
|
|
4
4
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
@@ -6,11 +6,20 @@ ENV PYTHONUNBUFFERED=1
|
|
|
6
6
|
|
|
7
7
|
WORKDIR /app
|
|
8
8
|
|
|
9
|
+
# Upgrade Debian OS packages to patch system-level CVEs (like python3-setuptools)
|
|
10
|
+
RUN apt-get update && apt-get upgrade -y && \
|
|
11
|
+
apt-get install -y --no-install-recommends gcc libpq-dev && \
|
|
12
|
+
rm -rf /var/lib/apt/lists/*
|
|
13
|
+
|
|
9
14
|
# Create a non-root user for security compliance
|
|
10
15
|
RUN adduser --disabled-password --gecos '' appuser
|
|
11
16
|
|
|
12
|
-
# Install dependencies without caching to keep the image size small
|
|
13
17
|
COPY requirements.txt .
|
|
18
|
+
|
|
19
|
+
# Upgrade core pip tools to resolve base image CVEs
|
|
20
|
+
RUN pip install --upgrade pip setuptools wheel
|
|
21
|
+
|
|
22
|
+
# Install dependencies without caching to keep the image size small
|
|
14
23
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
15
24
|
|
|
16
25
|
# Copy with ownership
|