@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.
Files changed (52) hide show
  1. package/dist/cli/init.d.ts.map +1 -1
  2. package/dist/cli/init.js +285 -6
  3. package/dist/cli/init.js.map +1 -1
  4. package/dist/cli/scan.d.ts.map +1 -1
  5. package/dist/cli/scan.js +28 -13
  6. package/dist/cli/scan.js.map +1 -1
  7. package/dist/constants/config-files.d.ts +6 -0
  8. package/dist/constants/config-files.d.ts.map +1 -1
  9. package/dist/constants/config-files.js +16 -1
  10. package/dist/constants/config-files.js.map +1 -1
  11. package/dist/plugins/pipelines/factiii/index.d.ts +5 -3
  12. package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
  13. package/dist/plugins/pipelines/factiii/index.js +14 -77
  14. package/dist/plugins/pipelines/factiii/index.js.map +1 -1
  15. package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts +12 -0
  16. package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts.map +1 -0
  17. package/dist/plugins/pipelines/factiii/scanfix/env-files.js +310 -0
  18. package/dist/plugins/pipelines/factiii/scanfix/env-files.js.map +1 -0
  19. package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts +7 -0
  20. package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts.map +1 -0
  21. package/dist/plugins/pipelines/factiii/scanfix/local-config.js +70 -0
  22. package/dist/plugins/pipelines/factiii/scanfix/local-config.js.map +1 -0
  23. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -1
  24. package/dist/plugins/pipelines/factiii/scanfix/workflows.js +10 -24
  25. package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -1
  26. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -1
  27. package/dist/plugins/pipelines/factiii/utils/workflows.js +5 -20
  28. package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -1
  29. package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +56 -0
  30. package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +35 -96
  31. package/dist/utils/config-helpers.d.ts +15 -0
  32. package/dist/utils/config-helpers.d.ts.map +1 -1
  33. package/dist/utils/config-helpers.js +57 -5
  34. package/dist/utils/config-helpers.js.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +0 -115
  37. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +0 -120
  38. package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +0 -132
  39. package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +0 -202
  40. package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +0 -181
  41. package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +0 -178
  42. package/dist/plugins/pipelines/factiii/workflows/factiii-pr-check.yml +0 -106
  43. package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +0 -183
  44. package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +0 -96
  45. package/dist/plugins/pipelines/factiii/workflows/stack-cicd-staging.yml +0 -120
  46. package/dist/plugins/pipelines/factiii/workflows/stack-command.yml +0 -132
  47. package/dist/plugins/pipelines/factiii/workflows/stack-deploy.yml +0 -202
  48. package/dist/plugins/pipelines/factiii/workflows/stack-dev-sync.yml +0 -181
  49. package/dist/plugins/pipelines/factiii/workflows/stack-fix.yml +0 -177
  50. package/dist/plugins/pipelines/factiii/workflows/stack-pr-check.yml +0 -106
  51. package/dist/plugins/pipelines/factiii/workflows/stack-scan.yml +0 -182
  52. 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
-