Rely.io
  • 📌What is Rely.io?
  • 💡How Rely.io works
  • 📑Getting Started Guide
    • Create an account for your organization
    • Add your first plugin
    • Import services into the Service Catalog
    • Make the Software Catalog your own
    • What's Next?
  • 🌈Basic Concepts
    • Entities
    • Blueprints
    • Property Data Types
    • Catalogs
    • Data Model
    • Plugins
    • User Blueprints vs Plugin Blueprints
    • Actions and Automations
      • Automation Rules
      • Self-Service Actions
    • Home Pages
    • Scorecards
  • 📚Guides & Tutorials
    • Enhancing Deployment Visibility through Gitlab Pipelines and Rely's API
  • 🖥️Software Catalog
    • Overview and Use Cases
    • Usage Guide
      • Creating a new Entity
      • Updating an Entity
      • Tracking Entity Changes
      • Customizing an Entity's Page
      • Customizing a Catalog
      • Creating a new Blueprint & Catalog
      • Updating a Blueprint
      • Tracking Blueprint Changes
    • Relevant Guides
    • Troubleshooting
  • 🥇Scorecards
    • Overview and Use Cases
    • Usage Guide
      • Creating a Scorecard
      • Updating a Scorecard
      • Evaluating Performance
    • Scorecard Examples
      • Production Readiness Scorecard Example
      • DORA Metrics Scorecard Example
      • Operational Maturity Example
  • 🎨Home Pages
    • Overview and Use Cases
    • Usage Guide
      • Creating a New Tab
  • ⚡Self-Service Actions
    • Overview and Use Cases
    • Usage Guide
      • Configuring your Self Service Agent
      • Managing your Actions Catalog
      • Self-Service Actions as Code
      • Running Actions
      • Tracking Action Runs
  • ↗️Plugins & Automation
    • What happens when you install a Plugin?
    • Self-Hosting Plugins using Galaxy
    • 🤖Automation Rules
      • Overview and Use Cases
      • Usage Guide
        • Creating an Automation Rule
        • Updating an Automation Rule
        • Tracking Automation Changes
        • Managing Automation Suggestion
    • 🔌Plugin Installation Guides
      • ⭐AWS
      • Bitbucket
      • ⭐Flux
      • GitHub
      • GitLab
      • ⭐Google Cloud Platform (GCP)
      • ⭐Kubernetes
      • ⭐OpsGenie
      • ⭐PagerDuty
      • ⭐Snyk
      • ⭐SonarQube
  • 🌐Public API
    • Audit Logs
    • Automations & Self-Service Actions
    • Automation Suggestions
    • Blueprints
    • Dashboards & Views
    • Entities
    • Scorecards
    • Self-Service Action Runs
    • Time Series
    • Users
    • Webhooks
  • ⚙️Invite Users
  • 🛡️Security & Compliance
    • Single Sign-On (SSO)
      • SAML with Google Workspace
      • SAML with Microsoft Entra ID
      • SAML with Okta
      • OIDC with Okta
      • OIDC with Google Workspace
  • 🏥Troubleshooting
  • ❓FAQ
Powered by GitBook
On this page
  • Overview
  • Obtaining Your Self-Service Agent API Token
  • Get Token from Plugins Page
  • Get Token from the Self-Service Onboarding Page
  • Installation Method 1: Kubernetes cluster using Helm (Recommended)
  • Installation Method 2: Docker
  • Managing Secrets and Environment Variables
  • Kubernetes (Helm Installation)
  • Docker
  • Upgrading the Self-Service Agent

Was this helpful?

  1. Self-Service Actions
  2. Usage Guide

Configuring your Self Service Agent

PreviousUsage GuideNextManaging your Actions Catalog

Last updated 7 months ago

Was this helpful?

Overview

The Rely.io Self-Service Agent is a critical component required to enable self-service action features within Rely.io. Without it, you won't be able to trigger self-service actions. The Agent is .

This agent runs on the customer's side, ensuring that Rely.io does not need write access to the customer's platforms. Once deployed, it will periodically check for pending actions triggered via Rely.io's UI or API and execute them.

Obtaining Your Self-Service Agent API Token

You need to generate an API token to ensure the Rely.io Self-Service Agent can properly interact with Rely.io and listen for events. We have several options for getting the token.

Get Token from Plugins Page

  1. Open the Rely.io platform.

  2. Navigate to the Plugins page.

  3. Open the details of the Self-Service Agent plugin.

  4. Click View details and then Generate Self Service Token.

Get Token from the Self-Service Onboarding Page

  1. Open the Rely.io platform.

  2. Navigate to the Self-Service Actions page.

  3. Click the Setup Self-Service Agent button.

  4. On the tab Generate Rely API token, click on the Generate Token.

  5. On the modal dialog, click Generate token.

  6. Finally, the generated token can be copied from the token input textbox to the clipboard

Generating a new token will invalidate all previously generated tokens.

Installation Method 1: Kubernetes cluster using Helm (Recommended)

Prerequisites

  • A Kubernetes cluster

  • Rely.io Self-Service Agent API Token

Step 1: Crete a Kubernetes Namespace

First, create a Kubernetes namespace

kubectl create namespace rely-ssa

Step 2: Create a Kubernetes Secret with Your API Token

Create a Kubernetes secret to store your Rely.io API token securely.

kubectl create secret generic relyio-api-token-ssa \
    --namespace rely-ssa \
    --from-literal=API_TOKEN="YOUR-API-TOKEN"

Replace YOUR-API-TOKEN with your actual API token.

Step 3: Install the Rely.io Self-Service Agent Chart

Install the Rely.io Self-Service Agent using the Helm chart.

helm upgrade --install my-self-service-agent \
    oci://registry-1.docker.io/devrelyio/relyio-self-service-agent-helm \
    --namespace rely-ssa

The previous command will install or upgrade the Self Service Agent install to latest version.

Installation Method 2: Docker

Prerequisites

  • Rely.io Self-Service Agent API Token

Step 1: Run the Docker Container

Run the Rely.io Self-Service Agent Docker container with your API token.

docker run -e API_TOKEN="YOUR-API-TOKEN" devrelyio/self-service-agent:latest

Replace YOUR-API-TOKEN with your actual API token.

Managing Secrets and Environment Variables

The Rely.io Self-Service Agent requires tokens to interact with various data sources. The specific tokens to provide will depend on the integrations you want to use in self-service actions. Examples include:

  • GITHUB_TOKEN: For GitHub integration

  • GITLAB_TOKEN: For GitLab integration

  • SONARQUBE_TOKEN: For SonarQube integration

  • PAGERDUTY_TOKEN: For PagerDuty integration

  • GCP_SERVICE_ACCOUNT: Google Cloud Service Account credentials

Kubernetes (Helm Installation)

To update the Kubernetes secret with additional environment variables, use the following command:

kubectl patch secret relyio-api-token-ssa --namespace rely-ssa --patch '{
    "data": {
        "EXAMPLE_ENV_VAR": "'"$(echo -n 'ENV_VAR_VALUE_GOES_HERE' | base64)"'"
    }}'

Replace EXAMPLE_ENV_VAR and ENV_VAR_VALUE_GOES_HERE with your specific variable name and value.

For setting up all our previous environment variables at once, we could do it like this:

kubectl patch secret relyio-api-token-ssa --namespace rely-ssa --patch '{
    "data": {
        "GITHUB_TOKEN": "'"$(echo -n 'YOUR_TOKEN_HERE' | base64)"'",
        "GITLAB_TOKEN": "'"$(echo -n 'YOUR_TOKEN_HERE' | base64)"'",
        "SONARQUBE_TOKEN": "'"$(echo -n 'YOUR_TOKEN_HERE' | base64)"'",
        "PAGERDUTY_TOKEN": "'"$(echo -n 'YOUR_TOKEN_HERE' | base64)"'",
        "GCP_SERVICE_ACCOUNT": "'"$(printf '%s' "$(cat service-account.json | jq -c)" | base64)"'"
    }}'

Than re-deploy your agent:

kubectl rollout restart deployment my-self-service-agent-relyio-self-service-agent-helm \
    --namespace rely-ssa

Docker

For the Docker installation, you can pass additional environment variables directly into the docker run command. Example:

docker run -e API_TOKEN="YOUR-API-TOKEN" \
           -e GITHUB_TOKEN="YOUR_TOKEN_HERE" \
           -e GITLAB_TOKEN="YOUR_TOKEN_HERE" \
           -e SONARQUBE_TOKEN="YOUR_TOKEN_HERE" \
           -e PAGERDUTY_TOKEN="YOUR_TOKEN_HERE" \
           -e GCP_SERVICE_ACCOUNT="$(printf '%s' "$(cat service-account.json | jq -c)" \
           devrelyio/self-service-agent:latest

Upgrading the Self-Service Agent

Helm

helm upgrade my-self-service-agent \
    oci://registry-1.docker.io/devrelyio/relyio-self-service-agent-helm \
    --namespace rely-ssa

If a specific version is required, a parameter needs to be added to the previous command just like this:

helm upgrade relyio-self-service-agent \
    oci://registry-1.docker.io/devrelyio/relyio-self-service-agent-helm \
    --version 0.2.4 \
    --namespace rely-ssa

Docker

docker pull devrelyio/self-service-agent:latest
docker run -e API_TOKEN="YOUR-API-TOKEN" devrelyio/self-service-agent:latest

installed on your local machine

command line app

command line

installed

Upgrade to the latest version of the Self-Service Agent; available versions can be checked

Pull the latest Docker image and run it. Feel free to check and specify for specific versions .

⚡
fully open-source
Helm
kubectl
jq
Docker
here
here