mirror of
https://github.com/luxfi/lpm.git
synced 2026-10-30 16:20:57 +00:00
Lux Partners Limited is the Isle of Man company. Lux Industries Inc, a Delaware C corporation, is the company these sites belong to, so it is the one they name — in metadata, copyright, and the press items that record who signed. The fund site names Lux Assets Management LLC, which is its own company. Two sentences were rewritten rather than renamed, because a name was doing work a name cannot do. One claimed an Isle of Man domicile the naming entity does not have. The other said a company acts on behalf of another; with one entity left it said a company acts on behalf of itself. The Isle of Man stays everywhere it is a JURISDICTION the product supports — the regulatory package, the jurisdiction guides, the compliance tables. Only this company's own identity changed.
64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/spf13/afero"
|
|
"github.com/spf13/cobra"
|
|
"github.com/spf13/viper"
|
|
|
|
"github.com/luxfi/lpm/workflow"
|
|
)
|
|
|
|
func installURL(fs afero.Fs) *cobra.Command {
|
|
var (
|
|
vmid string
|
|
sha256 string
|
|
)
|
|
|
|
cmd := &cobra.Command{
|
|
Use: "install-url <url>",
|
|
Short: "Install a VM plugin binary from a direct URL",
|
|
Long: `Download and install a pre-compiled VM plugin binary from any URL.
|
|
|
|
The URL should point to a raw executable binary (not an archive).
|
|
|
|
Examples:
|
|
# Install binary with explicit VMID
|
|
lpm install-url https://github.com/luxfi/evm/releases/download/v0.8.35/evm-plugin-linux-amd64 \
|
|
--vmid mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6
|
|
|
|
# Install with SHA256 verification
|
|
lpm install-url https://example.com/myvm-linux-amd64 \
|
|
--vmid rWhpmtaWqaYAPFMUa4gJSXrGATiuGQVje51kkAFag1sQqK3Kn \
|
|
--sha256 abc123...`,
|
|
Args: cobra.ExactArgs(1),
|
|
RunE: func(_ *cobra.Command, args []string) error {
|
|
if vmid == "" {
|
|
return fmt.Errorf("--vmid is required for direct URL installs")
|
|
}
|
|
|
|
pluginDir := viper.GetString(pluginPathKey)
|
|
|
|
wf := workflow.NewInstallURL(workflow.InstallURLConfig{
|
|
URL: args[0],
|
|
VMID: vmid,
|
|
SHA256: sha256,
|
|
PluginDir: pluginDir,
|
|
Fs: fs,
|
|
})
|
|
|
|
return wf.Execute()
|
|
},
|
|
}
|
|
|
|
cmd.Flags().StringVar(&vmid, "vmid", "", "VM ID (required)")
|
|
cmd.Flags().StringVar(&sha256, "sha256", "", "Expected SHA256 checksum (optional)")
|
|
_ = cmd.MarkFlagRequired("vmid")
|
|
|
|
return cmd
|
|
}
|