Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dc0ae8eb96 |
@@ -13,7 +13,7 @@ Just drop the binary on a server and start triaging.
|
||||
|
||||
### Option A: Download the Binary
|
||||
|
||||
1. Go to the [Releases](https://epigas.gitea.cloud/RiskRancher/core/releases) tab and download the compiled executable for your OS (Windows/macOS/Linux).
|
||||
1. Go to the [Releases](https://code.riskrancher.com/RiskRancher/core/releases) tab and download the compiled executable for your OS (Windows/macOS/Linux).
|
||||
2. Place the binary in a dedicated directory and execute it.
|
||||
3. Visit `http://localhost:8080` in your browser.
|
||||
|
||||
@@ -22,7 +22,7 @@ Just drop the binary on a server and start triaging.
|
||||
Ensure you have **Go 1.26+** installed (*CGO is required for the native `mattn/go-sqlite3` driver*).
|
||||
|
||||
```bash
|
||||
git clone https://epigas.gitea.cloud/RiskRancher/core
|
||||
git clone https://code.riskrancher.com/RiskRancher/core
|
||||
cd core
|
||||
go build -o rr ./cmd/rr/main.go
|
||||
./rr
|
||||
|
||||
+3
-3
@@ -4,9 +4,9 @@ import (
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/server"
|
||||
"epigas.gitea.cloud/RiskRancher/core/ui"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/server"
|
||||
"code.riskrancher.com/RiskRancher/core/ui"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/auth"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/auth"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module epigas.gitea.cloud/RiskRancher/core
|
||||
module code.riskrancher.com/RiskRancher/core
|
||||
|
||||
go 1.26.0
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
domain2 "epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
domain2 "code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (h *Handler) HandleGetAdapters(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func setupTestAdapters(t *testing.T) (*Handler, *sql.DB) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package adapters
|
||||
|
||||
import (
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
type Handler struct {
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/auth"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/auth"
|
||||
)
|
||||
|
||||
// PasswordResetRequest is the expected JSON payload
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func TestGetGlobalConfig(t *testing.T) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func TestExportSystemState(t *testing.T) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
// Handler encapsulates all Admin and Sheriff HTTP logic
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
// setupTestAdmin returns the clean Admin Handler and the raw DB
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func setupTestAnalytics(t *testing.T) (*Handler, *sql.DB) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package analytics
|
||||
|
||||
import (
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
type Handler struct {
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import (
|
||||
"encoding/base64"
|
||||
"math/rand"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
)
|
||||
|
||||
func setupTestAuth(t *testing.T) (*Handler, *sql.DB) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
// ErrNotFound is a standard error we can use across our handlers
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import (
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
_ "modernc.org/sqlite"
|
||||
)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"database/sql"
|
||||
"testing"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
_ "modernc.org/sqlite" // We need the SQLite driver for the test
|
||||
)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package datastore
|
||||
import (
|
||||
"database/sql"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
type SQLiteStore struct {
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
domain2 "epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
domain2 "code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (s *SQLiteStore) UpdateAppConfig(ctx context.Context, config domain2.AppConfig) error {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
domain2 "epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
domain2 "code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (s *SQLiteStore) GetSheriffAnalytics(ctx context.Context) (domain2.SheriffAnalytics, error) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
domain2 "epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
domain2 "code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (s *SQLiteStore) SaveDraft(ctx context.Context, d domain2.DraftTicket) error {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"database/sql"
|
||||
"time"
|
||||
|
||||
domain2 "epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
domain2 "code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (s *SQLiteStore) IngestTickets(ctx context.Context, tickets []domain2.Ticket) error {
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (s *SQLiteStore) GetTickets(ctx context.Context) ([]domain.Ticket, error) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package ingest
|
||||
|
||||
import (
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
type Handler struct {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (h *Handler) HandleIngest(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -13,8 +13,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func setupTestIngest(t *testing.T) (*Handler, *sql.DB) {
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/auth"
|
||||
domain2 "epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/auth"
|
||||
domain2 "code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func (h *Handler) HandleSaveDraft(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package report
|
||||
|
||||
import (
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
type Handler struct {
|
||||
|
||||
@@ -13,8 +13,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func setupTestReport(t *testing.T) (*Handler, *sql.DB) {
|
||||
|
||||
+2
-2
@@ -3,8 +3,8 @@ package server
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/sla"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/sla"
|
||||
)
|
||||
|
||||
type App struct {
|
||||
|
||||
@@ -3,14 +3,14 @@ package server
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/adapters"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/admin"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/analytics"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/auth"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/ingest"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/report"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/tickets"
|
||||
"epigas.gitea.cloud/RiskRancher/core/ui"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/adapters"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/admin"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/analytics"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/auth"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/ingest"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/report"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/tickets"
|
||||
"code.riskrancher.com/RiskRancher/core/ui"
|
||||
)
|
||||
|
||||
func RegisterRoutes(app *App) {
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
// DefaultSLACalculator implements the SLACalculator interface
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package tickets
|
||||
|
||||
import (
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
// Handler encapsulates all Ticket-related HTTP logic
|
||||
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/datastore"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/datastore"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
func setupTestTickets(t *testing.T) (*Handler, *sql.DB) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
)
|
||||
|
||||
type InlineUpdateRequest struct {
|
||||
|
||||
@@ -13,9 +13,9 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/auth"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/domain"
|
||||
"epigas.gitea.cloud/RiskRancher/core/pkg/report"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/auth"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/domain"
|
||||
"code.riskrancher.com/RiskRancher/core/pkg/report"
|
||||
)
|
||||
|
||||
//go:embed templates/* templates/components/* static/*
|
||||
|
||||
Reference in New Issue
Block a user