mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-06 07:12:46 +01:00
feat: provide app url (#1087)
This commit is contained in:
@@ -39,6 +39,7 @@ func App(dir string, test bool) (*pocketbase.PocketBase, error) {
|
|||||||
// Register additional commands
|
// Register additional commands
|
||||||
app.RootCmd.AddCommand(fakeDataCmd(app))
|
app.RootCmd.AddCommand(fakeDataCmd(app))
|
||||||
app.RootCmd.AddCommand(setFeatureFlagsCmd(app))
|
app.RootCmd.AddCommand(setFeatureFlagsCmd(app))
|
||||||
|
app.RootCmd.AddCommand(setAppURL(app))
|
||||||
|
|
||||||
if err := app.Bootstrap(); err != nil {
|
if err := app.Bootstrap(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
26
app/flags.go
26
app/flags.go
@@ -96,3 +96,29 @@ func setFeatureFlagsCmd(app core.App) *cobra.Command {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setAppURL(app core.App) *cobra.Command {
|
||||||
|
return &cobra.Command{
|
||||||
|
Use: "set-app-url",
|
||||||
|
Run: func(_ *cobra.Command, args []string) {
|
||||||
|
if len(args) != 1 {
|
||||||
|
app.Logger().Error("missing app url")
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
settings, err := app.Settings().Clone()
|
||||||
|
if err != nil {
|
||||||
|
app.Logger().Error(err.Error())
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
settings.Meta.AppUrl = args[0]
|
||||||
|
|
||||||
|
if err := app.Dao().SaveSettings(settings); err != nil {
|
||||||
|
app.Logger().Error(err.Error())
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ event = json.loads(sys.argv[1])
|
|||||||
body = json.loads(event["body"])
|
body = json.loads(event["body"])
|
||||||
|
|
||||||
# Connect to the PocketBase server
|
# Connect to the PocketBase server
|
||||||
client = PocketBase('http://127.0.0.1:8090')
|
client = PocketBase(os.environ["CATALYST_APP_URL"])
|
||||||
client.auth_store.save(token=os.environ["CATALYST_TOKEN"])
|
client.auth_store.save(token=os.environ["CATALYST_TOKEN"])
|
||||||
|
|
||||||
# Create a new ticket
|
# Create a new ticket
|
||||||
@@ -281,7 +281,7 @@ from pocketbase import PocketBase
|
|||||||
ticket = json.loads(sys.argv[1])
|
ticket = json.loads(sys.argv[1])
|
||||||
|
|
||||||
# Connect to the PocketBase server
|
# Connect to the PocketBase server
|
||||||
client = PocketBase('http://127.0.0.1:8090')
|
client = PocketBase(os.environ["CATALYST_APP_URL"])
|
||||||
client.auth_store.save(token=os.environ["CATALYST_TOKEN"])
|
client.auth_store.save(token=os.environ["CATALYST_TOKEN"])
|
||||||
|
|
||||||
# Get a random user
|
# Get a random user
|
||||||
|
|||||||
@@ -28,7 +28,10 @@ func Run(ctx context.Context, app core.App, actionName, actionData, payload stri
|
|||||||
return nil, fmt.Errorf("failed to get system token: %w", err)
|
return nil, fmt.Errorf("failed to get system token: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
a.SetToken(token)
|
a.SetEnv([]string{
|
||||||
|
"CATALYST_APP_URL=" + app.Settings().Meta.AppUrl,
|
||||||
|
"CATALYST_TOKEN=" + token,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
return action.Run(ctx, payload)
|
return action.Run(ctx, payload)
|
||||||
@@ -39,7 +42,7 @@ type action interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type authenticatedAction interface {
|
type authenticatedAction interface {
|
||||||
SetToken(token string)
|
SetEnv(env []string)
|
||||||
}
|
}
|
||||||
|
|
||||||
func decode(actionName, actionData string) (action, error) {
|
func decode(actionName, actionData string) (action, error) {
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ type Python struct {
|
|||||||
Requirements string `json:"requirements"`
|
Requirements string `json:"requirements"`
|
||||||
Script string `json:"script"`
|
Script string `json:"script"`
|
||||||
|
|
||||||
token string
|
env []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Python) SetToken(token string) {
|
func (a *Python) SetEnv(env []string) {
|
||||||
a.token = token
|
a.env = env
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Python) Run(ctx context.Context, payload string) ([]byte, error) {
|
func (a *Python) Run(ctx context.Context, payload string) ([]byte, error) {
|
||||||
@@ -101,10 +101,7 @@ func (a *Python) pythonRunScript(ctx context.Context, tempDir, payload string) (
|
|||||||
|
|
||||||
cmd := exec.CommandContext(ctx, pythonPath, scriptPath, payload)
|
cmd := exec.CommandContext(ctx, pythonPath, scriptPath, payload)
|
||||||
|
|
||||||
cmd.Env = []string{}
|
cmd.Env = a.env
|
||||||
if a.token != "" {
|
|
||||||
cmd.Env = append(cmd.Env, "CATALYST_TOKEN="+a.token)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmd.Output()
|
return cmd.Output()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user