Merge pull request #6 from davidallendj/update-refs

Update refs
This commit is contained in:
David Allen 2024-11-03 19:54:39 -07:00 committed by GitHub
commit 19f7803f9a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 64 additions and 65 deletions

View file

@ -14,15 +14,15 @@ builds:
# export GO_VERSION=$(go version | awk '{print $3}') # export GO_VERSION=$(go version | awk '{print $3}')
# export BUILD_USER=$(whoami) # export BUILD_USER=$(whoami)
ldflags: ldflags:
- "-X github.com/OpenCHAMI/magellan/internal/version.GitCommit={{ .Commit }} \ - "-X github.com/davidallendj/magellan/internal/version.GitCommit={{ .Commit }} \
-X github.com/OpenCHAMI/magellan/internal/version.BuildTime={{ .Timestamp }} \ -X github.com/davidallendj/magellan/internal/version.BuildTime={{ .Timestamp }} \
-X github.com/OpenCHAMI/magellan/internal/version.Version={{ .Version }} \ -X github.com/davidallendj/magellan/internal/version.Version={{ .Version }} \
-X github.com/OpenCHAMI/magellan/internal/version.GitBranch={{ .Branch }} \ -X github.com/davidallendj/magellan/internal/version.GitBranch={{ .Branch }} \
-X github.com/OpenCHAMI/magellan/internal/version.GitTag={{ .Tag }} \ -X github.com/davidallendj/magellan/internal/version.GitTag={{ .Tag }} \
-X github.com/OpenCHAMI/magellan/internal/version.GitState={{ .Env.GIT_STATE }} \ -X github.com/davidallendj/magellan/internal/version.GitState={{ .Env.GIT_STATE }} \
-X github.com/OpenCHAMI/magellan/internal/version.BuildHost={{ .Env.BUILD_HOST }} \ -X github.com/davidallendj/magellan/internal/version.BuildHost={{ .Env.BUILD_HOST }} \
-X github.com/OpenCHAMI/magellan/internal/version.GoVersion={{ .Env.GO_VERSION }} \ -X github.com/davidallendj/magellan/internal/version.GoVersion={{ .Env.GO_VERSION }} \
-X github.com/OpenCHAMI/magellan/internal/version.BuildUser={{ .Env.BUILD_USER }} " -X github.com/davidallendj/magellan/internal/version.BuildUser={{ .Env.BUILD_USER }} "
tags: tags:
- version - version
goos: goos:

View file

@ -271,7 +271,7 @@ Tidied up CLI flag names
* Ability to update firmware * Ability to update firmware
* Refactored connection handling for faster scanning * Refactored connection handling for faster scanning
* Updated to reflect home at github.com/OpenCHAMI * Updated to reflect home at github.com/davidallendj
* Updated to reflect ghcr.io as container home * Updated to reflect ghcr.io as container home
## [Unreleased] ## [Unreleased]

View file

@ -100,9 +100,9 @@ diff: ## git diff
.PHONY: docs .PHONY: docs
docs: ## go docs docs: ## go docs
$(call print-target) $(call print-target)
go doc github.com/OpenCHAMI/magellan/cmd go doc github.com/davidallendj/magellan/cmd
go doc github.com/OpenCHAMI/magellan/internal go doc github.com/davidallendj/magellan/internal
go doc github.com/OpenCHAMI/magellan/pkg/crawler go doc github.com/davidallendj/magellan/pkg/crawler
.PHONY: emulator .PHONY: emulator
emulator: emulator:

View file

@ -1,6 +1,6 @@
# OpenCHAMI Magellan # Magellan
The `magellan` CLI tool is a Redfish-based, board management controller (BMC) discovery tool designed to scan networks and is written in Go. The tool collects information from BMC nodes using the provided Redfish RESTful API with [`gofish`](https://github.com/stmcginnis/gofish) and loads the queried data into an [SMD](https://github.com/OpenCHAMI/smd/tree/master) instance. The tool strives to be more flexible by implementing multiple methods of discovery to work for a wider range of systems (WIP) and is capable of using independently of other tools or services. The `magellan` CLI tool is a Redfish-based, board management controller (BMC) discovery tool designed to scan networks and is written in Go. The tool collects information from BMC nodes using the provided Redfish RESTful API with [`gofish`](https://github.com/stmcginnis/gofish) and loads the queried data into an [SMD](https://github.com/davidallendj/smd/tree/master) instance. The tool strives to be more flexible by implementing multiple methods of discovery to work for a wider range of systems (WIP) and is capable of using independently of other tools or services.
**Note: `magellan` v0.1.0 is incompatible with SMD v2.15.3 and earlier.** **Note: `magellan` v0.1.0 is incompatible with SMD v2.15.3 and earlier.**
@ -25,7 +25,7 @@ See the [TODO](#todo) section for a list of soon-ish goals planned.
The `magellan` tool can be built to run on bare metal. Install the required Go tools, clone the repo, and then build the binary in the root directory with the following: The `magellan` tool can be built to run on bare metal. Install the required Go tools, clone the repo, and then build the binary in the root directory with the following:
```bash ```bash
git clone https://github.com/OpenCHAMI/magellan git clone https://github.com/davidallendj/magellan
cd magellan cd magellan
go mod tidy && go build go mod tidy && go build
``` ```
@ -58,10 +58,10 @@ This might take some time to complete initially because of the `go-sqlite3` driv
### Docker ### Docker
The tool can also run using Docker. To build the Docker container, run `docker build -t magellan:testing .` in the project's directory. This is useful if you to run `magellan` on a different system through Docker desktop without having to install and build with Go (or if you can't do so for some reason). [Prebuilt images](https://github.com/OpenCHAMI/magellan/pkgs/container/magellan) are available as well on `ghcr`. Images can be pulled directly from the repository: The tool can also run using Docker. To build the Docker container, run `docker build -t magellan:testing .` in the project's directory. This is useful if you to run `magellan` on a different system through Docker desktop without having to install and build with Go (or if you can't do so for some reason). [Prebuilt images](https://github.com/davidallendj/magellan/pkgs/container/magellan) are available as well on `ghcr`. Images can be pulled directly from the repository:
```bash ```bash
docker pull ghcr.io/openchami/magellan:latest docker pull ghcr.io/davidallendj/magellan:latest
``` ```
See the ["Running with Docker"](#running-with-docker) section below about running with the Docker container. See the ["Running with Docker"](#running-with-docker) section below about running with the Docker container.
@ -195,7 +195,7 @@ watch -n 1 "./magellan update 172.16.0.110 --status --username $USERNAME --passw
### Getting an Access Token (WIP) ### Getting an Access Token (WIP)
The `magellan` tool has a `login` subcommand that works with the [`opaal`](https://github.com/OpenCHAMI/opaal) service to obtain a token needed to access the SMD service. If the SMD instance requires authentication, set the `ACCESS_TOKEN` environment variable to have `magellan` include it in the header for HTTP requests to SMD. The `magellan` tool has a `login` subcommand that works with the [`opaal`](https://github.com/davidallendj/opaal) service to obtain a token needed to access the SMD service. If the SMD instance requires authentication, set the `ACCESS_TOKEN` environment variable to have `magellan` include it in the header for HTTP requests to SMD.
```bash ```bash
# must have a running OPAAL instance # must have a running OPAAL instance
@ -205,7 +205,7 @@ The `magellan` tool has a `login` subcommand that works with the [`opaal`](https
export ACCESS_TOKEN=eyJhbGciOiJIUzI1NiIs... export ACCESS_TOKEN=eyJhbGciOiJIUzI1NiIs...
``` ```
Alternatively, if you are running the OpenCHAMI quickstart in the [deployment recipes](https://github.com/OpenCHAMI/deployment-recipes), you can run the provided script to generate a token and set the environment variable that way. Alternatively, if you are running the OpenCHAMI quickstart in the [deployment recipes](https://github.com/davidallendj/deployment-recipes), you can run the provided script to generate a token and set the environment variable that way.
```bash ```bash
quickstart_dir=path/to/deployment/recipes/quickstart quickstart_dir=path/to/deployment/recipes/quickstart
@ -218,8 +218,7 @@ export ACCESS_TOKEN=$(gen_access_token)
The `magellan` tool can be ran in a Docker container after pulling the latest image: The `magellan` tool can be ran in a Docker container after pulling the latest image:
```bash ```bash
docker pull ghcr.io/openchami/magellan:latest docker pull ghcr.io/davidallendj/magellan:latest
``` ```
Then, run either with the helper script found in `bin/magellan.sh` or the binary in the container: Then, run either with the helper script found in `bin/magellan.sh` or the binary in the container:
@ -250,7 +249,7 @@ In summary, `magellan` needs at minimum the following configured to work on each
## TODO ## TODO
See the [issue list](https://github.com/OpenCHAMI/magellan/issues) for plans for `magellan`. Here is a list of other features left to add, fix, or do (and some ideas!): See the [issue list](https://github.com/davidallendj/magellan/issues) for plans for `magellan`. Here is a list of other features left to add, fix, or do (and some ideas!):
* [X] Confirm loading different components into SMD * [X] Confirm loading different components into SMD
* [X] Add ability to set subnet mask for scanning * [X] Add ability to set subnet mask for scanning

View file

@ -4,11 +4,11 @@ import (
"fmt" "fmt"
"os/user" "os/user"
magellan "github.com/OpenCHAMI/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/cache/sqlite"
urlx "github.com/OpenCHAMI/magellan/internal/url"
"github.com/OpenCHAMI/magellan/pkg/auth"
"github.com/cznic/mathutil" "github.com/cznic/mathutil"
magellan "github.com/davidallendj/magellan/internal"
"github.com/davidallendj/magellan/internal/cache/sqlite"
urlx "github.com/davidallendj/magellan/internal/url"
"github.com/davidallendj/magellan/pkg/auth"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" "github.com/spf13/viper"

View file

@ -5,8 +5,8 @@ import (
"fmt" "fmt"
"log" "log"
urlx "github.com/OpenCHAMI/magellan/internal/url" urlx "github.com/davidallendj/magellan/internal/url"
"github.com/OpenCHAMI/magellan/pkg/crawler" "github.com/davidallendj/magellan/pkg/crawler"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" "github.com/spf13/viper"
) )

View file

@ -6,7 +6,7 @@ import (
"strings" "strings"
"time" "time"
"github.com/OpenCHAMI/magellan/internal/cache/sqlite" "github.com/davidallendj/magellan/internal/cache/sqlite"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"github.com/spf13/cobra" "github.com/spf13/cobra"

View file

@ -6,8 +6,8 @@ import (
"net/http" "net/http"
"os" "os"
magellan "github.com/OpenCHAMI/magellan/internal" magellan "github.com/davidallendj/magellan/internal"
"github.com/OpenCHAMI/magellan/pkg/auth" "github.com/davidallendj/magellan/pkg/auth"
"github.com/lestrrat-go/jwx/jwt" "github.com/lestrrat-go/jwx/jwt"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"github.com/spf13/cobra" "github.com/spf13/cobra"

View file

@ -20,7 +20,7 @@ import (
"os" "os"
"os/user" "os/user"
magellan "github.com/OpenCHAMI/magellan/internal" magellan "github.com/davidallendj/magellan/internal"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" "github.com/spf13/viper"

View file

@ -7,12 +7,12 @@ import (
"os" "os"
"path" "path"
magellan "github.com/OpenCHAMI/magellan/internal" magellan "github.com/davidallendj/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/cache/sqlite" "github.com/davidallendj/magellan/internal/cache/sqlite"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
urlx "github.com/OpenCHAMI/magellan/internal/url"
"github.com/cznic/mathutil" "github.com/cznic/mathutil"
urlx "github.com/davidallendj/magellan/internal/url"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" "github.com/spf13/viper"
) )

View file

@ -4,7 +4,7 @@ import (
"os" "os"
"strings" "strings"
magellan "github.com/OpenCHAMI/magellan/internal" magellan "github.com/davidallendj/magellan/internal"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" "github.com/spf13/viper"

View file

@ -1,7 +1,7 @@
package cmd package cmd
import ( import (
"github.com/OpenCHAMI/magellan/internal/version" "github.com/davidallendj/magellan/internal/version"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )

2
go.mod
View file

@ -1,4 +1,4 @@
module github.com/OpenCHAMI/magellan module github.com/davidallendj/magellan
go 1.21 go 1.21

View file

@ -4,8 +4,8 @@ import (
"fmt" "fmt"
"strings" "strings"
magellan "github.com/OpenCHAMI/magellan/internal" magellan "github.com/davidallendj/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/util" "github.com/davidallendj/magellan/internal/util"
"github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx"
) )

View file

@ -10,13 +10,13 @@ import (
"net/http" "net/http"
"os" "os"
"path" "path"
"strings"
"path/filepath" "path/filepath"
"strings"
"sync" "sync"
"time" "time"
"github.com/OpenCHAMI/magellan/pkg/client" "github.com/davidallendj/magellan/pkg/client"
"github.com/OpenCHAMI/magellan/pkg/crawler" "github.com/davidallendj/magellan/pkg/crawler"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"

View file

@ -3,7 +3,7 @@ package magellan
import ( import (
"fmt" "fmt"
"github.com/OpenCHAMI/magellan/internal/util" "github.com/davidallendj/magellan/internal/util"
"github.com/spf13/viper" "github.com/spf13/viper"
) )

View file

@ -10,8 +10,8 @@ import (
"sync" "sync"
"time" "time"
urlx "github.com/OpenCHAMI/magellan/internal/url" urlx "github.com/davidallendj/magellan/internal/url"
"github.com/OpenCHAMI/magellan/pkg/client" "github.com/davidallendj/magellan/pkg/client"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
) )

View file

@ -6,7 +6,7 @@ import (
"net/http" "net/http"
"net/url" "net/url"
"github.com/OpenCHAMI/magellan/pkg/client" "github.com/davidallendj/magellan/pkg/client"
) )
type UpdateParams struct { type UpdateParams struct {

View file

@ -5,40 +5,40 @@ import (
) )
// GitCommit stores the latest Git commit hash. // GitCommit stores the latest Git commit hash.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.GitCommit=$(git rev-parse HEAD)" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.GitCommit=$(git rev-parse HEAD)"
var GitCommit string var GitCommit string
// BuildTime stores the build timestamp in UTC. // BuildTime stores the build timestamp in UTC.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
var BuildTime string var BuildTime string
// Version indicates the version of the binary, such as a release number or semantic version. // Version indicates the version of the binary, such as a release number or semantic version.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.Version=v1.0.0" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.Version=v1.0.0"
var Version string var Version string
// GitBranch holds the name of the Git branch from which the build was created. // GitBranch holds the name of the Git branch from which the build was created.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.GitBranch=$(git rev-parse --abbrev-ref HEAD)" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.GitBranch=$(git rev-parse --abbrev-ref HEAD)"
var GitBranch string var GitBranch string
// GitTag represents the most recent Git tag at build time, if any. // GitTag represents the most recent Git tag at build time, if any.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.GitTag=$(git describe --tags --abbrev=0)" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.GitTag=$(git describe --tags --abbrev=0)"
var GitTag string var GitTag string
// GitState indicates whether the working directory was "clean" or "dirty" (i.e., with uncommitted changes). // GitState indicates whether the working directory was "clean" or "dirty" (i.e., with uncommitted changes).
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.GitState=$(if git diff-index --quiet HEAD --; then echo 'clean'; else echo 'dirty'; fi)" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.GitState=$(if git diff-index --quiet HEAD --; then echo 'clean'; else echo 'dirty'; fi)"
var GitState string var GitState string
// BuildHost stores the hostname of the machine where the binary was built. // BuildHost stores the hostname of the machine where the binary was built.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.BuildHost=$(hostname)" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.BuildHost=$(hostname)"
var BuildHost string var BuildHost string
// GoVersion captures the Go version used to build the binary. // GoVersion captures the Go version used to build the binary.
// Typically, this can be obtained automatically with runtime.Version(), but you can set it manually. // Typically, this can be obtained automatically with runtime.Version(), but you can set it manually.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.GoVersion=$(go version | awk '{print $3}')" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.GoVersion=$(go version | awk '{print $3}')"
var GoVersion string var GoVersion string
// BuildUser is the username of the person or system that initiated the build process. // BuildUser is the username of the person or system that initiated the build process.
// Set via -ldflags "-X github.com/OpenCHAMI/magellan/internal/version.BuildUser=$(whoami)" // Set via -ldflags "-X github.com/davidallendj/magellan/internal/version.BuildUser=$(whoami)"
var BuildUser string var BuildUser string
// PrintVersionInfo outputs all versioning information for troubleshooting or version checks. // PrintVersionInfo outputs all versioning information for troubleshooting or version checks.

View file

@ -1,7 +1,7 @@
package main package main
import ( import (
"github.com/OpenCHAMI/magellan/cmd" "github.com/davidallendj/magellan/cmd"
) )
func main() { func main() {

View file

@ -1,8 +1,8 @@
package client package client
// See ref for API docs: // See ref for API docs:
// https://github.com/OpenCHAMI/hms-smd/blob/master/docs/examples.adoc // https://github.com/davidallendj/hms-smd/blob/master/docs/examples.adoc
// https://github.com/OpenCHAMI/hms-smd // https://github.com/davidallendj/hms-smd
import ( import (
"fmt" "fmt"
"net/http" "net/http"

View file

@ -22,9 +22,9 @@ import (
"flag" "flag"
magellan "github.com/OpenCHAMI/magellan/internal" magellan "github.com/davidallendj/magellan/internal"
"github.com/OpenCHAMI/magellan/internal/util" "github.com/davidallendj/magellan/internal/util"
"github.com/OpenCHAMI/magellan/pkg/client" "github.com/davidallendj/magellan/pkg/client"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
) )

View file

@ -14,8 +14,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/OpenCHAMI/magellan/pkg/client" "github.com/davidallendj/magellan/pkg/client"
"github.com/OpenCHAMI/magellan/pkg/crawler" "github.com/davidallendj/magellan/pkg/crawler"
) )
var ( var (