I’m tinkering with building my own StartOS service and would appreciate some help.
I’ve followed the Service Packaging guide and have successfully built, sideloaded, and run the hello-world-startos demo. (Built in an Ubuntu server VM, run in a StartOS VM.) I’ve also learned a lot from consulting many of the other StartOS service wrapper repos on Github (bitcoind-startos, electrs-startos, etc.).
One thing that isn’t clear to me is how to get the start9/config.yaml file in my service’s filesystem. I replicated some of what the electrs-startos project is doing with a configurator that attempts to obtain the bitcoind RPC username and password and put it in a config file for my project. Right now, I’m just trying to replace “Hello World!” with the block height from getblockchaininfo.
I thought I’d see a start9 directory created in my main volume with a config.yaml file according to what is specified in scripts/procedures/getConfig.ts, but I don’t believe my service even has a start9 directory, let alone the config.yaml file that the configurator is looking for.
For now, here is my scripts/procedures/getConfig.ts file:
import { types as T, compat } from "../deps.ts";
export const getConfig: T.ExpectedExports.getConfig = compat.getConfig({
"dashboard-tor-address": {
"name": "Dashboard Tor Address",
"description": "The Tor address for the dashboard.",
"type": "pointer",
"subtype": "package",
"package-id": "btcdash-simple",
"target": "tor-address",
"interface": "main",
},
username: {
type: "pointer",
name: "RPC Username",
description: "The username for Bitcoin Core's RPC interface",
subtype: "package",
"package-id": "bitcoind",
target: "config",
multi: false,
selector: "$.rpc.username",
},
password: {
type: "pointer",
name: "RPC Password",
description: "The password for Bitcoin Core's RPC interface",
subtype: "package",
"package-id": "bitcoind",
target: "config",
multi: false,
selector: "$.rpc.password",
},
});
Here is part of my manifest.yaml:
config:
get:
type: script
set:
type: script
# . . .
dependencies:
bitcoind:
version: ">=0.21.1.2 <27.0.0"
requirement:
type: required
description: Used for the RPC connection interface.
config:
check:
type: script
auto-configure:
type: script
I appreciate any help with this!