xEvolve ドキュメント

エージェントのインストール

エージェントはファイルサーバーの近く、お客様側で動作します。HTTPS でワークスペースに接続し、SFTP、FTP、FTPS、SMB、NFS の処理を行います。

エージェントの作成

  1. エージェントを開き、エージェントを作成します。デプロイガイドがエージェント ID とシークレットとともに開きます。
  2. 今すぐシークレットをコピーしてください。表示されるのは一度だけです。後で開き直したガイドには <agent-secret> と表示されます。
  3. xEvolve がエージェントに到達できる公開 HTTPS アドレスを決めます。これを XEVOLVE_AGENT_URL として入力します。

設定

変数値
AGENT_SECRETガイドに表示されるエージェントのシークレット。
XEVOLVE_API_URLワークスペースのアドレス。例: https://<workspace>.xevolve.io。api.xevolve.io は使わないでください。ワークスペースがなく、workspace_not_ready を返します。
XEVOLVE_API_TOKENエージェントのシークレット (再度)。
XEVOLVE_AGENT_IDガイドに表示されるエージェント ID。
XEVOLVE_AGENT_URLxEvolve がエージェントに到達する公開 URL。
PORT3100

Docker

docker run -d --name xevolve-agent \
  -p 3100:3100 \
  -e AGENT_SECRET=<agent-secret> \
  -e XEVOLVE_API_URL=https://<workspace>.xevolve.io \
  -e XEVOLVE_API_TOKEN=<agent-secret> \
  -e XEVOLVE_AGENT_ID=<agent-id> \
  -e XEVOLVE_AGENT_URL=https://your-agent-url.example.com \
  --restart unless-stopped \
  ghcr.io/spot-techno/xevolve-agent:latest

Azure Web App for Containers

az group create -n xevolve-agent-rg -l westeurope
az appservice plan create -n xevolve-agent-plan -g xevolve-agent-rg \
  --is-linux --sku B1

az webapp create -n xevolve-agent -g xevolve-agent-rg \
  -p xevolve-agent-plan \
  -i ghcr.io/spot-techno/xevolve-agent:latest

az webapp config appsettings set -n xevolve-agent -g xevolve-agent-rg \
  --settings \
  AGENT_SECRET=<agent-secret> \
  XEVOLVE_API_URL=https://<workspace>.xevolve.io \
  XEVOLVE_API_TOKEN=<agent-secret> \
  XEVOLVE_AGENT_ID=<agent-id> \
  XEVOLVE_AGENT_URL=https://xevolve-agent.azurewebsites.net \
  WEBSITES_PORT=3100

AWS ECS (Fargate)

VPC、サブネット、xevolve という名前の ECS クラスターがすでにあることを前提とします。

aws ecs register-task-definition --cli-input-json file://task-def.json
aws ecs create-service \
  --cluster xevolve \
  --service-name xevolve-agent \
  --task-definition xevolve-agent \
  --desired-count 1 \
  --launch-type FARGATE \
  --network-configuration "awsvpcConfiguration={subnets=[<subnet-id>],securityGroups=[<security-group-id>],assignPublicIp=ENABLED}"

task-def.json ファイル:

{
  "family": "xevolve-agent",
  "containerDefinitions": [{
    "name": "agent",
    "image": "ghcr.io/spot-techno/xevolve-agent:latest",
    "portMappings": [{"containerPort": 3100}],
    "environment": [
      {"name": "AGENT_SECRET", "value": "<agent-secret>"},
      {"name": "XEVOLVE_API_URL", "value": "https://<workspace>.xevolve.io"},
      {"name": "XEVOLVE_API_TOKEN", "value": "<agent-secret>"},
      {"name": "XEVOLVE_AGENT_ID", "value": "<agent-id>"},
      {"name": "XEVOLVE_AGENT_URL", "value": "https://your-agent-url.example.com"}
    ]
  }],
  "cpu": "256", "memory": "512",
  "networkMode": "awsvpc",
  "requiresCompatibilities": ["FARGATE"]
}

動作の確認

  1. エージェントを開き、エージェントのカードでエージェントをテストを選びます。xEvolve がエージェントのアドレスに到達できるかを確認します。
  2. 1 分待ちます。エージェントは 60 秒ごとにハートビートを送り、カードに最後に確認された時刻が表示されます。
  3. SFTP、FTP、FTPS、SMB、NFS の接続を追加または編集し、このエージェントを選んで接続をテストします。

エージェントのテストはエージェントのシークレットを検証しません。シークレットが誤っている場合は、ハートビートが届かないことでわかります。