diff --git a/apps/docs/content/features/cdn.mdx b/apps/docs/content/features/cdn.mdx index 879f33ee..99107b38 100644 --- a/apps/docs/content/features/cdn.mdx +++ b/apps/docs/content/features/cdn.mdx @@ -192,11 +192,17 @@ Zerops provides multiple ways to manage and purge cached content before its norm ```sh # Purge all content for a domain zsc cdn purge example.com - - # Purge specific path - zsc cdn purge example.com /images/ + # Purge all content (wildcard) + zsc cdn purge example.com "/*" + # Purge specific file + zsc cdn purge example.com "/path/to/my-file$" ``` + :::important + - This command must be executed in any container within the project that has the CDN-enabled domain active + - Currently only works for [Static Mode](#static-mode) CDN + ::: + - **API Endpoints**: For programmatic control, use the [API endpoints](#api-reference). Here are ready-to-use curl examples for quickly purging content in your scripts: ```sh diff --git a/apps/docs/content/homepage.mdx b/apps/docs/content/homepage.mdx index fd81f5a2..f2bccbef 100644 --- a/apps/docs/content/homepage.mdx +++ b/apps/docs/content/homepage.mdx @@ -49,9 +49,9 @@ export const databases = [ { name: "Typesense", link: "/typesense/overview", icon: }, { name: "Meilisearch", link: "/meilisearch/overview", icon: }, { name: "Qdrant", link: "/qdrant/overview", icon: }, + { name: "NATS", link: "/nats/overview", icon: }, { name: "KeyDB", link: "/keydb/overview", icon: }, { name: "Kafka", icon: }, - { name: "NATS", icon: }, ] export const storages = [ diff --git a/apps/docs/content/nats/overview.mdx b/apps/docs/content/nats/overview.mdx new file mode 100644 index 00000000..a671e8a7 --- /dev/null +++ b/apps/docs/content/nats/overview.mdx @@ -0,0 +1,108 @@ +--- +title: NATS +desc: Production-ready NATS messaging system on Zerops platform with automated scaling and enterprise reliability. Deploy, manage, and scale with zero infrastructure hassle. +--- + +import UnorderedList from '@site/src/components/UnorderedList'; +import UnorderedCodeList from '@site/src/components/UnorderedCodeList'; +import data from '@site/static/data.json'; + +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 + +### 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. + +#### Disabling JetStream + +If you don't need message persistence, you can disable JetStream by setting the `JET_STREAM_ENABLED` environment variable to `0` in your service configuration. This can be done: + +- During service creation through the [import configuration](/references/import) +- In the Zerops GUI under service environment variables +- Via the [Zerops API](/references/api) when creating a new service + +:::tip +Disabling JetStream may reduce resource usage when persistence isn't required for your application. +::: + +### 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://${dbUser}:${dbPassword}@${hostname}:${port}` + +## 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 + +Zerops provides built-in backup functionality for your NATS JetStream data, ensuring your message streams and configurations can be safely preserved and restored when needed. + +### Backup Process + +Backups are created in `.tar.gz` format using the `nats` backup command. They are saved to local disk, compressed, streamed to backup storage, and then deleted locally. + +For general information about backup frequency and storage limits, see our [Backup documentation](/features/backup). + +## Support + +For advanced configurations or custom requirements: +- Join our [Discord community](https://discord.gg/zerops) +- Contact support via [email](mailto:support@zerops.io) \ No newline at end of file diff --git a/apps/docs/content/references/zsc.mdx b/apps/docs/content/references/zsc.mdx index fd282da7..b0f97914 100644 --- a/apps/docs/content/references/zsc.mdx +++ b/apps/docs/content/references/zsc.mdx @@ -97,13 +97,20 @@ zsc cdn [command] #### Examples ```sh -# Purge CDN cache for a specific domain +# Purge all CDN cache for a specific domain zsc cdn purge example.com - -# Purge CDN cache for a specific path on a domain -zsc cdn purge example.com /images/ +# Purge all content using wildcard pattern +zsc cdn purge example.com "/*" +# Purge CDN cache for a specific file (note the $ suffix) +zsc cdn purge example.com "/path/to/my-file$" +# Purge CDN cache for a specific directory +zsc cdn purge example.com "/images/" ``` +:::important +- This command must be executed in any container within the project that has the CDN-enabled domain active +- Currently, the purge command only works for the [Static Mode](/features/cdn#static-mode) CDN +::: --- ### shared-storage diff --git a/apps/docs/sidebars.js b/apps/docs/sidebars.js index 596fb5b7..a92a342c 100644 --- a/apps/docs/sidebars.js +++ b/apps/docs/sidebars.js @@ -407,6 +407,15 @@ module.exports = { }, className: "homepage-sidebar-item service-sidebar-item", }, + { + type: "ref", + id: "nats/overview", + label: "NATS", + customProps: { + sidebar_icon: "nats", + }, + className: "homepage-sidebar-item service-sidebar-item", + }, { type: 'ref', id: 'keydb/overview', @@ -424,15 +433,6 @@ module.exports = { // sidebar_icon: "kafka", // }, // className: "homepage-sidebar-item service-sidebar-item", -// }, -// { -// type: "ref", -// id: "nats/overview", -// label: "NATS", -// customProps: { -// sidebar_icon: "nats", -// }, -// className: "homepage-sidebar-item service-sidebar-item", // }, ], }, @@ -2274,6 +2274,26 @@ module.exports = { }, }, ], + nats: [ + { + type: 'ref', + id: 'homepage', + label: 'Back to home', + customProps: { + sidebar_is_back_link: true, + sidebar_icon: 'back-arrow', + }, + }, + { + type: 'doc', + id: 'nats/overview', + label: 'Zerops NATS Service', + customProps: { + sidebar_is_title: true, + sidebar_icon: 'nats', + }, + }, + ], // rabbitmq: [ // { // type: "ref", diff --git a/apps/docs/static/llms-full.txt b/apps/docs/static/llms-full.txt index e8f6ce7c..450756bd 100644 --- a/apps/docs/static/llms-full.txt +++ b/apps/docs/static/llms-full.txt @@ -12533,11 +12533,17 @@ Zerops provides multiple ways to manage and purge cached content before its norm ```sh # Purge all content for a domain zsc cdn purge example.com - - # Purge specific path - zsc cdn purge example.com /images/ + # Purge all content (wildcard) + zsc cdn purge example.com "/*" + # Purge specific file + zsc cdn purge example.com "/path/to/my-file$" ``` + :::important + - This command must be executed in any container within the project that has the CDN-enabled domain active + - Currently only works for [Static Mode](#static-mode) CDN + ::: + - **API Endpoints**: For programmatic control, use the [API endpoints](#api-reference). Here are ready-to-use curl examples for quickly purging content in your scripts: ```sh @@ -22625,9 +22631,9 @@ export const databases = [ { name: "Typesense", link: "/typesense/overview", icon: }, { name: "Meilisearch", link: "/meilisearch/overview", icon: }, { name: "Qdrant", link: "/qdrant/overview", icon: }, + { name: "NATS", link: "/nats/overview", icon: }, { name: "KeyDB", link: "/keydb/overview", icon: }, { name: "Kafka", icon: }, - { name: "NATS", icon: }, ] export const storages = [ @@ -28155,6 +28161,108 @@ For advanced configurations or custom requirements: +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 + +### 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. + +#### Disabling JetStream + +If you don't need message persistence, you can disable JetStream by setting the `JET_STREAM_ENABLED` environment variable to `0` in your service configuration. This can be done: + +- During service creation through the [import configuration](/references/import) +- In the Zerops GUI under service environment variables +- Via the [Zerops API](/references/api) when creating a new service + +:::tip +Disabling JetStream may reduce resource usage when persistence isn't required for your application. +::: + +### 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://${dbUser}:${dbPassword}@${hostname}:${port}` + +## 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 + +Zerops provides built-in backup functionality for your NATS JetStream data, ensuring your message streams and configurations can be safely preserved and restored when needed. + +### Backup Process + +Backups are created in `.tar.gz` format using the `nats` backup command. They are saved to local disk, compressed, streamed to backup storage, and then deleted locally. + +For general information about backup frequency and storage limits, see our [Backup documentation](/features/backup). + +## Support + +For advanced configurations or custom requirements: +- Join our [Discord community](https://discord.gg/zerops) +- Contact support via [email](mailto:support@zerops.io) + + + Zerops provides built-in prerender.io support. Simply set the `PRERENDER_TOKEN` environment variable with your prerender.io service token. See our [prerender.io documentation](/nginx/how-to/env-variables#prerenderio-support) for details. @@ -46019,13 +46127,20 @@ zsc cdn [command] #### Examples ```sh -# Purge CDN cache for a specific domain +# Purge all CDN cache for a specific domain zsc cdn purge example.com - -# Purge CDN cache for a specific path on a domain -zsc cdn purge example.com /images/ +# Purge all content using wildcard pattern +zsc cdn purge example.com "/*" +# Purge CDN cache for a specific file (note the $ suffix) +zsc cdn purge example.com "/path/to/my-file$" +# Purge CDN cache for a specific directory +zsc cdn purge example.com "/images/" ``` +:::important +- This command must be executed in any container within the project that has the CDN-enabled domain active +- Currently, the purge command only works for the [Static Mode](/features/cdn#static-mode) CDN +::: --- ### shared-storage diff --git a/apps/docs/static/llms-small.txt b/apps/docs/static/llms-small.txt index 6012ce22..86fcdee2 100644 --- a/apps/docs/static/llms-small.txt +++ b/apps/docs/static/llms-small.txt @@ -12258,11 +12258,17 @@ Zerops provides multiple ways to manage and purge cached content before its norm ```sh # Purge all content for a domain zsc cdn purge example.com - - # Purge specific path - zsc cdn purge example.com /images/ + # Purge all content (wildcard) + zsc cdn purge example.com "/*" + # Purge specific file + zsc cdn purge example.com "/path/to/my-file$" ``` + :::important + - This command must be executed in any container within the project that has the CDN-enabled domain active + - Currently only works for [Static Mode](#static-mode) CDN + ::: + - **API Endpoints**: For programmatic control, use the [API endpoints](#api-reference). Here are ready-to-use curl examples for quickly purging content in your scripts: ```sh @@ -22250,9 +22256,9 @@ export const databases = [ { name: "Typesense", link: "/typesense/overview", icon: }, { name: "Meilisearch", link: "/meilisearch/overview", icon: }, { name: "Qdrant", link: "/qdrant/overview", icon: }, + { name: "NATS", link: "/nats/overview", icon: }, { name: "KeyDB", link: "/keydb/overview", icon: }, { name: "Kafka", icon: }, - { name: "NATS", icon: }, ] export const storages = [ @@ -27780,6 +27786,108 @@ For advanced configurations or custom requirements: +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 + +### 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. + +#### Disabling JetStream + +If you don't need message persistence, you can disable JetStream by setting the `JET_STREAM_ENABLED` environment variable to `0` in your service configuration. This can be done: + +- During service creation through the [import configuration](/references/import) +- In the Zerops GUI under service environment variables +- Via the [Zerops API](/references/api) when creating a new service + +:::tip +Disabling JetStream may reduce resource usage when persistence isn't required for your application. +::: + +### 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://${dbUser}:${dbPassword}@${hostname}:${port}` + +## 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 + +Zerops provides built-in backup functionality for your NATS JetStream data, ensuring your message streams and configurations can be safely preserved and restored when needed. + +### Backup Process + +Backups are created in `.tar.gz` format using the `nats` backup command. They are saved to local disk, compressed, streamed to backup storage, and then deleted locally. + +For general information about backup frequency and storage limits, see our [Backup documentation](/features/backup). + +## Support + +For advanced configurations or custom requirements: +- Join our [Discord community](https://discord.gg/zerops) +- Contact support via [email](mailto:support@zerops.io) + + + Zerops provides built-in prerender.io support. Simply set the `PRERENDER_TOKEN` environment variable with your prerender.io service token. See our [prerender.io documentation](/nginx/how-to/env-variables#prerenderio-support) for details. diff --git a/apps/docs/static/llms.txt b/apps/docs/static/llms.txt index e630bac7..d0573cf4 100644 --- a/apps/docs/static/llms.txt +++ b/apps/docs/static/llms.txt @@ -203,6 +203,7 @@ - [Quickstart](https://docs.zerops.io/mariadb/tutorial/quickstart) - [Step By-Step](https://docs.zerops.io/mariadb/tutorial/step-by-step) - [Overview](https://docs.zerops.io/meilisearch/overview) +- [Overview](https://docs.zerops.io/nats/overview) - [Faq](https://docs.zerops.io/nginx/faq) - [Getting Started](https://docs.zerops.io/nginx/getting-started) - [Access](https://docs.zerops.io/nginx/how-to/access)