# NATS Zerops provides a fully managed [NATS](https://nats.io/) messaging system with automated scaling and zero infrastructure overhead, letting developers focus entirely on development. ## Supported Versions Currently supported NATS version: Import configuration version: ## Service Configuration Our NATS implementation features optimized default settings designed for common use cases. **Key configuration aspects** include: - Standard protocol port `4222` for client connections - HTTP monitoring interface `8222` for management - Secure authentication with automatically generated credentials - Optimized settings for performance and reliability You can fine-tune your NATS service by adjusting **environment variables**: ### Available Configuration Options :::note If certain variables are not visible in your configuration, they may have been introduced after your service was created. Simply add them as [secret variables](/features/env-variables#2-secret-variables) to access the functionality. :::
Variable Description
MAX_PAYLOAD Defines the maximum allowed message size for all NATS traffic. Default: 8MB, Maximum: 64MB. See [NATS limits documentation](https://docs.nats.io/running-a-nats-service/configuration#limits) for details.
JET_STREAM_ENABLED Controls whether JetStream functionality is enabled. Default: 1 (enabled), Set to 0 to disable. See [JetStream Configuration](#jetstream-configuration) section below for more details.
:::important Configuration changes require a service **restart** to take effect. While NATS itself supports configuration hot-reload, this feature will be implemented in a future Zerops update. ::: After restarting, check your service logs to confirm the changes were applied successfully. ### JetStream Configuration The service includes [JetStream](https://docs.nats.io/nats-concepts/jetstream) functionality **enabled by default**, providing persistent storage capabilities for your messaging workloads: - **Memory store**: Up to 40GB for high-performance message caching - **File store**: Up to 250GB for persistent storage - **Regular sync intervals**: Ensures data durability and consistency :::note In HA deployments, data persistence is further enhanced with 1-minute sync intervals across all nodes, ensuring robust data durability and high availability. ::: This configuration provides a robust foundation for message persistence while balancing performance and reliability. :::tip Disabling JetStream can reduce resource utilization for applications that don't require message persistence. ::: ### Deployment Modes :::warning Deployment mode is selected during service creation and cannot be changed later. ::: #### Non-HA Mode - Suitable for development and testing - Data persistence not guaranteed during node failures - Lower resource requirements #### HA Mode - Creates a multi-node NATS cluster - Configures routes between cluster nodes automatically - Implements [NATS clustering](https://docs.nats.io/running-a-nats-service/configuration/clustering) for high availability - Provides improved reliability compared to non-HA deployments ### Authentication Management Authentication credentials are automatically generated and managed by the platform. The system creates a default user (`zerops`) with a secure 16-character password. You can access these credentials through: - The service access details in the Zerops GUI - Environment variables in your service configuration: - `user` - Username for authentication (default: "zerops") - `password` - Generated secure password - `connectionString` - Complete connection string in the format `nats://:@:` ## Health Monitoring Zerops continuously monitors your NATS service health using built-in health checks: - **HTTP Health Check**: The system checks the `/healthz` endpoint at port 8222 - **Self-Healing**: The platform automatically recovers unhealthy nodes when issues are detected ### Health Status You can check the health status of your NATS service: 1. Through the Zerops GUI dashboard 2. By accessing the management interface at port `8222` ## Backup and Recovery NATS backups are created using filesystem archival: - **Format**: `.tar.gz` (archive of queue state) - **Tooling**: Filesystem archival - **Content**: Captures persistent message state For backup configuration, scheduling, retention policies, and management options, see the [Zerops Backups](/features/backup) documentation. ### Restoring Backups To restore a NATS backup: 1. **Download** the backup file (`.tar.gz`) from the Zerops UI 2. **Extract** the archive to access the queue state data 3. **Prepare** your target environment (clear existing data if needed) 4. **Restore** using NATS CLI commands via Zerops VPN or during deployment. Follow the [official NATS documentation](https://docs.nats.io/running-a-nats-service/nats_admin/jetstream_admin/disaster_recovery) for detailed restore procedures. For assistance with the restoration process, contact Zerops support. ## Support For advanced configurations or custom requirements: - Join our [Discord community](https://discord.gg/zerops) - Contact support via [email](mailto:support@zerops.io)