@factiii/stack 0.1.190 → 0.1.191

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 (62) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +403 -441
  3. package/bin/stack +333 -300
  4. package/dist/cli/dev-sync.js +16 -16
  5. package/dist/cli/secrets.d.ts +6 -1
  6. package/dist/cli/secrets.d.ts.map +1 -1
  7. package/dist/cli/secrets.js +228 -0
  8. package/dist/cli/secrets.js.map +1 -1
  9. package/dist/plugins/addons/auth/index.js +7 -7
  10. package/dist/plugins/addons/dns/index.d.ts +47 -0
  11. package/dist/plugins/addons/dns/index.d.ts.map +1 -0
  12. package/dist/plugins/addons/dns/index.js +104 -0
  13. package/dist/plugins/addons/dns/index.js.map +1 -0
  14. package/dist/plugins/addons/dns/scanfix/dev.d.ts +13 -0
  15. package/dist/plugins/addons/dns/scanfix/dev.d.ts.map +1 -0
  16. package/dist/plugins/addons/dns/scanfix/dev.js +235 -0
  17. package/dist/plugins/addons/dns/scanfix/dev.js.map +1 -0
  18. package/dist/plugins/addons/server-mode/index.d.ts.map +1 -1
  19. package/dist/plugins/addons/server-mode/index.js +6 -0
  20. package/dist/plugins/addons/server-mode/index.js.map +1 -1
  21. package/dist/plugins/addons/server-mode/scanfix/env-marker.d.ts +17 -0
  22. package/dist/plugins/addons/server-mode/scanfix/env-marker.d.ts.map +1 -0
  23. package/dist/plugins/addons/server-mode/scanfix/env-marker.js +195 -0
  24. package/dist/plugins/addons/server-mode/scanfix/env-marker.js.map +1 -0
  25. package/dist/plugins/addons/server-mode/scanfix/tailscale.d.ts +16 -0
  26. package/dist/plugins/addons/server-mode/scanfix/tailscale.d.ts.map +1 -0
  27. package/dist/plugins/addons/server-mode/scanfix/tailscale.js +211 -0
  28. package/dist/plugins/addons/server-mode/scanfix/tailscale.js.map +1 -0
  29. package/dist/plugins/addons/vercel/index.js +9 -9
  30. package/dist/plugins/addons/vercel/scanfix/config.js +10 -10
  31. package/dist/plugins/addons/vercel/scanfix/token.js +15 -15
  32. package/dist/plugins/approved.json +13 -13
  33. package/dist/plugins/index.d.ts.map +1 -1
  34. package/dist/plugins/index.js +8 -0
  35. package/dist/plugins/index.js.map +1 -1
  36. package/dist/plugins/pipelines/aws/index.js +12 -12
  37. package/dist/plugins/pipelines/aws/policies/bootstrap-policy.json +135 -135
  38. package/dist/plugins/pipelines/aws/prod.js +1 -1
  39. package/dist/plugins/pipelines/factiii/prod.d.ts +1 -1
  40. package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -1
  41. package/dist/plugins/pipelines/factiii/prod.js +66 -25
  42. package/dist/plugins/pipelines/factiii/prod.js.map +1 -1
  43. package/dist/plugins/pipelines/factiii/scanfix/start-sh.d.ts.map +1 -1
  44. package/dist/plugins/pipelines/factiii/scanfix/start-sh.js +3 -11
  45. package/dist/plugins/pipelines/factiii/scanfix/start-sh.js.map +1 -1
  46. package/dist/plugins/pipelines/factiii/staging.js +23 -23
  47. package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +75 -75
  48. package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +73 -73
  49. package/dist/plugins/servers/amazon-linux/index.js +16 -16
  50. package/dist/plugins/servers/mac/index.js +12 -12
  51. package/dist/plugins/servers/mac/staging.js +2 -2
  52. package/dist/plugins/servers/ubuntu/index.js +23 -23
  53. package/dist/plugins/servers/windows/index.js +15 -15
  54. package/dist/scripts/generate-all.js +73 -73
  55. package/dist/utils/ansible-vault-secrets.d.ts +8 -0
  56. package/dist/utils/ansible-vault-secrets.d.ts.map +1 -1
  57. package/dist/utils/ansible-vault-secrets.js +54 -0
  58. package/dist/utils/ansible-vault-secrets.js.map +1 -1
  59. package/dist/utils/deployment-report.js +2 -2
  60. package/dist/utils/secret-prompts.js +34 -34
  61. package/dist/utils/template-generator.js +74 -74
  62. package/package.json +100 -100
package/package.json CHANGED
@@ -1,100 +1,100 @@
1
- {
2
- "name": "@factiii/stack",
3
- "version": "0.1.190",
4
- "description": "Infrastructure management package for deploying services to servers",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "bin": {
8
- "stack": "./bin/stack"
9
- },
10
- "files": [
11
- "bin/",
12
- "dist/"
13
- ],
14
- "scripts": {
15
- "build": "tsc && npm run copy-assets",
16
- "build:watch": "tsc --watch",
17
- "clean": "node -e \"const fs=require('fs');if(fs.existsSync('dist'))fs.rmSync('dist',{recursive:true,force:true})\"",
18
- "copy-assets": "node -e \"const fs=require('fs'),p=require('path');fs.cpSync('src/plugins/approved.json','dist/plugins/approved.json');const d='dist/plugins/pipelines/factiii/workflows';fs.mkdirSync(d,{recursive:true});for(const f of fs.readdirSync('src/plugins/pipelines/factiii/workflows').filter(f=>f.endsWith('.yml')))fs.cpSync(p.join('src/plugins/pipelines/factiii/workflows',f),p.join(d,f));const pd='dist/plugins/pipelines/aws/policies';fs.mkdirSync(pd,{recursive:true});for(const f of fs.readdirSync('src/plugins/pipelines/aws/policies').filter(f=>f.endsWith('.json')))fs.cpSync(p.join('src/plugins/pipelines/aws/policies',f),p.join(pd,f))\"",
19
- "prebuild": "npm run clean",
20
- "prepublish-check": "node -e \"const v=require('./package.json').version; if(v.includes('-d')){console.error('❌ Cannot publish dev version:',v); process.exit(1)}\"",
21
- "prepublishOnly": "npm run prepublish-check && npm run build",
22
- "test": "jest",
23
- "test:watch": "jest --watch",
24
- "test:coverage": "jest --coverage",
25
- "typecheck": "tsc --noEmit"
26
- },
27
- "keywords": [
28
- "infrastructure",
29
- "deployment",
30
- "docker",
31
- "nginx"
32
- ],
33
- "author": "",
34
- "license": "MIT",
35
- "repository": {
36
- "type": "git",
37
- "url": "https://github.com/factiii/stack.git"
38
- },
39
- "publishConfig": {
40
- "registry": "https://registry.npmjs.org"
41
- },
42
- "dependencies": {
43
- "@aws-sdk/client-ec2": "^3.750.0",
44
- "@aws-sdk/client-ec2-instance-connect": "^3.1001.0",
45
- "@aws-sdk/client-ecr": "^3.750.0",
46
- "@aws-sdk/client-iam": "^3.750.0",
47
- "@aws-sdk/client-rds": "^3.750.0",
48
- "@aws-sdk/client-route-53": "^3.1001.0",
49
- "@aws-sdk/client-s3": "^3.750.0",
50
- "@aws-sdk/client-ses": "^3.750.0",
51
- "@aws-sdk/client-sts": "^3.750.0",
52
- "@factiii/auth": "latest",
53
- "@factiii/stack": "0.1.117",
54
- "@octokit/rest": "^20.0.2",
55
- "ansible-vault": "^1.3.0",
56
- "commander": "^11.1.0",
57
- "js-yaml": "^4.1.1",
58
- "libsodium-wrappers": "^0.7.11"
59
- },
60
- "devDependencies": {
61
- "@types/jest": "^30.0.0",
62
- "@types/js-yaml": "^4.0.9",
63
- "@types/node": "^25.0.3",
64
- "jest": "^29.7.0",
65
- "ts-jest": "^29.4.6",
66
- "ts-node": "^10.9.2",
67
- "typescript": "^5.9.3"
68
- },
69
- "jest": {
70
- "preset": "ts-jest",
71
- "testEnvironment": "node",
72
- "testMatch": [
73
- "**/test/**/*.test.ts"
74
- ],
75
- "moduleNameMapper": {
76
- "^(\\.{1,2}/.*)\\.js$": "$1"
77
- },
78
- "collectCoverageFrom": [
79
- "src/**/*.ts",
80
- "!**/node_modules/**"
81
- ],
82
- "coverageThreshold": {
83
- "global": {
84
- "branches": 70,
85
- "functions": 70,
86
- "lines": 70,
87
- "statements": 70
88
- }
89
- }
90
- },
91
- "engines": {
92
- "node": ">=18.0.0"
93
- },
94
- "pnpm": {
95
- "overrides": {
96
- "minimatch": ">=10.2.1",
97
- "diff": ">=4.0.4"
98
- }
99
- }
100
- }
1
+ {
2
+ "name": "@factiii/stack",
3
+ "version": "0.1.191",
4
+ "description": "Infrastructure management package for deploying services to servers",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "stack": "./bin/stack"
9
+ },
10
+ "files": [
11
+ "bin/",
12
+ "dist/"
13
+ ],
14
+ "keywords": [
15
+ "infrastructure",
16
+ "deployment",
17
+ "docker",
18
+ "nginx"
19
+ ],
20
+ "author": "",
21
+ "license": "MIT",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "https://github.com/factiii/stack.git"
25
+ },
26
+ "publishConfig": {
27
+ "registry": "https://registry.npmjs.org"
28
+ },
29
+ "dependencies": {
30
+ "@aws-sdk/client-ec2": "^3.750.0",
31
+ "@aws-sdk/client-ec2-instance-connect": "^3.1001.0",
32
+ "@aws-sdk/client-ecr": "^3.750.0",
33
+ "@aws-sdk/client-iam": "^3.750.0",
34
+ "@aws-sdk/client-rds": "^3.750.0",
35
+ "@aws-sdk/client-route-53": "^3.1001.0",
36
+ "@aws-sdk/client-s3": "^3.750.0",
37
+ "@aws-sdk/client-ses": "^3.750.0",
38
+ "@aws-sdk/client-sts": "^3.750.0",
39
+ "@octokit/rest": "^20.0.2",
40
+ "ansible-vault": "^1.3.0",
41
+ "commander": "^11.1.0",
42
+ "js-yaml": "^4.1.1",
43
+ "libsodium-wrappers": "^0.7.11",
44
+ "@factiii/auth": "0.6.1"
45
+ },
46
+ "devDependencies": {
47
+ "@changesets/cli": "^2.30.0",
48
+ "@types/jest": "^30.0.0",
49
+ "@types/js-yaml": "^4.0.9",
50
+ "@types/node": "^25.0.3",
51
+ "jest": "^29.7.0",
52
+ "ts-jest": "^29.4.6",
53
+ "ts-node": "^10.9.2",
54
+ "typescript": "^5.9.3"
55
+ },
56
+ "jest": {
57
+ "preset": "ts-jest",
58
+ "testEnvironment": "node",
59
+ "testMatch": [
60
+ "**/test/**/*.test.ts"
61
+ ],
62
+ "moduleNameMapper": {
63
+ "^(\\.{1,2}/.*)\\.js$": "$1"
64
+ },
65
+ "collectCoverageFrom": [
66
+ "src/**/*.ts",
67
+ "!**/node_modules/**"
68
+ ],
69
+ "coverageThreshold": {
70
+ "global": {
71
+ "branches": 70,
72
+ "functions": 70,
73
+ "lines": 70,
74
+ "statements": 70
75
+ }
76
+ }
77
+ },
78
+ "engines": {
79
+ "node": ">=18.0.0"
80
+ },
81
+ "scripts": {
82
+ "build": "tsc && npm run copy-assets",
83
+ "build:watch": "tsc --watch",
84
+ "clean": "node -e \"const fs=require('fs');if(fs.existsSync('dist'))fs.rmSync('dist',{recursive:true,force:true})\"",
85
+ "copy-assets": "node -e \"const fs=require('fs'),p=require('path');fs.cpSync('src/plugins/approved.json','dist/plugins/approved.json');const d='dist/plugins/pipelines/factiii/workflows';fs.mkdirSync(d,{recursive:true});for(const f of fs.readdirSync('src/plugins/pipelines/factiii/workflows').filter(f=>f.endsWith('.yml')))fs.cpSync(p.join('src/plugins/pipelines/factiii/workflows',f),p.join(d,f));const pd='dist/plugins/pipelines/aws/policies';fs.mkdirSync(pd,{recursive:true});for(const f of fs.readdirSync('src/plugins/pipelines/aws/policies').filter(f=>f.endsWith('.json')))fs.cpSync(p.join('src/plugins/pipelines/aws/policies',f),p.join(pd,f))\"",
86
+ "prebuild": "npm run clean",
87
+ "prepublish-check": "node -e \"const v=require('./package.json').version; if(v.includes('-d')){console.error('❌ Cannot publish dev version:',v); process.exit(1)}\"",
88
+ "test": "jest",
89
+ "test:watch": "jest --watch",
90
+ "test:coverage": "jest --coverage",
91
+ "typecheck": "tsc --noEmit",
92
+ "build:auth": "pnpm --filter @factiii/auth build",
93
+ "build:all": "pnpm --filter @factiii/auth build && pnpm run build",
94
+ "test:auth": "pnpm --filter @factiii/auth test",
95
+ "test:all": "pnpm test && pnpm --filter @factiii/auth test",
96
+ "changeset": "changeset",
97
+ "version-packages": "changeset version",
98
+ "release": "pnpm build:all && changeset publish"
99
+ }
100
+ }