Goket (Golang Keyboard Event Tree) is a proof-of-concept code for using keyboard events trees for performing operations.

Goket

Goket (Golang Keyboard Event Tree) is a proof-of-concept code for using keyboard events trees for performing operations.

Its main goal is to allow using one or more keyboards as inputs for events and then translating one or more keypresses into actions.

This is mainly meant in IoT and DYI setups where a Linux-based device such as a Raspberry Pi along with a keyboard is used as a remote control for a device.

I am using it with multiple wireless numeric keyboards with USB receivers. I find it more convenient and easier to use than a smartphone with an application.

Installation

Goket can be installed from the repository - such as:

go install github.com/wojciechka/goket/cmd/goket

I'll also start providing pre-built binaries soon.

Usage

Goket is started by running the goket command, optiionally providing -config, -timeout and -devices arguments:

goket -config ./path/to/config.yml -devices "/dev/input/event0,/dev/input/event1,..." -timeout 2.0

By default the configuration is read from /etc/goket.json and all input devices are read if the list is not specified. The default timeout is 2 seconds.

Where

Configuration

The configuration is a JSON file that contains a tree of key presses that should be processed - such as:

{
  "keys": {
    "KEY_BACKSPACE": {
      "action": "http://local-server/control/all-lights/off"
    },
    "KEY_KP1": {
      "action": "http://local-server/control/main-light/toggle",
      "children": {
        "KEY_KPPLUS": {
          "action": "http://local-server/control/main-light/on"
        },
        "KEY_KPMINUS": {
          "action": "http://local-server/control/main-light/off"
        }
      }
    }
  }
}

The example above will suppor tthe following keypresses:

  • pressing backspace key will cause the tool to invoke http://local-server/control/all-lights/off URL
  • pressing keypad 1 without additional keys will cause the tool to invoke http://local-server/control/main-light/toggle
  • pressing keypad 1, followed by keypad + without additional keys will cause the tool to invoke http://local-server/control/main-light/on
  • pressing keypad 1, followed by keypad - without additional keys will cause the tool to invoke http://local-server/control/main-light/off

This allows defining single and multiple key combinations and mixing them.

The value for -timeout is the time after which goket will run actions for commands that have children defined, but none of the keys for child actions were pressed.

Owner
Similar Resources

UDP output for beats to send events over UDP.

beats-udp-output How To Use Clone this project to elastic/beats/libbeat/output/ Modify elastic/beats/libbeat/publisher/includes/includes.go : // add i

Dec 11, 2021

gNXI Tools - gRPC Network Management/Operations Interface Tools

gNxI Tools gNMI - gRPC Network Management Interface gNOI - gRPC Network Operations Interface A collection of tools for Network Management that use the

Dec 15, 2022

Bell is the simplest event system written in Go (Golang) which is based on the execution of handlers independent of the main channel.

Bell Bell is the simplest event system written in Go (Golang) which is based on the execution of handlers independent of the main channel. Written in

Nov 17, 2022

HTTP based Tree-shaped Peer2Peer blob transfer proxy, distributing images or blob data.

HTTP based Tree-shaped Peer2Peer blob transfer proxy, distributing images or blob data.

DadiP2P DadiP2P is an accelerator that uses P2P protocol to speed up HTTP file download, usually use for docker image layer download. The key features

Nov 24, 2022

Scan your project tree for tag comments.

TagSpot TagSpot is a small programm that scans a project tree for tag comments like TODO or FIXME (full list of supported tags). Usage From the comman

Jan 14, 2022

πŸš€ gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet ζ˜―δΈ€δΈͺι«˜ζ€§θƒ½γ€θ½»ι‡ηΊ§γ€ιžι˜»ε‘žηš„δΊ‹δ»Άι©±εŠ¨ Go η½‘η»œζ‘†ζžΆγ€‚

πŸš€ gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet ζ˜―δΈ€δΈͺι«˜ζ€§θƒ½γ€θ½»ι‡ηΊ§γ€ιžι˜»ε‘žηš„δΊ‹δ»Άι©±εŠ¨ Go η½‘η»œζ‘†ζžΆγ€‚

English | πŸ‡¨πŸ‡³ δΈ­ζ–‡ πŸ“– Introduction gnet is an event-driven networking framework that is fast and lightweight. It makes direct epoll and kqueue syscalls

Jan 2, 2023

A pluggable backend API that enforces the Event Sourcing Pattern for persisting & broadcasting application state changes

A pluggable backend API that enforces the Event Sourcing Pattern for persisting & broadcasting application state changes

A pluggable "Application State Gateway" that enforces the Event Sourcing Pattern for securely persisting & broadcasting application state changes

Nov 1, 2022

Fast event-loop networking for Go

Fast event-loop networking for Go

evio is an event loop networking framework that is fast and small. It makes direct epoll and kqueue syscalls rather than using the standard Go net pac

Dec 31, 2022

High-performance, non-blocking, event-driven, easy-to-use networking framework written in Go, support tls/http1.x/websocket.

High-performance, non-blocking, event-driven, easy-to-use networking framework written in Go, support tls/http1.x/websocket.

Jan 8, 2023
Comments
  • feat(ci): upload artifacts during attestation

    feat(ci): upload artifacts during attestation

    This PR adds some code that runs chainloop att add to upload the generated binaries

    The result of a test can be seen here

    You might notice that the attestation result now contains a material table with all the binaries in it.

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Initialized At    β”‚ 04 Jan 23 20:29 UTC                                        β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ Workflow          β”‚ 3da0b2a9-f56b-4e7d-bf41-6f80b2c92faf                       β”‚
    β”‚ Name              β”‚ release                                                    β”‚
    β”‚ Team              β”‚ goket-app maintainers                                      β”‚
    β”‚ Project           β”‚ goket-app                                                  β”‚
    β”‚ Contract Revision β”‚ 3                                                          β”‚
    β”‚ Runner Type       β”‚ GITHUB_ACTION                                              β”‚
    β”‚ Runner URL        β”‚ https://github.com/goket-app/goket/actions/runs/3841373075 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Materials                                                                                                                                 β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ NAME              β”‚ TYPE     β”‚ SET β”‚ REQUIRED β”‚ IS OUTPUT β”‚ VALUE                                                                         β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ goket-linux-amd64 β”‚ ARTIFACT β”‚ Yes β”‚ Yes      β”‚ x         β”‚ goket@sha256:1dab2d24af5de96959dcaa4f69df43319610cb910e106d8fa4fed6b1abdb2295 β”‚
    β”‚ goket-linux-arm   β”‚ ARTIFACT β”‚ Yes β”‚ Yes      β”‚ x         β”‚ goket@sha256:51719470665e97d4c18e0879a23b93c688e7d56fabf738faf42ca260479ce314 β”‚
    β”‚ goket-linux-arm64 β”‚ ARTIFACT β”‚ Yes β”‚ Yes      β”‚ x         β”‚ goket@sha256:b64ade729aa7796b4c2bd3a172d0bd9cc284f51587[11](https://github.com/goket-app/goket/actions/runs/3841373075/jobs/6541516633#step:9:12)1[15](https://github.com/goket-app/goket/actions/runs/3841373075/jobs/6541516633#step:9:16)ec8ff4c9fe1d6869a β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    

    These binaries have been uploaded automatically to the CAS, your OCI registry, so they can be downloaded if needed, i.e

    $ chainloop artifact download -d sha256:1dab2d24af5de96959dcaa4f69df43319610cb910e106d8fa4fed6b1abdb2295
    
  • feat(ci): Enable Chainloop attestation

    feat(ci): Enable Chainloop attestation

    Configures the workflow to record the attestation of the build.

    This version of the contract does not add any materials yet but just the runner environment option. In a future patch we'll store the binaries in the CAS as well.

    Note: I've updated the contract in Chainloop controlplane via

    chainloop wf contract update --name goket-release -f ./release.cue --id 4e95e9aa-01e7-4b0e-8088-19f6972e89e5
    

    and after the integration this is the result of one run

    chainloop wf run describe --id 3eff0034-f285-431e-9e4a-d5e04c094f5e
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Workflow                                                                    β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ ID             β”‚ 3da0b2a9-f56b-4e7d-bf41-6f80b2c92faf                       β”‚
    β”‚ Name           β”‚ release                                                    β”‚
    β”‚ Team           β”‚ goket-app maintainers                                      β”‚
    β”‚ Project        β”‚ goket-app                                                  β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ Workflow Run   β”‚                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ ID             β”‚ 3eff0034-f285-431e-9e4a-d5e04c094f5e                       β”‚
    β”‚ Initialized At β”‚ 04 Jan 23 14:54 UTC                                        β”‚
    β”‚ Finished At    β”‚ 04 Jan 23 14:54 UTC                                        β”‚
    β”‚ State          β”‚ success                                                    β”‚
    β”‚ Runner Link    β”‚ https://github.com/goket-app/goket/actions/runs/3839053663 β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ Statement      β”‚                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ Payload Type   β”‚ application/vnd.in-toto+json                               β”‚
    β”‚ Verified       β”‚ false                                                      β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Environment Variables                                              β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ NAME                    β”‚ VALUE                                    β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ GITHUB_ACTOR            β”‚ migmartri                                β”‚
    β”‚ GITHUB_REF              β”‚ refs/tags/v0.0.02                        β”‚
    β”‚ GITHUB_REPOSITORY       β”‚ goket-app/goket                          β”‚
    β”‚ GITHUB_REPOSITORY_OWNER β”‚ goket-app                                β”‚
    β”‚ GITHUB_RUN_ID           β”‚ 3839053663                               β”‚
    β”‚ GITHUB_SHA              β”‚ 8fef420902c7f4968fce8c12c7842e55d534d2d7 β”‚
    β”‚ RUNNER_NAME             β”‚ Hosted Agent                             β”‚
    β”‚ RUNNER_OS               β”‚ Linux                                    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
    

    or if you prefer, here it is the raw statement

    chainloop wf run describe --id 3eff0034-f285-431e-9e4a-d5e04c094f5e -o statement
    
    {
       "_type": "https://in-toto.io/Statement/v0.1",
       "predicateType": "chainloop.dev/attestation/v0.1",
       "subject": [
          {
             "name": "chainloop.dev/workflow/release",
             "digest": {
                "sha256": "879dcf1dd49f2a14e9a963b32a85a281837b7f3bb11e23e65adf7e98540331b2"
             }
          }
       ],
       "predicate": {
          "buildType": "chainloop.dev/workflowrun/v0.1",
          "builder": {
             "id": "chainloop.dev/cli/0.8.56@sha256:249dcca2bfbb321c6e93b31c562d8b84d56eb1250fb6de757f65c366eb6d6ec2"
          },
          "env": {
             "GITHUB_ACTOR": "migmartri",
             "GITHUB_REF": "refs/tags/v0.0.02",
             "GITHUB_REPOSITORY": "goket-app/goket",
             "GITHUB_REPOSITORY_OWNER": "goket-app",
             "GITHUB_RUN_ID": "3839053663",
             "GITHUB_SHA": "8fef420902c7f4968fce8c12c7842e55d534d2d7",
             "RUNNER_NAME": "Hosted Agent",
             "RUNNER_OS": "Linux"
          },
          "metadata": {
             "finishedAt": "2023-01-04T14:54:38.555929712Z",
             "initializedAt": "2023-01-04T14:54:00.363652265Z",
             "name": "release",
             "project": "goket-app",
             "team": "goket-app maintainers",
             "workflowID": "3da0b2a9-f56b-4e7d-bf41-6f80b2c92faf",
             "workflowRunID": "3eff0034-f285-431e-9e4a-d5e04c094f5e"
          },
          "runnerType": "GITHUB_ACTION",
          "runnerURL": "https://github.com/goket-app/goket/actions/runs/3839053663"
       }
    }
    
    
  • chore(ci): enable releases

    chore(ci): enable releases

    Add go-releaser support for building and signing binaries.

    The additional GitHub action will build, sign and publish the binaries as a GitHub release only if a tag with the format v.* has been added to the repo.

  • feat(ci): add sbom

    feat(ci): add sbom

    • Generates an Software Bill of materials in CycloneDX format of the generated binaries.
    • This SBOM is added to the GitHub release.
    • The SBOM is sent now to chainloop

    See https://github.com/goket-app/goket/actions/runs/3842220789/jobs/6543305376

    $ chainloop wf run describe --id 6e172d7b-1f68-493d-bd6f-57b6ee2ea892
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Workflow                                                                    β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ ID             β”‚ 3da0b2a9-f56b-4e7d-bf41-6f80b2c92faf                       β”‚
    β”‚ Name           β”‚ release                                                    β”‚
    β”‚ Team           β”‚ goket-app maintainers                                      β”‚
    β”‚ Project        β”‚ goket-app                                                  β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ Workflow Run   β”‚                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ ID             β”‚ 6e172d7b-1f68-493d-bd6f-57b6ee2ea892                       β”‚
    β”‚ Initialized At β”‚ 04 Jan 23 22:48 UTC                                        β”‚
    β”‚ Finished At    β”‚ 04 Jan 23 22:49 UTC                                        β”‚
    β”‚ State          β”‚ success                                                    β”‚
    β”‚ Runner Link    β”‚ https://github.com/goket-app/goket/actions/runs/3842220789 β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ Statement      β”‚                                                            β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ Payload Type   β”‚ application/vnd.in-toto+json                               β”‚
    β”‚ Verified       β”‚ false                                                      β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Materials                                                                                                                             β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ NAME              β”‚ TYPE                β”‚ VALUE                                                                                       β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚ goket-linux-arm64 β”‚ ARTIFACT            β”‚ goket@sha256:3a358e8b2d302dd6f6f5cd60f2aca4086a041d092ed137b67a497afa3c371ae8               β”‚
    β”‚ sbom              β”‚ SBOM_CYCLONEDX_JSON β”‚ sbom.cyclonedx.json@sha256:34dd414116c98e1162c75a8df2353ebe7c46416f6abb161f5591b37f35a2a1af β”‚
    β”‚ goket-linux-amd64 β”‚ ARTIFACT            β”‚ goket@sha256:8f872f55894acb5c6709d9b8641ff8bbcce72662e563f953accb1dc50f126abe               β”‚
    β”‚ goket-linux-arm   β”‚ ARTIFACT            β”‚ goket@sha256:78c665cb34a585fe4c704a3b41396acda10a8435ac9fc67bb62c6b29dce99de9               β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    

    Notice the sbom material stored, as any other material, it can be downloaded via chainloop artifact download -d [digest]

Related tags
This is a proof of concept (PoC) for creating a QR code system for proving that one has had a valid vaccination record

TestVac QR Core This is a proof of concept (PoC) for creating a QR code system for proving that one has had a valid vaccination record (FHIR, see http

Nov 27, 2022
Toy gRPC Tunnel over CloudFlare (Proof of Concept)
Toy gRPC Tunnel over CloudFlare (Proof of Concept)

gun You know what it means. Guide Server Go to your domain in CloudFlare. In "Network" tab, turn on gRPC.

Jan 6, 2023
Proof of concept project with MQTT and PLC4X imported as Go modules

portal-connect PoC for a edge MQTT client written in Go Basic project setup with PLC4X and Eclipse Paho How to run Install latest Go version https://g

Jan 19, 2022
Temporal Activity Protobuf Generator Proof of Concept

Temporal Activity Protobuf Generator Proof of Concept This is a protoc plugin for generating easy to use code for calling and implementing activities.

Oct 5, 2022
Events - Event Manager - Nodejs like

events Event Manager - Nodejs like Please take a look at the TESTS, for further comprehension. Example package main import ( "errors" "fmt" "log"

Dec 31, 2021
Package event-driven makes it easy for you to drive events between services
Package event-driven makes it easy for you to drive events between services

Event-Driven Event-driven architecture is a software architecture and model for application design. With an event-driven system, the capture, communic

Apr 20, 2022
A tool for capturing newly issued x.509 from Certificate Transparency logs & performing periodic revocation checking.

ct-logster This repository contains the tools for collecting newly issued x509 certificates from Certificate Transparency logs, as well as performing

May 4, 2022
OCM events management service

Events Service This project provides a service that gives access to events generated by the OCM services. Building Locally Cloning There is nothing sp

Oct 15, 2021
GSRPC compatible type definitions of events from the ChainBridge substrate pallet

chainbridge-substrate-events GSRPC compatible type definitions of events from the ChainBridge substrate pallet. ChainSafe Security Policy Reporting a

Nov 13, 2021
TCP output for beats to send events over TCP socket.

beats-tcp-output How To Use Clone this project to elastic/beats/libbeat/output/ Modify elastic/beats/libbeat/publisher/includes/includes.go : // add i

Aug 25, 2022