Docs are work in progress
Skip to main content

Provisioning

Overview

Mecha-Agent handles the setup and configuration of Mecha Machines, ensuring they are ready for operation with minimal manual intervention.

Configure

# settings.yml

provisioning:
server_url: http://localhost:3000
cert_sign_url: /v1/provisioning/cert/sign
paths:
machine:
private_key: ~/.mecha/openssl/ecdsa/key.pem
csr: ~/.mecha/openssl/ecdsa/csr.pem
cert: ~/.mecha/agent/certs/machine.pem
server:
cert: ~/.mecha/agent/certs/server.pem
ca_bundle:
cert: ~/.mecha/agent/certs/ca_bundle.pem
root:
cert: ~/.mecha/agent/certs/root.pem

Service Architecture

The service is composed of the following components:

  • Provisioning Agent: Handles the setup and configuration of machines.
  • Certificate Authority (CA): Issues and manages certificates.
  • API Gateway: Facilitates communication between clients and the service.

Agent Task

Grpc Protos

  1. Ping
    • Description: Checks the connectivity status between the client and the server.
    • Request:
message PingRequest {}
  • Response:
message PingResponse {
string code = 1;
string message = 2;
}
  • Usage: Ensures that the server is reachable and responsive before proceeding with further provisioning steps.
  1. Generate Code
    • Description: Generates a unique code required for the provisioning process.
    • Request:
message GenerateCodeRequest {}
  • Response:
message GenerateCodeResponse {
string code = 1;
}
  • Usage: The generated code is used to securely identify and authenticate the machine during the provisioning process.
  1. Provision by Code
    • Description: Provisions the machine using the code generated by the Generate Code function.
    • Request:
message ProvisioningRequest {
string code = 1;
}
  • Response:
message ProvisioningStatusResponse {
bool success = 1;
}
  • Usage: Completes the provisioning process by configuring the machine with the necessary settings and credentials.