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.
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">'
-
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 fromhttps://myagent.example.com/agent
tohttps://myagent.example.com
. The new OPA no longer has theagent
suffix path on its endpoints. -
Agent Environment variable
superblocks.agentEnvironment
is deprecated and you must start usingsuperblocks.agentTags
.superblocks.agentEnvironment: "*"
is equivalent tosuperblocks.agentTags: "profile:*"
superblocks.agentEnvironment: "staging"
is equivalent tosuperblocks.agentTags: "profile:staging"
superblocks.agentEnvironment: "production"
is equivalent tosuperblocks.agentTags: "profile:production"
-
The
controller
block in the values file is deprecated. Everything underneath can be specified one level higher. You can simply delete thecontroller
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
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
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.
The agent application can be configured via the use of several environment variables, and they are documented here.
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:
- superblocksteam/bigquery - Docs
- superblocksteam/dynamodb - Docs
- superblocksteam/email
- superblocksteam/graphql - Docs
- superblocksteam/gsheets - Docs
- superblocksteam/javascript - Docs
- superblocksteam/mariadb - Docs
- superblocksteam/mongodb - Docs
- superblocksteam/mssql - Docs
- superblocksteam/mysql - Docs
- superblocksteam/postgres - Docs
- superblocksteam/python - Docs
- superblocksteam/redshift - Docs
- superblocksteam/restapi - Docs
- superblocksteam/restapiintegration - Docs
- superblocksteam/rockset - Docs
- superblocksteam/s3 - Docs
- superblocksteam/snowflake - Docs
- superblocksteam/workflow - Docs