opentitan-provisioning

module
v0.0.0-...-0e64a8c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2024 License: Apache-2.0

README

OpenTitan Provisioning Infrastructure

Getting Started

System Requirements

Currently, Ubuntu 22.04LTS is the only supported development environment. There are build container instructions available for other OS distributions.

Install Dependencies

Install dependencies via setup.sh. This will run apt to install system-level dependencies, and install bazelisk, a Bazel wrapper that simplifies version selection.

Add bazelisk to PATH

Make sure to add ${GOPATH}/bin to your path, e.g.:

$ export PATH="$PATH:$(go env GOPATH)/bin"
Runing Build Commands

To build and run all tests:

$ bazelisk test //...

To run integration test cases:

$ ./run_integration_tests.sh

To format the code before submitting changes:

$ bazelisk run //quality:buildifier_fix
$ bazelisk run //quality:clang_format_fix
$ bazelisk run //quality:gofmt_fix
$ bazelisk run //quality:protolint_fix

To run only the lint checks locally that are also run in CI:

$ bazelisk test //quality/...

Note: these are also run automatically when running all tests above.

GitHub Releases

The release process assumes you have your git and GitHub CLI credentials in $HOME/.git and $HOME/.config/gh repsectively.

  1. Commit your changes.

  2. Create a tag locally before running the build command.

    OT_GIT_TAG=v0.0.1pre1
    git tag ${OT_GIT_TAG}
    
  3. Run the release command. util/get_workspace_status.sh captures the git tag in the binaries when using the --stamp build flag.

    $ bazelisk run --stamp //release -- ${OT_GIT_TAG} -p
    

Read More

Directories

Path Synopsis
src
cert/templates
Package tpm implements a TPM certificate template.
Package tpm implements a TPM certificate template.
pa
Package main implementes Provisioning Appliance load test
Package main implementes Provisioning Appliance load test
pa/services
Package pa implements the gRPC ProvisioningAppliance server interface.
Package pa implements the gRPC ProvisioningAppliance server interface.
proxy_buffer/services
Package proxybuffer implements the gRPC ProxyBufferService interface.
Package proxybuffer implements the gRPC ProxyBufferService interface.
spm
Package main implements a Secure Provisioning Module server.
Package main implements a Secure Provisioning Module server.
transport
Package grpconn implements the gRPC connection utility functions
Package grpconn implements the gRPC connection utility functions
version
buildver package provides access to build version variables and utilities to generate formatted version strings.
buildver package provides access to build version variables and utilities to generate formatted version strings.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL