gowalk-cicd 1.0.191 → 1.0.192
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.
|
@@ -96,13 +96,14 @@ def update_commands(content, target, owners):
|
|
|
96
96
|
for owner in owners:
|
|
97
97
|
if not re.fullmatch(r'[a-z0-9-]{1,40}', owner):
|
|
98
98
|
raise ValueError('release_owner_invalid')
|
|
99
|
-
pattern = re.compile(r'command="
|
|
99
|
+
pattern = re.compile(r'command="(?P<python>/usr/bin/python3(?: -B)?) /opt/gowalk-cicd-runtime/\d+\.\d+\.\d+'
|
|
100
100
|
r'/backend-action/ssh_gate\.py ' + re.escape(owner) + r'"')
|
|
101
101
|
matches = [index for index, line in enumerate(lines) if pattern.search(line)]
|
|
102
102
|
if len(matches) != 1 or 'restrict' not in lines[matches[0]].split(' ')[0].split(','):
|
|
103
103
|
raise ValueError('release_owner_command_ambiguous')
|
|
104
|
-
|
|
105
|
-
lines[matches[0]] = pattern.sub(lambda
|
|
104
|
+
destination = str(target / 'backend-action/ssh_gate.py') + ' ' + owner + '"'
|
|
105
|
+
lines[matches[0]] = pattern.sub(lambda match: 'command="' + match['python'] + ' ' + destination,
|
|
106
|
+
lines[matches[0]])
|
|
106
107
|
return ''.join(lines)
|
|
107
108
|
|
|
108
109
|
|
package/docs/BACKEND_SSH_GATE.md
CHANGED
|
@@ -96,8 +96,8 @@ Use the published package's `backend-action/install_runtime.py` with its npm arc
|
|
|
96
96
|
For example, after transferring those verified public files to task-owned host scratch:
|
|
97
97
|
|
|
98
98
|
```sh
|
|
99
|
-
python3 install_runtime.py --archive gowalk-cicd-1.0.
|
|
100
|
-
--version 1.0.
|
|
99
|
+
python3 install_runtime.py --archive gowalk-cicd-1.0.192.tgz --integrity "$PACKAGE_INTEGRITY" \
|
|
100
|
+
--version 1.0.192 --owner robot --owner vpnrobot
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
The root-only installer verifies integrity/name/version again, installs only package-owned backend helpers under
|
|
@@ -105,6 +105,7 @@ The root-only installer verifies integrity/name/version again, installs only pac
|
|
|
105
105
|
`/root/.ssh/authorized_keys`. It refuses missing/duplicate owners, nonrestricted entries, untrusted paths and
|
|
106
106
|
changed existing release bytes; it never provisions keys or changes another entry. Exact replay verifies the
|
|
107
107
|
release and leaves keys unchanged. A fixed receipt confirms the version and owners without key contents.
|
|
108
|
+
The established `/usr/bin/python3 -B` spelling is accepted and preserves `-B`; other interpreter flags refuse.
|
|
108
109
|
It changes no app source, runtime profile, container, database, service timer or deployment freeze. Preserve the
|
|
109
110
|
previous release directory; this is ordinary released-helper installation, not app-state recovery.
|
|
110
111
|
Verify a fresh scoped readback through each owner and keep that receipt with the exact npm integrity and release.
|