Skip to content

REST-Interface Failing for Moonshine in 0.1.23 #13

@JoelProminic

Description

@JoelProminic

I created a new instance of hcl_domino_standalone_provisioners and did a test with Moonshine for #10, but I found that the calls to the REST-Interface (1.2.0) were failing.

Upload:

# curl -X "POST" "http://restapi.test-standalone.shi.com:8080/file/upload" \
>      -H "Accept: application/json" \
>      -H "Content-Type: multipart/form-data" \
>      -F "file=@jedi-github-temp.zip"
{"error":500,"message":"There was an error","data":null}[

 Caused by: java.io.FileNotFoundException: /opt/restinterface/public/uploads/jedi-github-temp.zip (No such file or directory)

In this case, /opt/restinterface was missing. This path name is out-of-date.

After clearing that, I got this error on /task. I see this error was previously reported in this issue (UPDATED):

# curl -X "POST" "http://restapi.test-standalone.shi.com:8080/task" \
>      -H "Accept: application/json" \
>      -H "Content-Type: application/x-www-form-urlencoded" \
>      --data-urlencode "command=ls -alh" \
>      --data-urlencode "timeout=30"
{"id":2,"startDate":"2025-02-04T21:20:18Z","workingDir":"/opt/restinterface/userfiles","command":"ls -alh","username":null,"errorMessage":null,"timeout":30,"output":null,"taskStatus":"EXECUTING","exitStatus":null}%1~ %# 
# 
# curl "http://restapi.test-standalone.shi.com:8080/task/2"
{"id":2,"startDate":"2025-02-04T21:20:18Z","workingDir":"/opt/restinterface/userfiles","command":"ls -alh","username":null,"errorMessage":"Cannot run program \"bash\" (in directory \"/opt/restinterface/userfiles\"): error=2, No such file or directory","timeout":30,"output":null,"taskStatus":"FAILED","exitStatus":null}%1~ %# 

The configuration looks like this:

$ sudo cat /opt/rest-interface/config/application.yml
grails:
    controllers:
        upload:
            maxFileSize: 104857600
            maxRequestSize: 104857600
restinterface:
    capabilities:
        - upload-database
        - upload-html
        - java-domino-gradle
        - nsfodp
        - import-domino-json
    serverInfo:
        dominoVersion: '14.0.0'
        serverName: test-standalone.shi.com/STARTcloud
        baseURL: https://domino.test-standalone.shi.com

We don't need or want the full authentication configuration that we use for moonshinedev_provisioner_private at the moment - this would require updates to Moonshine. I'm wondering if there is new configuration we should be taking care of for the temporary path, though.

This issue is a low priority, since we are moving towards moonshine.dev instead of Moonshine-IDE for these actions. I don't want these update to interfere with the JeDI integration.

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions