Skip to content

Commit bcd0401

Browse files
authored
Merge pull request #680 from oasisprotocol/matevz/feature/rofl-machine-id
cmd/rofl/machine: Support provider:machine-id directly
2 parents c91b7ca + 3805464 commit bcd0401

File tree

5 files changed

+308
-249
lines changed

5 files changed

+308
-249
lines changed

cmd/rofl/machine/logs.go

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,25 @@ import (
2020
)
2121

2222
var logsCmd = &cobra.Command{
23-
Use: "logs [<machine-name>]",
23+
Use: "logs [<machine-name> | <provider-address>:<machine-id>]",
2424
Short: "Show logs from the given machine",
2525
Args: cobra.MaximumNArgs(1),
2626
Run: func(_ *cobra.Command, args []string) {
27-
_, deployment, npa := roflCommon.LoadManifestAndSetNPA(&roflCommon.ManifestOptions{
27+
mCfg, err := resolveMachineCfg(args, &roflCommon.ManifestOptions{
2828
NeedAppID: true,
2929
NeedAdmin: false,
3030
})
31-
32-
machine, _, machineID := resolveMachine(args, deployment)
31+
cobra.CheckErr(err)
3332

3433
// Establish connection with the target network.
3534
ctx := context.Background()
36-
conn, err := connection.Connect(ctx, npa.Network)
35+
conn, err := connection.Connect(ctx, mCfg.NPA.Network)
3736
cobra.CheckErr(err)
3837

39-
// Resolve provider address.
40-
providerAddr, _, err := common.ResolveLocalAccountOrAddress(npa.Network, machine.Provider)
41-
if err != nil {
42-
cobra.CheckErr(fmt.Sprintf("Invalid provider address: %s", err))
43-
}
44-
45-
providerDsc, err := conn.Runtime(npa.ParaTime).ROFLMarket.Provider(ctx, client.RoundLatest, *providerAddr)
38+
providerDsc, err := conn.Runtime(mCfg.NPA.ParaTime).ROFLMarket.Provider(ctx, client.RoundLatest, *mCfg.ProviderAddr)
4639
cobra.CheckErr(err)
4740

48-
insDsc, err := conn.Runtime(npa.ParaTime).ROFLMarket.Instance(ctx, client.RoundLatest, *providerAddr, machineID)
41+
insDsc, err := conn.Runtime(mCfg.NPA.ParaTime).ROFLMarket.Instance(ctx, client.RoundLatest, *mCfg.ProviderAddr, mCfg.MachineID)
4942
cobra.CheckErr(err)
5043

5144
schedulerRAKRaw, ok := insDsc.Metadata[scheduler.MetadataKeySchedulerRAK]
@@ -54,31 +47,31 @@ var logsCmd = &cobra.Command{
5447
}
5548
var schedulerRAK ed25519.PublicKey
5649
if err := schedulerRAK.UnmarshalText([]byte(schedulerRAKRaw)); err != nil {
57-
cobra.CheckErr(fmt.Sprintf("Malformed scheduler RAK metadata: %s", err))
50+
cobra.CheckErr(fmt.Errorf("malformed scheduler RAK metadata: %w", err))
5851
}
5952
pk := types.PublicKey{PublicKey: schedulerRAK}
6053

61-
schedulerDsc, err := conn.Runtime(npa.ParaTime).ROFL.AppInstance(ctx, client.RoundLatest, providerDsc.SchedulerApp, pk)
54+
schedulerDsc, err := conn.Runtime(mCfg.NPA.ParaTime).ROFL.AppInstance(ctx, client.RoundLatest, providerDsc.SchedulerApp, pk)
6255
cobra.CheckErr(err)
6356

6457
client, err := scheduler.NewClient(schedulerDsc)
6558
cobra.CheckErr(err)
6659

6760
// TODO: Cache authentication token so we don't need to re-authenticate.
68-
acc := common.LoadAccount(cliConfig.Global(), npa.AccountName)
61+
acc := common.LoadAccount(cliConfig.Global(), mCfg.NPA.AccountName)
6962

7063
sigCtx := &signature.RichContext{
71-
RuntimeID: npa.ParaTime.Namespace(),
72-
ChainContext: npa.Network.ChainContext,
64+
RuntimeID: mCfg.NPA.ParaTime.Namespace(),
65+
ChainContext: mCfg.NPA.Network.ChainContext,
7366
Base: []byte(scheduler.StdAuthContextBase),
7467
}
75-
authRequest, err := scheduler.SignLogin(sigCtx, acc.Signer(), client.Host(), *providerAddr)
68+
authRequest, err := scheduler.SignLogin(sigCtx, acc.Signer(), client.Host(), *mCfg.ProviderAddr)
7669
cobra.CheckErr(err)
7770

7871
err = client.Login(ctx, authRequest)
7972
cobra.CheckErr(err)
8073

81-
logs, err := client.LogsGet(ctx, machineID, time.Time{})
74+
logs, err := client.LogsGet(ctx, mCfg.MachineID, time.Time{})
8275
cobra.CheckErr(err)
8376
for _, line := range logs {
8477
fmt.Println(line)

0 commit comments

Comments
 (0)