golemfactory / dapp-runner

GNU Lesser General Public License v3.0
5 stars 6 forks source link

[research] discuss GAOM boundaries and design the interface #89

Open shadeofblue opened 1 year ago

shadeofblue commented 1 year ago

boundaries being the places where the "golem deploy" tree ends and where references to structures from outside the "golem deploy" model exist

Example 1 - payload

here is the payload definition:

payloads:
  db:
    runtime: "vm"
    params:
      image_hash: "85021afecf51687ecae8bdc21e10f3b11b82d2e3b169ba44e177340c"

in runtime, each payloads entry is resolved to a Payload object, which is a generic container for any Golem payload and it consists mostly of properties and constraints based on which a Demand is constructed

Example 2 - service

nodes:
  db:
    payload: "db"
    init:
      - run:
          args:
            - "/bin/run_rqlite.sh"
    network: "default"

in runtime, each of the nodes children is resolved to a Cluster object which contains (one or more) instance(s) of the service, each of which is an instance of a DappService class (inheriting from Service) ...

questions:

e.g. a nodes entry could be described as having the following read-only structure:

    - service:
        agreement_id: str
        activity_id: str
        provider_id: str
        provider_name: str

should we enable access to DappService's queues through GAOM?

the resultant GAOM:

nodes:
  db:
    payload: "db"
    init:
      - run:
          args:
            - "/bin/run_rqlite.sh"
    network: 
        - default:
             ip:
               - "192.168.0.2"
    agreement_id: str
    activity_id: str
    provider_id: str
    provider_name: str
    network: reference
    ip: ip-address
shadeofblue commented 1 year ago

ok, the current schema is located at https://raw.githubusercontent.com/golemfactory/gaom/v0.0.1/gaom.schema.json?token=GHSAT0AAAAAABYMVESZ5S7QI3GOMGIUZSKSY7MYTCQ

after discussion with @stranger80 we have agreed to proceed with the initial implementation based on this schema and make pull requests against the gaom repo when schema changes need to be adjusted