componentized/directory

componentized:services-credential-config

component

Imports

Exports

WIT

package root:component;

world root {
  import componentized:services/types;
  import componentized:services/credential-store;
  import wasi:config/store@0.2.0-draft;

  export wasi:config/store@0.2.0-draft;
}
package componentized:services {
  interface types {
    type service-binding-id = string;

    record credential {
      key: string,
      value: string,
    }

    type error = string;
  }
  interface credential-store {
    use types.{service-binding-id, credential, error};

    fetch: func(binding-id: service-binding-id) -> result<list<credential>, error>;
  }
}


package wasi:config@0.2.0-draft {
  interface store {
    variant error {
      upstream(string),
      io(string),
    }

    get: func(key: string) -> result<option<string>, error>;

    get-all: func() -> result<list<tuple<string, string>>, error>;
  }
}