@catladder/cli 5.0.0 → 5.1.0

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 (115) hide show
  1. package/dist/apps/cli/src/apps/cli/commands/project/doctor/checkGithub.js +3 -3
  2. package/dist/apps/cli/src/apps/cli/commands/project/doctor/checkGithub.js.map +1 -1
  3. package/dist/apps/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js +2 -2
  4. package/dist/apps/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
  5. package/dist/apps/cli/src/apps/cli/commands/project/setup/setupGithub.js +2 -2
  6. package/dist/apps/cli/src/apps/cli/commands/project/setup/setupGithub.js.map +1 -1
  7. package/dist/apps/cli/src/apps/cli/commands/project/setup/setupKubernetes.js +23 -7
  8. package/dist/apps/cli/src/apps/cli/commands/project/setup/setupKubernetes.js.map +1 -1
  9. package/dist/apps/cli/src/commands/index.d.ts +1 -0
  10. package/dist/apps/cli/src/commands/index.js +4 -1
  11. package/dist/apps/cli/src/commands/index.js.map +1 -1
  12. package/dist/apps/cli/src/commands/project/commandConfigSecrets.js +2 -1
  13. package/dist/apps/cli/src/commands/project/commandConfigSecrets.js.map +1 -1
  14. package/dist/apps/cli/src/commands/project/commandMrPin.d.ts +21 -0
  15. package/dist/apps/cli/src/commands/project/commandMrPin.js +119 -0
  16. package/dist/apps/cli/src/commands/project/commandMrPin.js.map +1 -0
  17. package/dist/apps/cli/src/commands/project/commandSecretsSyncGithub.d.ts +1 -42
  18. package/dist/apps/cli/src/commands/project/commandSecretsSyncGithub.js +5 -124
  19. package/dist/apps/cli/src/commands/project/commandSecretsSyncGithub.js.map +1 -1
  20. package/dist/apps/cli/src/commands/project/secrets/commandSecretsPush.js +2 -1
  21. package/dist/apps/cli/src/commands/project/secrets/commandSecretsPush.js.map +1 -1
  22. package/dist/apps/cli/src/commands/project/secrets/commandSecretsSet.js +2 -2
  23. package/dist/apps/cli/src/commands/project/secrets/commandSecretsSet.js.map +1 -1
  24. package/dist/apps/cli/src/commands/project/secrets/document.d.ts +1 -12
  25. package/dist/apps/cli/src/commands/project/secrets/document.js +1 -79
  26. package/dist/apps/cli/src/commands/project/secrets/document.js.map +1 -1
  27. package/dist/apps/cli/src/gcloud/serviceAccounts.js +15 -4
  28. package/dist/apps/cli/src/gcloud/serviceAccounts.js.map +1 -1
  29. package/dist/apps/cli/src/release/changesetsReleaseJob.js +3 -0
  30. package/dist/apps/cli/src/release/changesetsReleaseJob.js.map +1 -1
  31. package/dist/apps/cli/src/release/releaseEntry.d.ts +12 -0
  32. package/dist/apps/cli/src/release/releaseEntry.js +71 -0
  33. package/dist/apps/cli/src/release/releaseEntry.js.map +1 -0
  34. package/dist/apps/cli/src/secrets/github.d.ts +41 -0
  35. package/dist/apps/cli/src/secrets/github.js +127 -0
  36. package/dist/apps/cli/src/secrets/github.js.map +1 -0
  37. package/dist/apps/cli/src/secrets/index.d.ts +2 -0
  38. package/dist/apps/cli/src/secrets/index.js +19 -0
  39. package/dist/apps/cli/src/secrets/index.js.map +1 -0
  40. package/dist/apps/cli/src/secrets/writeSecrets.d.ts +18 -0
  41. package/dist/apps/cli/src/secrets/writeSecrets.js +88 -0
  42. package/dist/apps/cli/src/secrets/writeSecrets.js.map +1 -0
  43. package/dist/apps/cli/src/utils/gitlab.d.ts +10 -0
  44. package/dist/apps/cli/src/utils/gitlab.js +30 -5
  45. package/dist/apps/cli/src/utils/gitlab.js.map +1 -1
  46. package/dist/apps/cli/src/vault/BitwardenVault.d.ts +6 -0
  47. package/dist/apps/cli/src/vault/BitwardenVault.js +11 -1
  48. package/dist/apps/cli/src/vault/BitwardenVault.js.map +1 -1
  49. package/dist/apps/cli/src/vault/GitlabVault.d.ts +2 -2
  50. package/dist/apps/cli/src/vault/GitlabVault.js +3 -2
  51. package/dist/apps/cli/src/vault/GitlabVault.js.map +1 -1
  52. package/dist/apps/cli/src/vault/VaultManager.d.ts +2 -2
  53. package/dist/apps/cli/src/vault/VaultManager.js +2 -2
  54. package/dist/apps/cli/src/vault/VaultManager.js.map +1 -1
  55. package/dist/apps/cli/src/vault/types.d.ts +16 -2
  56. package/dist/bundles/catci/index.js +4 -4
  57. package/dist/bundles/catenv/index.js +115 -13
  58. package/dist/bundles/cli/index.js +749 -431
  59. package/dist/bundles/runner-images/semantic-release/Dockerfile +1 -0
  60. package/dist/bundles/runner-images/semantic-release/scripts/semanticRelease +14 -4
  61. package/dist/bundles/skills/catladder-cli/references/commands.md +13 -0
  62. package/dist/bundles/skills/catladder-deploys/SKILL.md +7 -0
  63. package/dist/bundles/skills/catladder-migrate-ci-backend/SKILL.md +7 -2
  64. package/dist/bundles/skills/catladder-pipelines/SKILL.md +27 -1
  65. package/dist/bundles/skills/catladder-releases/SKILL.md +16 -2
  66. package/dist/bundles/skills/catladder-secrets/SKILL.md +16 -0
  67. package/dist/packages/pipeline/src/autoStop.d.ts +22 -0
  68. package/dist/packages/pipeline/src/autoStop.js +30 -0
  69. package/dist/packages/pipeline/src/autoStop.js.map +1 -0
  70. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js +2 -0
  71. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
  72. package/dist/packages/pipeline/src/backends/gitlab/createGitlabPipeline.d.ts +4 -1
  73. package/dist/packages/pipeline/src/backends/gitlab/createGitlabPipeline.js +21 -1
  74. package/dist/packages/pipeline/src/backends/gitlab/createGitlabPipeline.js.map +1 -1
  75. package/dist/packages/pipeline/src/deploy/base/deploy.js +8 -2
  76. package/dist/packages/pipeline/src/deploy/base/deploy.js.map +1 -1
  77. package/dist/packages/pipeline/src/index.d.ts +1 -0
  78. package/dist/packages/pipeline/src/index.js +1 -0
  79. package/dist/packages/pipeline/src/index.js.map +1 -1
  80. package/dist/packages/pipeline/src/types/config.d.ts +32 -0
  81. package/dist/runner-images/semantic-release/Dockerfile +1 -0
  82. package/dist/runner-images/semantic-release/scripts/semanticRelease +14 -4
  83. package/dist/skills/catladder-cli/references/commands.md +13 -0
  84. package/dist/skills/catladder-deploys/SKILL.md +7 -0
  85. package/dist/skills/catladder-migrate-ci-backend/SKILL.md +7 -2
  86. package/dist/skills/catladder-pipelines/SKILL.md +27 -1
  87. package/dist/skills/catladder-releases/SKILL.md +16 -2
  88. package/dist/skills/catladder-secrets/SKILL.md +16 -0
  89. package/dist/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +1 -1
  91. package/src/apps/cli/commands/project/doctor/checkGithub.ts +1 -1
  92. package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +3 -2
  93. package/src/apps/cli/commands/project/setup/setupGithub.ts +1 -1
  94. package/src/apps/cli/commands/project/setup/setupKubernetes.ts +31 -20
  95. package/src/commands/index.ts +1 -0
  96. package/src/commands/project/commandConfigSecrets.ts +1 -1
  97. package/src/commands/project/commandMrPin.ts +184 -0
  98. package/src/commands/project/commandSecretsSyncGithub.ts +7 -154
  99. package/src/commands/project/secrets/commandSecretsPush.ts +2 -5
  100. package/src/commands/project/secrets/commandSecretsSet.ts +2 -2
  101. package/src/commands/project/secrets/document.ts +2 -127
  102. package/src/gcloud/serviceAccounts.ts +16 -7
  103. package/src/release/__tests__/releaseEntry.test.ts +88 -0
  104. package/src/release/changesetsReleaseJob.ts +3 -0
  105. package/src/release/releaseEntry.ts +86 -0
  106. package/src/secrets/__tests__/writeSecrets.test.ts +147 -0
  107. package/src/secrets/github.ts +157 -0
  108. package/src/secrets/index.ts +2 -0
  109. package/src/secrets/writeSecrets.ts +138 -0
  110. package/src/utils/gitlab.ts +34 -7
  111. package/src/vault/BitwardenVault.ts +10 -1
  112. package/src/vault/GitlabVault.ts +9 -2
  113. package/src/vault/VaultManager.ts +3 -2
  114. package/src/vault/__tests__/BitwardenVault.test.ts +88 -0
  115. package/src/vault/types.ts +17 -1
@@ -52,6 +52,11 @@ workflows the same way (`▶️ catladder deploy`, `⏹️ catladder stop`,
52
52
 
53
53
  ## `method` — how the version is decided
54
54
 
55
+ Whichever method runs, the release ends the same way: a `vX.Y.Z` tag, a
56
+ `CHANGELOG.md` entry, a `chore(release): <version>` commit, and an
57
+ entry on the releases page of the git host (gitlab `/-/releases`,
58
+ github `/releases`) carrying the release notes.
59
+
55
60
  ### `semantic-release` (default)
56
61
  The version is derived automatically from **conventional commit
57
62
  messages** since the last release (`fix:` → patch, `feat:` → minor,
@@ -63,8 +68,10 @@ Developers declare changes intentionally as **`.changeset/*.md` files**
63
68
  (the official changesets format: a bump type + a human-written summary).
64
69
  The release job consumes all pending changesets, takes the highest bump,
65
70
  computes the next version from the last `v*` git tag, writes the
66
- changelog, commits `chore(release): <version>`, and pushes the tag. An
67
- empty `.changeset/` folder means there is nothing to release.
71
+ changelog, commits `chore(release): <version>`, pushes the tag and
72
+ creates the release entry on the git host (gitlab `/-/releases`,
73
+ github `/releases`) with the changelog as its description. An empty
74
+ `.changeset/` folder means there is nothing to release.
68
75
 
69
76
  Add a changeset by creating `.changeset/<name>.md`:
70
77
 
@@ -121,6 +128,13 @@ the `security` commands in the `catladder-cli` reference.
121
128
  MR adding a changeset describing the accumulated work.
122
129
  - Wrong version bump → check commit types (semantic-release) or the bump
123
130
  levels in the changeset files (changesets).
131
+ - Tag pushed but nothing on the releases page → with `changesets` the
132
+ entry is created via the host api after the push and never fails the
133
+ job (the release itself is done); look for the `could not create the
134
+ release entry` warning at the end of the release job log. On gitlab
135
+ it needs `GL_TOKEN` (`catladder project renew-token`). Releases
136
+ tagged before catladder created entries have none — that is not fixed
137
+ retroactively, create them by hand from the tag.
124
138
  - Inspect the job with `yarn catladder project ci job-log` (see the
125
139
  `catladder-cli` skill).
126
140
 
@@ -80,6 +80,22 @@ All of these write to the secrets vault (the source of truth) and
80
80
  automatically mirror to the enabled CI backends — which vault is
81
81
  configured makes no difference to the commands.
82
82
 
83
+ ## Provisioned secrets
84
+
85
+ A few secrets are not typed in by a human but created by
86
+ `yarn catladder project setup`: the gcloud deploy service account key
87
+ (`GCLOUD_DEPLOY_credentialsKey`) and the kubernetes deploy credentials
88
+ (`KUBE_TOKEN`, `KUBE_CA_PEM`, `KUBE_URL`). They travel the same route as
89
+ every other secret — vault first, then the enabled CI backends — but
90
+ they are *hidden*: they never show up in `secrets-list`, in the editor
91
+ or in a pulled document, and they must never be set by hand.
92
+
93
+ Re-running `project setup` **rotates** them (a fresh credential is
94
+ created and the old one revoked). That is also the answer whenever they
95
+ are missing somewhere — after switching `secrets.vault`, for instance:
96
+ a `secrets-pull`/`secrets-push` round trip does not carry hidden keys
97
+ over, so re-run `project setup` to provision them into the new vault.
98
+
83
99
  ## GitHub pipelines
84
100
 
85
101
  GitHub Actions cannot read the vault at runtime; secrets are mirrored