@ouro.bot/cli 0.1.0-alpha.828 → 0.1.0-alpha.829
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/changelog.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_note": "This changelog is maintained as part of the PR/version-bump workflow. Agent-curated, not auto-generated. Agents read this file directly via read_file to understand what changed between versions.",
|
|
3
3
|
"versions": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.1.0-alpha.829",
|
|
6
|
+
"changes": [
|
|
7
|
+
"Sanctuary authority install: the fenced vault-read restores CAP_DAC_OVERRIDE and copies the credential store into a writable tmpfs, so the root migration can read the resident-owned vault instead of failing with a masked permission error."
|
|
8
|
+
]
|
|
9
|
+
},
|
|
4
10
|
{
|
|
5
11
|
"version": "0.1.0-alpha.828",
|
|
6
12
|
"changes": [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0"?>
|
|
2
2
|
<Container version="2">
|
|
3
3
|
<Name>ouro-butler</Name>
|
|
4
|
-
<Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.
|
|
4
|
+
<Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.829</Repository>
|
|
5
5
|
<Registry>https://github.com/ourostack/ouroboros/pkgs/container/ouroboros-butler</Registry>
|
|
6
6
|
<Network>host</Network>
|
|
7
7
|
<Shell>sh</Shell>
|
|
@@ -732,15 +732,29 @@ class SanctuaryAuthorityRootLifecycle {
|
|
|
732
732
|
}
|
|
733
733
|
}
|
|
734
734
|
#vault(operation, input) {
|
|
735
|
+
// The fenced container runs root with every capability dropped, but the
|
|
736
|
+
// resident credential store is owned by the resident uid (10001), so a bare
|
|
737
|
+
// cap-dropped root cannot even read it (EACCES on agent.json → surfaces as
|
|
738
|
+
// "vault owner unavailable"). CAP_DAC_OVERRIDE is restored — the single
|
|
739
|
+
// capability needed to read the resident's files, nothing broader — and the
|
|
740
|
+
// read-only bitwarden app-data is copied into a writable tmpfs inside the
|
|
741
|
+
// container before the CLI runs, because bitwarden cannot unlock a store it
|
|
742
|
+
// cannot write to. The copy stays inside the container's own tmpfs, so the
|
|
743
|
+
// fence still never writes to resident state. `operation` is one of the four
|
|
744
|
+
// fixed literals validated by the CLI, never external input.
|
|
745
|
+
const cli = "/opt/ouro/dist/heart/daemon/sanctuary-authority-root-lifecycle.js";
|
|
735
746
|
return JSON.parse(this.#docker([
|
|
736
|
-
"run", "--rm", "-i", "--pull=never", "--network", "host", "--user", "0:0", "--read-only",
|
|
737
|
-
"--security-opt=no-new-privileges", "--entrypoint", "/
|
|
747
|
+
"run", "--rm", "-i", "--pull=never", "--network", "host", "--user", "0:0", "--read-only",
|
|
748
|
+
"--cap-drop=ALL", "--cap-add=DAC_OVERRIDE", "--security-opt=no-new-privileges", "--entrypoint", "/bin/sh",
|
|
738
749
|
"--mount", `type=bind,src=${RUNTIME},dst=/home/ouro/.ouro-cli,readonly`,
|
|
750
|
+
"--mount", `type=bind,src=${RUNTIME}/bitwarden,dst=/home/ouro/.bw-src,readonly`,
|
|
739
751
|
"--mount", `type=bind,src=${BUNDLE},dst=/home/ouro/AgentBundles/sanctuary.ouro,readonly`,
|
|
740
752
|
"--tmpfs", "/home/ouro/.ouro-cli/bitwarden:rw,nosuid,nodev,noexec,mode=0700",
|
|
753
|
+
"--tmpfs", "/home/ouro/.config:rw,nosuid,nodev,noexec,mode=0700",
|
|
741
754
|
"--tmpfs", "/tmp:rw,nosuid,nodev,noexec,mode=0700",
|
|
742
755
|
"--env", `OURO_AUTHORITY_REMOVE_INTERLOCK=${this.#request.epochId}`,
|
|
743
|
-
this.#transaction.targetImageId, "
|
|
756
|
+
this.#transaction.targetImageId, "-c",
|
|
757
|
+
`cp -r /home/ouro/.bw-src/. /home/ouro/.ouro-cli/bitwarden/ && exec /usr/local/bin/node ${cli} vault ${operation}`,
|
|
744
758
|
], input === undefined ? undefined : JSON.stringify(input)));
|
|
745
759
|
}
|
|
746
760
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ouro.bot/cli",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.829",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@ouro.bot/cli",
|
|
9
|
-
"version": "0.1.0-alpha.
|
|
9
|
+
"version": "0.1.0-alpha.829",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.78.0",
|
|
12
12
|
"@azure/identity": "^4.13.0",
|