Skip to content

0.2.0

Compare
Choose a tag to compare
@shadeofblue shadeofblue released this 29 Jun 21:05

Changelog

There are three major pieces of functionality delivered with the 0.2.0 release:

GAOM API

As implemented so far, the Golem Application Object Model API enables external applications (including the dapp-manager) to query the internal state of dapp-runner and the application it's running, including the configured payloads, networks and service instances. It provides information regarding their detailed state, as well as e.g. which specific provider a given component is deployed to.

To enable the API, pass --enable-api flag to the dapp-runner executable. It listens on the localhost's port 8000 by default.

Example GAOM node entry:

nodes:
  db:
    activity:
      id: 78f6a128984746c7bb0f53297acc845a
    agreement:
      id: 5f04d196925ccc2ccfb41c403c5163715fbcda419ad49024a1ca2fa29d4789f0
      provider_id: '0xdcb36cd6f3704879978c1322708f757b0c82d709'
      provider_name: golem2004_0.h
    depends_on: []
    http_proxy: null
    init:
    - cmd: run
      params:
        args:
        - /bin/run_rqlite.sh
    ip: []
    network: default
    network_node:
      ip: 192.168.0.2
      node_id: '0xdcb36cd6f3704879978c1322708f757b0c82d709'
    payload: db
    state: running
    tcp_proxy: null

Additionally, the values of the model can now contain references to GAOM itself, e.g.:

nodes:
  http:
    payload: "http"
    init:
      - run:
          args: ["/bin/bash", "-c", "python app.py --db-address ${nodes.db.network_node.ip}"]

Dynamically generated manifests

There's no longer need to prepare a manifest for apps that connect to external network locations defined within providers' whitelists. In cases like that, a manifest requires no signature and can be generated on the fly.

Example:

payloads:
    backend:
        runtime: "vm/manifest"
        params:
            manifest_generate:
                image_hash: "e3c964343169d0a08b66751bfba89a90ec97544d8752c9a3e4ae0901"
                outbound_urls:
                    - "http://bor.golem.network"

Manifest verification support

On the other hand, when a manifest is indeed provided, dapp-runner will now automatically perform its validation, checking whether it satisfies the schema, whether it's within its validity period and whether its contents are consistent with the provided signature (if used).

Details

Major features

Minor features

Maintenance

Full Changelog: 0.1.2...0.2.0