@factiii/stack 0.1.25 → 0.1.27
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/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +285 -6
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/scan.d.ts.map +1 -1
- package/dist/cli/scan.js +28 -13
- package/dist/cli/scan.js.map +1 -1
- package/dist/constants/config-files.d.ts +6 -0
- package/dist/constants/config-files.d.ts.map +1 -1
- package/dist/constants/config-files.js +16 -1
- package/dist/constants/config-files.js.map +1 -1
- package/dist/plugins/pipelines/factiii/index.d.ts +5 -3
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/index.js +14 -77
- package/dist/plugins/pipelines/factiii/index.js.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts +12 -0
- package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/env-files.js +310 -0
- package/dist/plugins/pipelines/factiii/scanfix/env-files.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.js +70 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js +10 -24
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -1
- package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/utils/workflows.js +5 -20
- package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -1
- package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +56 -0
- package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +35 -96
- package/dist/utils/config-helpers.d.ts +15 -0
- package/dist/utils/config-helpers.d.ts.map +1 -1
- package/dist/utils/config-helpers.js +57 -5
- package/dist/utils/config-helpers.js.map +1 -1
- package/package.json +1 -1
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +0 -115
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +0 -120
- package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +0 -132
- package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +0 -202
- package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +0 -181
- package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +0 -178
- package/dist/plugins/pipelines/factiii/workflows/factiii-pr-check.yml +0 -106
- package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +0 -183
- package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +0 -96
- package/dist/plugins/pipelines/factiii/workflows/stack-cicd-staging.yml +0 -120
- package/dist/plugins/pipelines/factiii/workflows/stack-command.yml +0 -132
- package/dist/plugins/pipelines/factiii/workflows/stack-deploy.yml +0 -202
- package/dist/plugins/pipelines/factiii/workflows/stack-dev-sync.yml +0 -181
- package/dist/plugins/pipelines/factiii/workflows/stack-fix.yml +0 -177
- package/dist/plugins/pipelines/factiii/workflows/stack-pr-check.yml +0 -106
- package/dist/plugins/pipelines/factiii/workflows/stack-scan.yml +0 -182
- package/dist/plugins/pipelines/factiii/workflows/stack-undeploy.yml +0 -96
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
name: Stack Undeploy
|
|
2
|
-
|
|
3
|
-
# Generated by @factiii/stack v{VERSION}
|
|
4
|
-
# Manual workflow to remove deployment from a server
|
|
5
|
-
# Thin workflow - just SSH and call CLI
|
|
6
|
-
|
|
7
|
-
on:
|
|
8
|
-
workflow_dispatch:
|
|
9
|
-
inputs:
|
|
10
|
-
environment:
|
|
11
|
-
description: 'Environment to undeploy'
|
|
12
|
-
required: true
|
|
13
|
-
type: choice
|
|
14
|
-
options:
|
|
15
|
-
- staging
|
|
16
|
-
- prod
|
|
17
|
-
|
|
18
|
-
jobs:
|
|
19
|
-
undeploy:
|
|
20
|
-
runs-on: ubuntu-latest
|
|
21
|
-
steps:
|
|
22
|
-
- name: Checkout code
|
|
23
|
-
uses: actions/checkout@v4
|
|
24
|
-
|
|
25
|
-
- name: Install yq
|
|
26
|
-
run: |
|
|
27
|
-
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
|
|
28
|
-
sudo chmod +x /usr/local/bin/yq
|
|
29
|
-
|
|
30
|
-
- name: Read config
|
|
31
|
-
id: config
|
|
32
|
-
run: |
|
|
33
|
-
CONFIG_FILE="stack.yml"; if [ ! -f "$CONFIG_FILE" ]; then CONFIG_FILE="factiii.yml"; fi
|
|
34
|
-
if [ ! -f "$CONFIG_FILE" ]; then
|
|
35
|
-
echo "❌ stack.yml or factiii.yml not found"
|
|
36
|
-
exit 1
|
|
37
|
-
fi
|
|
38
|
-
|
|
39
|
-
REPO_NAME=$(yq eval '.name' "$CONFIG_FILE")
|
|
40
|
-
|
|
41
|
-
if [ "${{ inputs.environment }}" == "staging" ]; then
|
|
42
|
-
HOST=$(yq eval '.staging.domain // ""' "$CONFIG_FILE")
|
|
43
|
-
SSH_USER=$(yq eval '.staging.ssh_user // "ubuntu"' "$CONFIG_FILE")
|
|
44
|
-
else
|
|
45
|
-
HOST=$(yq eval '.prod.domain // ""' "$CONFIG_FILE")
|
|
46
|
-
SSH_USER=$(yq eval '.prod.ssh_user // "ubuntu"' "$CONFIG_FILE")
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
echo "repo_name=$REPO_NAME" >> $GITHUB_OUTPUT
|
|
50
|
-
echo "host=$HOST" >> $GITHUB_OUTPUT
|
|
51
|
-
echo "ssh_user=$SSH_USER" >> $GITHUB_OUTPUT
|
|
52
|
-
|
|
53
|
-
- name: Setup SSH
|
|
54
|
-
env:
|
|
55
|
-
SSH_KEY: ${{ inputs.environment == 'staging' && secrets.STAGING_SSH || secrets.PROD_SSH }}
|
|
56
|
-
run: |
|
|
57
|
-
if [ -z "$SSH_KEY" ]; then
|
|
58
|
-
echo "❌ Missing ${{ inputs.environment == 'staging' && 'STAGING_SSH' || 'PROD_SSH' }} secret"
|
|
59
|
-
exit 1
|
|
60
|
-
fi
|
|
61
|
-
|
|
62
|
-
mkdir -p ~/.ssh
|
|
63
|
-
echo "$SSH_KEY" > ~/.ssh/deploy_key
|
|
64
|
-
chmod 600 ~/.ssh/deploy_key
|
|
65
|
-
|
|
66
|
-
- name: Undeploy via CLI
|
|
67
|
-
env:
|
|
68
|
-
HOST: ${{ steps.config.outputs.host }}
|
|
69
|
-
USER: ${{ steps.config.outputs.ssh_user }}
|
|
70
|
-
REPO_NAME: ${{ steps.config.outputs.repo_name }}
|
|
71
|
-
ENVIRONMENT: ${{ inputs.environment }}
|
|
72
|
-
run: |
|
|
73
|
-
if [ -z "$HOST" ]; then
|
|
74
|
-
echo "❌ Missing domain in config: $ENVIRONMENT.domain"
|
|
75
|
-
exit 1
|
|
76
|
-
fi
|
|
77
|
-
|
|
78
|
-
echo "🗑️ Undeploying from $ENVIRONMENT ($HOST)..."
|
|
79
|
-
|
|
80
|
-
ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=no "$USER@$HOST" bash -s << EOF
|
|
81
|
-
set -e
|
|
82
|
-
REPO_DIR=~/.factiii/$REPO_NAME
|
|
83
|
-
|
|
84
|
-
if [ -d "\$REPO_DIR" ]; then
|
|
85
|
-
cd \$REPO_DIR
|
|
86
|
-
echo "🚀 Running undeploy..."
|
|
87
|
-
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH" && \
|
|
88
|
-
GITHUB_ACTIONS=true npx stack undeploy --$ENVIRONMENT || true
|
|
89
|
-
else
|
|
90
|
-
echo "⚠️ Repo directory not found, nothing to undeploy"
|
|
91
|
-
fi
|
|
92
|
-
EOF
|
|
93
|
-
|
|
94
|
-
rm -f ~/.ssh/deploy_key
|
|
95
|
-
echo "✅ Undeploy complete!"
|
|
96
|
-
|