---
title: "Returns the current configuration of the node."
method: GET
path: "/api/v1/agent/config"
tags: ["Ops"]
---

# Returns the current configuration of the node.

`GET /api/v1/agent/config`

## Response `200`

OK

- TypesBacalhau
  - `API` TypesAPI
    - `Auth` TypesAuthConfig
      - `AccessPolicyPath` string — AccessPolicyPath is the path to a file or directory that will be loaded as the policy to apply to all inbound API requests. If unspecified, a policy that permits access to all API endpoints to both authenticated and unauthenticated users (the default as of v1.2.0) will be used.
      - `Methods` object — Methods maps "method names" to authenticator implementations. A method name is a human-readable string chosen by the person configuring the system that is shown to users to help them pick the authentication method they want to use. There can be multiple usages of the same Authenticator *type* but with different configs and parameters, each identified with a unique method name. For example, if an implementation wants to allow users to log in with Github or Bitbucket, they might both use an authenticator implementation of type "oidc", and each would appear once on this provider with key / method name "github" and "bitbucket". By default, only a single authentication method that accepts authentication via client keys will be enabled.
      - `Oauth2` TypesOauth2Config
        - `Audience` string
        - `DeviceAuthorizationEndpoint` string
        - `DeviceClientID` string
        - `Issuer` string
        - `JWKSUri` string
        - `PollingInterval` integer
        - `ProviderID` string
        - `ProviderName` string
        - `Scopes` string[]
        - `TokenEndpoint` string
      - `Users` TypesAuthUser[]
        - `APIKey` string
        - `Alias` string
        - `Capabilities` TypesCapability[]
          - `Actions` string[]
        - `Password` string
        - `Username` string
    - `Host` string — Host specifies the hostname or IP address on which the API server listens or the client connects.
    - `Port` integer — Port specifies the port number on which the API server listens or the client connects.
    - `TLS` TypesTLS
      - `AutoCert` string — AutoCert specifies the domain for automatic certificate generation.
      - `AutoCertCachePath` string — AutoCertCachePath specifies the directory to cache auto-generated certificates.
      - `CAFile` string — CAFile specifies the path to the Certificate Authority file.
      - `CertFile` string — CertFile specifies the path to the TLS certificate file.
      - `Insecure` boolean — Insecure allows insecure TLS connections (e.g., self-signed certificates).
      - `KeyFile` string — KeyFile specifies the path to the TLS private key file.
      - `SelfSigned` boolean — SelfSigned indicates whether to use a self-signed certificate.
      - `UseTLS` boolean — UseTLS indicates whether to use TLS for client connections.
  - `Compute` TypesCompute
    - `AllocatedCapacity` TypesResourceScaler
      - `CPU` string — CPU specifies the amount of CPU a compute node allocates for running jobs. It can be expressed as a percentage (e.g., "85%") or a Kubernetes resource string (e.g., "100m").
      - `Disk` string — Disk specifies the amount of Disk space a compute node allocates for running jobs. It can be expressed as a percentage (e.g., "85%") or a Kubernetes resource string (e.g., "10Gi").
      - `GPU` string — GPU specifies the amount of GPU a compute node allocates for running jobs. It can be expressed as a percentage (e.g., "85%") or a Kubernetes resource string (e.g., "1"). Note: When using percentages, the result is always rounded up to the nearest whole GPU.
      - `Memory` string — Memory specifies the amount of Memory a compute node allocates for running jobs. It can be expressed as a percentage (e.g., "85%") or a Kubernetes resource string (e.g., "1Gi").
    - `AllowListedLocalPaths` string[] — AllowListedLocalPaths specifies a list of local file system paths that the compute node is allowed to access.
    - `Auth` TypesComputeAuth
      - `Token` string — Token specifies the key for compute nodes to be able to access the orchestrator.
    - `Enabled` boolean — Enabled indicates whether the compute node is active and available for job execution.
    - `Env` TypesEnvConfig
      - `AllowList` string[] — AllowList specifies which host environment variables can be forwarded to jobs. Supports glob patterns (e.g., "AWS_*", "API_*")
    - `Heartbeat` TypesHeartbeat
      - `InfoUpdateInterval` integer — InfoUpdateInterval specifies the time between updates of non-resource information to the orchestrator.
      - `Interval` integer — Interval specifies the time between heartbeat signals sent to the orchestrator.
      - `ResourceUpdateInterval` integer — Deprecated: use Interval instead
    - `Network` TypesNetworkConfig
      - `AdvertisedAddress` string — AdvertisedAddress is the address that this compute node advertises to other nodes. If empty, a default address will be auto-discovered.
      - `PortRangeEnd` integer — PortRangeEnd is the last port in the range (inclusive) that can be allocated to jobs
      - `PortRangeStart` integer — PortRangeStart is the first port in the range (inclusive) that can be allocated to jobs
    - `Orchestrators` string[] — Orchestrators specifies a list of orchestrator endpoints that this compute node connects to.
    - `TLS` TypesComputeTLS
      - `CACert` string — CACert specifies the CA file path that the compute node trusts when connecting to orchestrator.
      - `RequireTLS` boolean — RequireTLS specifies if the compute node enforces encrypted communication with orchestrator.
  - `DataDir` string — DataDir specifies a location on disk where the bacalhau node will maintain state.
  - `DisableAnalytics` boolean — DisableAnalytics, when true, disables sharing anonymous analytics data with the Bacalhau development team
  - `Engines` TypesEngineConfig
    - `Disabled` string[] — Disabled specifies a list of engines that are disabled.
    - `Types` TypesEngineConfigTypes
      - `Docker` TypesDocker
        - `ManifestCache` TypesDockerManifestCache
          - `Refresh` integer — Refresh specifies the refresh interval for cache entries.
          - `Size` integer — Size specifies the size of the Docker manifest cache.
          - `TTL` integer — TTL specifies the time-to-live duration for cache entries.
      - `WASM` TypesWASM
  - `FeatureFlags` TypesFeatureFlags
  - `InputSources` TypesInputSourcesConfig
    - `Disabled` string[] — Disabled specifies a list of storages that are disabled.
    - `MaxRetryCount` integer — ReadTimeout specifies the maximum number of attempts for reading from a storage.
    - `ReadTimeout` integer — ReadTimeout specifies the maximum time allowed for reading from a storage.
    - `Types` TypesInputSourcesTypes
      - `IPFS` TypesIPFSStorage
        - `Endpoint` string — Endpoint specifies the multi-address to connect to for IPFS. e.g /ip4/127.0.0.1/tcp/5001
  - `JobAdmissionControl` TypesJobAdmissionControl
    - `Locality` 0 | 1
    - `ProbeExec` string — ProbeExec specifies the command to execute for probing job submission.
    - `ProbeHTTP` string — ProbeHTTP specifies the HTTP endpoint for probing job submission.
    - `RejectNetworkedJobs` boolean — RejectNetworkedJobs indicates whether to reject jobs that require network access.
    - `RejectStatelessJobs` boolean — RejectStatelessJobs indicates whether to reject stateless jobs, i.e. jobs without inputs.
  - `JobDefaults` TypesJobDefaults
    - `Batch` TypesBatchJobDefaultsConfig
      - `Priority` integer — Priority specifies the default priority allocated to a batch or ops job. This value is used when the job hasn't explicitly set its priority requirement.
      - `Task` TypesBatchTaskDefaultConfig
        - `Publisher` TypesDefaultPublisherConfig
          - `Params` object — Params specifies the publisher configuration data.
          - `Type` string — Type specifies the publisher type. e.g. "s3", "local", "ipfs", etc.
        - `Resources` TypesResourcesConfig
          - `CPU` string — CPU specifies the default amount of CPU allocated to a task. It uses Kubernetes resource string format (e.g., "100m" for 0.1 CPU cores). This value is used when the task hasn't explicitly set its CPU requirement.
          - `Disk` string — Disk specifies the default amount of disk space allocated to a task. It uses Kubernetes resource string format (e.g., "1Gi" for 1 gibibyte). This value is used when the task hasn't explicitly set its disk space requirement.
          - `GPU` string — GPU specifies the default number of GPUs allocated to a task. It uses Kubernetes resource string format (e.g., "1" for 1 GPU). This value is used when the task hasn't explicitly set its GPU requirement.
          - `Memory` string — Memory specifies the default amount of memory allocated to a task. It uses Kubernetes resource string format (e.g., "256Mi" for 256 mebibytes). This value is used when the task hasn't explicitly set its memory requirement.
        - `Timeouts` TypesTaskTimeoutConfig
          - `ExecutionTimeout` integer — ExecutionTimeout is the maximum time allowed for task execution
          - `TotalTimeout` integer — TotalTimeout is the maximum total time allowed for a task
    - `Daemon` TypesLongRunningJobDefaultsConfig
      - `Priority` integer — Priority specifies the default priority allocated to a service or daemon job. This value is used when the job hasn't explicitly set its priority requirement.
      - `Task` TypesLongRunningTaskDefaultConfig
        - `Resources` TypesResourcesConfig
          - `CPU` string — CPU specifies the default amount of CPU allocated to a task. It uses Kubernetes resource string format (e.g., "100m" for 0.1 CPU cores). This value is used when the task hasn't explicitly set its CPU requirement.
          - `Disk` string — Disk specifies the default amount of disk space allocated to a task. It uses Kubernetes resource string format (e.g., "1Gi" for 1 gibibyte). This value is used when the task hasn't explicitly set its disk space requirement.
          - `GPU` string — GPU specifies the default number of GPUs allocated to a task. It uses Kubernetes resource string format (e.g., "1" for 1 GPU). This value is used when the task hasn't explicitly set its GPU requirement.
          - `Memory` string — Memory specifies the default amount of memory allocated to a task. It uses Kubernetes resource string format (e.g., "256Mi" for 256 mebibytes). This value is used when the task hasn't explicitly set its memory requirement.
    - `Ops` TypesBatchJobDefaultsConfig
      - `Priority` integer — Priority specifies the default priority allocated to a batch or ops job. This value is used when the job hasn't explicitly set its priority requirement.
      - `Task` TypesBatchTaskDefaultConfig
        - `Publisher` TypesDefaultPublisherConfig
          - `Params` object — Params specifies the publisher configuration data.
          - `Type` string — Type specifies the publisher type. e.g. "s3", "local", "ipfs", etc.
        - `Resources` TypesResourcesConfig
          - `CPU` string — CPU specifies the default amount of CPU allocated to a task. It uses Kubernetes resource string format (e.g., "100m" for 0.1 CPU cores). This value is used when the task hasn't explicitly set its CPU requirement.
          - `Disk` string — Disk specifies the default amount of disk space allocated to a task. It uses Kubernetes resource string format (e.g., "1Gi" for 1 gibibyte). This value is used when the task hasn't explicitly set its disk space requirement.
          - `GPU` string — GPU specifies the default number of GPUs allocated to a task. It uses Kubernetes resource string format (e.g., "1" for 1 GPU). This value is used when the task hasn't explicitly set its GPU requirement.
          - `Memory` string — Memory specifies the default amount of memory allocated to a task. It uses Kubernetes resource string format (e.g., "256Mi" for 256 mebibytes). This value is used when the task hasn't explicitly set its memory requirement.
        - `Timeouts` TypesTaskTimeoutConfig
          - `ExecutionTimeout` integer — ExecutionTimeout is the maximum time allowed for task execution
          - `TotalTimeout` integer — TotalTimeout is the maximum total time allowed for a task
    - `Service` TypesLongRunningJobDefaultsConfig
      - `Priority` integer — Priority specifies the default priority allocated to a service or daemon job. This value is used when the job hasn't explicitly set its priority requirement.
      - `Task` TypesLongRunningTaskDefaultConfig
        - `Resources` TypesResourcesConfig
          - `CPU` string — CPU specifies the default amount of CPU allocated to a task. It uses Kubernetes resource string format (e.g., "100m" for 0.1 CPU cores). This value is used when the task hasn't explicitly set its CPU requirement.
          - `Disk` string — Disk specifies the default amount of disk space allocated to a task. It uses Kubernetes resource string format (e.g., "1Gi" for 1 gibibyte). This value is used when the task hasn't explicitly set its disk space requirement.
          - `GPU` string — GPU specifies the default number of GPUs allocated to a task. It uses Kubernetes resource string format (e.g., "1" for 1 GPU). This value is used when the task hasn't explicitly set its GPU requirement.
          - `Memory` string — Memory specifies the default amount of memory allocated to a task. It uses Kubernetes resource string format (e.g., "256Mi" for 256 mebibytes). This value is used when the task hasn't explicitly set its memory requirement.
  - `Labels` object — Labels are key-value pairs used to describe and categorize the nodes.
  - `Logging` TypesLogging
    - `Level` string — Level sets the logging level. One of: trace, debug, info, warn, error, fatal, panic.
    - `LogDebugInfoInterval` integer — LogDebugInfoInterval specifies the interval for logging debug information.
    - `Mode` string — Mode specifies the logging mode. One of: default, json.
  - `NameProvider` string — NameProvider specifies the method used to generate names for the node. One of: hostname, aws, gcp, uuid, puuid.
  - `Orchestrator` TypesOrchestrator
    - `Advertise` string — Advertise specifies URL to advertise to other servers.
    - `Auth` TypesOrchestratorAuth
      - `Token` string — Token specifies the key for compute nodes to be able to access the orchestrator
    - `Cluster` TypesCluster
      - `Advertise` string — Advertise specifies the address to advertise to other cluster members.
      - `Host` string — Host specifies the hostname or IP address for cluster communication.
      - `Name` string — Name specifies the unique identifier for this orchestrator cluster.
      - `Peers` string[] — Peers is a list of other cluster members to connect to on startup.
      - `Port` integer — Port specifies the port number for cluster communication.
    - `Enabled` boolean — Enabled indicates whether the orchestrator node is active and available for job submission.
    - `EvaluationBroker` TypesEvaluationBroker
      - `MaxRetryCount` integer — MaxRetryCount specifies the maximum number of times an evaluation can be retried before being marked as failed.
      - `VisibilityTimeout` integer — VisibilityTimeout specifies how long an evaluation can be claimed before it's returned to the queue.
    - `Host` string — Host specifies the hostname or IP address on which the Orchestrator server listens for compute node connections.
    - `NodeManager` TypesNodeManager
      - `DisconnectTimeout` integer — DisconnectTimeout specifies how long to wait before considering a node disconnected.
      - `ManualApproval` boolean — ManualApproval, if true, requires manual approval for new compute nodes joining the cluster.
    - `Port` integer — Host specifies the port number on which the Orchestrator server listens for compute node connections.
    - `Scheduler` TypesScheduler
      - `HousekeepingInterval` integer — HousekeepingInterval specifies how often to run housekeeping tasks.
      - `HousekeepingTimeout` integer — HousekeepingTimeout specifies the maximum time allowed for a single housekeeping run.
      - `QueueBackoff` integer — QueueBackoff specifies the time to wait before retrying a failed job.
      - `WorkerCount` integer — WorkerCount specifies the number of concurrent workers for job scheduling.
    - `SupportReverseProxy` boolean — SupportReverseProxy configures the orchestrator node to run behind a reverse proxy
    - `TLS` TypesOrchestratorTLS
      - `CACert` string — CACert specifies the CA file path that the orchestrator node trusts when connecting to NATS server.
      - `ServerCert` string — ServerCert specifies the certificate file path given to NATS server to serve TLS connections.
      - `ServerKey` string — ServerKey specifies the private key file path given to NATS server to serve TLS connections.
      - `ServerTimeout` integer — ServerTimeout specifies the TLS timeout, in seconds, set on the NATS server.
  - `Publishers` TypesPublishersConfig
    - `Disabled` string[] — Disabled specifies a list of publishers that are disabled.
    - `Types` TypesPublisherTypes
      - `IPFS` TypesIPFSPublisher
        - `Endpoint` string — Endpoint specifies the multi-address to connect to for IPFS. e.g /ip4/127.0.0.1/tcp/5001
      - `Local` TypesLocalPublisher
        - `Address` string — Address specifies the endpoint the publisher serves on.
        - `Port` integer — Port specifies the port the publisher serves on.
      - `S3` TypesS3Publisher
        - `PreSignedURLDisabled` boolean — PreSignedURLDisabled specifies whether pre-signed URLs are enabled for the S3 provider.
        - `PreSignedURLExpiration` integer — PreSignedURLExpiration specifies the duration before a pre-signed URL expires.
      - `S3Managed` TypesS3ManagedPublisher
        - `Bucket` string — Bucket specifies the S3 bucket name for managed publisher
        - `Endpoint` string — Endpoint specifies an optional custom S3 endpoint
        - `Key` string — Key specifies an optional prefix for objects stored in the bucket
        - `PreSignedURLExpiration` integer — PreSignedURLExpiration specifies the duration before a pre-signed URL expires.
        - `Region` string — Region specifies the region the S3 bucket is in
  - `ResultDownloaders` TypesResultDownloaders
    - `Disabled` string[] — Disabled is a list of downloaders that are disabled.
    - `Timeout` integer — Timeout specifies the maximum time allowed for a download operation.
    - `Types` TypesResultDownloadersTypes
      - `IPFS` TypesIpfsDownloader
        - `Endpoint` string — Endpoint specifies the multi-address to connect to for IPFS. e.g /ip4/127.0.0.1/tcp/5001
  - `StrictVersionMatch` boolean — StrictVersionMatch indicates whether to enforce strict version matching.
  - `UpdateConfig` TypesUpdateConfig
    - `Interval` integer — Interval specifies the time between update checks, when set to 0 update checks are not performed.
  - `WebUI` TypesWebUI
    - `Backend` string — Backend specifies the address and port of the backend API server. If empty, the Web UI will use the same address and port as the API server.
    - `Enabled` boolean — Enabled indicates whether the Web UI is enabled.
    - `Listen` string — Listen specifies the address and port on which the Web UI listens.

## Other responses

- `500` — Internal Server Error

---

[API](https://skmtc.net/bacalhau-project/apis/bacalhau-api.md) · [All operations](https://skmtc.net/bacalhau-project/apis/bacalhau-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bacalhau-project/bacalhau-api/revisions/9470ca2a198b/schema)
