Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native deployment for Veraison #250

Merged
merged 6 commits into from
Aug 13, 2024
Merged

Native deployment for Veraison #250

merged 6 commits into from
Aug 13, 2024

Commits on Aug 7, 2024

  1. fix(Makefile): ensure user go bin dir is in PATH

    Ensure that $(go env GPATH)/bin is in PATH before running protoc, as it
    looks for plugins (such as protoc-gen-go) there.
    
    Signed-off-by: Sergei Trofimov <sergei.trofimov@arm.com>
    setrofim committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    2fd0d01 View commit details
    Browse the repository at this point in the history
  2. fix(auth/keycloak): clear flags before parsing

    Keycloak's logging lib expects flags to be parsed, otherwise it
    complains, so we're parsing them. The problem is that if we actually
    have any flags specified, parsing will fail, as the lib doesn't know
    about Veraison flags, so clear os.Args of flags before calling
    flags.Parse().
    
    This is fine as KeycloakAuthorizer.Init(), where the call occurs, is
    invoked well after the service command line has already been processed,
    so os.Args won't be ever be used from then on.
    
    This does mean that we can no longer pass configuration for Keycloak
    logging lib on the command line, which was theoretically possible
    before. However we've literally never do this, it's completely
    undocumented, and may potentially cause conflicts with Veraison's own
    logging. So this fixes that as well.
    
    Signed-off-by: Sergei Trofimov <sergei.trofimov@arm.com>
    setrofim committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    9ab8cdf View commit details
    Browse the repository at this point in the history
  3. feat(auth): allow specifying ca-cert for Keycloak

    Add "ca-cert" config for "keycloak" auth backend. This allows specifying
    and additional CA cert to be used when connecting to the Keycloak
    authentication server. This removes the need for the cert to installed
    in the system.
    
    Signed-off-by: Sergei Trofimov <sergei.trofimov@arm.com>
    setrofim committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    41beb26 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. feat: implement native deployment

    Add scripts to build, deploy, and run Veraison natively on the host
    system.
    
    While this is primarily a "local" deployment, i.e. intended to be run
    locally for development/testing/demo purposes (similar to the existing
    docker deployment), this is also intended to provide a basis for future
    production deployments as well.
    
    - Boostrap scripts are provided to ensure suitable build environment.
    - Deployment steps can be executed separately, to e.g. omit client
      installation.
    - Commands for generating certificates and the signing key are included
      in the frontend (though the use of pre-created "example" certs and
      keys is still possible).
    - While the quick deployment is user-specific, system-level systemd
      units are also included, so its possible to, e.g. deploy into /opt
      and then install system units to provide a deployment that runs
      independent of user login. (note: a full system deployment would
      require dedicated user configuration, symlinking executables into
      /usr/local/bin, etc... That currently doesn't exist.)
    
    In addition to the deployment code itself, this commit makes the
    following amendments:
    
    - end-to-end flow is updated to work with the native deployment, as well
      as docker via an alternate script, end-to-end-native. The existing
      script is renamed to end-to-end-docker.
    - The top-level README.md is updated with native deployment
      instructions.
    - Fixed line breaks inside top-level README.md to conform to the 79
      column standard.
    - Fixed admonitions inside top-level REAME.md to use the GitHub extended
      syntax.
    
    Signed-off-by: Sergei Trofimov <sergei.trofimov@arm.com>
    setrofim committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    aaa935f View commit details
    Browse the repository at this point in the history
  2. feat: add native support for Darwin/MacOSX

    Signed-off-by: Thomas Fossati <thomas.fossati@linaro.org>
    Co-authored-by: Sergei Trofimov <sergei.trofimov@arm.com>
    thomas-fossati and setrofim committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    661c108 View commit details
    Browse the repository at this point in the history
  3. docs: Darwin/MacOSX support

    Signed-off-by: Thomas Fossati <thomas.fossati@linaro.org>
    Co-authored-by: Sergei Trofimov <sergei.trofimov@arm.com>
    thomas-fossati and setrofim committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    dd7e330 View commit details
    Browse the repository at this point in the history