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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deploy-stack",
3
- "version": "0.9.5",
3
+ "version": "0.9.7",
4
4
  "description": "Provision production-ready AWS infrastructure and CI/CD pipelines in seconds.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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**/.terraform/*\n**/*.tfstate\n**/*.tfstate.backup\n**/.terraform.lock.hcl\n**/secret_keys.json\n.env\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
- **/.terraform/*
96
- **/*.tfstate
97
- **/*.tfstate.backup
98
- **/.terraform.lock.hcl
99
- **/secret_keys.json
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.11-slim
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
- RUN apt-get update && apt-get install -y --no-install-recommends gcc libpq-dev && rm -rf /var/lib/apt/lists/*
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 jaraco.context msgpack
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.11-slim
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