Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package cisco
    Definition Classes
    com
  • package streambed

    The base package of the Streambed library.

    The base package of the Streambed library. Of note is the com.cisco.streambed.Application suite of types. These types conveniently establish a streambed environment for an application.

    Sample usage from Java:

    /**
     * Bootstraps our application and handles signals
     */
    public class MyServerEntryPoints {
        private static ApplicationProcess applicationProcess = null;
    
        public static void main(String[] args) {
            applicationProcess = new ApplicationProcess(new MyServer());
            applicationProcess.main(args);
        }
    
        public static void trap(int signal) {
          if (applicationProcess != null) {
                applicationProcess.trap(signal);
            }
        }
    }

    ...with MyServer being declared as:

    public class MyServer extends Application {
        @Override
        public void main(String[] args, ApplicationContext context) {
          ..
        }
    }

    The equivalent in Scala:

    object MyServerEntryPoints {
      private lazy val applicationProcess = ApplicationProcess(MyServer)
    
      def main(args: Array[String]): Unit =
        applicationProcess.main(args)
    
      def trap(signal: Int): Unit =
        applicationProcess.trap(signal)
    }

    ...with MyServer being declared as:

    object MyServer extends Application {
      override def main(args: Array[String], applicationContext: ApplicationContext): Unit = {
        ..
      }
    }

    The essential idea is that a regular JVM entry point (MyServerEntryPoints), establishes a com.cisco.streambed.ApplicationProcess of a class named MyServer. The trap method is used by Landlord for whenever an operating systemm signal is sent to the process. My extending com.cisco.streambed.Application, a com.cisco.streambed.ApplicationContext is provided by Streambed, containing almost all of what an application will require in order to startup (an actor system, metrics, logging...). The resources provided within the context are also automatically released on exit.

    Definition Classes
    cisco
  • package controlplane

    Generic meta data event declarations so that observations, and other things, can be made known to the system as a whole.

    Generic meta data event declarations so that observations, and other things, can be made known to the system as a whole.

    Definition Classes
    streambed
  • package crypto

    Utilities that abstract crypto functions, such as encoding/decoding given a salt.

    Utilities that abstract crypto functions, such as encoding/decoding given a salt.

    Definition Classes
    streambed
  • package durablequeue

    The com.cisco.streambed.durablequeue.DurableQueue is at the heart of streambed.

    The com.cisco.streambed.durablequeue.DurableQueue is at the heart of streambed. Streambed programs are essentially formed around the durable queue. Use a com.cisco.streambed.durablequeue.DurableQueue.Provider to declare the type of queue you require. See the package doc for Streambed's ChronicleQueue for an example.

    Definition Classes
    streambed
  • package http

    High level Akka http utilities e.g.

    High level Akka http utilities e.g. making it easier to bind and handle an HTTP port with a TLS certificate as per com.cisco.streambed.http.HttpServerConfig.

    Definition Classes
    streambed
  • package identity

    Identity management inspired by Hashicorp Vault's secret storage model.

    Identity management inspired by Hashicorp Vault's secret storage model. com.cisco.streambed.identity.Principal objects represent a entity that has attempted to authenticate. An authenticated entity yields a com.cisco.streambed.identity.Principal.AuthenticationToken by which secrets can then be requested against a com.cisco.streambed.identity.SecretStore. Secret stores can come in many forms and are selected by using a com.cisco.streambed.identity.SecretStore.Provider. See the streambed.identity.iox package for one such implementation.

    Definition Classes
    streambed
  • package iox

    Provides a com.cisco.streambed.identity.SecretStore implementation integrated with the IOx Secret Storage Service.

  • package model

    The DAO model of the streambed identity package

  • package noop
  • package vault
  • Crypto
  • Principal
  • SecretStore
  • UserManagement
  • UserpassSecretStore
  • package lora
    Definition Classes
    streambed
  • package mqttgateway

    A streambed service that can be dynamically configured to publish and subscribe to sensor events and their meta data.

    A streambed service that can be dynamically configured to publish and subscribe to sensor events and their meta data. An HTTP API is provided as a control plane.

    Definition Classes
    streambed
  • package storage

    Storage provides mechanisms to persist and retrieve arbitrary data.

    Storage provides mechanisms to persist and retrieve arbitrary data. This complements com.cisco.streambed.durablequeue.DurableQueue and can be used a snapshotting mechanism, a common pattern in event sourcing and CQRS systems.

    By default, an implementation using the local filesystem is provided. E.g. see "com.cisco.streambed.storage.fs.FileSystemRawStorage" elsewhere.

    Definition Classes
    streambed
  • package telemetry

    Metrics and tracing functionality.

    Metrics and tracing functionality. Leverages the reactive-streams-telemetry project.

    Definition Classes
    streambed
  • package testkit

    Various utilities to support streambed based tests

    Various utilities to support streambed based tests

    Definition Classes
    streambed

package identity

Identity management inspired by Hashicorp Vault's secret storage model. com.cisco.streambed.identity.Principal objects represent a entity that has attempted to authenticate. An authenticated entity yields a com.cisco.streambed.identity.Principal.AuthenticationToken by which secrets can then be requested against a com.cisco.streambed.identity.SecretStore. Secret stores can come in many forms and are selected by using a com.cisco.streambed.identity.SecretStore.Provider. See the streambed.identity.iox package for one such implementation.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. identity
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package iox

    Provides a com.cisco.streambed.identity.SecretStore implementation integrated with the IOx Secret Storage Service.

  2. package model

    The DAO model of the streambed identity package

  3. package noop
  4. package vault

Type Members

  1. final class Principal extends AnyRef

    Holds functions that can be used to interact with the authentication and authorization systems, allowing you to authenticate and manage secrets.

  2. abstract class SecretStore extends AnyRef

    A SecretStore contains four methods, authenticate, getAuthenticatedSecret, putAuthenticatedSecret, and 'removeAuthenticatedSecret' that are used to manage secrets.

  3. final class UserpassSecretStore extends SecretStore

    A proxy secret store that uses another secret store to authenticate users from a secrets.users path.

    A proxy secret store that uses another secret store to authenticate users from a secrets.users path. If a user can be authenticated with information available at the secrets.users path then the user can act as a proxy for subsequent secret access. For example, config and SSS secret stores require this proxy as they do not hold the notion of user principals beyond applications, yet we need to manage such users in the system. Secret stores such as Vault do not require this class. For example, Vault already provides its own user-password authentication method.

    Passwords are assumed to be hashed using SHA-512 and stored as hex string values in the secret store.

Value Members

  1. object Crypto

    Provides functions to encrypt/decrypt data having first obtained a secret successfully

  2. object Principal
  3. object SecretStore
  4. object UserManagement

    Describes types for managing users, i.e.

    Describes types for managing users, i.e. adding/updating/deleting them given usernames and passwords.

  5. object UserpassSecretStore

Inherited from AnyRef

Inherited from Any

Ungrouped