superblocksteam / agent

This is the entrypoint repository for the Superblocks Agent Platform

Home Page:https://docs.superblocks.com/on-premise-agent/overview

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

On Premise Agent (OPA)

Keep customer data in your VPC for internal tools, while keeping Superblocks up-to-date from our cloud.



This document contains configuration and deployment details for running the Superblocks agent independently.

DISCLAIMER: Parts of this document currently refer to an agent service that has been deprecated in favor of the Superblocks Agent Platform. We have introduced an agent-controller service and an agent-worker service. For now, you can find updated information in linked repositories of the Source-Available Repositories section. We are currently in the process of updating the other sections of this document.

Deployment

kubernetes (Recommended)

The Superblocks agent can be deployed on any Kubernetes cluster.

Our charts are currently hosted under https://charts.superblocks.com/superblocks. Use the following commands to deploy the agent platform using the public helm chart. The latest version of the helm chart can be found here.

helm repo add superblocks https://charts.superblocks.com/superblocks

# This will fetch the latest charts info from the Superblocks charts repo
helm repo update

helm upgrade -i -n superblocks superblocks-agent superblocks/superblocks-agent \
  --create-namespace \
  --set superblocks.agentKey='<agent-key>' # obtained during agent onboarding \
  --set superblocks.agentHostUrl='http[s]://<agent-host[:port]>' \
  --set superblocks.agentTags='<"profile:*"|"profile:staging"|"profile:production">' \
  --set superblocks.agentDataDomain='<"app.superblocks.com"|"eu.superblocks.com">'

v0.x to v1.0 Migration Guide

  • Container ports are now specified under service.ports.http. It is recommended that you leave these settings as default.

  • Agent URL field superblocks.agentUrl must be updated from https://myagent.example.com/agent to https://myagent.example.com. The new OPA no longer has the agent suffix path on its endpoints.

  • Agent Environment variable superblocks.agentEnvironment is deprecated and you must start using superblocks.agentTags.

    • superblocks.agentEnvironment: "*" is equivalent to superblocks.agentTags: "profile:*"
    • superblocks.agentEnvironment: "staging" is equivalent to superblocks.agentTags: "profile:staging"
    • superblocks.agentEnvironment: "production" is equivalent to superblocks.agentTags: "profile:production"
  • The controller block in the values file is deprecated. Everything underneath can be specified one level higher. You can simply delete the controller block and unindent everything underneath it.

    For example:

    controller:
      ingress:
        enabled: false
        class: "" # nginx
        annotations: {}
          # kubernetes.io/tls-acme: "true"
        hosts: []
        # - host: chart-example.local
        #   paths:
        #   - /
        tls: []
        # - secretName: chart-example-tls
        #   hosts:
        #     - chart-example.local

    will become

    ingress:
      enabled: false
      class: "" # nginx
      annotations: {}
        # kubernetes.io/tls-acme: "true"
      hosts: []
      # - host: chart-example.local
      #   paths:
      #   - /
      tls: []
      # - secretName: chart-example-tls
      #   hosts:
      #     - chart-example.local
  • If you are managing your secrets outside of this chart, you will ensure that you have added an additional entry to your secrets object. It should look something like this:

    apiVersion: v1
    data:
      SUPERBLOCKS_AGENT_KEY: <my-agent-key-in-b64>
      SUPERBLOCKS_ORCHESTRATOR_SUPERBLOCKS_KEY: <my-agent-key-in-b64>
    kind: Secret

docker

The Superblocks agent can also be deployed using the docker CLI.

To do so, first export the agent configuration.

# obtained during agent onboarding
export SUPERBLOCKS_AGENT_KEY='<agent-key>'
export SUPERBLOCKS_AGENT_HOST_URL='http[s]://<agent-host[:port]>'
export SUPERBLOCKS_AGENT_TAGS='<"profile:*"|"profile:staging"|"profile:production">'
export SUPERBLOCKS_AGENT_DATA_DOMAIN='<"app.superblocks.com"|"eu.superblocks.com">'

Then, use our docker compose file to start the agent platform. The referenced docker compose file can be found here.

curl -s https://raw.githubusercontent.com/superblocksteam/agent/main/docker/v2.compose.yaml | docker compose -p superblocks -f - up

Requests

The Superblocks Agent Platform is designed with security as a primary consideration. Any data accessed and processed by the agent is only available to the user's browser or client, and never sent to Superblocks Cloud. Additionally, the agent only supports incoming requests from a browser/client, and not even Superblocks Cloud can call into the agent to have it perform any operations.

A detailed list of all network requests that can be made to the agent and that the agent makes can be found here.

Configuration

The agent application can be configured via the use of several environment variables, and they are documented here.

Source-Available Repositories

The agent platform source code is available and can be built from source! The following is a comprehensive list of repositories required to build the agent from source:

Services

Integrations

Libraries

About

This is the entrypoint repository for the Superblocks Agent Platform

https://docs.superblocks.com/on-premise-agent/overview

License:Other


Languages

Language:Smarty 46.2%Language:Shell 43.9%Language:Dockerfile 9.9%