diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..b58b603 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..a365e80 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/swiftwave.org.iml b/.idea/swiftwave.org.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/swiftwave.org.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/blog/2020-05-28-intro.md b/blog/2020-05-28-intro.md deleted file mode 100644 index 4d66e43..0000000 --- a/blog/2020-05-28-intro.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -slug: first-blog-post -title: First Blog Post -authors: - - tanmoysrt -tags: [] ---- - -test diff --git a/docs/cli/auto-update/disable.md b/docs/cli/auto-update/disable.md new file mode 100644 index 0000000..74bc973 --- /dev/null +++ b/docs/cli/auto-update/disable.md @@ -0,0 +1,17 @@ +--- +id: disable +title: swiftwave auto-update disable +tags: + - CLI + - Auto Update +sidebar_position: 2 +--- + +Disable Swiftwave Auto Update Service. + + +### Usage + +``` +swiftwave auto-update disable +``` diff --git a/docs/cli/auto-update/enable.md b/docs/cli/auto-update/enable.md new file mode 100644 index 0000000..913647a --- /dev/null +++ b/docs/cli/auto-update/enable.md @@ -0,0 +1,22 @@ +--- +id: enable +title: swiftwave auto-update enable +tags: + - CLI + - Auto Update +sidebar_position: 1 +--- + +Enable Swiftwave Auto Update Service. + +:::note + +It will check for updates every 15 minutes to apply minor version updates and hotfixes to keep SwiftWave up to date and secured. + +::: + +### Usage + +``` +swiftwave auto-update enable +``` diff --git a/docs/cli/auto-update/index.md b/docs/cli/auto-update/index.md new file mode 100644 index 0000000..98e6e30 --- /dev/null +++ b/docs/cli/auto-update/index.md @@ -0,0 +1,14 @@ +--- +id: auto-update +title: swiftwave auto-update +tags: + - CLI + - Auto Update +sidebar_position: 11 +--- + +Auto update is a feature that will automatically update Swiftwave to the latest minor version and apply hotfixes. + +### Check available commands +- [**swiftwave auto-update enable**](./enable) +- [**swiftwave auto-update disable**](./disable) \ No newline at end of file diff --git a/docs/cli/auto-updater/disable.md b/docs/cli/auto-updater/disable.md deleted file mode 100644 index f7f5e47..0000000 --- a/docs/cli/auto-updater/disable.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: disable -title: swiftwave auto-updater disable -tags: - - CLI - - Auto Updater -sidebar_position: 2 ---- - -Disable Swiftwave Auto Updater Service. - - -### Usage - -``` -swiftwave auto-updater disable -``` diff --git a/docs/cli/auto-updater/enable.md b/docs/cli/auto-updater/enable.md deleted file mode 100644 index c21b5ce..0000000 --- a/docs/cli/auto-updater/enable.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: enable -title: swiftwave auto-updater enable -tags: - - CLI - - Auto Updater -sidebar_position: 1 ---- - -Enable Swiftwave Auto Updater Service. -> Note: It will check for updates every 5 minutes to apply minor version updates and hotfixes to keep SwiftWave up to date and secure. - -### Pre-requisites -You should keep automated database migration enabled to avoid any issues and use SwiftWave Auto Updater. - -If you have disabled automated database migration, you can enable it by -- Run `swiftwave config -e vim` or `swiftwave config -e nano` to open SwiftWave configuration file in editor. [See more](/docs/cli/config) -- Set `service.auto_migrate_database` to `false` -- Save and close the file - -### Usage - -``` -swiftwave auto-updater enable -``` diff --git a/docs/cli/auto-updater/index.md b/docs/cli/auto-updater/index.md deleted file mode 100644 index f4ffaee..0000000 --- a/docs/cli/auto-updater/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: auto-updater -title: swiftwave auto-updater -tags: - - CLI - - Auto Updater -sidebar_position: 14 ---- - -Auto updater is a feature that will automatically update Swiftwave to the latest minor version and apply hotfixes. - -### Check available commands -- [**swiftwave auto-updater enable**](/docs/cli/auto-updater/enable) -- [**swiftwave auto-updater disable**](/docs/cli/auto-updater/disable) \ No newline at end of file diff --git a/docs/cli/db-migrate.md b/docs/cli/db-migrate.md index 6fcf896..ddfebc9 100755 --- a/docs/cli/db-migrate.md +++ b/docs/cli/db-migrate.md @@ -3,7 +3,7 @@ id: db-migrate title: swiftwave db-migrate tags: - CLI -sidebar_position: 5 +sidebar_position: 4 --- Migrate new database changes to the database. diff --git a/docs/cli/delete-user.md b/docs/cli/delete-user.md deleted file mode 100755 index 643331b..0000000 --- a/docs/cli/delete-user.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: delete-user -title: swiftwave delete-user -tags: - - CLI -sidebar_position: 7 ---- - -Delete a user - -### Usage - - -``` -swiftwave delete-user --username -``` \ No newline at end of file diff --git a/docs/cli/haproxy/index.md b/docs/cli/haproxy/index.md deleted file mode 100755 index 3ac8e7f..0000000 --- a/docs/cli/haproxy/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: swiftwave-haproxy -title: swiftwave haproxy -tags: - - CLI - - HAProxy -sidebar_position: 11 ---- - -Manage HAProxy service - -### Check available commands -- [**swiftwave haproxy start**](/docs/cli/haproxy/start) -- [**swiftwave haproxy stop**](/docs/cli/haproxy/stop) -- [**swiftwave haproxy status**](/docs/cli/haproxy/status) \ No newline at end of file diff --git a/docs/cli/haproxy/start.md b/docs/cli/haproxy/start.md deleted file mode 100755 index 0b7af73..0000000 --- a/docs/cli/haproxy/start.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: start -title: swiftwave haproxy start -tags: - - CLI - - HAProxy -sidebar_position: 1 ---- - -Start HAProxy service - -### Usage - -``` -swiftwave haproxy start -``` \ No newline at end of file diff --git a/docs/cli/haproxy/status.md b/docs/cli/haproxy/status.md deleted file mode 100755 index ed9e391..0000000 --- a/docs/cli/haproxy/status.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: status -title: swiftwave haproxy status -tags: - - CLI - - HAProxy -sidebar_position: 3 ---- - -Show HAProxy service status - -### Usage - -``` -swiftwave haproxy status -``` diff --git a/docs/cli/haproxy/stop.md b/docs/cli/haproxy/stop.md deleted file mode 100755 index 9f32215..0000000 --- a/docs/cli/haproxy/stop.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: stop -title: swiftwave haproxy stop -tags: - - CLI - - HAProxy -sidebar_position: 2 ---- - -Stop HAProxy service - -### Usage - -``` -swiftwave haproxy stop -``` - diff --git a/docs/cli/index.md b/docs/cli/index.md index 5d5888a..cb194f4 100644 --- a/docs/cli/index.md +++ b/docs/cli/index.md @@ -9,19 +9,8 @@ sidebar_position: 6 SwiftWave CLI acts like a management panel for SwiftWave. It provides some administrative control as root user of your system. -**Feature List** -- Edit Configuration -- Generate SSL certificate for primary domain -- Migrate Database Tables -- Create/Delete Admin user -- Manage HaProxy Service -- Manage Local Postgres Database -- Manage Swiftwave Service -- Print Swiftwave Service Info - ### Global Flags -| Flag | Type | Default | Mandatory | Description | -|--------|------------------|---------|---------------------|-----------------------------------| -| --dev | `true` / `false` | `false` |
| Run swiftwave in development mode (This will enable some extra features) | -| --help | | |
| Show information for any command | +| Flag | Type | Default | Mandatory | Description | +| ------ | ---- | ------- | ------------------ | -------------------------------- | +| --help | | |
| Show information for any command | diff --git a/docs/cli/info.md b/docs/cli/info.md deleted file mode 100755 index afb0499..0000000 --- a/docs/cli/info.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: info -title: swiftwave info -tags: - - CLI -sidebar_position: 15 ---- - -Print info of current Swiftwave installation - -### Usage - -``` -swiftwave info -``` - - diff --git a/docs/cli/init.md b/docs/cli/init.md index dbbd6b9..1617f8c 100755 --- a/docs/cli/init.md +++ b/docs/cli/init.md @@ -17,11 +17,9 @@ swiftwave init [flags] ### Flags -| Flag | Type | Default | Mandatory | Description | -|------------|----------|----------|------------|---------------------------| -| --mode | `standalone` / `cluster` |
`standalone`
|
| Mode of operation | -| --letsencrypt-email | string |
--
|
| Email address for Let's Encrypt | -| --haproxy-user | string |
`admin`
|
| Username for HAProxy (Can't be modified once set) | -| --haproxy-password | string |
`admin`
|
| Password for HAProxy (Can't be modified once set) | -| --auto-domain | `true` / `false` |
`false`
|
| Resolve domain name automatically | -| --overwrite | `true` / `false` |
`false`
|
| Overwrite existing configuration | \ No newline at end of file +| Flag | Type | Default | Mandatory | Description | +| ----------------- | ---------------- | ------------------------ | ------------------ | ---------------------------------------------- | +| --domain | string | |
| Domain name for management node | +| --auto-domain | `true` / `false` |
`false`
|
| Use *.swiftwave.xyz domain for management node | +| --remote-postgres | `true` / `false` |
`false`
|
| Opt out Local postgres database | +| --overwrite | `true` / `false` |
`false`
|
| Overwrite existing configuration | \ No newline at end of file diff --git a/docs/cli/localregistry/index.md b/docs/cli/localregistry/index.md new file mode 100755 index 0000000..cdc628b --- /dev/null +++ b/docs/cli/localregistry/index.md @@ -0,0 +1,16 @@ +--- +id: localregistry +title: swiftwave localregistry +tags: + - CLI + - Local Image Registry +sidebar_position: 10 +--- + +Manage local local image registry + +### Check available commands +- [**swiftwave localregistry start**](./start) +- [**swiftwave localregistry stop**](./stop) +- [**swiftwave localregistry restart**](./restart) +- [**swiftwave localregistry status**](./status) \ No newline at end of file diff --git a/docs/cli/localregistry/restart.md b/docs/cli/localregistry/restart.md new file mode 100755 index 0000000..c804a80 --- /dev/null +++ b/docs/cli/localregistry/restart.md @@ -0,0 +1,16 @@ +--- +id: restart +title: swiftwave localregistry restart +tags: + - CLI + - Local Image Registry +sidebar_position: 3 +--- + +Restart local image registry + +### Usage + +``` +swiftwave localregistry restart +``` diff --git a/docs/cli/localregistry/start.md b/docs/cli/localregistry/start.md new file mode 100755 index 0000000..fff7fe8 --- /dev/null +++ b/docs/cli/localregistry/start.md @@ -0,0 +1,17 @@ +--- +id: start +title: swiftwave localregistry start +tags: + - CLI + - Local Image Registry +sidebar_position: 1 +--- + + +Start local image registry + +### Usage + +``` +swiftwave localregistry start +``` \ No newline at end of file diff --git a/docs/cli/localregistry/status.md b/docs/cli/localregistry/status.md new file mode 100755 index 0000000..c39a07a --- /dev/null +++ b/docs/cli/localregistry/status.md @@ -0,0 +1,16 @@ +--- +id: status +title: swiftwave localregistry status +tags: + - CLI + - Local Image Registry +sidebar_position: 4 +--- + +Check status of local image registry + +### Usage + +``` +swiftwave localregistry status +``` diff --git a/docs/cli/localregistry/stop.md b/docs/cli/localregistry/stop.md new file mode 100755 index 0000000..8fd05fe --- /dev/null +++ b/docs/cli/localregistry/stop.md @@ -0,0 +1,16 @@ +--- +id: stop +title: swiftwave localregistry stop +tags: + - CLI + - Local Image Registry +sidebar_position: 2 +--- + +Stop local image registry + +### Usage + +``` +swiftwave localregistry stop +``` diff --git a/docs/cli/postgres/index.md b/docs/cli/postgres/index.md index d83b5c7..6480eb8 100755 --- a/docs/cli/postgres/index.md +++ b/docs/cli/postgres/index.md @@ -1,15 +1,15 @@ --- -id: swiftwave-postgres +id: postgres title: swiftwave postgres tags: - CLI - Database -sidebar_position: 12 +sidebar_position: 9 --- -Manage local postgres database (Only for standalone installation) [Not recommended] +Manage local postgres database ### Check available commands -- [**swiftwave postgres start**](/docs/cli/postgres/start) -- [**swiftwave postgres stop**](/docs/cli/postgres/stop) -- [**swiftwave postgres status**](/docs/cli/postgres/status) \ No newline at end of file +- [**swiftwave postgres start**](./start) +- [**swiftwave postgres stop**](./stop) +- [**swiftwave postgres status**](./status) \ No newline at end of file diff --git a/docs/cli/postgres/start.md b/docs/cli/postgres/start.md index c4baac5..28bd0ad 100755 --- a/docs/cli/postgres/start.md +++ b/docs/cli/postgres/start.md @@ -8,7 +8,7 @@ sidebar_position: 1 --- -Start local postgres database (Recommended only for standalone installations) +Start local postgres database ### Usage diff --git a/docs/cli/postgres/status.md b/docs/cli/postgres/status.md index eeeeb82..1f8acea 100755 --- a/docs/cli/postgres/status.md +++ b/docs/cli/postgres/status.md @@ -7,7 +7,7 @@ tags: sidebar_position: 3 --- -Check status of local postgres database (Recommended only for standalone installations) +Check status of local postgres database ### Usage diff --git a/docs/cli/postgres/stop.md b/docs/cli/postgres/stop.md index 9d81b8b..86cbb32 100755 --- a/docs/cli/postgres/stop.md +++ b/docs/cli/postgres/stop.md @@ -7,7 +7,7 @@ tags: sidebar_position: 2 --- -Stop local postgres database (Recommended only for standalone installations) +Stop local postgres database ### Usage diff --git a/docs/cli/service/index.md b/docs/cli/service/index.md index fc23f90..76ee4f2 100755 --- a/docs/cli/service/index.md +++ b/docs/cli/service/index.md @@ -1,15 +1,16 @@ --- -id: swiftwave-service +id: service title: swiftwave service tags: - CLI - Swiftwave Service -sidebar_position: 10 +sidebar_position: 8 --- Manage Swiftwave Daemon Service ### Check available commands -- [**swiftwave service enable**](/docs/cli/service/enable) -- [**swiftwave service disable**](/docs/cli/service/disable) -- [**swiftwave service status**](/docs/cli/service/status) \ No newline at end of file +- [**swiftwave service enable**](./enable) +- [**swiftwave service disable**](./disable) +- [**swiftwave service restart**](./restart) +- [**swiftwave service status**](./status) \ No newline at end of file diff --git a/docs/cli/service/restart.md b/docs/cli/service/restart.md index 7deea02..b5ba343 100755 --- a/docs/cli/service/restart.md +++ b/docs/cli/service/restart.md @@ -4,7 +4,7 @@ title: swiftwave service restart tags: - CLI - Swiftwave Service -sidebar_position: 4 +sidebar_position: 3 --- Restart swiftwave service diff --git a/docs/cli/service/status.md b/docs/cli/service/status.md index 5b749f5..12800bd 100755 --- a/docs/cli/service/status.md +++ b/docs/cli/service/status.md @@ -4,7 +4,7 @@ title: swiftwave service status tags: - CLI - Swiftwave Service -sidebar_position: 3 +sidebar_position: 4 --- Get status of swiftwave service diff --git a/docs/cli/setup.md b/docs/cli/setup.md deleted file mode 100755 index bad0f9d..0000000 --- a/docs/cli/setup.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: setup -title: swiftwave setup -tags: - - CLI -sidebar_position: 4 ---- - -Prepare the environment for installing SwiftWave. - -### Usage - -``` -swiftwave setup -``` - - diff --git a/docs/cli/snapshot.md b/docs/cli/snapshot.md new file mode 100644 index 0000000..5b741a8 --- /dev/null +++ b/docs/cli/snapshot.md @@ -0,0 +1,26 @@ +--- +id: snapshot +title: swiftwave snapshot +tags: + - CLI +sidebar_position: 14 +--- + +Take snapshot of Swiftwave. Can be helpful in disaster recovery. + +It will backup +- Swiftwave configuration +- Swiftwave data +- Swiftwave logs +- Swiftwave database +- Images of locally running image registry +- Uploaded codebases +- Data and configuration of Ingress Proxy + +### Usage + +``` +swiftwave snapshot +``` + +This will print the filename of the snapshot file. \ No newline at end of file diff --git a/docs/cli/start.md b/docs/cli/start.md index 73517d0..1444d52 100755 --- a/docs/cli/start.md +++ b/docs/cli/start.md @@ -3,7 +3,7 @@ id: start title: swiftwave start tags: - CLI -sidebar_position: 9 +sidebar_position: 7 --- Start swiftwave as a standalone process. @@ -14,11 +14,5 @@ Start swiftwave as a standalone process. swiftwave start ``` -**If you want to run swiftwave in development mode, run the following command:** - -``` -swiftwave start --dev -``` - ### Note -If you are looking to run swiftwave as a service, please refer to the [**service**](/docs/cli/service) command. +If you are looking to run swiftwave as a service, please refer to the [**service**](./service) command. diff --git a/docs/cli/tls/auto-renew/disable.md b/docs/cli/tls/auto-renew/disable.md deleted file mode 100644 index b6b9163..0000000 --- a/docs/cli/tls/auto-renew/disable.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: disable -title: swiftwave tls auto-renew disable -tags: - - CLI -sidebar_position: 2 ---- - -Disable Auto Renewal of TLS certificates for all domain registered for swiftwave service endpoints. - - -### Usage - -``` -swiftwave tls auto-renew disable -``` diff --git a/docs/cli/tls/auto-renew/enable.md b/docs/cli/tls/auto-renew/enable.md deleted file mode 100644 index 29ed6e4..0000000 --- a/docs/cli/tls/auto-renew/enable.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: enable -title: swiftwave tls auto-renew enable -tags: - - CLI -sidebar_position: 1 ---- - -Enable Auto Renewal of TLS certificates for all domain registered for swiftwave service endpoints. - -### Usage - -``` -swiftwave tls auto-renew enable -``` diff --git a/docs/cli/tls/auto-renew/index.md b/docs/cli/tls/auto-renew/index.md deleted file mode 100644 index efec3e4..0000000 --- a/docs/cli/tls/auto-renew/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: auto-renew -title: swiftwave tls auto-renew -tags: - - CLI -sidebar_position: 5 ---- - -Automated Service to renew TLS certificates for all domain registered for swiftwave service endpoints. -> It's not for renewing certificates for domain of hosted applications - -### Check available commands -- [**swiftwave tls auto-renew enable**](/docs/cli/tls/auto-renew/enable) -- [**swiftwave tls auto-renew disable**](/docs/cli/tls/auto-renew/disable) diff --git a/docs/cli/tls/generate-certificate.md b/docs/cli/tls/generate-certificate.md deleted file mode 100755 index fb3f705..0000000 --- a/docs/cli/tls/generate-certificate.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: generate-certificate -title: swiftwave tls generate-certificate -tags: - - CLI -sidebar_position: 3 ---- - -Generate TLS certificates for swiftwave endpoints - -> This command generates TLS certificates for swiftwave endpoints. - It's not for generating certificates for domain of hosted applications - -### Usage - -``` -swiftwave tls generate-certificate [flags] -``` - -### Flags - - -| Flag | Type | Default | Mandatory | Description | -|--------|------------------|---------|---------------------|-----------------------------------| -| --domain | string |
Will be picked from swiftwave configuration file, if not provided
|
| Domain name for which to generate the SSL certificate from Let's Encrypt | - diff --git a/docs/cli/tls/generate.md b/docs/cli/tls/generate.md new file mode 100755 index 0000000..192c848 --- /dev/null +++ b/docs/cli/tls/generate.md @@ -0,0 +1,20 @@ +--- +id: generate +title: swiftwave tls generate +tags: + - CLI +sidebar_position: 3 +--- + +Generate TLS certificate for swiftwave management node + +> This command generates TLS certificate for swiftwave endpoint. + It's not for generating certificate for domain of hosted applications + +It also enables TLS for swiftwave management node + +### Usage + +``` +swiftwave tls generate +``` diff --git a/docs/cli/tls/index.md b/docs/cli/tls/index.md index 89db0c1..e2dca58 100644 --- a/docs/cli/tls/index.md +++ b/docs/cli/tls/index.md @@ -3,13 +3,13 @@ id: tls title: swiftwave tls tags: - CLI -sidebar_position: 8 +sidebar_position: 6 --- Manage TLS for swiftwave service ### Check available commands -- [**swiftwave tls enable**](/docs/cli/tls/enable) -- [**swiftwave tls disable**](/docs/cli/tls/disable) -- [**swiftwave tls generate-certificate**](/docs/cli/tls/generate-certificate) -- [**swiftwave tls renew-certificates**](/docs/cli/tls/renew-certificates) \ No newline at end of file +- [**swiftwave tls enable**](./enable) +- [**swiftwave tls disable**](./disable) +- [**swiftwave tls generate**](./generate) +- [**swiftwave tls renew**](./renew) \ No newline at end of file diff --git a/docs/cli/tls/renew-certificates.md b/docs/cli/tls/renew-certificates.md deleted file mode 100644 index b8ffccd..0000000 --- a/docs/cli/tls/renew-certificates.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: renew-certificates -title: swiftwave tls renew-certificates -tags: - - CLI -sidebar_position: 4 ---- - -Renew TLS certificates for all domain registered for swiftwave service endpoints -> - It's not for renewing certificates for domain of hosted applications -> - It will only renew the certificates which are about to expire in 30 days - -### Usage - -``` -swiftwave tls renew-certificates -``` diff --git a/docs/cli/tls/renew.md b/docs/cli/tls/renew.md new file mode 100644 index 0000000..ad54ae0 --- /dev/null +++ b/docs/cli/tls/renew.md @@ -0,0 +1,15 @@ +--- +id: renew +title: swiftwave tls renew +tags: + - CLI +sidebar_position: 4 +--- + +Renew TLS certificate for the domain of swiftwave management node + +### Usage + +``` +swiftwave tls renew +``` diff --git a/docs/cli/tq/index.md b/docs/cli/tq/index.md new file mode 100644 index 0000000..07834d8 --- /dev/null +++ b/docs/cli/tq/index.md @@ -0,0 +1,17 @@ +--- +id: tq +title: swiftwave tq +tags: + - CLI + - Task Queue +sidebar_position: 13 +--- + +`tq` is a command to fix issues related to swiftwave task queue. No command of this command is required to run in normal circumstances. + +> Executing any of the commands in this command may result issues in swiftwave. + +### Check available commands +- [**swiftwave tq ls**](./ls) +- [**swiftwave tq inspect**](./inspect) +- [**swiftwave tq purge**](./purge) \ No newline at end of file diff --git a/docs/cli/tq/inspect.md b/docs/cli/tq/inspect.md new file mode 100644 index 0000000..4227035 --- /dev/null +++ b/docs/cli/tq/inspect.md @@ -0,0 +1,16 @@ +--- +id: inspect +title: swiftwave tq inspect +tags: + - CLI + - Task Queue +sidebar_position: 2 +--- + +Inspect a queue and print the messages of the queue. + +### Usage + +``` +swiftwave tq inspect +``` \ No newline at end of file diff --git a/docs/cli/tq/ls.md b/docs/cli/tq/ls.md new file mode 100644 index 0000000..4e52fb4 --- /dev/null +++ b/docs/cli/tq/ls.md @@ -0,0 +1,16 @@ +--- +id: ls +title: swiftwave tq ls +tags: + - CLI + - Task Queue +sidebar_position: 1 +--- + +List all the queues name. + +### Usage + +``` +swiftwave tq ls +``` \ No newline at end of file diff --git a/docs/cli/tq/purge.md b/docs/cli/tq/purge.md new file mode 100644 index 0000000..18a0bfc --- /dev/null +++ b/docs/cli/tq/purge.md @@ -0,0 +1,22 @@ +--- +id: purge +title: swiftwave tq purge +tags: + - CLI + - Task Queue +sidebar_position: 3 +--- + +Purge Task Queue + +### Usage + +If you like to **purge all queues**, you can use the following command. +``` +swiftwave tq purge all +``` + +If you like to **purge a specific queue**, you can use the following command. +``` +swiftwave tq purge +``` \ No newline at end of file diff --git a/docs/cli/update.md b/docs/cli/update.md index d9e6cb4..3eae9f8 100644 --- a/docs/cli/update.md +++ b/docs/cli/update.md @@ -3,7 +3,7 @@ id: update title: swiftwave update tags: - CLI -sidebar_position: 13 +sidebar_position: 12 --- Update Swiftwave to the latest minor version and hotfixes. @@ -15,3 +15,11 @@ Update Swiftwave to the latest minor version and hotfixes. ``` swiftwave update ``` + +:::tip + +Best practice is to enable swiftwave auto update service to keep Swiftwave up to date and secured. + +Check out [**swiftwave auto-update**](./auto-update) command for more information. + +::: \ No newline at end of file diff --git a/docs/cli/create-user.md b/docs/cli/user/create.md old mode 100755 new mode 100644 similarity index 51% rename from docs/cli/create-user.md rename to docs/cli/user/create.md index d7a0c9a..3d861b7 --- a/docs/cli/create-user.md +++ b/docs/cli/user/create.md @@ -1,6 +1,6 @@ --- -id: create-user -title: swiftwave create-user +id: user-create +title: swiftwave user create tags: - CLI sidebar_position: 6 @@ -11,13 +11,13 @@ Create a new user ### Usage ``` -swiftwave create-user [flags] +swiftwave user create [flags] ``` ### Flags -| Flag | Type | Default | Mandatory | Description | -|--------|------------------|---------|---------------------|-----------------------------------| +| Flag | Type | Default | Mandatory | Description | +| ---------- | ------ | ------------------- | ------------------ | --------------------------- | | --username | string |
--
|
| Username for new admin user | | --password | string |
--
|
| Password for new admin user | diff --git a/docs/cli/user/delete.md b/docs/cli/user/delete.md new file mode 100644 index 0000000..73289d9 --- /dev/null +++ b/docs/cli/user/delete.md @@ -0,0 +1,16 @@ +--- +id: user-delete +title: swiftwave user delete +tags: + - CLI +sidebar_position: 7 +--- + +Delete a user + +### Usage + + +``` +swiftwave user delete --username +``` \ No newline at end of file diff --git a/docs/cli/user/index.md b/docs/cli/user/index.md new file mode 100644 index 0000000..f10a2ba --- /dev/null +++ b/docs/cli/user/index.md @@ -0,0 +1,15 @@ +--- +id: user +title: swiftwave user +tags: + - CLI +sidebar_position: 5 +--- + +Manage admin users of SwiftWave + +### Usage + +``` +swiftwave user +``` \ No newline at end of file diff --git a/docs/cli/version.md b/docs/cli/version.md deleted file mode 100755 index 5a9bf01..0000000 --- a/docs/cli/version.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: version -title: swiftwave version -tags: - - CLI -sidebar_position: 16 ---- - -Print version of current Swiftwave installation - -### Usage - -``` -swiftwave version -``` diff --git a/docs/contribution_guideline.md b/docs/contribution_guideline.md index ead8e1e..b9a0ff2 100644 --- a/docs/contribution_guideline.md +++ b/docs/contribution_guideline.md @@ -11,12 +11,16 @@ First off, thanks for having interest in contributing to SwiftWave! 🎉 We have couple of projects under SwiftWave organization. You can contribute to any of them. -| Project | Description | Tech Stack | GitHub Link | Setup Guide | -| --- | --- | --- | --- | --- | -| SwiftWave | Core PaaS | Golang, Docker | [Click Here](https://github.com/swiftwave-org/swiftwave) | [Click Here](/docs/development_setup) | -| SwiftWave Dashboard | Web interface for SwiftWave. | VueJS, TailwindCSS | [Click Here](https://github.com/swiftwave-org/dashboard) | [Click Here](https://github.com/swiftwave-org/dashboard) | -| SwiftWave Docs + Landing Page | Official landing page and documentation website | Docusaurus | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | -| Quick DNS | Service to provide ***.swiftwave.xyz** domain for your swiftwave installation | Golang | [Click Here](https://github.com/swiftwave-org/dns) | [Click Here](https://github.com/swiftwave-org/dns) | +| Project | Description | Tech Stack | GitHub Link | Setup Guide | +| ----------------------------- | ------------------------------------------------------------------------------- | ------------------ | ------------------------------------------------------------- |---------------------------------------------------------------| +| SwiftWave | Core PaaS | Golang | [Click Here](https://github.com/swiftwave-org/swiftwave) | [Click Here](./development_setup) | +| Dashboard | Web interface for SwiftWave. | VueJS, TailwindCSS | [Click Here](https://github.com/swiftwave-org/dashboard) | [Click Here](https://github.com/swiftwave-org/dashboard) | +| UDPProxy | Custom UDP Proxy to forward UDP traffic from outside word to internal services. | Golang | [Click Here](https://github.com/swiftwave-org/udpproxy) | [Click Here](https://github.com/swiftwave-org/udpproxy) | +| Volume Toolkit | Custom tool to analyze volume size, handle backup and restore of volume. | Golang | [Click Here](https://github.com/swiftwave-org/volume-toolkit) | [Click Here](https://github.com/swiftwave-org/volume-toolkit) | +| Stats Ninja | Custom tool to record resource usage of all server and deployed applications. | Golang | [Click Here](https://github.com/swiftwave-org/stats-ninja) | [Click Here](https://github.com/swiftwave-org/stats-ninja) | +| SwiftWave Docs + Landing Page | Official landing page and documentation website | Docusaurus | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | +| Quick DNS | Service to provide ***.swiftwave.xyz** domain for your swiftwave installation | Golang | [Click Here](https://github.com/swiftwave-org/dns) | [Click Here](https://github.com/swiftwave-org/dns) | +| Distributions | Manages the hosting of Swiftwave Debian & RPM packages. | Python | [Click Here](https://github.com/swiftwave-org/distributions) | [Click Here](https://github.com/swiftwave-org/distributions) | ### 📝 How to Contribute to any of the project 1. Fork the repository @@ -35,5 +39,5 @@ We have couple of projects under SwiftWave organization. You can contribute to a - Please follow the [**Conventional Commit Message Guidelines**](https://www.conventionalcommits.org/en/v1.0.0/) while writing commit messages. ### 📌 Need Help? -- You can join our [**Slack Workspace**](https://slack.swiftwave.org/) and ask your queries in **#general** channel. - - Joining Link: [s**lack.swiftwave.org**](https://slack.swiftwave.org/) \ No newline at end of file +- You can join our Slack Workspace and ask your queries in **#general** channel. + - **Joining Link :** [slack.swiftwave.org](https://slack.swiftwave.org/) \ No newline at end of file diff --git a/docs/dashboard/application_details/actions.md b/docs/dashboard/application_details/actions.md new file mode 100644 index 0000000..64488e0 --- /dev/null +++ b/docs/dashboard/application_details/actions.md @@ -0,0 +1,34 @@ +--- +id: actions +title: Actions +sidebar_position: 10 +--- + +![Webhook CI](/assets/2.0.x/application-actions.png) + + +You can perform the following actions on the application from the **Actions** section. + - Restart the application + - Rebuild the application + - SSH to the application + + +## Restart the Application + +Click on **Restart** to restart the application. + +## Rebuild the Application + +Click on **Rebuild** to rebuild the application. If the application was deployed using any docker image, then while deployment it will try to fetch new image if it is available. + +## SSH to the Application + +Any point of time, if you need to SSH to the application, you can click on `Open Console` to open the SSH console. + +![SSH Init](/assets/2.0.x/application-ssh-select-server.png) + +After opening the web console, it will ask you to select the server. You need to provide the serial no of server to which you want to SSH. + +![SSH Console](/assets/2.0.x/application-ssh-console.png) + +After selecting the server, it will open the SSH console and you can run any command inside the application now. \ No newline at end of file diff --git a/docs/dashboard/application_details/analytics.md b/docs/dashboard/application_details/analytics.md new file mode 100644 index 0000000..5a4be40 --- /dev/null +++ b/docs/dashboard/application_details/analytics.md @@ -0,0 +1,9 @@ +--- +id: analytics +title: Analytics +sidebar_position: 2 +--- + +In **Analytics** section, you can see the resource usage of the application. The details include CPU, Memory, and Network usage. + +![Analytics](/assets/2.0.x/application-analytics.png) \ No newline at end of file diff --git a/docs/dashboard/application_details/application_update_source.md b/docs/dashboard/application_details/application_update_source.md index a5de68b..cac13fb 100644 --- a/docs/dashboard/application_details/application_update_source.md +++ b/docs/dashboard/application_details/application_update_source.md @@ -1,18 +1,16 @@ --- -id: update_source_code -title: Update Source Code -sidebar_position: 4 +id: update_app_source +title: Update App Source +sidebar_position: 7 --- -In **Update Source Code** section, you can update the source of the application. You can update the source of the application to deploy a new version of the application. +In **Update App Source** section, you can update the source of the application to deploy a new version of the application. -![Update Source Code](/assets/application-update-source.png) +![Update App Source](/assets/2.0.x/application-update-source.png) ### How to update source of the application ? - Change the source info of the application. -- Click on **`Re-Generate Configuration`** button. -- Then you can update generated Dockerfile. -- You can modify the build args as well. +- Change anything you want. - Click on **`Apply Changes`** button to update the source of the application. -> 📌 Note: If you have deployed your application using git config, currently you can't switch to docker image deployment or something else. In future, we will try to support this feature. \ No newline at end of file +> 📌 Note: If you have deployed your application using git, currently you can't switch to docker image deployment or something else. In future, we will try to support this feature. \ No newline at end of file diff --git a/docs/dashboard/application_details/danger_zone.md b/docs/dashboard/application_details/danger_zone.md deleted file mode 100644 index 5c77c3a..0000000 --- a/docs/dashboard/application_details/danger_zone.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: danger_zone -title: Danger Zone -sidebar_position: 9 ---- - -In **Danger Zone** section, you have some options which can lead to downtime of the application. So, be careful while using these options. - -![Danger Zone](/assets/application-danger-zone.png) - -### Restart Application - -To restart the application, click on the **Restart Application** button. This action will restart all instances of the application. - - -### Rebuild Application - -If you've updated your project's source code on GitHub/GitLab or in the Image Registry, tap on **Rebuild Application**. This will rebuild your application with the latest source code. - -> Note: If your application is configured to run multiple instances in the **Deployment Configuration**, there won't be downtime. However, with only one instance, expect a brief downtime. - - -### Delete Application - -To delete the application, tap on **Confirm & Delete Application**. This action deletes the application and all associated data. - -Handle these options with care, as they can impact application availability. 🚨 diff --git a/docs/dashboard/application_details/deployment_configuration.md b/docs/dashboard/application_details/deployment_configuration.md index 6c50ff5..5920bd4 100644 --- a/docs/dashboard/application_details/deployment_configuration.md +++ b/docs/dashboard/application_details/deployment_configuration.md @@ -1,15 +1,15 @@ --- id: deployment_configuration title: Deployment Configuration -sidebar_position: 7 +sidebar_position: 8 --- In **Deployment Configuration** section, you can *scale up* or *scale down* the application. -![Deployment Configuration](/assets/application-deployment-configuration.png) +![Deployment Configuration](/assets/2.0.x/application-deployment-configuration.png) **Deployment Modes -** - **Replicated Mode** - In this mode, you can specify the number of instances you want to run for the application. -- **Global Mode** - In this mode, each server of swiftwave will run one instance of the application. +- **Global Mode** - In this mode, each server registered under swiftwave will run one instance of the application. > 📌 Note: Currently you can't change the deployment strategy of the application. **Replicated** mode is suitable for most of the applications. If you don't know what to choose, then choose **Replicated** mode. \ No newline at end of file diff --git a/docs/dashboard/application_details/deployments.md b/docs/dashboard/application_details/deployments.md index 1cfb898..a109285 100644 --- a/docs/dashboard/application_details/deployments.md +++ b/docs/dashboard/application_details/deployments.md @@ -6,17 +6,20 @@ sidebar_position: 1 In **Deployments** section, you can see all the deployments of the application. You can check the status of the deployment and time of deployment at a glance. -![Deployment List](/assets/deployment-list.png) +![Deployment List](/assets/2.0.x/deployments.png) -But, you want to see more details about the deployment, you can click on the **Deployment Card** to see more details about the deployment. +But, you want to see more details about the deployment, you can click on the **Deployment** to see more details about the deployment. -Once you click on the **Deployment Card**, you will see the **Deployment Details** page like this: -![Deployment Details](/assets/deployment-details.png) +![Deployment Details](/assets/2.0.x/deployment-details.png) Here, you can see complete details about the deployment. You can also check deployment logs to figure out what went wrong. -> 📌 While deployment is live, +:::note + +📌 While deployment is live, - The *Deployment Logs* will be updated in realtime. - **Request Cancellation** button will be available to cancel the deployment, if due to any reason docker build stuck, you can cancel the deployment. - ![Deployment Cancel](/assets/cancel-deployment.png) \ No newline at end of file + ![Deployment Cancel](/assets/1.x.x/cancel-deployment.png) + +::: \ No newline at end of file diff --git a/docs/dashboard/application_details/destroy.md b/docs/dashboard/application_details/destroy.md new file mode 100644 index 0000000..b24457a --- /dev/null +++ b/docs/dashboard/application_details/destroy.md @@ -0,0 +1,14 @@ +--- +id: destroy +title: Destroy +sidebar_position: 10 +--- + +![Danger Zone](/assets/2.0.x/application-destroy.png) + + +### Delete Application + +To delete the application, tap on **Confirm & Delete Application**. This action deletes the application and all associated data. + +Handle these options with care, as this is irreversible action. diff --git a/docs/dashboard/application_details/environment_variables.md b/docs/dashboard/application_details/environment_variables.md index 6a595bb..d1af7e6 100644 --- a/docs/dashboard/application_details/environment_variables.md +++ b/docs/dashboard/application_details/environment_variables.md @@ -1,11 +1,11 @@ --- id: environment_variables title: Environment Variables -sidebar_position: 5 +sidebar_position: 6 --- In **Environment Variables** section, you can see all the environment variables of the application. You can add new environment variables, edit existing environment variables, and also can delete environment variables. -![Environment Variables](/assets/application-environment-variables.png) +![Environment Variables](/assets/2.0.x/application-environment-variables.png) The UI is pretty simple and self-explanatory. After you change something, click on **`Apply Changes`** button to save the changes. \ No newline at end of file diff --git a/docs/dashboard/application_details/index.md b/docs/dashboard/application_details/index.md index 37943c7..568810b 100644 --- a/docs/dashboard/application_details/index.md +++ b/docs/dashboard/application_details/index.md @@ -1,34 +1,35 @@ --- id: application_details title: 📋 Application Details -sidebar_position: 4 -toc_max_heading_level: 5 +sidebar_position: 7 --- In **Application Details**, you can see all the details about the application. You can check the status of the application, last time when it was updated, and the number of instances running for that application. -SwiftWave Dashboard +SwiftWave Dashboard On the right side, you can see realtime information about the count of active instances of the application. -#### ⏸️ Pause App +### ⏸️ Pause App If you like to make your application offline, you can pause the application. This will stop all the instances of the application and will free up the resources. -#### ▶️ Resume App +### ▶️ Resume App If you like to make your application online, you can resume the application. This will start all the instances of the application and you will be able to access the application within a few seconds. -#### 🏄‍♂️ Let's go through each section of the **Application Details** page. - -| Section | Page Link | -|---------|-----------| -| Deployments | [***Click Here***](/docs/dashboard/application_details/deployments) | -| Runtime Logs | [***Click Here***](/docs/dashboard/application_details/runtime_logs) | -| Ingress Rules | [***Click Here***](/docs/dashboard/application_details/ingress_rules) | -| Update Source Code | [***Click Here***](/docs/dashboard/application_details/update_source_code) | -| Environment Variables | [***Click Here***](/docs/dashboard/application_details/environment_variables) | -| Persistent Volumes | [***Click Here***](/docs/dashboard/application_details/persistent_volumes) | -| Deployment Configuration | [***Click Here***](/docs/dashboard/application_details/deployment_configuration) | -| Webhook CI | [***Click Here***](/docs/dashboard/application_details/webhook_ci) | -| Danger Zone | [***Click Here***](/docs/dashboard/application_details/danger_zone) | \ No newline at end of file +### 🏄‍♂️ Let's go through each section of the **Application Details** page. + +| Section | Page Link | +| ------------------------ |------------------------------------------------| +| Deployments | [***Click Here***](./deployments) | +| Analytics | [***Click Here***](./analytics) | +| Runtime Logs | [***Click Here***](./runtime_logs) | +| Ingress Rules | [***Click Here***](./ingress_rules) | +| Persistent Volumes | [***Click Here***](./persistent_volumes) | +| Environment Variables | [***Click Here***](./environment_variables) | +| Update App Source | [***Click Here***](./update_app_source) | +| Deployment Configuration | [***Click Here***](./deployment_configuration) | +| Webhook CI | [***Click Here***](./webhook_ci) | +| Actions | [***Click Here***](./actions) | +| Destroy | [***Click Here***](./destroy) | \ No newline at end of file diff --git a/docs/dashboard/application_details/ingress_rules.md b/docs/dashboard/application_details/ingress_rules.md index 8d0dbc5..bd4a82a 100644 --- a/docs/dashboard/application_details/ingress_rules.md +++ b/docs/dashboard/application_details/ingress_rules.md @@ -1,13 +1,11 @@ --- id: ingress_rules title: Ingress Rules -sidebar_position: 3 +sidebar_position: 4 --- In **Ingress Rules** section, you can find out all the associated ingress rules for the application. -![Ingress Rules](/assets/application-ingress-rules.png) +![Ingress Rules](/assets/2.0.x/application-ingress-rules.png) -To manage the ingress rules, click on `Manage Ingress Rules` button. - -This will take you to the **Ingress Rules** page where you can add, edit, and delete the ingress rules for the application. Check this docs for more details: [Ingress Rules](/docs/dashboard/ingress-rules). \ No newline at end of file +From V2, you can create or delete ingress rules for your application from this same page. \ No newline at end of file diff --git a/docs/dashboard/application_details/persistent_volumes.md b/docs/dashboard/application_details/persistent_volumes.md index c8cf94e..6eb4118 100644 --- a/docs/dashboard/application_details/persistent_volumes.md +++ b/docs/dashboard/application_details/persistent_volumes.md @@ -1,15 +1,15 @@ --- id: persistent_volumes title: Persistent Volumes -sidebar_position: 6 +sidebar_position: 5 --- In **Persistent Volumes** section, you can see all the persistent volumes of the application. You can add new persistent volumes, edit existing persistent volumes, and also can delete persistent volumes. -![Persistent Volumes](/assets/application-persistent-volume.png) +![Persistent Volumes](/assets/2.0.x/application-persistent-volumes.png) You can choose pre-registered persistent volume and provide a mount path. After you change something, click on **`Apply Changes`** button to save the changes. > **Mount Path** - The path where the persistent volume will be mounted inside the container of the application. -If you see the **Persistent Volume** select dropdown empty, that means you don't have any persistent volume registered. You can register a persistent volume by following [**this docs**](/docs/dashboard/persistent-volumes). \ No newline at end of file +If you see the **Persistent Volume** select dropdown empty, that means you don't have any persistent volume registered. You can create a new persistent volume in that case by tapping on the **Create New Persistent Volume** button. \ No newline at end of file diff --git a/docs/dashboard/application_details/runtime_logs.md b/docs/dashboard/application_details/runtime_logs.md index b0b3a99..f58003c 100644 --- a/docs/dashboard/application_details/runtime_logs.md +++ b/docs/dashboard/application_details/runtime_logs.md @@ -1,9 +1,13 @@ --- id: runtime_logs title: Runtime Logs -sidebar_position: 2 +sidebar_position: 3 --- In **Runtime Logs** section, you can see all the logs of the application. The logs are updated in realtime, so you don't have to refresh the page to check the latest logs. -![Runtime Logs](/assets/runtime-logs.png) \ No newline at end of file +![Runtime Logs](/assets/2.0.x/runtime-logs.png) + +By default, it will show live logs. It includes logs from last 1 minute. + +So, from the provided dropdown, you can change the timeframe of the logs. \ No newline at end of file diff --git a/docs/dashboard/application_details/webhook_ci.md b/docs/dashboard/application_details/webhook_ci.md index de5b348..a828670 100644 --- a/docs/dashboard/application_details/webhook_ci.md +++ b/docs/dashboard/application_details/webhook_ci.md @@ -1,14 +1,14 @@ --- id: webhook_ci title: Webhook CI -sidebar_position: 8 +sidebar_position: 9 --- You can manage the webhook CI of the application from the **Webhook CI** section. This **Webhook** can be used to trigger re-deployment of the application when the source code of the application is updated. -![Webhook CI](/assets/application-webhook-ci.png) +![Webhook CI](/assets/2.0.x/application-configure-webhook.png) **Regenerate Webhook Token** - You can regenerate the webhook URL by tapping on **Regenerate Webhook** button. If you have exposed the webhook URL to the public by mistake, then you can regenerate the webhook URL to make the old webhook URL invalid. diff --git a/docs/dashboard/applications.md b/docs/dashboard/applications.md index ba15a31..843d898 100644 --- a/docs/dashboard/applications.md +++ b/docs/dashboard/applications.md @@ -1,13 +1,13 @@ --- id: applications title: 📦 Applications -sidebar_position: 3 +sidebar_position: 6 --- In **Application List**, you can see all the applications that you have created. You can check the status of the application, last time when it was updated, and the number of instances running for that application. -SwiftWave Dashboard +SwiftWave Dashboard You can click on **`View Details`** button to see more details about the application. -Check out [**Application Details**](/docs/dashboard/application_details) to learn more about it. \ No newline at end of file +Check out [**Application Details**](./application_details) to learn more about it. \ No newline at end of file diff --git a/docs/dashboard/change_password.md b/docs/dashboard/change_password.md index 6525a2c..fd894d1 100644 --- a/docs/dashboard/change_password.md +++ b/docs/dashboard/change_password.md @@ -1,11 +1,11 @@ --- id: change_password title: 🔒 Change Password -sidebar_position: 11 +sidebar_position: 15 --- -To **change your password**, you can click on **Change Password** button in the sidebar. You will see a form like this: +To **change your password**, you can click on `Administration > Change Password` in the sidebar. You will see a form like this: -![Change Password](/assets/change-password.png) +![Change Password](/assets/1.x.x/change-password.png) You need to enter your current password and new password. Then, click on **Change Password** button and your password will be changed. \ No newline at end of file diff --git a/docs/dashboard/deploy_new_application.md b/docs/dashboard/deploy_new_application.md index 068f08e..669dd72 100644 --- a/docs/dashboard/deploy_new_application.md +++ b/docs/dashboard/deploy_new_application.md @@ -1,15 +1,13 @@ --- id: deploy_new_application title: 🔨 Deploy New Application -sidebar_position: 2 +sidebar_position: 3 --- -### 📝 Pre-requisites -Deploying with SwiftWave is a breeze – just bring your application's source code, and SwiftWave handles everything else. -**SwiftWave** effortlessly accommodates various application sources: -- 📦 Git Repository -- 🐳 Docker Image +In **SwiftWave** you can deploy your application from various sources. +- 📦 Git Repository (Supports both HTTP and SSH) +- 🐳 Docker Image Repository - If your code isn't on a Git or Image Repository, worry not! Simply choose your code folder and upload it. 📂 ### 🚀 Deploy Application @@ -17,20 +15,20 @@ Deploying with SwiftWave is a breeze – just bring your application's source co 2. Choose your application source (Git Repository, Docker Image, or Upload Code Folder) option. 3. Fill in the required details. 4. Click on `Generate Configuration` button. -5. You can choose to edit generated Dockerfile by clicking on `View/Modify Dockerfile` button. +5. You can choose to edit generated Dockerfile by clicking on `View/Modify Dockerfile` button. If you feel it detected some wrong services, you can change the detected service and choose another template. 6. Edit Build Arguments, if required. -7. Click on `Confirm & Proceed to Next Step` button. -8. At top, you can configure no of application instances you require. (You can also configure this later.) -9. Configure your application's environment variables. (You can also configure this later.) -10. You can also configure persistent storage for your application. (You can also configure this later.) -11. Click on `Confirm & Proceed to Next` button. -12. Click on `Click to Deploy` button. +7. Put the command, if you need to override the default command of dockerfile. +8. Click on `Confirm & Proceed to Next Step` button. +9. At top, you can configure no of application instances you require. (You can also configure this later.) +10. Configure your application's environment variables. (You can also configure this later.) +11. You can also configure persistent storage for your application. (You can also configure this later.) +12. Click on `Click to Confirm & Deploy` button. 13. Your application will be deployed in a few minutes. 🚀 14. You can check the build logs and status in the same page. ### 📚 Next Steps -- [**How to check details and manage a deployed application**](/docs/dashboard/application_details/) -- [**How to expose application to internet ?**](/docs/dashboard/ingress-rules) -- [**How to configure persistent storage ?**](/docs/dashboard/application_details/persistent_volumes) -- [**How to configure environment variables ?**](/docs/dashboard/application_details/environment_variables) +- [**How to check details and manage a deployed application**](./application_details/) +- [**How to expose application to internet ?**](./ingress-rules) +- [**How to configure persistent storage ?**](./application_details/persistent_volumes) +- [**How to configure environment variables ?**](./application_details/environment_variables) diff --git a/docs/dashboard/deploy_stack.md b/docs/dashboard/deploy_stack.md new file mode 100644 index 0000000..517b08d --- /dev/null +++ b/docs/dashboard/deploy_stack.md @@ -0,0 +1,35 @@ +--- +id: deploy_stack +title: 🔨 Deploy Stack +sidebar_position: 4 +--- + +![Deploy Stack](/assets/2.0.x/deploy-stack.png) + +In **SwiftWave**, you have also support to deploy multiple applications using stack file. + +This stack file has same format as docker stack file. Still it doesn't support all the features of docker stack file. + +#### Available Features + +| Name | Supported | +| --------------------- | --------- | +| services | Yes | +| image name | Yes | +| deploy mode | Yes | +| command | Yes | +| replicas | Yes | +| volumes | Yes | +| environment variables | Yes | +| cap_add | Yes | +| sysctls | Yes | +| ports | No | +| networks | No | +| depends_on | No | +| healthcheck | No | + +:::tip + +You can use ingress rules to expose your application to internet. + +::: \ No newline at end of file diff --git a/docs/dashboard/domains.md b/docs/dashboard/domains.md index db0e468..6036f13 100644 --- a/docs/dashboard/domains.md +++ b/docs/dashboard/domains.md @@ -1,12 +1,12 @@ --- id: domains title: 🌐 Domains -sidebar_position: 7 +sidebar_position: 10 --- In **Domains** section, you can manage all the custom domains you have added to swiftwave. -![Domains List](/assets/custom-domain-list.png) +![Domains List](/assets/2.0.x/domain-list.png) ### Register a new domain You can click on `Register New` button and fill in the required details to register a new domain. @@ -19,12 +19,18 @@ You can click on `Delete` button to delete a domain. > - no redirect rules linked to it ### Verify DNS -You can click on `Verify DNS` button to verify if domain is correctly pointing to swiftwave. -> Note: You shouldn't use any DNS proxy service like Cloudflare, etc. for your domain. If you are using any such service, you should disable it before verifying DNS. +You can click on `Verify DNS` button to verify if domain is correctly pointing to the proxy server. + +:::tip + +- If you are using cloudflare as your DNS provider, it is recommended to use DNS only mode while mapping your domain to the proxy server IP. +- If you want to use Cloudflare Proxy Mode, go to `Domain SSL/TLS Mode` section and mark `Encryption Mode` to `Full`. After this, all your application hosted on swiftwave should use `https` protocol in all ingress rules. + +::: ### Issue SSL Certificate 🛡️ Swiftwave has Let's Encrypt integration. You can issue a SSL certificate for your domain by clicking on `Issue SSL` button. ### SSL Auto Renewal -Swiftwave does not support SSL auto renewal yet. You will have to manually renew your SSL certificate every 90 days. You can do so by clicking on `Issue SSL` button. We will be adding SSL auto renewal feature soon. +From V2, Swiftwave supports SSL auto renewal. You don't need to worry about renewing your SSL certificate manually. diff --git a/docs/dashboard/git-credentials.md b/docs/dashboard/git-credentials.md index f98a487..7dd618b 100644 --- a/docs/dashboard/git-credentials.md +++ b/docs/dashboard/git-credentials.md @@ -1,14 +1,40 @@ --- id: git-credentials title: 🐙 Git Credentials -sidebar_position: 5 +sidebar_position: 8 --- In **Git Credentials** section, you can check all the saved Git Credentials. You can use these credentials while deploying an application from a Git Repository. -![Git Credentials List](/assets/git-credential-list.png) +![Git Credentials List](/assets/2.0.x/git-credential-list.png) + +Git Credentials vault now supports both HTTP and SSH authentication key. **You can** - **Add** a new Git Credential by clicking on `Add New` button. +- **View** a Git Credential by clicking on `View Details` button. +- **Edit** a Git Credential by clicking on `Edit Details` button. - **Delete** a Git Credential by clicking on `Delete` button. - > Note : You can only delete a Git Credential if it is not being used by any application. \ No newline at end of file + > Note : You can only delete a Git Credential if it is not being used by any application. + +#### Add HTTP Credential + +![Add HTTP Credential](/assets/2.0.x/add-http-credential.png) + +Choose the type as `HTTP` and fill in the required details. + +#### Add SSH Credential + +![Add SSH Credential](/assets/2.0.x/add-ssh-credential.png) + +Choose the type as `SSH` and fill in the required details. +- If you like to use your own private key, put that in OpenSSH format in the `Private Key` field. +- Else, leave that field empty and a new key will be generated for you. + +**View the public key** + +To view the public key, hit the `View Details` button after creating your SSH Git credential. + +![View SSH Credential](/assets/2.0.x/ssh-git-credential-details.png) + +You can add this key to your GitHub account and use it to access the private repository. \ No newline at end of file diff --git a/docs/dashboard/image-credentials.md b/docs/dashboard/image-credentials.md index baf99d2..3d58820 100644 --- a/docs/dashboard/image-credentials.md +++ b/docs/dashboard/image-credentials.md @@ -1,14 +1,15 @@ --- id: image-credentials title: 🐳 Image Credentials -sidebar_position: 6 +sidebar_position: 9 --- In **Image Credentials** section, you can check all the saved Image Registry Credentials. You can use these credentials while deploying an application from a Image Repository. -![Image Credentials List](/assets/image-registry-credential-list.png) +![Image Credentials List](/assets/2.0.x/image-registry-credential-list.png) **You can** - **Add** a new Image Registry Credential by clicking on `Add New` button. +- **Edit** an existing Image Registry Credential by clicking on `Edit Details` button. - **Delete** a Image Registry Credential by clicking on `Delete` button. > Note : You can only delete a Image Registry Credential if it is not being used by any application. \ No newline at end of file diff --git a/docs/dashboard/index.md b/docs/dashboard/index.md index 5062974..31cbd52 100644 --- a/docs/dashboard/index.md +++ b/docs/dashboard/index.md @@ -10,27 +10,31 @@ sidebar_position: 5 justifyContent: 'center', marginBottom: '2rem' }}> - SwiftWave Dashboard + SwiftWave Dashboard -SwiftWave Dashboard is a web-based interface to manage your applications, domains and all. It's the main management interface for SwiftWave. +SwiftWave Dashboard is a web-based interface for controlling all resources, including apps, domains, persistent volumes, and more. It is SwiftWave's main management interface. -> 📌 Note: SwiftWave Dashboard comes pre-bundled with SwiftWave. You don't need to install it separately. ## Sections of Dashboard -| Section | Description | Link | -| --- | --- | --- | -| 🔒 Log In | Log in to SwiftWave Dashboard | [***Click Here***](/docs/dashboard/log_in) | -| 🔨 Deploy New Application | Deploy new application on your server | [***Click Here***](/docs/dashboard/deploy_new_application) | -| 📦 Applications | List of all applications deployed on your server & manage them | [***Click Here***](/docs/dashboard/applications) | -| 📦 Persistent Volumes | List of all persistent volumes created on your server & manage them | [***Click Here***](/docs/dashboard/persistent-volumes) | -| 🐙 Git Credentials | Manage git credentials for your applications | [***Click Here***](/docs/dashboard/git-credentials) | -| 🐳 Image Credentials | Manage docker image credentials for your applications | [***Click Here***](/docs/dashboard/image-credentials) | -| 🌐 Domains | Manage custom domains, SSL for your applications | [***Click Here***](/docs/dashboard/domains) | -| 🚪 Ingress Rules | Manage exposed domains and routes for your applications | [***Click Here***](/docs/dashboard/ingress-rules) | -| 🔄 Redirect Rules | Manage domain redirection and HTTPS redirection for your applications | [***Click Here***](/docs/dashboard/redirect-rules) | -| 👥 Manage Users | Manage admin users for your hosted SwiftWave instance | [***Click Here***](/docs/dashboard/manage-users) | -| 🔒 Change Password | Change password for currently logged In user | [***Click Here***](/docs/dashboard/change_password) | +| Section | Description | Link | +| ---------------------------- | --------------------------------------------------------------------- |----------------------------------------------| +| 🔒 Log In | Log in to SwiftWave Dashboard | [***Click Here***](./log_in) | +| 🏪 Swiftwave App Store | Install apps in one click from the SwiftWave App Store | [***Click Here***](./swiftwave_app_store) | +| 🔨 Deploy Application | Deploy new application on your server | [***Click Here***](./deploy_new_application) | +| 🔨 Deploy Stack | Deploy application using stack file | [***Click Here***](./deploy_stack) | +| 📦 Persistent Volumes | List of all persistent volumes created on your server & manage them | [***Click Here***](./persistent-volumes) | +| 📦 Applications | List of all applications deployed on your server & manage them | [***Click Here***](./applications) | +| 📦 Application Details | View details of an application | [***Click Here***](./application_details) | +| 🐙 Git Credentials | Manage git credentials for your applications | [***Click Here***](./git-credentials) | +| 🐳 Image Registry Credentials | Manage docker image credentials for your applications | [***Click Here***](./image-credentials) | +| 🌐 Domains | Manage custom domains, SSL for your applications | [***Click Here***](./domains) | +| 🚪 Ingress Rules | Manage exposed domains and routes for your applications | [***Click Here***](./ingress-rules) | +| 🔄 Redirect Rules | Manage domain redirection and HTTPS redirection for your applications | [***Click Here***](./redirect-rules) | +| 🖥️ Manage Servers | Manage the onboarded servers for your SwiftWave instance | [***Click Here***](./manage-servers) | +| 👥 Manage Users | Manage admin users for your hosted SwiftWave instance | [***Click Here***](./manage-users) | +| 🔒 Change Password | Change password for currently logged In user | [***Click Here***](./change_password) | +| 🖥️ Manage System | Manage the system settings for your SwiftWave instance | [***Click Here***](./manage-system) | diff --git a/docs/dashboard/ingress-rules.md b/docs/dashboard/ingress-rules.md index f88074c..20a7614 100644 --- a/docs/dashboard/ingress-rules.md +++ b/docs/dashboard/ingress-rules.md @@ -1,12 +1,12 @@ --- id: ingress-rules title: 🚪 Ingress Rules -sidebar_position: 8 +sidebar_position: 11 --- In **Ingress Rules** section you can manage your ingress rules. You can add or delete ingress rules. -![Ingress Rules](/assets/ingress-rule-list.png) +![Ingress Rules](/assets/2.0.x/ingress-rule-list.png) ### 😅 Don't know what ingress rules are ? In layman's terms, ingress rules are the rules that will connect your domain to your application. @@ -17,27 +17,48 @@ For example, you have an web application (named **myapp**) running on port 3000 myapp.com [https] -> myapp:3000 ``` -### Add Ingress Rule +### Add Ingress Rule for Deployed Application To add an ingress rule, click on **Add New** button. You will see a form like this: -![Add Ingress Rule](/assets/add-ingress-rule.png) +![Add Ingress Rule](/assets/2.0.x/add-ingress-rule-application.png) You can choose the protocol your application required. - **HTTP**: You can choose any port for your application. It's recommended to use port 80 for HTTP. - **HTTPS**: Currently, only port 443 is supported. - > Note: To enable, **HTTPS Redirection**, you will have to create a redirect rule. You can follow [**this docs**](/docs/dashboard/redirect-rules#https-redirect) section to create a redirect rule. + > Note: To enable, **HTTPS Redirection**, you will have to create a redirect rule. You can follow [**this docs**](./redirect-rules#https-redirect) section to create a redirect rule. - **TCP**: If your application relies on TCP protocol, you can choose this option. You can choose any port for your application. > NOTE : In case of TCP, You don't need any domain. You can directly connect your application to your server's IP and port (you choose). - **UDP**: If your application relies on UDP protocol, you can choose this option. You can choose any port for your application. > NOTE : In case of UDP, You don't need any domain. You can directly connect your application to your server's IP and port (you choose). -Then, you can choose the domain you want to connect to your application. If you don't have any domain, you can add it in [**Domains**](/docs/dashboard/domains) section. +Then, you can choose the domain you want to connect to your application. If you don't have any domain, you can click on `Register New Domain` to add a new domain. -**Finally**, you can choose the application you want to connect to your domain. If you don't have any application, you can deploy one by following [**this docs**](/docs/dashboard/deploy_new_application) section. +**Finally**, you can choose the application you want to connect to your domain. Hurrah! You have successfully created an ingress rule. Now, you can access your application via your domain. It takes upto 1 minute to apply the changes. -> **Note :** If you have created an ingress rule for port except 80 and 443, you will have to wait for upto ~30 seconds to apply the changes. This is because, we have to reload HAProxy or UDPProxy and other services to expose the port. You should open the port in your server's firewall too. +> **Note :** If you have created an ingress rule for port except 80 and 443, you will have to wait for 1~2 minutes to see the effect. This is because, we have to reload HAProxy or UDPProxy and other services to expose the port. You should open the port in your server's firewall too. + + +### Add Ingress Rule for External Application + +You can use the integrated proxy in Swiftwave to expose certain applications to the outside world if you are unable to deploy them in swiftwave for some reason. + +:::info + +That external application should use this docker overlay network > `swiftwave_network` + +::: + +For that, click on **Add New** button. In the form, you will see a label `Need to expose some external services ?`. Click on it and you will see a form like this: + +![Add Ingress Rule](/assets/2.0.x/add-ingress-rule-external.png) + +From here, you can type the container / service name of that external application and create an ingress rule for it. + +Hurrah! + ### Delete Ingress Rule -To delete an ingress rule, click on **Delete** button. You will see a confirmation dialog. Confirm it and your ingress rule will be deleted. \ No newline at end of file +To delete an ingress rule, click on **Delete** button. You will see a confirmation dialog. Confirm it and your ingress rule will be deleted. + diff --git a/docs/dashboard/log_in.md b/docs/dashboard/log_in.md index 02d5698..d8ba9b8 100644 --- a/docs/dashboard/log_in.md +++ b/docs/dashboard/log_in.md @@ -6,17 +6,6 @@ sidebar_position: 1 When you will visit the dashboard for the first time, you will be asked to log in. -![Log In](/assets/log-in.png) +![Log In](/assets/2.0.x/log-in.png) -You can log in using the credentials of the user you created while installing the application. - -You can also **Create New User** from the CLI (if you have access to the server where you have installed swiftwave). - -**Steps -** -1. SSH into the server where you have installed swiftwave. -2. Run the following command to create a new user. - ```bash - sudo swiftwave create-user --username --password - ``` - - For more information, check out [**CLI Reference**](/docs/cli/create-user). +You can log in using the credentials, you created while setting up swiftwave. \ No newline at end of file diff --git a/docs/dashboard/manage-servers.md b/docs/dashboard/manage-servers.md new file mode 100644 index 0000000..95d5062 --- /dev/null +++ b/docs/dashboard/manage-servers.md @@ -0,0 +1,58 @@ +--- +id: manage-servers +title: 🖥️ Manage Servers +sidebar_position: 13 +--- + +![Manage Servers](/assets/2.0.x/server-management.png) + +## Onboard Server +1. Click the `Add Server` button +2. Put the IP Address of the server you want to add + + ![Add Server](/assets/2.0.x/add-server.png) + + :::tip + + If your server has no public or private IP address, you can use `127.0.0.1` as the IP Address. + + ::: +3. Click the `Register Server` button +4. Click on `Setup Server` to configure the server +5. Follow the instructions to configure the server + +## Server Analytics + +You can click on `Analytics` to view the server analytics. + +![Server Analytics](/assets/2.0.x/server-analytics.png) + +The server analytics page shows the following information: + +- CPU Usage +- Memory Usage +- Disk Usage +- Network Usage + +## Server Logs + +You can click on `View Logs` to view the server logs. + +![Server Logs](/assets/2.0.x/server-logs.png) + +It only has logs from actions that happen on that specific server. + +## Actions +You can perform the following actions on a server: + +![Server Actions](/assets/2.0.x/server-actions.png) + +All actions are self-explanatory. + +## Web Console + +Once you have successfully onboarded a server, you can SSH to server using the web console. + +Click on `View Actions > Web Console` to open the web console. + +![Web Console](/assets/2.0.x/server-web-console.png) \ No newline at end of file diff --git a/docs/dashboard/manage-system.md b/docs/dashboard/manage-system.md new file mode 100644 index 0000000..d5f3dbd --- /dev/null +++ b/docs/dashboard/manage-system.md @@ -0,0 +1,26 @@ +--- +id: manage-system +title: 🖥️ Manage System +sidebar_position: 16 +--- + +Under `Manage System` option of sidebar, you can have three options: +- System Logs +- System Configuration +- System Restart + +## System Logs + +You can click on `System Logs` to view the system logs. It have both normal and error logs. + +![System Logs](/assets/2.0.x/system-logs.png) + +## System Configuration + +You can click on `System Configuration` to view or modify the system configuration. + +![System Configuration](/assets/2.0.x/system-configuration.png) + +## System Restart + +To restart Swiftwave, click on "System Restart." There will be no downtime, and all of your applications will work as they do now. \ No newline at end of file diff --git a/docs/dashboard/manage-users.md b/docs/dashboard/manage-users.md index bb57e48..beba5b5 100644 --- a/docs/dashboard/manage-users.md +++ b/docs/dashboard/manage-users.md @@ -1,12 +1,12 @@ --- id: manage-users title: 👥 Manage Users -sidebar_position: 10 +sidebar_position: 14 --- In **Manage Users** section, you can manage all the users of your organization. -![Manage Users](/assets/manage-users.png) +![Manage Users](/assets/1.x.x/manage-users.png) **You can -** 1. **Create** a new user by clicking on `Create User` button. @@ -14,8 +14,10 @@ In **Manage Users** section, you can manage all the users of your organization. > We will be adding more roles for granular permission control soon. After clicking on `Create User` button, you will see a form like this: - ![Create User](/assets/create-user.png) + + ![Create User](/assets/1.x.x/create-user.png) Enter the required details and click on `Create` button. The user will be created. + 2. **Delete** a user by clicking on `Delete` button. - > **Note :** You can't delete your own account. \ No newline at end of file + > **Note :** You can't delete current logged in user. \ No newline at end of file diff --git a/docs/dashboard/persistent-volumes.md b/docs/dashboard/persistent-volumes.md index 869d422..385e929 100644 --- a/docs/dashboard/persistent-volumes.md +++ b/docs/dashboard/persistent-volumes.md @@ -1,19 +1,19 @@ --- id: persistent-volumes title: 📦 Persistent Volumes -sidebar_position: 4 +sidebar_position: 5 --- In **Persistent Volumes** section, you can see all the persistent volumes created across your cluster for your applications. -![Persistent Volume List](/assets/persistent-volumes.png) +![Persistent Volume List](/assets/1.x.x/persistent-volumes.png) ### Create a Persistent Volume 1. **Local Volume** Local volume is a volume that is created on the local storage of the node. It is not shared across the cluster. - Click on `Add New` button. - - ![Local Volume](/assets/create-local-volume.png) + - ![Local Volume](/assets/1.x.x/create-local-volume.png) - Choose a unique name for the volume and can't contain spaces. - Choose type `Local`. - Click on `Register` button and the volume will be created. @@ -22,13 +22,23 @@ In **Persistent Volumes** section, you can see all the persistent volumes create You can create a NFS volume to share the volume across the cluster and also to keep your data more reliable. - Click on `Add New` button. - - ![NFS Volume](/assets/create-nfs-volume.png) + - ![NFS Volume](/assets/1.x.x/create-nfs-volume.png) - Choose a unique name for the volume and can't contain spaces. - Choose type `NFS`. - Fillup NFS server details. > Note : Duly check the NFS server details before submitting. You can't change the NFS server details once the volume is created. - Click on `Register` button and the volume will be created. +3. **SAMBA Share / CIFS Volume** + You can mount a SAMBA share or CIFS volume to share the volume across the cluster and also to keep your data more reliable. + + - Click on `Add New` button. + - ![SAMBA Share / CIFS Volume](/assets/2.0.x/create-cifs-volume.png) + - Choose a unique name for the volume and can't contain spaces. + - Choose type `CIFS`. + - Fillup CIFS server details. + > Note : Duly check the CIFS server details before submitting. You can't change the CIFS server details once the volume is created. + - Click on `Register` button and the volume will be created. ### Delete a Persistent Volume Just click on `Delete` button to delete a persistent volume. @@ -41,14 +51,18 @@ You can click on `Fetch Size` button to fetch size of the persistent volume. 2. You can choose type of backup. - **Local** : The backup will be stored locally in the server itself. - **S3** : The backup will be stored in S3 bucket. You need to configure S3 beforehand to avail this feature. - > You can open swiftwave config by [`swiftwave config -e vim`](/docs/cli/config) command + :::tip + + TODO add system config page + + ::: 3. Submit to create backup. 4. You can open the backup history by `Show Backups` button to see the status of the backup. ### Backup History You can click on `Show Backups` button to see the backup history of the volume. -![Backup History](/assets/backup-history.png) +![Backup History](/assets/1.x.x/backup-history.png) - You can check status of old backups. - You can also download the backup file by clicking on `Download Backup` button. @@ -63,6 +77,6 @@ You can click on `Show Backups` button to see the backup history of the volume. ### Restore History You can click on `Restore History` button to see the restore history of the volume. -![Restore History](/assets/restore-history.png) +![Restore History](/assets/1.x.x/restore-history.png) - You can check status of all restores. \ No newline at end of file diff --git a/docs/dashboard/redirect-rules.md b/docs/dashboard/redirect-rules.md index c0d0e76..903b534 100644 --- a/docs/dashboard/redirect-rules.md +++ b/docs/dashboard/redirect-rules.md @@ -1,12 +1,12 @@ --- id: redirect-rules title: 🔄 Redirect Rules -sidebar_position: 9 +sidebar_position: 12 --- In **Redirect Rules** section you can manage your redirect rules. You can add or delete redirect rules. -![Redirect Rules](/assets/redirect-rule-list.png) +![Redirect Rules](/assets/1.x.x/redirect-rule-list.png) ### 😅 Don't know what redirect rules are ? In layman's terms, redirect rules are the rules that will redirect your domain to another URL. @@ -17,7 +17,7 @@ In layman's terms, redirect rules are the rules that will redirect your domain t ### Add Redirect Rule It's very easy to add a redirect rule. Just click on **Add New** button and you will see a form like this: -![Add Redirect Rule](/assets/create-redirect-rule.png) +![Add Redirect Rule](/assets/2.0.x/create-redirect-rule.png) 1. Choose the protocol (http/https) and domain you want to redirect. 2. Choose the url where you want to redirect your domain. diff --git a/docs/dashboard/swiftwave_app_store.md b/docs/dashboard/swiftwave_app_store.md new file mode 100644 index 0000000..414a2b7 --- /dev/null +++ b/docs/dashboard/swiftwave_app_store.md @@ -0,0 +1,29 @@ +--- +id: swiftwave_app_store +title: 🏪 Swiftwave App Store +sidebar_position: 2 +--- + + +
+ app-store.png +
+ + + +From Swiftwave App Store, you can install any app in few clicks. + +### Steps to install any app from Swiftwave App Store +1. Go to Swiftwave App Store +2. Search for the app you want to install +3. Click on the app you want to install +4. Click the variant you want to install +5. Click the install button +6. Fill up the required details +7. Configure the ingress rules. You can also ignore those by tapping on the cross icon +8. Click on the install button +9. That's it! \ No newline at end of file diff --git a/docs/development_setup.md b/docs/development_setup.md index 38082b4..39876dc 100644 --- a/docs/development_setup.md +++ b/docs/development_setup.md @@ -7,87 +7,57 @@ sidebar_position: 7 Let's get started with SwiftWave Development Setup! ## 📦 Pre-requisites -1. A Virtual Server with Debian, Ubuntu, Fedora OS or their derivatives installed. -2. Virtual Server should have at least 1GB RAM and 1vCPU. -3. Install curl, git, unzip and tar utilities. +1. You need a linux system for development of SwiftWave. +2. Install curl, git, unzip and tar utilities. ```bash # For Debian/Ubuntu based distros: - sudo apt install curl git unzip tar + sudo apt install curl git unzip tar make # For Fedora based distros: - sudo dnf install curl git unzip tar + sudo dnf install curl git unzip tar make ``` -4. Install docker (Skip this step if you already have docker installed) +3. Install docker (Skip this step if you already have docker installed) ```bash - curl -fsSL https://get.docker.com -o get-docker.sh - sudo sh get-docker.sh + curl -fsSL https://get.docker.com | sudo bash - ``` - > 📌 Note: As RHEL doesn't support docker, SwiftWave doesn't support RHEL based distros. -5. Install Golang by following [this guide](https://golang.org/doc/install) -6. Install NodeJS by following [this guide](https://deb.nodesource.com/) -7. You are all set! 🎉 +4. Install Golang by following [this guide](https://golang.org/doc/install) +5. Install NodeJS by following [this guide](https://deb.nodesource.com/) +6. You are all set! 🎉 ## 📥 Local Installation 1. Fork and clone SwiftWave repository ```bash git clone git@github.com:/swiftwave.git --recursive ``` -2. Build SwiftWave dashboard +2. Build SwiftWave & Dashboard ```bash - npm install - npm run build:dashboard + make ``` -3. Initialize Docker Swarm - ```bash - sudo docker swarm init - ``` -4. Move to sudo user - ```bash - sudo su - ``` -5. Set the go module path, as sudo user you may not have access to your user's go module path. - ```bash - export PATH=$PATH:/usr/local/go/bin - ``` -6. Initialize SwiftWave configuration. Run following command and provide required information. - ```bash - go run . init - ``` - > Note: If it ask for address for SwiftWave / Current Node, put **0.0.0.0** or **127.0.0.1** or **Local IP of your system**. -7. Prepare Environment for SwiftWave - ```bash - go run . setup - ``` -8. Run Local Postgres Database - ```bash - go run . postgres start - ``` -9. Migrate Database Tables - ```bash - go run . db-migrate - ``` -10. Disable TLS for SwiftWave Development Setup - ```bash - go run . tls disable - ``` -11. Start HaProxy Service - ```bash - go run . haproxy start - ``` -12. Start UDP Proxy Service - ```bash - go run . udpproxy start - ``` -13. Create a new admin user with username **admin** and password also **admin** +3. Generate the SwiftWave configuration file + ```bash + sudo ./swiftwave init + ``` + :::tip + + Use `localhost` as the domain name for management node. + + ::: +4. Enable development mode ```bash - go run . create-user -u admin -p admin + sudo ./swiftwave config -e vim ``` -14. Start SwiftWave + Change `dev_mode` to `true` in the configuration file and save it. +5. Start SwiftWave ```bash - go run . start --dev + sudo ./swiftwave start ``` -15. 🎉 Congratulations! You have successfully setup SwiftWave for local development -16. You can now access SwiftWave at `http://localhost:3333` + :::warning + + Use a real email address in the setup process, else swiftwave may face failure to register account in Let's Encrypt. + + ::: +6. 🎉 Congratulations! You have successfully setup SwiftWave for local development +7. You can now access SwiftWave at `http://localhost:3333` ## Access GraphQL Playground 1. Use Login Endpoint for generating a JWT Token. diff --git a/docs/getting_started.md b/docs/getting_started.md deleted file mode 100644 index 4b163b6..0000000 --- a/docs/getting_started.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -id: getting_started -title: 🚀 Getting Started -sidebar_position: 4 ---- - -Let's get started with SwiftWave! -Let's first install SwiftWave on your server. Because without SwiftWave, you can't deploy your applications. 😅 - -## 📦 Pre-requisites -1. A Virtual Server with Debian, Ubuntu, Fedora OS or their derivatives installed. -2. Virtual Server should have at least 1GB RAM and 1vCPU. -3. Install curl, git, unzip and tar utilities. - ```bash - # For Debian/Ubuntu based distros: - sudo apt update -y - sudo apt install curl git unzip tar nfs-common -y - - # For Fedora based distros: - sudo dnf install curl git unzip tar nfs-utils - ``` -4. Install docker (Skip this step if you already have docker installed) - ```bash - curl -fsSL https://get.docker.com -o get-docker.sh - sudo sh get-docker.sh - ``` - > 📌 Note: As RHEL doesn't support docker, SwiftWave doesn't support RHEL based distros. -5. You are all set! 🎉 - -## 📥 Installation -1. SSH into your server. - -2. Download SwiftWave binary - - For **AMD64** Architecture - ```bash - curl -L https://github.com/swiftwave-org/swiftwave/releases/download/1.0.5/swiftwave-1.0.5-linux-amd64.tar.gz -o swiftwave.tar.gz - ``` - - For **ARM64** Architecture - ```bash - curl -L https://github.com/swiftwave-org/swiftwave/releases/download/1.0.5/swiftwave-1.0.5-linux-arm64.tar.gz -o swiftwave.tar.gz - ``` - - For **386** Architecture - ```bash - curl -L https://github.com/swiftwave-org/swiftwave/releases/download/1.0.5/swiftwave-1.0.5-linux-386.tar.gz -o swiftwave.tar.gz - ``` -3. Extract the gzip archive - ```bash - tar -xzf swiftwave.tar.gz - ``` -4. Make swiftwave binary executable - ```bash - chmod +x swiftwave - ``` -5. Move swiftwave binary to /usr/bin - ```bash - sudo mv swiftwave /usr/bin/swiftwave - ``` -6. 🕒 Time for setup! -7. Initialize Docker Swarm - ```bash - sudo docker swarm init - ``` -8. Initialize SwiftWave configuration. Run following command and provide required information. - ```bash - sudo swiftwave init - ``` -9. Prepare Environment for SwiftWave - ```bash - sudo swiftwave setup - ``` -10. Run Local Postgres Database - ```bash - sudo swiftwave postgres start - ``` -11. Migrate Database Tables - ```bash - sudo swiftwave db-migrate - ``` -12. Generate SSL certificate for primary domain - ```bash - sudo swiftwave tls generate-certificate - ``` - :::tip - If you are installing in a system which doesn't have any public ip, then you can skip this step and disable tls. - - Run the following command to disable tls. - ```bash title="Disable TLS" - sudo swiftwave tls disable - ``` - ::: -13. Start HAProxy Service - ```bash - sudo swiftwave haproxy start - ``` -14. Start UDP Proxy Service - ```bash - sudo swiftwave udpproxy start - ``` -15. Start SwiftWave Service - ```bash - sudo swiftwave service enable - ``` -16. Enable auto updater for SwiftWave - ```bash - sudo swiftwave auto-updater enable - ``` -17. Enable auto renew service for service TLS certificates - ```bash - sudo swiftwave tls auto-renew enable - ``` -18. Create a new admin user - ```bash - sudo swiftwave create-user --username --password - ``` -19. 🎉 Congratulations! SwiftWave is now installed on your server. -20. You can now access SwiftWave at `https://:3333` - -:::info - -You have forget or missed the auto-generated domain 😅 anyhow ? This is how you can get it back. - - Suppose your server IP is `3.5.12.13`, then your domain will be `ip-3-5-12-13.swiftwave.xyz` - - You have added a custom domain `example.com`, then you can use that domain to access it on https://example.com:3333. - - Other way is open the config file by this command - ```bash - sudo swiftwave config -e vim - ``` - and check the `service.address_of_current_node` field in the config file. - -::: diff --git a/docs/index.md b/docs/index.md index 1554565..120b011 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,35 +4,30 @@ title: 🌟 Introduction sidebar_position: 1 --- -### 🌊 **SwiftWave: Your Hassle-Free PaaS Solution** +### 🌊 **SwiftWave: Simple Lightweight PaaS Solution** -SwiftWave is a self-hosted, lightweight PaaS solution designed to effortlessly deploy and manage your applications on any VPS 🚀. With SwiftWave, simplicity is key - just give it a command, and it takes care of the rest for you! 👀 +SwiftWave is a self-hosted, lightweight PaaS solution for easily deploying and managing your applications on any VPS 🚀. It's an open-source alternative to Heroku, Netlify, and Render. -Built on robust foundations: +You can install swiftwave in bare metal, Raspberry Pi, in any VPS(Hetzner, DigitalOcean, Linode, AWS, GCP etc.). Swiftwave and its dependencies are compatible with AMD64, ARM64 and ARMv7 architectures and compatible with Debian/Ubuntu/Raspbian OS/Fedora/CentOS/AlmaLinux/RockyLinux etc. -- 🐳 **Docker Swarm**: Ensuring seamless container orchestration. -- 🔄 **HaProxy**: Providing reliable and flexible load balancing. -- 🔐 **Let's Encrypt**: Securing your applications with automatic SSL certificates. -Experience the ease of deployment and management with SwiftWave! 🌊 +Once installed, you can +- Install app from app store in one click +- Deploy your own app from any kind of + - git repository + - docker image repository +- Even you can upload the source code from your local machine to swiftwave +- Add ingress rules to point your domain to your app +- Monitor your app's performance +- Scale your app easily -### 🏰 System Architecture Overview - +**Swiftwave's core components -** -### 🚀 Deployment Options -- **Source Freedom**: Deploy your app from any git source (Github, Gitlab, etc.) 🌐 (Supports public and private repositories) -- **Container Convenience**: Deploy from any Docker image registry (Docker Hub, Github Container Registry, etc.) 🐳 (Supports public and private repositories) -- **No Repo, No Problem**: Upload source code directly from your computer 🖥️ +- **Swiftwave Daemon** - This is the heart of the SwiftWave. +- **HAProxy** - This is responsible for handling TCP/HTTP/HTTPS traffic, load balancing and SSL termination. +- **UDPPRoxy** - This is [custom built tool](https://github.com/swiftwave-org/udpproxy) to handle UDP traffic. +- **Volume Toolkit** - This is a [custom built tool](https://github.com/swiftwave-org/volume-toolkit) to perform various operations like size calculation, snapshot creation, restoration of persistent volumes, etc. +- **Stats Ninja** - This is again a [custom built tool](https://github.com/swiftwave-org/stats-ninja) to record resource usage of server and deployed applications. +- **App Store Metadata** - [https://github.com/swiftwave-org/app-store](https://github.com/swiftwave-org/app-store) . This contains all the metadata of one click apps. -### ⚙️ Application Management -- **Effortless Updates**: Update your application seamlessly with one click, no downtime ⏫ -- **Version Control**: Rollback to any previous version effortlessly with one click ⬅️ -- **Flexible Restart**: Restart your application at your convenience 🔄 -- **Scaling Made Easy**: Scale your application effortlessly with just one click 🔍 -- **Log Insight**: Easily check logs for your application 📋 -- **Backup & Restore**: Backup and restore your application with just one click 🔄 - -### 🛣️ Traffic Control -- **Custom Domains**: Add custom domains and auto-issue SSL certificates with just one click 🔒 -- **Traffic Routing**: Effortlessly route traffic to your application 🚦 -- **Redirect Magic**: Redirect a domain to another URL if needed ↩ \ No newline at end of file +We will know more about each things in the next section. \ No newline at end of file diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..7d1e4b9 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,163 @@ +--- +id: installation +title: ⚒️ Installation +sidebar_position: 3 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Let's get started with SwiftWave! It will not take more than 10 minutes to install SwiftWave on your server. + +## 📦 Pre-requisites + +1. A Linux System with at-least 1GB RAM and 1vCPU. +2. Install some utilities like curl, git, unzip and tar. + + + ```bash + sudo apt update -y + sudo apt install curl git unzip tar -y + ``` + + + ```bash + sudo dnf install curl git unzip tar + ``` + + + +3. Install docker (Skip this step if you already have docker installed) + + + ```bash + curl -fsSL https://get.docker.com | sudo bash - + ``` + + + ```bash + curl -fsSL https://get.docker.com | sudo bash - + sudo systemctl enable docker.service + sudo systemctl enable containerd.service + sudo systemctl start docker.service + sudo systemctl start containerd.service + ``` + + +4. You are all set! 🎉 + +## 📥 Installation +1. SSH into your server. +2. Run below commands to install SwiftWave. + + + Add Swiftwave Repository + ```bash + sudo mkdir -p /etc/apt/keyrings + sudo mkdir /root/.gnupg + sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/swiftwave.gpg --keyserver keyserver.ubuntu.com --recv-keys DD510C86CD3F6764 + echo "deb [signed-by=/etc/apt/keyrings/swiftwave.gpg] http://deb.repo.swiftwave.org/ swiftwave stable" | sudo tee /etc/apt/sources.list.d/swiftwave.list + ``` + Install SwiftWave + ```bash + sudo apt update -y + sudo apt install swiftwave -y + ``` + + + Add Swiftwave Repository + ```bash + sudo dnf config-manager --add-repo http://rpm.repo.swiftwave.org/swiftwave.repo + ``` + Install SwiftWave + ```bash + sudo dnf install swiftwave -y + ``` + + +3. Initialize SwiftWave configuration. + ```bash + sudo swiftwave init + ``` + :::info + + During this step, it will ask a domain name for management node. + + - If your server has a public IP, you can just use the default domain suggested by SwiftWave at that step. If you have any custom domain, you can point that domain to your server IP and use that domain name also. + - If you are just trying out in local system and doesn't have any public IP, just use `localhost` as domain name. + + ::: + + :::tip + + If you like to change the configuration or use a remotely hosted postgres database, you can run the following command and change the yaml configuration file manually. + + ```bash + sudo swiftwave config -e vim + ``` + + ::: + +4. Start Swiftwave for Setup + ```bash + sudo swiftwave start + ``` +5. Open the printed URL in your browser. + - Provide a new username and password for the first admin user. + - Provide a valid email address. *Don't use any fake or temporary email address.* + - Provide other infos (if required to change) + - Submit it ! + - Come back to terminal. +6. Start Swiftwave Service + ```bash + sudo swiftwave service enable + ``` + After this step, you can access Swiftwave dashboard at the same URL you opened in the previous step. +7. (optional) Generate SSL certificate for swiftwave dashboard + :::info + + If you have used `localhost` as domain name for management node, skip this step. + + ::: + ```bash + sudo swiftwave tls generate + ``` + + Now, use `https` for dashboard URL. + +8. (optional) Enable Auto Updater for SwiftWave + ```bash + sudo swiftwave auto-update enable + ``` +9. 🎉 Congratulations! SwiftWave is now installed on your server. +10. Let's move to the next section to onboard your server to SwiftWave. + +## 🖥️ Onboard Server +1. Log-in to SwiftWave Dashboard +2. Navigate to `Server Management` page and click on `Add Server` button. +3. In `Server IP` put the public / private IP of your server. If your server has no public IP, put `127.0.0.1` as IP. +4. Click on `Setup Server` button. +5. Follow the generated instructions on the dashboard. + :::info + + You may be presented with the option to specify the advertiser IP address for the Docker swarm in the very last step. This occurs when a server is assigned multiple IP addresses. In such a circumstance, you should select the public IP address or private IP address generated by the cloud provider for your server. + + ::: +6. Wait 1 minute and refresh the list. +7. After setup is complete, click on `View Actions` and click on `Enable Ingress Proxy`, keep the default values and submit. It will take upto 5 minutes. + :::info + + To verify that the ingress proxy is configured properly, open your web browser and navigate to the IP address of your server. The error code '502 Bad Gateway' should be displayed. + + ::: +8. 🎉 Congratulations! Your server is now onboarded to SwiftWave. +9. Now, you can start using 🚀 SwiftWave. + +## 📊 Setup Resource Monitoring + +SwiftWave comes with a built-in monitoring system that allows you to track the resource usage of servers and applications. + +To enable monitoring, follow these steps: +1. Log-in to SwiftWave Dashboard +2. Navigate to `Server Management` page. +3. Click on `View Actions` and click on `Setup Resource Monitoring`. +4. Follow the generated instructions to complete the setup. \ No newline at end of file diff --git a/docs/manifesto.md b/docs/manifesto.md deleted file mode 100644 index bf063d2..0000000 --- a/docs/manifesto.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -id: manifesto -title: 🌱 SwiftWave Manifesto -sidebar_position: 3 ---- - -SwiftWave, our self-hosted PaaS marvel, is here to make deploying and managing your applications on any VPS a breeze! 🌐 - -**Our Goals:** -- **Simplicity**: We're all about keeping things simple. SwiftWave makes it a cakewalk for everyone to deploy their applications on a VPS. -- **Lightweight**: Minimal resource usage is our mantra. Deploy multiple applications on a single VPS? Absolutely doable with SwiftWave. -- **Open Source**: SwiftWave is for everyone. Contribute, deploy on your server – the power is in your hands. -- **Scalability**: Click, and voila! Scale your application seamlessly without a hint of downtime. - -**Target Users:** -- Students 🎓 -- Developers 👩‍💻👨‍💻 -- Hobbyists 🎨 -- Small Businesses 🏢 - -We're not here for the big companies. Looking to deploy a massive application with lakhs of concurrent users? SwiftWave might not be correct choice for you. - -SwiftWave is designed with two modes to cater to both small and medium-sized applications. - -| Service | SwiftWave Standalone | SwiftWave Cluster | -| ------------- | --------------------- | ------------------ | -| Postgresql | Local or Remote | Remote | -| Job Queue | Local (SwiftWave) | RabbitMQ | -| PubSub | Local (SwiftWave) | Redis | - -In standalone mode, configure with any remote postgres, rabbitmq, or redis. But in cluster mode, it's a must to go remote for postgres, rabbitmq, and redis. - -This architecture keeps resource usage low for small apps and scales effortlessly for medium-sized ones with SwiftWave's cluster mode. - -No matter what, we're committed to keeping it simple and lightweight. - -Picture this: on a 1GB RAM 1vCPU VPS, SwiftWave lets you deploy 2-3 applications with ease. Small businesses? They can confidently deploy their applications with SwiftWave's cluster mode. Let's keep it swift, simple, and sensational! 🚀🌟 \ No newline at end of file diff --git a/docs/support_us.md b/docs/support_us.md index 84caf75..8697274 100644 --- a/docs/support_us.md +++ b/docs/support_us.md @@ -6,12 +6,11 @@ sidebar_position: 8 ### Your Support Keeps Us Thriving 🚀 -SwiftWave is an exciting early-stage project, and we're eager to enhance it with your support. There are various ways you can contribute to the growth and success of SwiftWave: +SwiftWave is an exciting project, and we're eager to enhance it with your support. There are various ways you can contribute to the growth and success of SwiftWave: -1. **Use SwiftWave in Your Projects** : Utilize SwiftWave for your projects and provide valuable feedback. Your input is crucial in refining and perfecting our platform. +1. **Use SwiftWave for Your Projects** : Use Swiftwave to deploy and manage your projects. 2. **Contribute to the Open Source Community** : Join our open-source community by contributing your skills. Whether you're fixing bugs, adding features, enhancing documentation, or creating content like articles and videos, your contributions are highly welcome. -3. **Sponsor SwiftWave**: Financial support is pivotal in keeping the development momentum alive. You can sponsor us on [**@GitHub Sponsors**](https://github.com/sponsors/tanmoysrt). Your sponsorship enables us to continue innovating and working on exciting new projects. - +3. **Sponsor SwiftWave**: Financial support is important in keeping the development momentum alive. You can sponsor us on [**@GitHub Sponsors**](https://github.com/sponsors/tanmoysrt). Your assistance enables Swiftwave to keep improving every day. ### Show Your Love: Star SwiftWave on GitHub ⭐ Let's spread the word and keep the motivation flowing! Give SwiftWave a star on GitHub to make it more discoverable and to express your support. diff --git a/docs/why_swiftwave.md b/docs/why_swiftwave.md index 62e0a64..1dd0ca6 100644 --- a/docs/why_swiftwave.md +++ b/docs/why_swiftwave.md @@ -4,28 +4,22 @@ title: 🌊 Why SwiftWave ? sidebar_position: 2 --- -Hey there! 🚀 Ever wondered why there's yet another PaaS cloud orchestration tool in the sea of options? Let's dive into the story behind SwiftWave. +Let us learn a little bit about the motivation behind the creation of a product like Swiftwave. -In a world of k8s, k3s, and various orchestrators designed for the big league, what about the small players? Not everyone needs a massive k8s cluster for a petite application. I mean, seriously, a k8s master node demands 2GB of RAM and 2 vCPUs just for starters! ([**Ref**](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)) That's a bit much, especially if you're just starting out and finding your feet. +To deploy your apps, you will have usually two choices: either deploy using any PaaS (Netlify / Vercel / Heroku / Render) or do deployments manually in a VPS. -Sure, Linux-savvy folks can deploy on a VPS, but manual configurations galore! Docker installs, nginx/haproxy setups, SSL certificates – it's no one-minute job, trust me. +The first choice is simple but has a cost tag. Second one takes more time to set up and maintain even if it is less expensive and requires Linux and reverse proxy knowledge. -And then, SwiftWave emerged – a PaaS solution that's a breeze to use and feather-light. 🌟 +You can run three to four apps in parallel using Swiftwave Stack on a five dollar Hetzner instance. The cost of doing the same on Proprietary PaaS will be at least 10x higher. -While other solutions are hogging over 2GB of RAM, the SwiftWave + HaProxy + Postgres combo only sips on a modest 250MB of RAM. You can run a couple of applications smoothly in a 1GB RAM VPS without breaking a sweat. +Some great PaaS systems use K8s and K3s, which are expensive to operate and demand a lot of resources (the master node alone needed 2GB of RAM and 2vCPU). It might not be appropriate for small businesses, hobbyists, or students. -| Service | Ram Usage | -| --------- | ---------- | -| SwiftWave | ~40MB | -| HaProxy | ~120MB | -| Postgres | ~70MB | +So, we plan to develop a PaaS that is as easy to use as a proprietary PaaS while also being lightweight and simple to use and manage. -💸 Not to mention, most platforms charge a pretty penny for application deployment – think around $25 per month for a 512MB RAM. SwiftWave, on the other hand, lets you deploy in a 1GB RAM VPS for just $5 a month! +Yup ! **Swiftwave** is the result of that initiative. -Here's the kicker! 🎓 For students, we've got you covered. Grab those free digitalocean credits, AWS credits, or tap into the GitHub education plan. Use those credits to deploy your application on a 1GB RAM VPS for free! Oracle Cloud even tosses in 4 OCPU and 24GB RAM for a lifetime – no need to open your wallet for your application deployment. +**Swiftwave** has very less memory footprint and has all important features that you would expect from a PaaS. -For all you startup warriors and side-hustlers, SwiftWave is your MVP-launching secret weapon. Save both money and time by grabbing AWS credits or other credits, installing SwiftWave on your server, and when the traffic starts rolling in, just hit that scale button – easy peasy. +![benchmark](/assets/2.0.x/benchmark.png) -In the world of hackathons, deploying your application scores you extra points. With SwiftWave, it's a blink-and-you're-done, 5-minute job. Now you can channel all that focus into developing your application, leaving the deployment worries to SwiftWave. - -And hey, if your project lacks a Docker file, no problem! SwiftWave takes care of that for you. Just provide your source code, and voila, it'll generate the Docker file, deploy your application, and let you get back to what you do best – building awesome stuff! 🚀👩‍💻👨‍💻 \ No newline at end of file +*In idle condition, Swiftwave takes 40\~80MB RAM and 1\~2% CPU of a single vCPU. While onboarding new server, the CPU usage can increase upto 20%. But that's one time process.* diff --git a/docusaurus.config.js b/docusaurus.config.js index 1565adb..869dd6c 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,9 +1,6 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion - -const lightCodeTheme = require("prism-react-renderer/themes/github"); - /** @type {import('@docusaurus/types').Config} */ const config = { title: "SwiftWave", @@ -36,6 +33,19 @@ const config = { label: `Develop 🚧`, }, }, + admonitions: { + keywords: [ + 'secondary', + 'info', + 'success', + 'danger', + 'note', + 'tip', + 'warning', + 'important', + 'caution', + ], + } }, blog: false, theme: { @@ -240,7 +250,7 @@ const config = { copyright: `Copyright © 2023 - ${new Date().getFullYear()} SwiftWave, All rights reserved.`, }, prism: { - theme: lightCodeTheme, + additionalLanguages: ['bash'] }, chatwoot: { websiteToken: "fHNAVUAniYVj5DzwyRNxvxSC", diff --git a/package.json b/package.json index 6b7aa3f..2bf4ecf 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "docusaurus": "docusaurus", - "start": "docusaurus start", + "start": "docusaurus start --no-open", "build": "docusaurus build", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", @@ -21,14 +21,14 @@ "@docusaurus/preset-classic": "^3.3.2", "@headlessui/react": "^1.7.17", "@heroicons/react": "^2.0.18", - "@mdx-js/react": "^1.6.22", + "@mdx-js/react": "^3.0.0", "autoprefixer": "^10.4.16", "clsx": "^1.2.1", "docusaurus-plugin-image-zoom": "^1.0.1", "postcss": "^8.4.31", - "prism-react-renderer": "^1.3.5", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "prism-react-renderer": "^2.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", "react-github-btn": "^1.4.0" }, "devDependencies": { @@ -48,6 +48,6 @@ ] }, "engines": { - "node": ">=16.14" + "node": ">=18.0" } } diff --git a/src/components/header.js b/src/components/header.js index 178432d..5b7b93c 100644 --- a/src/components/header.js +++ b/src/components/header.js @@ -17,7 +17,7 @@ export default function Header() {
{/* micro announcement bar */}
- 🚀 v2.x released openUrl("https://github.com/swiftwave-org/swiftwave/releases/tag/2.0.0-1")}>Check here + 🚀 Swiftwave v2.0.x released
{/* tagline */}
@@ -25,7 +25,7 @@ export default function Header() { for self-hosting
{/* cta */} -
openUrl("/docs/getting_started")}> +
openUrl("/docs/installation")}> Self-host Swiftwave
diff --git a/static/assets/add-ingress-rule.png b/static/assets/1.x.x/add-ingress-rule.png similarity index 100% rename from static/assets/add-ingress-rule.png rename to static/assets/1.x.x/add-ingress-rule.png diff --git a/static/assets/application-danger-zone.png b/static/assets/1.x.x/application-danger-zone.png similarity index 100% rename from static/assets/application-danger-zone.png rename to static/assets/1.x.x/application-danger-zone.png diff --git a/static/assets/application-deployment-configuration.png b/static/assets/1.x.x/application-deployment-configuration.png similarity index 100% rename from static/assets/application-deployment-configuration.png rename to static/assets/1.x.x/application-deployment-configuration.png diff --git a/static/assets/application-details.png b/static/assets/1.x.x/application-details.png similarity index 100% rename from static/assets/application-details.png rename to static/assets/1.x.x/application-details.png diff --git a/static/assets/application-environment-variables.png b/static/assets/1.x.x/application-environment-variables.png similarity index 100% rename from static/assets/application-environment-variables.png rename to static/assets/1.x.x/application-environment-variables.png diff --git a/static/assets/application-ingress-rules.png b/static/assets/1.x.x/application-ingress-rules.png similarity index 100% rename from static/assets/application-ingress-rules.png rename to static/assets/1.x.x/application-ingress-rules.png diff --git a/static/assets/application-list.png b/static/assets/1.x.x/application-list.png similarity index 100% rename from static/assets/application-list.png rename to static/assets/1.x.x/application-list.png diff --git a/static/assets/application-persistent-volume.png b/static/assets/1.x.x/application-persistent-volume.png similarity index 100% rename from static/assets/application-persistent-volume.png rename to static/assets/1.x.x/application-persistent-volume.png diff --git a/static/assets/application-update-source.png b/static/assets/1.x.x/application-update-source.png similarity index 100% rename from static/assets/application-update-source.png rename to static/assets/1.x.x/application-update-source.png diff --git a/static/assets/application-webhook-ci.png b/static/assets/1.x.x/application-webhook-ci.png similarity index 100% rename from static/assets/application-webhook-ci.png rename to static/assets/1.x.x/application-webhook-ci.png diff --git a/static/assets/backup-history.png b/static/assets/1.x.x/backup-history.png similarity index 100% rename from static/assets/backup-history.png rename to static/assets/1.x.x/backup-history.png diff --git a/static/assets/cancel-deployment.png b/static/assets/1.x.x/cancel-deployment.png similarity index 100% rename from static/assets/cancel-deployment.png rename to static/assets/1.x.x/cancel-deployment.png diff --git a/static/assets/change-password.png b/static/assets/1.x.x/change-password.png similarity index 100% rename from static/assets/change-password.png rename to static/assets/1.x.x/change-password.png diff --git a/static/assets/choose-app-source-app-deploy.png b/static/assets/1.x.x/choose-app-source-app-deploy.png similarity index 100% rename from static/assets/choose-app-source-app-deploy.png rename to static/assets/1.x.x/choose-app-source-app-deploy.png diff --git a/static/assets/create-local-volume.png b/static/assets/1.x.x/create-local-volume.png similarity index 100% rename from static/assets/create-local-volume.png rename to static/assets/1.x.x/create-local-volume.png diff --git a/static/assets/create-nfs-volume.png b/static/assets/1.x.x/create-nfs-volume.png similarity index 100% rename from static/assets/create-nfs-volume.png rename to static/assets/1.x.x/create-nfs-volume.png diff --git a/static/assets/create-redirect-rule.png b/static/assets/1.x.x/create-redirect-rule.png similarity index 100% rename from static/assets/create-redirect-rule.png rename to static/assets/1.x.x/create-redirect-rule.png diff --git a/static/assets/create-user.png b/static/assets/1.x.x/create-user.png similarity index 100% rename from static/assets/create-user.png rename to static/assets/1.x.x/create-user.png diff --git a/static/assets/custom-domain-list.png b/static/assets/1.x.x/custom-domain-list.png similarity index 100% rename from static/assets/custom-domain-list.png rename to static/assets/1.x.x/custom-domain-list.png diff --git a/static/assets/dashboard-loading.png b/static/assets/1.x.x/dashboard-loading.png similarity index 100% rename from static/assets/dashboard-loading.png rename to static/assets/1.x.x/dashboard-loading.png diff --git a/static/assets/deployment-details.png b/static/assets/1.x.x/deployment-details.png similarity index 100% rename from static/assets/deployment-details.png rename to static/assets/1.x.x/deployment-details.png diff --git a/static/assets/deployment-list.png b/static/assets/1.x.x/deployment-list.png similarity index 100% rename from static/assets/deployment-list.png rename to static/assets/1.x.x/deployment-list.png diff --git a/static/assets/git-credential-list.png b/static/assets/1.x.x/git-credential-list.png similarity index 100% rename from static/assets/git-credential-list.png rename to static/assets/1.x.x/git-credential-list.png diff --git a/static/assets/image-registry-credential-list.png b/static/assets/1.x.x/image-registry-credential-list.png similarity index 100% rename from static/assets/image-registry-credential-list.png rename to static/assets/1.x.x/image-registry-credential-list.png diff --git a/static/assets/ingress-rule-list.png b/static/assets/1.x.x/ingress-rule-list.png similarity index 100% rename from static/assets/ingress-rule-list.png rename to static/assets/1.x.x/ingress-rule-list.png diff --git a/static/assets/log-in.png b/static/assets/1.x.x/log-in.png similarity index 100% rename from static/assets/log-in.png rename to static/assets/1.x.x/log-in.png diff --git a/static/assets/manage-users.png b/static/assets/1.x.x/manage-users.png similarity index 100% rename from static/assets/manage-users.png rename to static/assets/1.x.x/manage-users.png diff --git a/static/assets/persistent-volumes.png b/static/assets/1.x.x/persistent-volumes.png similarity index 100% rename from static/assets/persistent-volumes.png rename to static/assets/1.x.x/persistent-volumes.png diff --git a/static/assets/redirect-rule-list.png b/static/assets/1.x.x/redirect-rule-list.png similarity index 100% rename from static/assets/redirect-rule-list.png rename to static/assets/1.x.x/redirect-rule-list.png diff --git a/static/assets/restore-history.png b/static/assets/1.x.x/restore-history.png similarity index 100% rename from static/assets/restore-history.png rename to static/assets/1.x.x/restore-history.png diff --git a/static/assets/runtime-logs.png b/static/assets/1.x.x/runtime-logs.png similarity index 100% rename from static/assets/runtime-logs.png rename to static/assets/1.x.x/runtime-logs.png diff --git a/static/assets/2.0.x/add-http-credential.png b/static/assets/2.0.x/add-http-credential.png new file mode 100644 index 0000000..7edac04 Binary files /dev/null and b/static/assets/2.0.x/add-http-credential.png differ diff --git a/static/assets/2.0.x/add-ingress-rule-application.png b/static/assets/2.0.x/add-ingress-rule-application.png new file mode 100644 index 0000000..98b2321 Binary files /dev/null and b/static/assets/2.0.x/add-ingress-rule-application.png differ diff --git a/static/assets/2.0.x/add-ingress-rule-external.png b/static/assets/2.0.x/add-ingress-rule-external.png new file mode 100644 index 0000000..c55fac2 Binary files /dev/null and b/static/assets/2.0.x/add-ingress-rule-external.png differ diff --git a/static/assets/2.0.x/add-server.png b/static/assets/2.0.x/add-server.png new file mode 100644 index 0000000..2852b09 Binary files /dev/null and b/static/assets/2.0.x/add-server.png differ diff --git a/static/assets/2.0.x/add-ssh-credential.png b/static/assets/2.0.x/add-ssh-credential.png new file mode 100644 index 0000000..7ddcbce Binary files /dev/null and b/static/assets/2.0.x/add-ssh-credential.png differ diff --git a/static/assets/2.0.x/app-store.png b/static/assets/2.0.x/app-store.png new file mode 100644 index 0000000..e1b0286 Binary files /dev/null and b/static/assets/2.0.x/app-store.png differ diff --git a/static/assets/2.0.x/application-actions.png b/static/assets/2.0.x/application-actions.png new file mode 100644 index 0000000..a77267c Binary files /dev/null and b/static/assets/2.0.x/application-actions.png differ diff --git a/static/assets/2.0.x/application-analytics.png b/static/assets/2.0.x/application-analytics.png new file mode 100644 index 0000000..ece8012 Binary files /dev/null and b/static/assets/2.0.x/application-analytics.png differ diff --git a/static/assets/2.0.x/application-configure-webhook.png b/static/assets/2.0.x/application-configure-webhook.png new file mode 100644 index 0000000..64449b3 Binary files /dev/null and b/static/assets/2.0.x/application-configure-webhook.png differ diff --git a/static/assets/2.0.x/application-deployment-configuration.png b/static/assets/2.0.x/application-deployment-configuration.png new file mode 100644 index 0000000..c542918 Binary files /dev/null and b/static/assets/2.0.x/application-deployment-configuration.png differ diff --git a/static/assets/2.0.x/application-destroy.png b/static/assets/2.0.x/application-destroy.png new file mode 100644 index 0000000..83e3680 Binary files /dev/null and b/static/assets/2.0.x/application-destroy.png differ diff --git a/static/assets/2.0.x/application-details.png b/static/assets/2.0.x/application-details.png new file mode 100644 index 0000000..4a200ed Binary files /dev/null and b/static/assets/2.0.x/application-details.png differ diff --git a/static/assets/2.0.x/application-environment-variables.png b/static/assets/2.0.x/application-environment-variables.png new file mode 100644 index 0000000..4d4c9d5 Binary files /dev/null and b/static/assets/2.0.x/application-environment-variables.png differ diff --git a/static/assets/2.0.x/application-ingress-rules.png b/static/assets/2.0.x/application-ingress-rules.png new file mode 100644 index 0000000..c715ead Binary files /dev/null and b/static/assets/2.0.x/application-ingress-rules.png differ diff --git a/static/assets/2.0.x/application-persistent-volumes.png b/static/assets/2.0.x/application-persistent-volumes.png new file mode 100644 index 0000000..40a0d8a Binary files /dev/null and b/static/assets/2.0.x/application-persistent-volumes.png differ diff --git a/static/assets/2.0.x/application-ssh-console.png b/static/assets/2.0.x/application-ssh-console.png new file mode 100644 index 0000000..f89e663 Binary files /dev/null and b/static/assets/2.0.x/application-ssh-console.png differ diff --git a/static/assets/2.0.x/application-ssh-select-server.png b/static/assets/2.0.x/application-ssh-select-server.png new file mode 100644 index 0000000..b0eba80 Binary files /dev/null and b/static/assets/2.0.x/application-ssh-select-server.png differ diff --git a/static/assets/2.0.x/application-update-source.png b/static/assets/2.0.x/application-update-source.png new file mode 100644 index 0000000..ecfb19d Binary files /dev/null and b/static/assets/2.0.x/application-update-source.png differ diff --git a/static/assets/2.0.x/benchmark.png b/static/assets/2.0.x/benchmark.png new file mode 100644 index 0000000..e8938a1 Binary files /dev/null and b/static/assets/2.0.x/benchmark.png differ diff --git a/static/assets/2.0.x/create-cifs-volume.png b/static/assets/2.0.x/create-cifs-volume.png new file mode 100644 index 0000000..26df008 Binary files /dev/null and b/static/assets/2.0.x/create-cifs-volume.png differ diff --git a/static/assets/2.0.x/create-redirect-rule.png b/static/assets/2.0.x/create-redirect-rule.png new file mode 100644 index 0000000..5c74756 Binary files /dev/null and b/static/assets/2.0.x/create-redirect-rule.png differ diff --git a/static/assets/2.0.x/dashboard-loading.png b/static/assets/2.0.x/dashboard-loading.png new file mode 100644 index 0000000..8ce9c21 Binary files /dev/null and b/static/assets/2.0.x/dashboard-loading.png differ diff --git a/static/assets/2.0.x/deploy-stack.png b/static/assets/2.0.x/deploy-stack.png new file mode 100644 index 0000000..bf55e48 Binary files /dev/null and b/static/assets/2.0.x/deploy-stack.png differ diff --git a/static/assets/2.0.x/deployment-details.png b/static/assets/2.0.x/deployment-details.png new file mode 100644 index 0000000..b04c92f Binary files /dev/null and b/static/assets/2.0.x/deployment-details.png differ diff --git a/static/assets/2.0.x/deployments.png b/static/assets/2.0.x/deployments.png new file mode 100644 index 0000000..077052b Binary files /dev/null and b/static/assets/2.0.x/deployments.png differ diff --git a/static/assets/2.0.x/domain-list.png b/static/assets/2.0.x/domain-list.png new file mode 100644 index 0000000..4f1b66e Binary files /dev/null and b/static/assets/2.0.x/domain-list.png differ diff --git a/static/assets/2.0.x/git-credential-list.png b/static/assets/2.0.x/git-credential-list.png new file mode 100644 index 0000000..a3a2810 Binary files /dev/null and b/static/assets/2.0.x/git-credential-list.png differ diff --git a/static/assets/2.0.x/image-registry-credential-list.png b/static/assets/2.0.x/image-registry-credential-list.png new file mode 100644 index 0000000..81d0e59 Binary files /dev/null and b/static/assets/2.0.x/image-registry-credential-list.png differ diff --git a/static/assets/2.0.x/ingress-rule-list.png b/static/assets/2.0.x/ingress-rule-list.png new file mode 100644 index 0000000..fb1dc13 Binary files /dev/null and b/static/assets/2.0.x/ingress-rule-list.png differ diff --git a/static/assets/2.0.x/log-in.png b/static/assets/2.0.x/log-in.png new file mode 100644 index 0000000..5715313 Binary files /dev/null and b/static/assets/2.0.x/log-in.png differ diff --git a/static/assets/2.0.x/runtime-logs.png b/static/assets/2.0.x/runtime-logs.png new file mode 100644 index 0000000..a147ef4 Binary files /dev/null and b/static/assets/2.0.x/runtime-logs.png differ diff --git a/static/assets/2.0.x/server-actions.png b/static/assets/2.0.x/server-actions.png new file mode 100644 index 0000000..460b7b8 Binary files /dev/null and b/static/assets/2.0.x/server-actions.png differ diff --git a/static/assets/2.0.x/server-analytics.png b/static/assets/2.0.x/server-analytics.png new file mode 100644 index 0000000..2edfe1b Binary files /dev/null and b/static/assets/2.0.x/server-analytics.png differ diff --git a/static/assets/2.0.x/server-logs.png b/static/assets/2.0.x/server-logs.png new file mode 100644 index 0000000..840a13c Binary files /dev/null and b/static/assets/2.0.x/server-logs.png differ diff --git a/static/assets/2.0.x/server-management.png b/static/assets/2.0.x/server-management.png new file mode 100644 index 0000000..19dae84 Binary files /dev/null and b/static/assets/2.0.x/server-management.png differ diff --git a/static/assets/2.0.x/server-web-console.png b/static/assets/2.0.x/server-web-console.png new file mode 100644 index 0000000..3977a6f Binary files /dev/null and b/static/assets/2.0.x/server-web-console.png differ diff --git a/static/assets/2.0.x/ssh-git-credential-details.png b/static/assets/2.0.x/ssh-git-credential-details.png new file mode 100644 index 0000000..b584876 Binary files /dev/null and b/static/assets/2.0.x/ssh-git-credential-details.png differ diff --git a/static/assets/2.0.x/system-configuration.png b/static/assets/2.0.x/system-configuration.png new file mode 100644 index 0000000..ed76a58 Binary files /dev/null and b/static/assets/2.0.x/system-configuration.png differ diff --git a/static/assets/2.0.x/system-logs.png b/static/assets/2.0.x/system-logs.png new file mode 100644 index 0000000..78403e9 Binary files /dev/null and b/static/assets/2.0.x/system-logs.png differ diff --git a/versioned_docs/version-1.x.x/cli/auto-updater/enable.md b/versioned_docs/version-1.x.x/cli/auto-updater/enable.md index c21b5ce..f892d1e 100644 --- a/versioned_docs/version-1.x.x/cli/auto-updater/enable.md +++ b/versioned_docs/version-1.x.x/cli/auto-updater/enable.md @@ -14,7 +14,7 @@ Enable Swiftwave Auto Updater Service. You should keep automated database migration enabled to avoid any issues and use SwiftWave Auto Updater. If you have disabled automated database migration, you can enable it by -- Run `swiftwave config -e vim` or `swiftwave config -e nano` to open SwiftWave configuration file in editor. [See more](/docs/cli/config) +- Run `swiftwave config -e vim` or `swiftwave config -e nano` to open SwiftWave configuration file in editor. [See more](../config) - Set `service.auto_migrate_database` to `false` - Save and close the file diff --git a/versioned_docs/version-1.x.x/cli/auto-updater/index.md b/versioned_docs/version-1.x.x/cli/auto-updater/index.md index f4ffaee..a558569 100644 --- a/versioned_docs/version-1.x.x/cli/auto-updater/index.md +++ b/versioned_docs/version-1.x.x/cli/auto-updater/index.md @@ -10,5 +10,5 @@ sidebar_position: 14 Auto updater is a feature that will automatically update Swiftwave to the latest minor version and apply hotfixes. ### Check available commands -- [**swiftwave auto-updater enable**](/docs/cli/auto-updater/enable) -- [**swiftwave auto-updater disable**](/docs/cli/auto-updater/disable) \ No newline at end of file +- [**swiftwave auto-updater enable**](./enable) +- [**swiftwave auto-updater disable**](./disable) \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/cli/haproxy/index.md b/versioned_docs/version-1.x.x/cli/haproxy/index.md index 3ac8e7f..a4f1927 100755 --- a/versioned_docs/version-1.x.x/cli/haproxy/index.md +++ b/versioned_docs/version-1.x.x/cli/haproxy/index.md @@ -10,6 +10,6 @@ sidebar_position: 11 Manage HAProxy service ### Check available commands -- [**swiftwave haproxy start**](/docs/cli/haproxy/start) -- [**swiftwave haproxy stop**](/docs/cli/haproxy/stop) -- [**swiftwave haproxy status**](/docs/cli/haproxy/status) \ No newline at end of file +- [**swiftwave haproxy start**](./start) +- [**swiftwave haproxy stop**](./stop) +- [**swiftwave haproxy status**](./status) \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/cli/postgres/index.md b/versioned_docs/version-1.x.x/cli/postgres/index.md index d83b5c7..70865eb 100755 --- a/versioned_docs/version-1.x.x/cli/postgres/index.md +++ b/versioned_docs/version-1.x.x/cli/postgres/index.md @@ -10,6 +10,6 @@ sidebar_position: 12 Manage local postgres database (Only for standalone installation) [Not recommended] ### Check available commands -- [**swiftwave postgres start**](/docs/cli/postgres/start) -- [**swiftwave postgres stop**](/docs/cli/postgres/stop) -- [**swiftwave postgres status**](/docs/cli/postgres/status) \ No newline at end of file +- [**swiftwave postgres start**](./start) +- [**swiftwave postgres stop**](./stop) +- [**swiftwave postgres status**](./status) \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/cli/service/index.md b/versioned_docs/version-1.x.x/cli/service/index.md index fc23f90..732eeab 100755 --- a/versioned_docs/version-1.x.x/cli/service/index.md +++ b/versioned_docs/version-1.x.x/cli/service/index.md @@ -10,6 +10,6 @@ sidebar_position: 10 Manage Swiftwave Daemon Service ### Check available commands -- [**swiftwave service enable**](/docs/cli/service/enable) -- [**swiftwave service disable**](/docs/cli/service/disable) -- [**swiftwave service status**](/docs/cli/service/status) \ No newline at end of file +- [**swiftwave service enable**](./enable) +- [**swiftwave service disable**](./disable) +- [**swiftwave service status**](./status) \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/cli/start.md b/versioned_docs/version-1.x.x/cli/start.md index 73517d0..f6d6085 100755 --- a/versioned_docs/version-1.x.x/cli/start.md +++ b/versioned_docs/version-1.x.x/cli/start.md @@ -21,4 +21,4 @@ swiftwave start --dev ``` ### Note -If you are looking to run swiftwave as a service, please refer to the [**service**](/docs/cli/service) command. +If you are looking to run swiftwave as a service, please refer to the [**service**](./service) command. diff --git a/versioned_docs/version-1.x.x/cli/tls/auto-renew/index.md b/versioned_docs/version-1.x.x/cli/tls/auto-renew/index.md index efec3e4..cfe94eb 100644 --- a/versioned_docs/version-1.x.x/cli/tls/auto-renew/index.md +++ b/versioned_docs/version-1.x.x/cli/tls/auto-renew/index.md @@ -10,5 +10,5 @@ Automated Service to renew TLS certificates for all domain registered for swiftw > It's not for renewing certificates for domain of hosted applications ### Check available commands -- [**swiftwave tls auto-renew enable**](/docs/cli/tls/auto-renew/enable) -- [**swiftwave tls auto-renew disable**](/docs/cli/tls/auto-renew/disable) +- [**swiftwave tls auto-renew enable**](./enable) +- [**swiftwave tls auto-renew disable**](./disable) diff --git a/versioned_docs/version-1.x.x/cli/tls/index.md b/versioned_docs/version-1.x.x/cli/tls/index.md index 89db0c1..b9b4e89 100644 --- a/versioned_docs/version-1.x.x/cli/tls/index.md +++ b/versioned_docs/version-1.x.x/cli/tls/index.md @@ -9,7 +9,7 @@ sidebar_position: 8 Manage TLS for swiftwave service ### Check available commands -- [**swiftwave tls enable**](/docs/cli/tls/enable) -- [**swiftwave tls disable**](/docs/cli/tls/disable) -- [**swiftwave tls generate-certificate**](/docs/cli/tls/generate-certificate) -- [**swiftwave tls renew-certificates**](/docs/cli/tls/renew-certificates) \ No newline at end of file +- [**swiftwave tls enable**](./enable) +- [**swiftwave tls disable**](./disable) +- [**swiftwave tls generate-certificate**](./generate-certificate) +- [**swiftwave tls renew-certificates**](./renew-certificates) \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/contribution_guideline.md b/versioned_docs/version-1.x.x/contribution_guideline.md index ead8e1e..a7645d2 100644 --- a/versioned_docs/version-1.x.x/contribution_guideline.md +++ b/versioned_docs/version-1.x.x/contribution_guideline.md @@ -11,12 +11,12 @@ First off, thanks for having interest in contributing to SwiftWave! 🎉 We have couple of projects under SwiftWave organization. You can contribute to any of them. -| Project | Description | Tech Stack | GitHub Link | Setup Guide | -| --- | --- | --- | --- | --- | -| SwiftWave | Core PaaS | Golang, Docker | [Click Here](https://github.com/swiftwave-org/swiftwave) | [Click Here](/docs/development_setup) | -| SwiftWave Dashboard | Web interface for SwiftWave. | VueJS, TailwindCSS | [Click Here](https://github.com/swiftwave-org/dashboard) | [Click Here](https://github.com/swiftwave-org/dashboard) | +| Project | Description | Tech Stack | GitHub Link | Setup Guide | +| --- | --- | --- | --- |--------------------------------------------------------------| +| SwiftWave | Core PaaS | Golang, Docker | [Click Here](https://github.com/swiftwave-org/swiftwave) | [Click Here](./development_setup) | +| SwiftWave Dashboard | Web interface for SwiftWave. | VueJS, TailwindCSS | [Click Here](https://github.com/swiftwave-org/dashboard) | [Click Here](https://github.com/swiftwave-org/dashboard) | | SwiftWave Docs + Landing Page | Official landing page and documentation website | Docusaurus | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | -| Quick DNS | Service to provide ***.swiftwave.xyz** domain for your swiftwave installation | Golang | [Click Here](https://github.com/swiftwave-org/dns) | [Click Here](https://github.com/swiftwave-org/dns) | +| Quick DNS | Service to provide ***.swiftwave.xyz** domain for your swiftwave installation | Golang | [Click Here](https://github.com/swiftwave-org/dns) | [Click Here](https://github.com/swiftwave-org/dns) | ### 📝 How to Contribute to any of the project 1. Fork the repository diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/application_update_source.md b/versioned_docs/version-1.x.x/dashboard/application_details/application_update_source.md index a5de68b..a12ade4 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/application_update_source.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/application_update_source.md @@ -6,7 +6,7 @@ sidebar_position: 4 In **Update Source Code** section, you can update the source of the application. You can update the source of the application to deploy a new version of the application. -![Update Source Code](/assets/application-update-source.png) +![Update Source Code](/assets/1.x.x/application-update-source.png) ### How to update source of the application ? - Change the source info of the application. diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/danger_zone.md b/versioned_docs/version-1.x.x/dashboard/application_details/danger_zone.md index 5c77c3a..d1cf95a 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/danger_zone.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/danger_zone.md @@ -6,7 +6,7 @@ sidebar_position: 9 In **Danger Zone** section, you have some options which can lead to downtime of the application. So, be careful while using these options. -![Danger Zone](/assets/application-danger-zone.png) +![Danger Zone](/assets/1.x.x/application-danger-zone.png) ### Restart Application diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/deployment_configuration.md b/versioned_docs/version-1.x.x/dashboard/application_details/deployment_configuration.md index 6c50ff5..9cf8a57 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/deployment_configuration.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/deployment_configuration.md @@ -6,7 +6,7 @@ sidebar_position: 7 In **Deployment Configuration** section, you can *scale up* or *scale down* the application. -![Deployment Configuration](/assets/application-deployment-configuration.png) +![Deployment Configuration](/assets/1.x.x/application-deployment-configuration.png) **Deployment Modes -** - **Replicated Mode** - In this mode, you can specify the number of instances you want to run for the application. diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/deployments.md b/versioned_docs/version-1.x.x/dashboard/application_details/deployments.md index 1cfb898..7ec07c5 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/deployments.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/deployments.md @@ -6,17 +6,17 @@ sidebar_position: 1 In **Deployments** section, you can see all the deployments of the application. You can check the status of the deployment and time of deployment at a glance. -![Deployment List](/assets/deployment-list.png) +![Deployment List](/assets/1.x.x/deployment-list.png) But, you want to see more details about the deployment, you can click on the **Deployment Card** to see more details about the deployment. Once you click on the **Deployment Card**, you will see the **Deployment Details** page like this: -![Deployment Details](/assets/deployment-details.png) +![Deployment Details](/assets/1.x.x/deployment-details.png) Here, you can see complete details about the deployment. You can also check deployment logs to figure out what went wrong. > 📌 While deployment is live, - The *Deployment Logs* will be updated in realtime. - **Request Cancellation** button will be available to cancel the deployment, if due to any reason docker build stuck, you can cancel the deployment. - ![Deployment Cancel](/assets/cancel-deployment.png) \ No newline at end of file + ![Deployment Cancel](/assets/1.x.x/cancel-deployment.png) \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/environment_variables.md b/versioned_docs/version-1.x.x/dashboard/application_details/environment_variables.md index 6a595bb..8f09830 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/environment_variables.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/environment_variables.md @@ -6,6 +6,6 @@ sidebar_position: 5 In **Environment Variables** section, you can see all the environment variables of the application. You can add new environment variables, edit existing environment variables, and also can delete environment variables. -![Environment Variables](/assets/application-environment-variables.png) +![Environment Variables](/assets/1.x.x/application-environment-variables.png) The UI is pretty simple and self-explanatory. After you change something, click on **`Apply Changes`** button to save the changes. \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/index.md b/versioned_docs/version-1.x.x/dashboard/application_details/index.md index 37943c7..1d6f3d0 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/index.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/index.md @@ -7,7 +7,7 @@ toc_max_heading_level: 5 In **Application Details**, you can see all the details about the application. You can check the status of the application, last time when it was updated, and the number of instances running for that application. -SwiftWave Dashboard +SwiftWave Dashboard On the right side, you can see realtime information about the count of active instances of the application. @@ -21,14 +21,14 @@ If you like to make your application online, you can resume the application. Thi #### 🏄‍♂️ Let's go through each section of the **Application Details** page. -| Section | Page Link | -|---------|-----------| -| Deployments | [***Click Here***](/docs/dashboard/application_details/deployments) | -| Runtime Logs | [***Click Here***](/docs/dashboard/application_details/runtime_logs) | -| Ingress Rules | [***Click Here***](/docs/dashboard/application_details/ingress_rules) | -| Update Source Code | [***Click Here***](/docs/dashboard/application_details/update_source_code) | -| Environment Variables | [***Click Here***](/docs/dashboard/application_details/environment_variables) | -| Persistent Volumes | [***Click Here***](/docs/dashboard/application_details/persistent_volumes) | -| Deployment Configuration | [***Click Here***](/docs/dashboard/application_details/deployment_configuration) | -| Webhook CI | [***Click Here***](/docs/dashboard/application_details/webhook_ci) | -| Danger Zone | [***Click Here***](/docs/dashboard/application_details/danger_zone) | \ No newline at end of file +| Section | Page Link | +| ------------------------ |------------------------------------------------| +| Deployments | [***Click Here***](./deployments) | +| Runtime Logs | [***Click Here***](./runtime_logs) | +| Ingress Rules | [***Click Here***](./ingress_rules) | +| Update Source Code | [***Click Here***](./update_source_code) | +| Environment Variables | [***Click Here***](./environment_variables) | +| Persistent Volumes | [***Click Here***](./persistent_volumes) | +| Deployment Configuration | [***Click Here***](./deployment_configuration) | +| Webhook CI | [***Click Here***](./webhook_ci) | +| Danger Zone | [***Click Here***](./danger_zone) | \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/ingress_rules.md b/versioned_docs/version-1.x.x/dashboard/application_details/ingress_rules.md index 8d0dbc5..7001f5f 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/ingress_rules.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/ingress_rules.md @@ -6,8 +6,8 @@ sidebar_position: 3 In **Ingress Rules** section, you can find out all the associated ingress rules for the application. -![Ingress Rules](/assets/application-ingress-rules.png) +![Ingress Rules](/assets/1.x.x/application-ingress-rules.png) To manage the ingress rules, click on `Manage Ingress Rules` button. -This will take you to the **Ingress Rules** page where you can add, edit, and delete the ingress rules for the application. Check this docs for more details: [Ingress Rules](/docs/dashboard/ingress-rules). \ No newline at end of file +This will take you to the **Ingress Rules** page where you can add, edit, and delete the ingress rules for the application. Check this docs for more details: [Ingress Rules](../ingress-rules). \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/persistent_volumes.md b/versioned_docs/version-1.x.x/dashboard/application_details/persistent_volumes.md index c8cf94e..89ed737 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/persistent_volumes.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/persistent_volumes.md @@ -6,10 +6,10 @@ sidebar_position: 6 In **Persistent Volumes** section, you can see all the persistent volumes of the application. You can add new persistent volumes, edit existing persistent volumes, and also can delete persistent volumes. -![Persistent Volumes](/assets/application-persistent-volume.png) +![Persistent Volumes](/assets/1.x.x/application-persistent-volume.png) You can choose pre-registered persistent volume and provide a mount path. After you change something, click on **`Apply Changes`** button to save the changes. > **Mount Path** - The path where the persistent volume will be mounted inside the container of the application. -If you see the **Persistent Volume** select dropdown empty, that means you don't have any persistent volume registered. You can register a persistent volume by following [**this docs**](/docs/dashboard/persistent-volumes). \ No newline at end of file +If you see the **Persistent Volume** select dropdown empty, that means you don't have any persistent volume registered. You can register a persistent volume by following [**this docs**](../persistent-volumes). \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/runtime_logs.md b/versioned_docs/version-1.x.x/dashboard/application_details/runtime_logs.md index b0b3a99..2b7f8ab 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/runtime_logs.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/runtime_logs.md @@ -6,4 +6,4 @@ sidebar_position: 2 In **Runtime Logs** section, you can see all the logs of the application. The logs are updated in realtime, so you don't have to refresh the page to check the latest logs. -![Runtime Logs](/assets/runtime-logs.png) \ No newline at end of file +![Runtime Logs](/assets/1.x.x/runtime-logs.png) \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/application_details/webhook_ci.md b/versioned_docs/version-1.x.x/dashboard/application_details/webhook_ci.md index de5b348..0b2a43c 100644 --- a/versioned_docs/version-1.x.x/dashboard/application_details/webhook_ci.md +++ b/versioned_docs/version-1.x.x/dashboard/application_details/webhook_ci.md @@ -8,7 +8,7 @@ You can manage the webhook CI of the application from the **Webhook CI** section This **Webhook** can be used to trigger re-deployment of the application when the source code of the application is updated. -![Webhook CI](/assets/application-webhook-ci.png) +![Webhook CI](/assets/1.x.x/application-webhook-ci.png) **Regenerate Webhook Token** - You can regenerate the webhook URL by tapping on **Regenerate Webhook** button. If you have exposed the webhook URL to the public by mistake, then you can regenerate the webhook URL to make the old webhook URL invalid. diff --git a/versioned_docs/version-1.x.x/dashboard/applications.md b/versioned_docs/version-1.x.x/dashboard/applications.md index ba15a31..56d8012 100644 --- a/versioned_docs/version-1.x.x/dashboard/applications.md +++ b/versioned_docs/version-1.x.x/dashboard/applications.md @@ -6,8 +6,8 @@ sidebar_position: 3 In **Application List**, you can see all the applications that you have created. You can check the status of the application, last time when it was updated, and the number of instances running for that application. -SwiftWave Dashboard +SwiftWave Dashboard You can click on **`View Details`** button to see more details about the application. -Check out [**Application Details**](/docs/dashboard/application_details) to learn more about it. \ No newline at end of file +Check out [**Application Details**](./application_details) to learn more about it. \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/change_password.md b/versioned_docs/version-1.x.x/dashboard/change_password.md index 6525a2c..39ef0d8 100644 --- a/versioned_docs/version-1.x.x/dashboard/change_password.md +++ b/versioned_docs/version-1.x.x/dashboard/change_password.md @@ -6,6 +6,6 @@ sidebar_position: 11 To **change your password**, you can click on **Change Password** button in the sidebar. You will see a form like this: -![Change Password](/assets/change-password.png) +![Change Password](/assets/1.x.x/change-password.png) You need to enter your current password and new password. Then, click on **Change Password** button and your password will be changed. \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/deploy_new_application.md b/versioned_docs/version-1.x.x/dashboard/deploy_new_application.md index 068f08e..11a967d 100644 --- a/versioned_docs/version-1.x.x/dashboard/deploy_new_application.md +++ b/versioned_docs/version-1.x.x/dashboard/deploy_new_application.md @@ -30,7 +30,7 @@ Deploying with SwiftWave is a breeze – just bring your application's source co ### 📚 Next Steps -- [**How to check details and manage a deployed application**](/docs/dashboard/application_details/) -- [**How to expose application to internet ?**](/docs/dashboard/ingress-rules) -- [**How to configure persistent storage ?**](/docs/dashboard/application_details/persistent_volumes) -- [**How to configure environment variables ?**](/docs/dashboard/application_details/environment_variables) +- [**How to check details and manage a deployed application**](./application_details/) +- [**How to expose application to internet ?**](./ingress-rules) +- [**How to configure persistent storage ?**](./application_details/persistent_volumes) +- [**How to configure environment variables ?**](./application_details/environment_variables) diff --git a/versioned_docs/version-1.x.x/dashboard/domains.md b/versioned_docs/version-1.x.x/dashboard/domains.md index db0e468..6a7f215 100644 --- a/versioned_docs/version-1.x.x/dashboard/domains.md +++ b/versioned_docs/version-1.x.x/dashboard/domains.md @@ -6,7 +6,7 @@ sidebar_position: 7 In **Domains** section, you can manage all the custom domains you have added to swiftwave. -![Domains List](/assets/custom-domain-list.png) +![Domains List](/assets/1.x.x/custom-domain-list.png) ### Register a new domain You can click on `Register New` button and fill in the required details to register a new domain. diff --git a/versioned_docs/version-1.x.x/dashboard/git-credentials.md b/versioned_docs/version-1.x.x/dashboard/git-credentials.md index f98a487..61422ad 100644 --- a/versioned_docs/version-1.x.x/dashboard/git-credentials.md +++ b/versioned_docs/version-1.x.x/dashboard/git-credentials.md @@ -6,7 +6,7 @@ sidebar_position: 5 In **Git Credentials** section, you can check all the saved Git Credentials. You can use these credentials while deploying an application from a Git Repository. -![Git Credentials List](/assets/git-credential-list.png) +![Git Credentials List](/assets/1.x.x/git-credential-list.png) **You can** - **Add** a new Git Credential by clicking on `Add New` button. diff --git a/versioned_docs/version-1.x.x/dashboard/image-credentials.md b/versioned_docs/version-1.x.x/dashboard/image-credentials.md index baf99d2..24fd654 100644 --- a/versioned_docs/version-1.x.x/dashboard/image-credentials.md +++ b/versioned_docs/version-1.x.x/dashboard/image-credentials.md @@ -6,7 +6,7 @@ sidebar_position: 6 In **Image Credentials** section, you can check all the saved Image Registry Credentials. You can use these credentials while deploying an application from a Image Repository. -![Image Credentials List](/assets/image-registry-credential-list.png) +![Image Credentials List](/assets/1.x.x/image-registry-credential-list.png) **You can** - **Add** a new Image Registry Credential by clicking on `Add New` button. diff --git a/versioned_docs/version-1.x.x/dashboard/index.md b/versioned_docs/version-1.x.x/dashboard/index.md index 5062974..bb7296b 100644 --- a/versioned_docs/version-1.x.x/dashboard/index.md +++ b/versioned_docs/version-1.x.x/dashboard/index.md @@ -10,7 +10,7 @@ sidebar_position: 5 justifyContent: 'center', marginBottom: '2rem' }}> - SwiftWave Dashboard + SwiftWave Dashboard
@@ -20,17 +20,17 @@ SwiftWave Dashboard is a web-based interface to manage your applications, domain ## Sections of Dashboard -| Section | Description | Link | -| --- | --- | --- | -| 🔒 Log In | Log in to SwiftWave Dashboard | [***Click Here***](/docs/dashboard/log_in) | -| 🔨 Deploy New Application | Deploy new application on your server | [***Click Here***](/docs/dashboard/deploy_new_application) | -| 📦 Applications | List of all applications deployed on your server & manage them | [***Click Here***](/docs/dashboard/applications) | -| 📦 Persistent Volumes | List of all persistent volumes created on your server & manage them | [***Click Here***](/docs/dashboard/persistent-volumes) | -| 🐙 Git Credentials | Manage git credentials for your applications | [***Click Here***](/docs/dashboard/git-credentials) | -| 🐳 Image Credentials | Manage docker image credentials for your applications | [***Click Here***](/docs/dashboard/image-credentials) | -| 🌐 Domains | Manage custom domains, SSL for your applications | [***Click Here***](/docs/dashboard/domains) | -| 🚪 Ingress Rules | Manage exposed domains and routes for your applications | [***Click Here***](/docs/dashboard/ingress-rules) | -| 🔄 Redirect Rules | Manage domain redirection and HTTPS redirection for your applications | [***Click Here***](/docs/dashboard/redirect-rules) | -| 👥 Manage Users | Manage admin users for your hosted SwiftWave instance | [***Click Here***](/docs/dashboard/manage-users) | -| 🔒 Change Password | Change password for currently logged In user | [***Click Here***](/docs/dashboard/change_password) | +| Section | Description | Link | +| ------------------------ | --------------------------------------------------------------------- |----------------------------------------------| +| 🔒 Log In | Log in to SwiftWave Dashboard | [***Click Here***](./log_in) | +| 🔨 Deploy New Application | Deploy new application on your server | [***Click Here***](./deploy_new_application) | +| 📦 Applications | List of all applications deployed on your server & manage them | [***Click Here***](./applications) | +| 📦 Persistent Volumes | List of all persistent volumes created on your server & manage them | [***Click Here***](./persistent-volumes) | +| 🐙 Git Credentials | Manage git credentials for your applications | [***Click Here***](./git-credentials) | +| 🐳 Image Credentials | Manage docker image credentials for your applications | [***Click Here***](./image-credentials) | +| 🌐 Domains | Manage custom domains, SSL for your applications | [***Click Here***](./domains) | +| 🚪 Ingress Rules | Manage exposed domains and routes for your applications | [***Click Here***](./ingress-rules) | +| 🔄 Redirect Rules | Manage domain redirection and HTTPS redirection for your applications | [***Click Here***](./redirect-rules) | +| 👥 Manage Users | Manage admin users for your hosted SwiftWave instance | [***Click Here***](./manage-users) | +| 🔒 Change Password | Change password for currently logged In user | [***Click Here***](./change_password) | diff --git a/versioned_docs/version-1.x.x/dashboard/ingress-rules.md b/versioned_docs/version-1.x.x/dashboard/ingress-rules.md index f88074c..35fd46c 100644 --- a/versioned_docs/version-1.x.x/dashboard/ingress-rules.md +++ b/versioned_docs/version-1.x.x/dashboard/ingress-rules.md @@ -6,7 +6,7 @@ sidebar_position: 8 In **Ingress Rules** section you can manage your ingress rules. You can add or delete ingress rules. -![Ingress Rules](/assets/ingress-rule-list.png) +![Ingress Rules](/assets/1.x.x/ingress-rule-list.png) ### 😅 Don't know what ingress rules are ? In layman's terms, ingress rules are the rules that will connect your domain to your application. @@ -19,20 +19,20 @@ myapp.com [https] -> myapp:3000 ### Add Ingress Rule To add an ingress rule, click on **Add New** button. You will see a form like this: -![Add Ingress Rule](/assets/add-ingress-rule.png) +![Add Ingress Rule](/assets/1.x.x/add-ingress-rule.png) You can choose the protocol your application required. - **HTTP**: You can choose any port for your application. It's recommended to use port 80 for HTTP. - **HTTPS**: Currently, only port 443 is supported. - > Note: To enable, **HTTPS Redirection**, you will have to create a redirect rule. You can follow [**this docs**](/docs/dashboard/redirect-rules#https-redirect) section to create a redirect rule. + > Note: To enable, **HTTPS Redirection**, you will have to create a redirect rule. You can follow [**this docs**](./redirect-rules#https-redirect) section to create a redirect rule. - **TCP**: If your application relies on TCP protocol, you can choose this option. You can choose any port for your application. > NOTE : In case of TCP, You don't need any domain. You can directly connect your application to your server's IP and port (you choose). - **UDP**: If your application relies on UDP protocol, you can choose this option. You can choose any port for your application. > NOTE : In case of UDP, You don't need any domain. You can directly connect your application to your server's IP and port (you choose). -Then, you can choose the domain you want to connect to your application. If you don't have any domain, you can add it in [**Domains**](/docs/dashboard/domains) section. +Then, you can choose the domain you want to connect to your application. If you don't have any domain, you can add it in [**Domains**](./domains) section. -**Finally**, you can choose the application you want to connect to your domain. If you don't have any application, you can deploy one by following [**this docs**](/docs/dashboard/deploy_new_application) section. +**Finally**, you can choose the application you want to connect to your domain. If you don't have any application, you can deploy one by following [**this docs**](./deploy_new_application) section. Hurrah! You have successfully created an ingress rule. Now, you can access your application via your domain. It takes upto 1 minute to apply the changes. diff --git a/versioned_docs/version-1.x.x/dashboard/log_in.md b/versioned_docs/version-1.x.x/dashboard/log_in.md index 02d5698..a9ce7ff 100644 --- a/versioned_docs/version-1.x.x/dashboard/log_in.md +++ b/versioned_docs/version-1.x.x/dashboard/log_in.md @@ -6,7 +6,7 @@ sidebar_position: 1 When you will visit the dashboard for the first time, you will be asked to log in. -![Log In](/assets/log-in.png) +![Log In](/assets/1.x.x/log-in.png) You can log in using the credentials of the user you created while installing the application. @@ -19,4 +19,4 @@ You can also **Create New User** from the CLI (if you have access to the server sudo swiftwave create-user --username --password ``` - For more information, check out [**CLI Reference**](/docs/cli/create-user). + For more information, check out [**CLI Reference**](../cli/create-user). diff --git a/versioned_docs/version-1.x.x/dashboard/manage-users.md b/versioned_docs/version-1.x.x/dashboard/manage-users.md index bb57e48..f289208 100644 --- a/versioned_docs/version-1.x.x/dashboard/manage-users.md +++ b/versioned_docs/version-1.x.x/dashboard/manage-users.md @@ -6,7 +6,7 @@ sidebar_position: 10 In **Manage Users** section, you can manage all the users of your organization. -![Manage Users](/assets/manage-users.png) +![Manage Users](/assets/1.x.x/manage-users.png) **You can -** 1. **Create** a new user by clicking on `Create User` button. @@ -14,7 +14,7 @@ In **Manage Users** section, you can manage all the users of your organization. > We will be adding more roles for granular permission control soon. After clicking on `Create User` button, you will see a form like this: - ![Create User](/assets/create-user.png) + ![Create User](/assets/1.x.x/create-user.png) Enter the required details and click on `Create` button. The user will be created. 2. **Delete** a user by clicking on `Delete` button. diff --git a/versioned_docs/version-1.x.x/dashboard/persistent-volumes.md b/versioned_docs/version-1.x.x/dashboard/persistent-volumes.md index 869d422..e2d6a0e 100644 --- a/versioned_docs/version-1.x.x/dashboard/persistent-volumes.md +++ b/versioned_docs/version-1.x.x/dashboard/persistent-volumes.md @@ -6,14 +6,14 @@ sidebar_position: 4 In **Persistent Volumes** section, you can see all the persistent volumes created across your cluster for your applications. -![Persistent Volume List](/assets/persistent-volumes.png) +![Persistent Volume List](/assets/1.x.x/persistent-volumes.png) ### Create a Persistent Volume 1. **Local Volume** Local volume is a volume that is created on the local storage of the node. It is not shared across the cluster. - Click on `Add New` button. - - ![Local Volume](/assets/create-local-volume.png) + - ![Local Volume](/assets/1.x.x/create-local-volume.png) - Choose a unique name for the volume and can't contain spaces. - Choose type `Local`. - Click on `Register` button and the volume will be created. @@ -22,7 +22,7 @@ In **Persistent Volumes** section, you can see all the persistent volumes create You can create a NFS volume to share the volume across the cluster and also to keep your data more reliable. - Click on `Add New` button. - - ![NFS Volume](/assets/create-nfs-volume.png) + - ![NFS Volume](/assets/1.x.x/create-nfs-volume.png) - Choose a unique name for the volume and can't contain spaces. - Choose type `NFS`. - Fillup NFS server details. @@ -41,14 +41,14 @@ You can click on `Fetch Size` button to fetch size of the persistent volume. 2. You can choose type of backup. - **Local** : The backup will be stored locally in the server itself. - **S3** : The backup will be stored in S3 bucket. You need to configure S3 beforehand to avail this feature. - > You can open swiftwave config by [`swiftwave config -e vim`](/docs/cli/config) command + > You can open swiftwave config by [`swiftwave config -e vim`](../cli/config) command 3. Submit to create backup. 4. You can open the backup history by `Show Backups` button to see the status of the backup. ### Backup History You can click on `Show Backups` button to see the backup history of the volume. -![Backup History](/assets/backup-history.png) +![Backup History](/assets/1.x.x/backup-history.png) - You can check status of old backups. - You can also download the backup file by clicking on `Download Backup` button. @@ -63,6 +63,6 @@ You can click on `Show Backups` button to see the backup history of the volume. ### Restore History You can click on `Restore History` button to see the restore history of the volume. -![Restore History](/assets/restore-history.png) +![Restore History](/assets/1.x.x/restore-history.png) - You can check status of all restores. \ No newline at end of file diff --git a/versioned_docs/version-1.x.x/dashboard/redirect-rules.md b/versioned_docs/version-1.x.x/dashboard/redirect-rules.md index c0d0e76..b9fc14e 100644 --- a/versioned_docs/version-1.x.x/dashboard/redirect-rules.md +++ b/versioned_docs/version-1.x.x/dashboard/redirect-rules.md @@ -6,7 +6,7 @@ sidebar_position: 9 In **Redirect Rules** section you can manage your redirect rules. You can add or delete redirect rules. -![Redirect Rules](/assets/redirect-rule-list.png) +![Redirect Rules](/assets/1.x.x/redirect-rule-list.png) ### 😅 Don't know what redirect rules are ? In layman's terms, redirect rules are the rules that will redirect your domain to another URL. @@ -17,7 +17,7 @@ In layman's terms, redirect rules are the rules that will redirect your domain t ### Add Redirect Rule It's very easy to add a redirect rule. Just click on **Add New** button and you will see a form like this: -![Add Redirect Rule](/assets/create-redirect-rule.png) +![Add Redirect Rule](/assets/1.x.x/create-redirect-rule.png) 1. Choose the protocol (http/https) and domain you want to redirect. 2. Choose the url where you want to redirect your domain. diff --git a/versioned_docs/version-2.0.x/cli/auto-update/disable.md b/versioned_docs/version-2.0.x/cli/auto-update/disable.md new file mode 100644 index 0000000..74bc973 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/auto-update/disable.md @@ -0,0 +1,17 @@ +--- +id: disable +title: swiftwave auto-update disable +tags: + - CLI + - Auto Update +sidebar_position: 2 +--- + +Disable Swiftwave Auto Update Service. + + +### Usage + +``` +swiftwave auto-update disable +``` diff --git a/versioned_docs/version-2.0.x/cli/auto-update/enable.md b/versioned_docs/version-2.0.x/cli/auto-update/enable.md new file mode 100644 index 0000000..913647a --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/auto-update/enable.md @@ -0,0 +1,22 @@ +--- +id: enable +title: swiftwave auto-update enable +tags: + - CLI + - Auto Update +sidebar_position: 1 +--- + +Enable Swiftwave Auto Update Service. + +:::note + +It will check for updates every 15 minutes to apply minor version updates and hotfixes to keep SwiftWave up to date and secured. + +::: + +### Usage + +``` +swiftwave auto-update enable +``` diff --git a/versioned_docs/version-2.0.x/cli/auto-update/index.md b/versioned_docs/version-2.0.x/cli/auto-update/index.md new file mode 100644 index 0000000..98e6e30 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/auto-update/index.md @@ -0,0 +1,14 @@ +--- +id: auto-update +title: swiftwave auto-update +tags: + - CLI + - Auto Update +sidebar_position: 11 +--- + +Auto update is a feature that will automatically update Swiftwave to the latest minor version and apply hotfixes. + +### Check available commands +- [**swiftwave auto-update enable**](./enable) +- [**swiftwave auto-update disable**](./disable) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/config.md b/versioned_docs/version-2.0.x/cli/config.md new file mode 100755 index 0000000..1c3410f --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/config.md @@ -0,0 +1,21 @@ +--- +id: config +title: swiftwave config +tags: + - CLI +sidebar_position: 3 +--- + +Open SwiftWave configuration file in editor + +### Usage + +``` +swiftwave config [flags] +``` + +### Flags + +| Flag | Type | Default | Mandatory | Description | +|----------|---------------------|---------|---------------------|-----------------------------------| +| --editor | string (vi, vim, nano, gedit, etc.) | dependent on system |
| Editor to use for edit config file | diff --git a/versioned_docs/version-2.0.x/cli/db-migrate.md b/versioned_docs/version-2.0.x/cli/db-migrate.md new file mode 100755 index 0000000..ddfebc9 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/db-migrate.md @@ -0,0 +1,15 @@ +--- +id: db-migrate +title: swiftwave db-migrate +tags: + - CLI +sidebar_position: 4 +--- + +Migrate new database changes to the database. + +### Usage + +``` +swiftwave db-migrate +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/index.md b/versioned_docs/version-2.0.x/cli/index.md new file mode 100644 index 0000000..cb194f4 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/index.md @@ -0,0 +1,16 @@ +--- +id: cli +title: 💻 CLI Reference +tags: + - CLI +sidebar_position: 6 +--- + +SwiftWave CLI acts like a management panel for SwiftWave. +It provides some administrative control as root user of your system. + +### Global Flags + +| Flag | Type | Default | Mandatory | Description | +| ------ | ---- | ------- | ------------------ | -------------------------------- | +| --help | | |
| Show information for any command | diff --git a/versioned_docs/version-2.0.x/cli/init.md b/versioned_docs/version-2.0.x/cli/init.md new file mode 100755 index 0000000..1617f8c --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/init.md @@ -0,0 +1,25 @@ +--- +id: init +title: swiftwave init +tags: + - CLI +sidebar_position: 2 +--- + +Initialize the configuration for Swiftwave on the system. + +### Usage + +``` +swiftwave init [flags] +``` + +### Flags + + +| Flag | Type | Default | Mandatory | Description | +| ----------------- | ---------------- | ------------------------ | ------------------ | ---------------------------------------------- | +| --domain | string | |
| Domain name for management node | +| --auto-domain | `true` / `false` |
`false`
|
| Use *.swiftwave.xyz domain for management node | +| --remote-postgres | `true` / `false` |
`false`
|
| Opt out Local postgres database | +| --overwrite | `true` / `false` |
`false`
|
| Overwrite existing configuration | \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/localregistry/index.md b/versioned_docs/version-2.0.x/cli/localregistry/index.md new file mode 100755 index 0000000..cdc628b --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/localregistry/index.md @@ -0,0 +1,16 @@ +--- +id: localregistry +title: swiftwave localregistry +tags: + - CLI + - Local Image Registry +sidebar_position: 10 +--- + +Manage local local image registry + +### Check available commands +- [**swiftwave localregistry start**](./start) +- [**swiftwave localregistry stop**](./stop) +- [**swiftwave localregistry restart**](./restart) +- [**swiftwave localregistry status**](./status) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/localregistry/restart.md b/versioned_docs/version-2.0.x/cli/localregistry/restart.md new file mode 100755 index 0000000..c804a80 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/localregistry/restart.md @@ -0,0 +1,16 @@ +--- +id: restart +title: swiftwave localregistry restart +tags: + - CLI + - Local Image Registry +sidebar_position: 3 +--- + +Restart local image registry + +### Usage + +``` +swiftwave localregistry restart +``` diff --git a/versioned_docs/version-2.0.x/cli/localregistry/start.md b/versioned_docs/version-2.0.x/cli/localregistry/start.md new file mode 100755 index 0000000..fff7fe8 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/localregistry/start.md @@ -0,0 +1,17 @@ +--- +id: start +title: swiftwave localregistry start +tags: + - CLI + - Local Image Registry +sidebar_position: 1 +--- + + +Start local image registry + +### Usage + +``` +swiftwave localregistry start +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/localregistry/status.md b/versioned_docs/version-2.0.x/cli/localregistry/status.md new file mode 100755 index 0000000..c39a07a --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/localregistry/status.md @@ -0,0 +1,16 @@ +--- +id: status +title: swiftwave localregistry status +tags: + - CLI + - Local Image Registry +sidebar_position: 4 +--- + +Check status of local image registry + +### Usage + +``` +swiftwave localregistry status +``` diff --git a/versioned_docs/version-2.0.x/cli/localregistry/stop.md b/versioned_docs/version-2.0.x/cli/localregistry/stop.md new file mode 100755 index 0000000..8fd05fe --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/localregistry/stop.md @@ -0,0 +1,16 @@ +--- +id: stop +title: swiftwave localregistry stop +tags: + - CLI + - Local Image Registry +sidebar_position: 2 +--- + +Stop local image registry + +### Usage + +``` +swiftwave localregistry stop +``` diff --git a/versioned_docs/version-2.0.x/cli/postgres/index.md b/versioned_docs/version-2.0.x/cli/postgres/index.md new file mode 100755 index 0000000..6480eb8 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/postgres/index.md @@ -0,0 +1,15 @@ +--- +id: postgres +title: swiftwave postgres +tags: + - CLI + - Database +sidebar_position: 9 +--- + +Manage local postgres database + +### Check available commands +- [**swiftwave postgres start**](./start) +- [**swiftwave postgres stop**](./stop) +- [**swiftwave postgres status**](./status) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/postgres/start.md b/versioned_docs/version-2.0.x/cli/postgres/start.md new file mode 100755 index 0000000..28bd0ad --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/postgres/start.md @@ -0,0 +1,17 @@ +--- +id: start +title: swiftwave postgres start +tags: + - CLI + - Database +sidebar_position: 1 +--- + + +Start local postgres database + +### Usage + +``` +swiftwave postgres start +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/postgres/status.md b/versioned_docs/version-2.0.x/cli/postgres/status.md new file mode 100755 index 0000000..1f8acea --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/postgres/status.md @@ -0,0 +1,16 @@ +--- +id: status +title: swiftwave postgres status +tags: + - CLI + - Database +sidebar_position: 3 +--- + +Check status of local postgres database + +### Usage + +``` +swiftwave postgres status +``` diff --git a/versioned_docs/version-2.0.x/cli/postgres/stop.md b/versioned_docs/version-2.0.x/cli/postgres/stop.md new file mode 100755 index 0000000..86cbb32 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/postgres/stop.md @@ -0,0 +1,16 @@ +--- +id: stop +title: swiftwave postgres stop +tags: + - CLI + - Database +sidebar_position: 2 +--- + +Stop local postgres database + +### Usage + +``` +swiftwave postgres stop +``` diff --git a/versioned_docs/version-2.0.x/cli/service/disable.md b/versioned_docs/version-2.0.x/cli/service/disable.md new file mode 100755 index 0000000..ed9f61f --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/service/disable.md @@ -0,0 +1,16 @@ +--- +id: disable +title: swiftwave service disable +tags: + - CLI + - Swiftwave Service +sidebar_position: 2 +--- + +Disable Swiftwave daemon service + +### Usage + +``` +swiftwave service disable +``` diff --git a/versioned_docs/version-2.0.x/cli/service/enable.md b/versioned_docs/version-2.0.x/cli/service/enable.md new file mode 100755 index 0000000..0cabba9 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/service/enable.md @@ -0,0 +1,16 @@ +--- +id: enable +title: swiftwave service enable +tags: + - CLI + - Swiftwave Service +sidebar_position: 1 +--- + +Enable Swiftwave daemon service + +### Usage + +``` +swiftwave service enable +``` diff --git a/versioned_docs/version-2.0.x/cli/service/index.md b/versioned_docs/version-2.0.x/cli/service/index.md new file mode 100755 index 0000000..76ee4f2 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/service/index.md @@ -0,0 +1,16 @@ +--- +id: service +title: swiftwave service +tags: + - CLI + - Swiftwave Service +sidebar_position: 8 +--- + +Manage Swiftwave Daemon Service + +### Check available commands +- [**swiftwave service enable**](./enable) +- [**swiftwave service disable**](./disable) +- [**swiftwave service restart**](./restart) +- [**swiftwave service status**](./status) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/service/restart.md b/versioned_docs/version-2.0.x/cli/service/restart.md new file mode 100755 index 0000000..b5ba343 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/service/restart.md @@ -0,0 +1,16 @@ +--- +id: restart +title: swiftwave service restart +tags: + - CLI + - Swiftwave Service +sidebar_position: 3 +--- + +Restart swiftwave service + +### Usage + +``` +swiftwave service restart +``` diff --git a/versioned_docs/version-2.0.x/cli/service/status.md b/versioned_docs/version-2.0.x/cli/service/status.md new file mode 100755 index 0000000..12800bd --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/service/status.md @@ -0,0 +1,16 @@ +--- +id: status +title: swiftwave service status +tags: + - CLI + - Swiftwave Service +sidebar_position: 4 +--- + +Get status of swiftwave service + +### Usage + +``` +swiftwave service status +``` diff --git a/versioned_docs/version-2.0.x/cli/snapshot.md b/versioned_docs/version-2.0.x/cli/snapshot.md new file mode 100644 index 0000000..5b741a8 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/snapshot.md @@ -0,0 +1,26 @@ +--- +id: snapshot +title: swiftwave snapshot +tags: + - CLI +sidebar_position: 14 +--- + +Take snapshot of Swiftwave. Can be helpful in disaster recovery. + +It will backup +- Swiftwave configuration +- Swiftwave data +- Swiftwave logs +- Swiftwave database +- Images of locally running image registry +- Uploaded codebases +- Data and configuration of Ingress Proxy + +### Usage + +``` +swiftwave snapshot +``` + +This will print the filename of the snapshot file. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/start.md b/versioned_docs/version-2.0.x/cli/start.md new file mode 100755 index 0000000..1444d52 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/start.md @@ -0,0 +1,18 @@ +--- +id: start +title: swiftwave start +tags: + - CLI +sidebar_position: 7 +--- + +Start swiftwave as a standalone process. + +### Usage + +``` +swiftwave start +``` + +### Note +If you are looking to run swiftwave as a service, please refer to the [**service**](./service) command. diff --git a/versioned_docs/version-2.0.x/cli/tls/disable.md b/versioned_docs/version-2.0.x/cli/tls/disable.md new file mode 100644 index 0000000..f2abb2e --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tls/disable.md @@ -0,0 +1,17 @@ +--- +id: disable +title: swiftwave tls disable +tags: + - CLI +sidebar_position: 2 +--- + +Disable Swiftwave Service TLS +> ⚠️ **Not recommended** for production environments. It's only recommended for *development environments*. + + +### Usage + +``` +swiftwave tls disable +``` diff --git a/versioned_docs/version-2.0.x/cli/tls/enable.md b/versioned_docs/version-2.0.x/cli/tls/enable.md new file mode 100644 index 0000000..9c0793a --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tls/enable.md @@ -0,0 +1,16 @@ +--- +id: enable +title: swiftwave tls enable +tags: + - CLI +sidebar_position: 1 +--- + +Enable Swiftwave Service TLS +> All the communication between the Swiftwave service and the clients will be encrypted using the TLS protocol. + +### Usage + +``` +swiftwave tls enable +``` diff --git a/versioned_docs/version-2.0.x/cli/tls/generate.md b/versioned_docs/version-2.0.x/cli/tls/generate.md new file mode 100755 index 0000000..192c848 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tls/generate.md @@ -0,0 +1,20 @@ +--- +id: generate +title: swiftwave tls generate +tags: + - CLI +sidebar_position: 3 +--- + +Generate TLS certificate for swiftwave management node + +> This command generates TLS certificate for swiftwave endpoint. + It's not for generating certificate for domain of hosted applications + +It also enables TLS for swiftwave management node + +### Usage + +``` +swiftwave tls generate +``` diff --git a/versioned_docs/version-2.0.x/cli/tls/index.md b/versioned_docs/version-2.0.x/cli/tls/index.md new file mode 100644 index 0000000..e2dca58 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tls/index.md @@ -0,0 +1,15 @@ +--- +id: tls +title: swiftwave tls +tags: + - CLI +sidebar_position: 6 +--- + +Manage TLS for swiftwave service + +### Check available commands +- [**swiftwave tls enable**](./enable) +- [**swiftwave tls disable**](./disable) +- [**swiftwave tls generate**](./generate) +- [**swiftwave tls renew**](./renew) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/tls/renew.md b/versioned_docs/version-2.0.x/cli/tls/renew.md new file mode 100644 index 0000000..ad54ae0 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tls/renew.md @@ -0,0 +1,15 @@ +--- +id: renew +title: swiftwave tls renew +tags: + - CLI +sidebar_position: 4 +--- + +Renew TLS certificate for the domain of swiftwave management node + +### Usage + +``` +swiftwave tls renew +``` diff --git a/versioned_docs/version-2.0.x/cli/tq/index.md b/versioned_docs/version-2.0.x/cli/tq/index.md new file mode 100644 index 0000000..07834d8 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tq/index.md @@ -0,0 +1,17 @@ +--- +id: tq +title: swiftwave tq +tags: + - CLI + - Task Queue +sidebar_position: 13 +--- + +`tq` is a command to fix issues related to swiftwave task queue. No command of this command is required to run in normal circumstances. + +> Executing any of the commands in this command may result issues in swiftwave. + +### Check available commands +- [**swiftwave tq ls**](./ls) +- [**swiftwave tq inspect**](./inspect) +- [**swiftwave tq purge**](./purge) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/tq/inspect.md b/versioned_docs/version-2.0.x/cli/tq/inspect.md new file mode 100644 index 0000000..4227035 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tq/inspect.md @@ -0,0 +1,16 @@ +--- +id: inspect +title: swiftwave tq inspect +tags: + - CLI + - Task Queue +sidebar_position: 2 +--- + +Inspect a queue and print the messages of the queue. + +### Usage + +``` +swiftwave tq inspect +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/tq/ls.md b/versioned_docs/version-2.0.x/cli/tq/ls.md new file mode 100644 index 0000000..4e52fb4 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tq/ls.md @@ -0,0 +1,16 @@ +--- +id: ls +title: swiftwave tq ls +tags: + - CLI + - Task Queue +sidebar_position: 1 +--- + +List all the queues name. + +### Usage + +``` +swiftwave tq ls +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/tq/purge.md b/versioned_docs/version-2.0.x/cli/tq/purge.md new file mode 100644 index 0000000..18a0bfc --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/tq/purge.md @@ -0,0 +1,22 @@ +--- +id: purge +title: swiftwave tq purge +tags: + - CLI + - Task Queue +sidebar_position: 3 +--- + +Purge Task Queue + +### Usage + +If you like to **purge all queues**, you can use the following command. +``` +swiftwave tq purge all +``` + +If you like to **purge a specific queue**, you can use the following command. +``` +swiftwave tq purge +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/update.md b/versioned_docs/version-2.0.x/cli/update.md new file mode 100644 index 0000000..3eae9f8 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/update.md @@ -0,0 +1,25 @@ +--- +id: update +title: swiftwave update +tags: + - CLI +sidebar_position: 12 +--- + +Update Swiftwave to the latest minor version and hotfixes. + +> Note: Major version's will not be backwards compatible and will require a manual update. But you can expect major version after very long time. + +### Usage + +``` +swiftwave update +``` + +:::tip + +Best practice is to enable swiftwave auto update service to keep Swiftwave up to date and secured. + +Check out [**swiftwave auto-update**](./auto-update) command for more information. + +::: \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/user/create.md b/versioned_docs/version-2.0.x/cli/user/create.md new file mode 100644 index 0000000..3d861b7 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/user/create.md @@ -0,0 +1,23 @@ +--- +id: user-create +title: swiftwave user create +tags: + - CLI +sidebar_position: 6 +--- + +Create a new user + +### Usage + +``` +swiftwave user create [flags] +``` + +### Flags + + +| Flag | Type | Default | Mandatory | Description | +| ---------- | ------ | ------------------- | ------------------ | --------------------------- | +| --username | string |
--
|
| Username for new admin user | +| --password | string |
--
|
| Password for new admin user | diff --git a/versioned_docs/version-2.0.x/cli/user/delete.md b/versioned_docs/version-2.0.x/cli/user/delete.md new file mode 100644 index 0000000..73289d9 --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/user/delete.md @@ -0,0 +1,16 @@ +--- +id: user-delete +title: swiftwave user delete +tags: + - CLI +sidebar_position: 7 +--- + +Delete a user + +### Usage + + +``` +swiftwave user delete --username +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/cli/user/index.md b/versioned_docs/version-2.0.x/cli/user/index.md new file mode 100644 index 0000000..f10a2ba --- /dev/null +++ b/versioned_docs/version-2.0.x/cli/user/index.md @@ -0,0 +1,15 @@ +--- +id: user +title: swiftwave user +tags: + - CLI +sidebar_position: 5 +--- + +Manage admin users of SwiftWave + +### Usage + +``` +swiftwave user +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/contribution_guideline.md b/versioned_docs/version-2.0.x/contribution_guideline.md new file mode 100644 index 0000000..b9a0ff2 --- /dev/null +++ b/versioned_docs/version-2.0.x/contribution_guideline.md @@ -0,0 +1,43 @@ +--- +id: contribution_guideline +title: 🤝 Contribution Guideline +sidebar_position: 8 +hide_title: true +--- + +### 🤝 Contributing to SwiftWave + +First off, thanks for having interest in contributing to SwiftWave! 🎉 + +We have couple of projects under SwiftWave organization. You can contribute to any of them. + +| Project | Description | Tech Stack | GitHub Link | Setup Guide | +| ----------------------------- | ------------------------------------------------------------------------------- | ------------------ | ------------------------------------------------------------- |---------------------------------------------------------------| +| SwiftWave | Core PaaS | Golang | [Click Here](https://github.com/swiftwave-org/swiftwave) | [Click Here](./development_setup) | +| Dashboard | Web interface for SwiftWave. | VueJS, TailwindCSS | [Click Here](https://github.com/swiftwave-org/dashboard) | [Click Here](https://github.com/swiftwave-org/dashboard) | +| UDPProxy | Custom UDP Proxy to forward UDP traffic from outside word to internal services. | Golang | [Click Here](https://github.com/swiftwave-org/udpproxy) | [Click Here](https://github.com/swiftwave-org/udpproxy) | +| Volume Toolkit | Custom tool to analyze volume size, handle backup and restore of volume. | Golang | [Click Here](https://github.com/swiftwave-org/volume-toolkit) | [Click Here](https://github.com/swiftwave-org/volume-toolkit) | +| Stats Ninja | Custom tool to record resource usage of all server and deployed applications. | Golang | [Click Here](https://github.com/swiftwave-org/stats-ninja) | [Click Here](https://github.com/swiftwave-org/stats-ninja) | +| SwiftWave Docs + Landing Page | Official landing page and documentation website | Docusaurus | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | [Click Here](https://github.com/swiftwave-org/swiftwave.org) | +| Quick DNS | Service to provide ***.swiftwave.xyz** domain for your swiftwave installation | Golang | [Click Here](https://github.com/swiftwave-org/dns) | [Click Here](https://github.com/swiftwave-org/dns) | +| Distributions | Manages the hosting of Swiftwave Debian & RPM packages. | Python | [Click Here](https://github.com/swiftwave-org/distributions) | [Click Here](https://github.com/swiftwave-org/distributions) | + +### 📝 How to Contribute to any of the project +1. Fork the repository +2. Setup the project locally. Refer the above table for setup guide. +3. Make changes +4. Commit and push your changes +5. Raise a Pull Request + +### 🔍 How to Find Issues to contribute +- You can visit *Github* of project and check the *issues* tab. +- If you are looking for beginner friendly issues, you can check the *good first issue* label. +- If you find any issue on any of the project, you can raise an issue and start working on it. + +### 📌 Guidelines +- Please follow the [**Code of Conduct**](https://github.com/swiftwave-org/swiftwave/blob/develop/CODE_OF_CONDUCT.md) while contributing. +- Please follow the [**Conventional Commit Message Guidelines**](https://www.conventionalcommits.org/en/v1.0.0/) while writing commit messages. + +### 📌 Need Help? +- You can join our Slack Workspace and ask your queries in **#general** channel. + - **Joining Link :** [slack.swiftwave.org](https://slack.swiftwave.org/) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/actions.md b/versioned_docs/version-2.0.x/dashboard/application_details/actions.md new file mode 100644 index 0000000..64488e0 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/actions.md @@ -0,0 +1,34 @@ +--- +id: actions +title: Actions +sidebar_position: 10 +--- + +![Webhook CI](/assets/2.0.x/application-actions.png) + + +You can perform the following actions on the application from the **Actions** section. + - Restart the application + - Rebuild the application + - SSH to the application + + +## Restart the Application + +Click on **Restart** to restart the application. + +## Rebuild the Application + +Click on **Rebuild** to rebuild the application. If the application was deployed using any docker image, then while deployment it will try to fetch new image if it is available. + +## SSH to the Application + +Any point of time, if you need to SSH to the application, you can click on `Open Console` to open the SSH console. + +![SSH Init](/assets/2.0.x/application-ssh-select-server.png) + +After opening the web console, it will ask you to select the server. You need to provide the serial no of server to which you want to SSH. + +![SSH Console](/assets/2.0.x/application-ssh-console.png) + +After selecting the server, it will open the SSH console and you can run any command inside the application now. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/analytics.md b/versioned_docs/version-2.0.x/dashboard/application_details/analytics.md new file mode 100644 index 0000000..5a4be40 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/analytics.md @@ -0,0 +1,9 @@ +--- +id: analytics +title: Analytics +sidebar_position: 2 +--- + +In **Analytics** section, you can see the resource usage of the application. The details include CPU, Memory, and Network usage. + +![Analytics](/assets/2.0.x/application-analytics.png) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/application_update_source.md b/versioned_docs/version-2.0.x/dashboard/application_details/application_update_source.md new file mode 100644 index 0000000..cac13fb --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/application_update_source.md @@ -0,0 +1,16 @@ +--- +id: update_app_source +title: Update App Source +sidebar_position: 7 +--- + +In **Update App Source** section, you can update the source of the application to deploy a new version of the application. + +![Update App Source](/assets/2.0.x/application-update-source.png) + +### How to update source of the application ? +- Change the source info of the application. +- Change anything you want. +- Click on **`Apply Changes`** button to update the source of the application. + +> 📌 Note: If you have deployed your application using git, currently you can't switch to docker image deployment or something else. In future, we will try to support this feature. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/deployment_configuration.md b/versioned_docs/version-2.0.x/dashboard/application_details/deployment_configuration.md new file mode 100644 index 0000000..5920bd4 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/deployment_configuration.md @@ -0,0 +1,15 @@ +--- +id: deployment_configuration +title: Deployment Configuration +sidebar_position: 8 +--- + +In **Deployment Configuration** section, you can *scale up* or *scale down* the application. + +![Deployment Configuration](/assets/2.0.x/application-deployment-configuration.png) + +**Deployment Modes -** +- **Replicated Mode** - In this mode, you can specify the number of instances you want to run for the application. +- **Global Mode** - In this mode, each server registered under swiftwave will run one instance of the application. + +> 📌 Note: Currently you can't change the deployment strategy of the application. **Replicated** mode is suitable for most of the applications. If you don't know what to choose, then choose **Replicated** mode. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/deployments.md b/versioned_docs/version-2.0.x/dashboard/application_details/deployments.md new file mode 100644 index 0000000..a109285 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/deployments.md @@ -0,0 +1,25 @@ +--- +id: deployments +title: Deployments +sidebar_position: 1 +--- + +In **Deployments** section, you can see all the deployments of the application. You can check the status of the deployment and time of deployment at a glance. + +![Deployment List](/assets/2.0.x/deployments.png) + +But, you want to see more details about the deployment, you can click on the **Deployment** to see more details about the deployment. + + +![Deployment Details](/assets/2.0.x/deployment-details.png) + +Here, you can see complete details about the deployment. You can also check deployment logs to figure out what went wrong. + +:::note + +📌 While deployment is live, +- The *Deployment Logs* will be updated in realtime. +- **Request Cancellation** button will be available to cancel the deployment, if due to any reason docker build stuck, you can cancel the deployment. + ![Deployment Cancel](/assets/1.x.x/cancel-deployment.png) + +::: \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/destroy.md b/versioned_docs/version-2.0.x/dashboard/application_details/destroy.md new file mode 100644 index 0000000..b24457a --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/destroy.md @@ -0,0 +1,14 @@ +--- +id: destroy +title: Destroy +sidebar_position: 10 +--- + +![Danger Zone](/assets/2.0.x/application-destroy.png) + + +### Delete Application + +To delete the application, tap on **Confirm & Delete Application**. This action deletes the application and all associated data. + +Handle these options with care, as this is irreversible action. diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/environment_variables.md b/versioned_docs/version-2.0.x/dashboard/application_details/environment_variables.md new file mode 100644 index 0000000..d1af7e6 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/environment_variables.md @@ -0,0 +1,11 @@ +--- +id: environment_variables +title: Environment Variables +sidebar_position: 6 +--- + +In **Environment Variables** section, you can see all the environment variables of the application. You can add new environment variables, edit existing environment variables, and also can delete environment variables. + +![Environment Variables](/assets/2.0.x/application-environment-variables.png) + +The UI is pretty simple and self-explanatory. After you change something, click on **`Apply Changes`** button to save the changes. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/index.md b/versioned_docs/version-2.0.x/dashboard/application_details/index.md new file mode 100644 index 0000000..568810b --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/index.md @@ -0,0 +1,35 @@ +--- +id: application_details +title: 📋 Application Details +sidebar_position: 7 +--- + +In **Application Details**, you can see all the details about the application. You can check the status of the application, last time when it was updated, and the number of instances running for that application. + +SwiftWave Dashboard + +On the right side, you can see realtime information about the count of active instances of the application. + +### ⏸️ Pause App + +If you like to make your application offline, you can pause the application. This will stop all the instances of the application and will free up the resources. + +### ▶️ Resume App + +If you like to make your application online, you can resume the application. This will start all the instances of the application and you will be able to access the application within a few seconds. + +### 🏄‍♂️ Let's go through each section of the **Application Details** page. + +| Section | Page Link | +| ------------------------ |------------------------------------------------| +| Deployments | [***Click Here***](./deployments) | +| Analytics | [***Click Here***](./analytics) | +| Runtime Logs | [***Click Here***](./runtime_logs) | +| Ingress Rules | [***Click Here***](./ingress_rules) | +| Persistent Volumes | [***Click Here***](./persistent_volumes) | +| Environment Variables | [***Click Here***](./environment_variables) | +| Update App Source | [***Click Here***](./update_app_source) | +| Deployment Configuration | [***Click Here***](./deployment_configuration) | +| Webhook CI | [***Click Here***](./webhook_ci) | +| Actions | [***Click Here***](./actions) | +| Destroy | [***Click Here***](./destroy) | \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/ingress_rules.md b/versioned_docs/version-2.0.x/dashboard/application_details/ingress_rules.md new file mode 100644 index 0000000..bd4a82a --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/ingress_rules.md @@ -0,0 +1,11 @@ +--- +id: ingress_rules +title: Ingress Rules +sidebar_position: 4 +--- + +In **Ingress Rules** section, you can find out all the associated ingress rules for the application. + +![Ingress Rules](/assets/2.0.x/application-ingress-rules.png) + +From V2, you can create or delete ingress rules for your application from this same page. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/persistent_volumes.md b/versioned_docs/version-2.0.x/dashboard/application_details/persistent_volumes.md new file mode 100644 index 0000000..6eb4118 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/persistent_volumes.md @@ -0,0 +1,15 @@ +--- +id: persistent_volumes +title: Persistent Volumes +sidebar_position: 5 +--- + +In **Persistent Volumes** section, you can see all the persistent volumes of the application. You can add new persistent volumes, edit existing persistent volumes, and also can delete persistent volumes. + +![Persistent Volumes](/assets/2.0.x/application-persistent-volumes.png) + +You can choose pre-registered persistent volume and provide a mount path. After you change something, click on **`Apply Changes`** button to save the changes. + +> **Mount Path** - The path where the persistent volume will be mounted inside the container of the application. + +If you see the **Persistent Volume** select dropdown empty, that means you don't have any persistent volume registered. You can create a new persistent volume in that case by tapping on the **Create New Persistent Volume** button. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/runtime_logs.md b/versioned_docs/version-2.0.x/dashboard/application_details/runtime_logs.md new file mode 100644 index 0000000..f58003c --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/runtime_logs.md @@ -0,0 +1,13 @@ +--- +id: runtime_logs +title: Runtime Logs +sidebar_position: 3 +--- + +In **Runtime Logs** section, you can see all the logs of the application. The logs are updated in realtime, so you don't have to refresh the page to check the latest logs. + +![Runtime Logs](/assets/2.0.x/runtime-logs.png) + +By default, it will show live logs. It includes logs from last 1 minute. + +So, from the provided dropdown, you can change the timeframe of the logs. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/application_details/webhook_ci.md b/versioned_docs/version-2.0.x/dashboard/application_details/webhook_ci.md new file mode 100644 index 0000000..a828670 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/application_details/webhook_ci.md @@ -0,0 +1,53 @@ +--- +id: webhook_ci +title: Webhook CI +sidebar_position: 9 +--- + +You can manage the webhook CI of the application from the **Webhook CI** section. + +This **Webhook** can be used to trigger re-deployment of the application when the source code of the application is updated. + +![Webhook CI](/assets/2.0.x/application-configure-webhook.png) + +**Regenerate Webhook Token** - You can regenerate the webhook URL by tapping on **Regenerate Webhook** button. If you have exposed the webhook URL to the public by mistake, then you can regenerate the webhook URL to make the old webhook URL invalid. + +--- + +### 🚀 Setting Up Auto Deployment on GitHub + +1. Open your GitHub repository +2. Click on **Settings** ⚙️ +3. Go to **Webhooks** from the left menu +4. Press the **Add webhook** button 🤖 +5. Copy and paste the webhook URL in the **Payload URL** field +6. Choose **Just the push event** from the options +7. Click **Add webhook** to save 🚀 +8. Hooray! 🎉 Whenever you push changes, the webhook triggers, and your app auto-redeploys! 🔄 + +--- + +### 🚀 Setting Up Auto Deployment on GitLab + +1. Open your GitLab repository +2. Click on **Settings** ⚙️ +3. Navigate to **Webhooks** from the left menu +4. Hit the **Add New webhook** button 🤖 +5. Copy-paste the webhook URL into the **URL** field +6. Check **Push events** from the **Triggers** section +7. Click **Add webhook** to save 🚀 +8. Fantastic! 🎉 Push changes, trigger the webhook, and your app auto-redeploys! 🔄 + +--- + +### Auto Deployment on Docker Hub + +> Note: Make sure you have a Docker Hub account, and you need administrative access to the project. + +1. Open your Docker Hub account +2. Go to the specific repository 📦 +3. Click on **Webhooks** 🌐 +4. Add the webhook URL +5. Ensure you have administrative access to the project +6. Click on **Create** 🚀 +7. Done! 🎉 Push changes, trigger the webhook, and your app auto-redeploys! 🔄 \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/applications.md b/versioned_docs/version-2.0.x/dashboard/applications.md new file mode 100644 index 0000000..843d898 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/applications.md @@ -0,0 +1,13 @@ +--- +id: applications +title: 📦 Applications +sidebar_position: 6 +--- + +In **Application List**, you can see all the applications that you have created. You can check the status of the application, last time when it was updated, and the number of instances running for that application. + +SwiftWave Dashboard + +You can click on **`View Details`** button to see more details about the application. + +Check out [**Application Details**](./application_details) to learn more about it. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/change_password.md b/versioned_docs/version-2.0.x/dashboard/change_password.md new file mode 100644 index 0000000..fd894d1 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/change_password.md @@ -0,0 +1,11 @@ +--- +id: change_password +title: 🔒 Change Password +sidebar_position: 15 +--- + +To **change your password**, you can click on `Administration > Change Password` in the sidebar. You will see a form like this: + +![Change Password](/assets/1.x.x/change-password.png) + +You need to enter your current password and new password. Then, click on **Change Password** button and your password will be changed. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/deploy_new_application.md b/versioned_docs/version-2.0.x/dashboard/deploy_new_application.md new file mode 100644 index 0000000..669dd72 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/deploy_new_application.md @@ -0,0 +1,34 @@ +--- +id: deploy_new_application +title: 🔨 Deploy New Application +sidebar_position: 3 +--- + + +In **SwiftWave** you can deploy your application from various sources. +- 📦 Git Repository (Supports both HTTP and SSH) +- 🐳 Docker Image Repository +- If your code isn't on a Git or Image Repository, worry not! Simply choose your code folder and upload it. 📂 + +### 🚀 Deploy Application +1. Click on the `Deploy New Application` button on the *Sidebar* of the **Dashboard**. +2. Choose your application source (Git Repository, Docker Image, or Upload Code Folder) option. +3. Fill in the required details. +4. Click on `Generate Configuration` button. +5. You can choose to edit generated Dockerfile by clicking on `View/Modify Dockerfile` button. If you feel it detected some wrong services, you can change the detected service and choose another template. +6. Edit Build Arguments, if required. +7. Put the command, if you need to override the default command of dockerfile. +8. Click on `Confirm & Proceed to Next Step` button. +9. At top, you can configure no of application instances you require. (You can also configure this later.) +10. Configure your application's environment variables. (You can also configure this later.) +11. You can also configure persistent storage for your application. (You can also configure this later.) +12. Click on `Click to Confirm & Deploy` button. +13. Your application will be deployed in a few minutes. 🚀 +14. You can check the build logs and status in the same page. + + +### 📚 Next Steps +- [**How to check details and manage a deployed application**](./application_details/) +- [**How to expose application to internet ?**](./ingress-rules) +- [**How to configure persistent storage ?**](./application_details/persistent_volumes) +- [**How to configure environment variables ?**](./application_details/environment_variables) diff --git a/versioned_docs/version-2.0.x/dashboard/deploy_stack.md b/versioned_docs/version-2.0.x/dashboard/deploy_stack.md new file mode 100644 index 0000000..517b08d --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/deploy_stack.md @@ -0,0 +1,35 @@ +--- +id: deploy_stack +title: 🔨 Deploy Stack +sidebar_position: 4 +--- + +![Deploy Stack](/assets/2.0.x/deploy-stack.png) + +In **SwiftWave**, you have also support to deploy multiple applications using stack file. + +This stack file has same format as docker stack file. Still it doesn't support all the features of docker stack file. + +#### Available Features + +| Name | Supported | +| --------------------- | --------- | +| services | Yes | +| image name | Yes | +| deploy mode | Yes | +| command | Yes | +| replicas | Yes | +| volumes | Yes | +| environment variables | Yes | +| cap_add | Yes | +| sysctls | Yes | +| ports | No | +| networks | No | +| depends_on | No | +| healthcheck | No | + +:::tip + +You can use ingress rules to expose your application to internet. + +::: \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/domains.md b/versioned_docs/version-2.0.x/dashboard/domains.md new file mode 100644 index 0000000..6036f13 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/domains.md @@ -0,0 +1,36 @@ +--- +id: domains +title: 🌐 Domains +sidebar_position: 10 +--- + +In **Domains** section, you can manage all the custom domains you have added to swiftwave. + +![Domains List](/assets/2.0.x/domain-list.png) + +### Register a new domain +You can click on `Register New` button and fill in the required details to register a new domain. + +### Delete a domain +You can click on `Delete` button to delete a domain. +> Note : You can only delete a domain if +> - it is not being used by any application +> - no ingress rules linked to it +> - no redirect rules linked to it + +### Verify DNS +You can click on `Verify DNS` button to verify if domain is correctly pointing to the proxy server. + +:::tip + +- If you are using cloudflare as your DNS provider, it is recommended to use DNS only mode while mapping your domain to the proxy server IP. +- If you want to use Cloudflare Proxy Mode, go to `Domain SSL/TLS Mode` section and mark `Encryption Mode` to `Full`. After this, all your application hosted on swiftwave should use `https` protocol in all ingress rules. + +::: + + +### Issue SSL Certificate 🛡️ +Swiftwave has Let's Encrypt integration. You can issue a SSL certificate for your domain by clicking on `Issue SSL` button. + +### SSL Auto Renewal +From V2, Swiftwave supports SSL auto renewal. You don't need to worry about renewing your SSL certificate manually. diff --git a/versioned_docs/version-2.0.x/dashboard/git-credentials.md b/versioned_docs/version-2.0.x/dashboard/git-credentials.md new file mode 100644 index 0000000..7dd618b --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/git-credentials.md @@ -0,0 +1,40 @@ +--- +id: git-credentials +title: 🐙 Git Credentials +sidebar_position: 8 +--- + +In **Git Credentials** section, you can check all the saved Git Credentials. You can use these credentials while deploying an application from a Git Repository. + +![Git Credentials List](/assets/2.0.x/git-credential-list.png) + +Git Credentials vault now supports both HTTP and SSH authentication key. + +**You can** +- **Add** a new Git Credential by clicking on `Add New` button. +- **View** a Git Credential by clicking on `View Details` button. +- **Edit** a Git Credential by clicking on `Edit Details` button. +- **Delete** a Git Credential by clicking on `Delete` button. + > Note : You can only delete a Git Credential if it is not being used by any application. + +#### Add HTTP Credential + +![Add HTTP Credential](/assets/2.0.x/add-http-credential.png) + +Choose the type as `HTTP` and fill in the required details. + +#### Add SSH Credential + +![Add SSH Credential](/assets/2.0.x/add-ssh-credential.png) + +Choose the type as `SSH` and fill in the required details. +- If you like to use your own private key, put that in OpenSSH format in the `Private Key` field. +- Else, leave that field empty and a new key will be generated for you. + +**View the public key** + +To view the public key, hit the `View Details` button after creating your SSH Git credential. + +![View SSH Credential](/assets/2.0.x/ssh-git-credential-details.png) + +You can add this key to your GitHub account and use it to access the private repository. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/image-credentials.md b/versioned_docs/version-2.0.x/dashboard/image-credentials.md new file mode 100644 index 0000000..3d58820 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/image-credentials.md @@ -0,0 +1,15 @@ +--- +id: image-credentials +title: 🐳 Image Credentials +sidebar_position: 9 +--- + +In **Image Credentials** section, you can check all the saved Image Registry Credentials. You can use these credentials while deploying an application from a Image Repository. + +![Image Credentials List](/assets/2.0.x/image-registry-credential-list.png) + +**You can** +- **Add** a new Image Registry Credential by clicking on `Add New` button. +- **Edit** an existing Image Registry Credential by clicking on `Edit Details` button. +- **Delete** a Image Registry Credential by clicking on `Delete` button. + > Note : You can only delete a Image Registry Credential if it is not being used by any application. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/index.md b/versioned_docs/version-2.0.x/dashboard/index.md new file mode 100644 index 0000000..31cbd52 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/index.md @@ -0,0 +1,40 @@ +--- +id: swiftwave_dashboard +title: 🖥️ SwiftWave Dashboard +hide_table_of_contents: true +sidebar_position: 5 +--- + +
+ SwiftWave Dashboard +
+ + +SwiftWave Dashboard is a web-based interface for controlling all resources, including apps, domains, persistent volumes, and more. It is SwiftWave's main management interface. + + + +## Sections of Dashboard +| Section | Description | Link | +| ---------------------------- | --------------------------------------------------------------------- |----------------------------------------------| +| 🔒 Log In | Log in to SwiftWave Dashboard | [***Click Here***](./log_in) | +| 🏪 Swiftwave App Store | Install apps in one click from the SwiftWave App Store | [***Click Here***](./swiftwave_app_store) | +| 🔨 Deploy Application | Deploy new application on your server | [***Click Here***](./deploy_new_application) | +| 🔨 Deploy Stack | Deploy application using stack file | [***Click Here***](./deploy_stack) | +| 📦 Persistent Volumes | List of all persistent volumes created on your server & manage them | [***Click Here***](./persistent-volumes) | +| 📦 Applications | List of all applications deployed on your server & manage them | [***Click Here***](./applications) | +| 📦 Application Details | View details of an application | [***Click Here***](./application_details) | +| 🐙 Git Credentials | Manage git credentials for your applications | [***Click Here***](./git-credentials) | +| 🐳 Image Registry Credentials | Manage docker image credentials for your applications | [***Click Here***](./image-credentials) | +| 🌐 Domains | Manage custom domains, SSL for your applications | [***Click Here***](./domains) | +| 🚪 Ingress Rules | Manage exposed domains and routes for your applications | [***Click Here***](./ingress-rules) | +| 🔄 Redirect Rules | Manage domain redirection and HTTPS redirection for your applications | [***Click Here***](./redirect-rules) | +| 🖥️ Manage Servers | Manage the onboarded servers for your SwiftWave instance | [***Click Here***](./manage-servers) | +| 👥 Manage Users | Manage admin users for your hosted SwiftWave instance | [***Click Here***](./manage-users) | +| 🔒 Change Password | Change password for currently logged In user | [***Click Here***](./change_password) | +| 🖥️ Manage System | Manage the system settings for your SwiftWave instance | [***Click Here***](./manage-system) | + diff --git a/versioned_docs/version-2.0.x/dashboard/ingress-rules.md b/versioned_docs/version-2.0.x/dashboard/ingress-rules.md new file mode 100644 index 0000000..20a7614 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/ingress-rules.md @@ -0,0 +1,64 @@ +--- +id: ingress-rules +title: 🚪 Ingress Rules +sidebar_position: 11 +--- + +In **Ingress Rules** section you can manage your ingress rules. You can add or delete ingress rules. + +![Ingress Rules](/assets/2.0.x/ingress-rule-list.png) + +### 😅 Don't know what ingress rules are ? +In layman's terms, ingress rules are the rules that will connect your domain to your application. + +For example, you have an web application (named **myapp**) running on port 3000 and you want people can access it via `https://myapp.com`. You can do that by creating an ingress rule that will connect your domain to your application. + +``` +myapp.com [https] -> myapp:3000 +``` + +### Add Ingress Rule for Deployed Application +To add an ingress rule, click on **Add New** button. You will see a form like this: +![Add Ingress Rule](/assets/2.0.x/add-ingress-rule-application.png) + +You can choose the protocol your application required. +- **HTTP**: You can choose any port for your application. It's recommended to use port 80 for HTTP. +- **HTTPS**: Currently, only port 443 is supported. + > Note: To enable, **HTTPS Redirection**, you will have to create a redirect rule. You can follow [**this docs**](./redirect-rules#https-redirect) section to create a redirect rule. +- **TCP**: If your application relies on TCP protocol, you can choose this option. You can choose any port for your application. + > NOTE : In case of TCP, You don't need any domain. You can directly connect your application to your server's IP and port (you choose). +- **UDP**: If your application relies on UDP protocol, you can choose this option. You can choose any port for your application. + > NOTE : In case of UDP, You don't need any domain. You can directly connect your application to your server's IP and port (you choose). + +Then, you can choose the domain you want to connect to your application. If you don't have any domain, you can click on `Register New Domain` to add a new domain. + +**Finally**, you can choose the application you want to connect to your domain. + +Hurrah! You have successfully created an ingress rule. Now, you can access your application via your domain. +It takes upto 1 minute to apply the changes. + +> **Note :** If you have created an ingress rule for port except 80 and 443, you will have to wait for 1~2 minutes to see the effect. This is because, we have to reload HAProxy or UDPProxy and other services to expose the port. You should open the port in your server's firewall too. + + +### Add Ingress Rule for External Application + +You can use the integrated proxy in Swiftwave to expose certain applications to the outside world if you are unable to deploy them in swiftwave for some reason. + +:::info + +That external application should use this docker overlay network > `swiftwave_network` + +::: + +For that, click on **Add New** button. In the form, you will see a label `Need to expose some external services ?`. Click on it and you will see a form like this: + +![Add Ingress Rule](/assets/2.0.x/add-ingress-rule-external.png) + +From here, you can type the container / service name of that external application and create an ingress rule for it. + +Hurrah! + + +### Delete Ingress Rule +To delete an ingress rule, click on **Delete** button. You will see a confirmation dialog. Confirm it and your ingress rule will be deleted. + diff --git a/versioned_docs/version-2.0.x/dashboard/log_in.md b/versioned_docs/version-2.0.x/dashboard/log_in.md new file mode 100644 index 0000000..d8ba9b8 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/log_in.md @@ -0,0 +1,11 @@ +--- +id: log_in +title: 🔒 Log In +sidebar_position: 1 +--- + +When you will visit the dashboard for the first time, you will be asked to log in. + +![Log In](/assets/2.0.x/log-in.png) + +You can log in using the credentials, you created while setting up swiftwave. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/manage-servers.md b/versioned_docs/version-2.0.x/dashboard/manage-servers.md new file mode 100644 index 0000000..95d5062 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/manage-servers.md @@ -0,0 +1,58 @@ +--- +id: manage-servers +title: 🖥️ Manage Servers +sidebar_position: 13 +--- + +![Manage Servers](/assets/2.0.x/server-management.png) + +## Onboard Server +1. Click the `Add Server` button +2. Put the IP Address of the server you want to add + + ![Add Server](/assets/2.0.x/add-server.png) + + :::tip + + If your server has no public or private IP address, you can use `127.0.0.1` as the IP Address. + + ::: +3. Click the `Register Server` button +4. Click on `Setup Server` to configure the server +5. Follow the instructions to configure the server + +## Server Analytics + +You can click on `Analytics` to view the server analytics. + +![Server Analytics](/assets/2.0.x/server-analytics.png) + +The server analytics page shows the following information: + +- CPU Usage +- Memory Usage +- Disk Usage +- Network Usage + +## Server Logs + +You can click on `View Logs` to view the server logs. + +![Server Logs](/assets/2.0.x/server-logs.png) + +It only has logs from actions that happen on that specific server. + +## Actions +You can perform the following actions on a server: + +![Server Actions](/assets/2.0.x/server-actions.png) + +All actions are self-explanatory. + +## Web Console + +Once you have successfully onboarded a server, you can SSH to server using the web console. + +Click on `View Actions > Web Console` to open the web console. + +![Web Console](/assets/2.0.x/server-web-console.png) \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/manage-system.md b/versioned_docs/version-2.0.x/dashboard/manage-system.md new file mode 100644 index 0000000..d5f3dbd --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/manage-system.md @@ -0,0 +1,26 @@ +--- +id: manage-system +title: 🖥️ Manage System +sidebar_position: 16 +--- + +Under `Manage System` option of sidebar, you can have three options: +- System Logs +- System Configuration +- System Restart + +## System Logs + +You can click on `System Logs` to view the system logs. It have both normal and error logs. + +![System Logs](/assets/2.0.x/system-logs.png) + +## System Configuration + +You can click on `System Configuration` to view or modify the system configuration. + +![System Configuration](/assets/2.0.x/system-configuration.png) + +## System Restart + +To restart Swiftwave, click on "System Restart." There will be no downtime, and all of your applications will work as they do now. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/manage-users.md b/versioned_docs/version-2.0.x/dashboard/manage-users.md new file mode 100644 index 0000000..beba5b5 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/manage-users.md @@ -0,0 +1,23 @@ +--- +id: manage-users +title: 👥 Manage Users +sidebar_position: 14 +--- + +In **Manage Users** section, you can manage all the users of your organization. + +![Manage Users](/assets/1.x.x/manage-users.png) + +**You can -** +1. **Create** a new user by clicking on `Create User` button. + > ⚠️ **Note :** Currently, you can only create a user with `admin` role, so new user will have all the permissions. + > We will be adding more roles for granular permission control soon. + + After clicking on `Create User` button, you will see a form like this: + + ![Create User](/assets/1.x.x/create-user.png) + + Enter the required details and click on `Create` button. The user will be created. + +2. **Delete** a user by clicking on `Delete` button. + > **Note :** You can't delete current logged in user. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/persistent-volumes.md b/versioned_docs/version-2.0.x/dashboard/persistent-volumes.md new file mode 100644 index 0000000..385e929 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/persistent-volumes.md @@ -0,0 +1,82 @@ +--- +id: persistent-volumes +title: 📦 Persistent Volumes +sidebar_position: 5 +--- + +In **Persistent Volumes** section, you can see all the persistent volumes created across your cluster for your applications. + +![Persistent Volume List](/assets/1.x.x/persistent-volumes.png) + +### Create a Persistent Volume +1. **Local Volume** + Local volume is a volume that is created on the local storage of the node. It is not shared across the cluster. + + - Click on `Add New` button. + - ![Local Volume](/assets/1.x.x/create-local-volume.png) + - Choose a unique name for the volume and can't contain spaces. + - Choose type `Local`. + - Click on `Register` button and the volume will be created. + +2. **NFS Volume** + You can create a NFS volume to share the volume across the cluster and also to keep your data more reliable. + + - Click on `Add New` button. + - ![NFS Volume](/assets/1.x.x/create-nfs-volume.png) + - Choose a unique name for the volume and can't contain spaces. + - Choose type `NFS`. + - Fillup NFS server details. + > Note : Duly check the NFS server details before submitting. You can't change the NFS server details once the volume is created. + - Click on `Register` button and the volume will be created. + +3. **SAMBA Share / CIFS Volume** + You can mount a SAMBA share or CIFS volume to share the volume across the cluster and also to keep your data more reliable. + + - Click on `Add New` button. + - ![SAMBA Share / CIFS Volume](/assets/2.0.x/create-cifs-volume.png) + - Choose a unique name for the volume and can't contain spaces. + - Choose type `CIFS`. + - Fillup CIFS server details. + > Note : Duly check the CIFS server details before submitting. You can't change the CIFS server details once the volume is created. + - Click on `Register` button and the volume will be created. + +### Delete a Persistent Volume +Just click on `Delete` button to delete a persistent volume. + +### Analyze Size of Persistent Volume +You can click on `Fetch Size` button to fetch size of the persistent volume. + +### Backup Volume +1. You can backup and take snapshot of the persistent volume by clicking on `Create Backup` button. +2. You can choose type of backup. + - **Local** : The backup will be stored locally in the server itself. + - **S3** : The backup will be stored in S3 bucket. You need to configure S3 beforehand to avail this feature. + :::tip + + TODO add system config page + + ::: +3. Submit to create backup. +4. You can open the backup history by `Show Backups` button to see the status of the backup. + +### Backup History +You can click on `Show Backups` button to see the backup history of the volume. + +![Backup History](/assets/1.x.x/backup-history.png) + +- You can check status of old backups. +- You can also download the backup file by clicking on `Download Backup` button. + + +### Restore Volume +1. You can upload a backup file to restore the volume by clicking on `Restore Now` button. +2. Upload the backup file. +3. Submit to restore the volume. +4. You can open the restore history by `Show Restores` button to see the status of the restore. + +### Restore History +You can click on `Restore History` button to see the restore history of the volume. + +![Restore History](/assets/1.x.x/restore-history.png) + +- You can check status of all restores. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/redirect-rules.md b/versioned_docs/version-2.0.x/dashboard/redirect-rules.md new file mode 100644 index 0000000..903b534 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/redirect-rules.md @@ -0,0 +1,33 @@ +--- +id: redirect-rules +title: 🔄 Redirect Rules +sidebar_position: 12 +--- + +In **Redirect Rules** section you can manage your redirect rules. You can add or delete redirect rules. + +![Redirect Rules](/assets/1.x.x/redirect-rule-list.png) + +### 😅 Don't know what redirect rules are ? +In layman's terms, redirect rules are the rules that will redirect your domain to another URL. + +- Maybe you have a domain `github.portfolio.com` and you want to redirect it to your github profile `https://github.com/tanmoysrt`, you can do that by creating a redirect rule. +- Also, if you want to setup a HTTPS redirect, you can do that by creating a redirect rule, which will redirect all the HTTP requests from your domain to HTTPS one. + +### Add Redirect Rule +It's very easy to add a redirect rule. Just click on **Add New** button and you will see a form like this: + +![Add Redirect Rule](/assets/2.0.x/create-redirect-rule.png) + +1. Choose the protocol (http/https) and domain you want to redirect. +2. Choose the url where you want to redirect your domain. +3. Click on **Register** button and you are done. + +### Delete Redirect Rule +To delete a redirect rule, click on **Delete** button. You will see a confirmation dialog. Confirm it and your redirect rule will be deleted. + +### HTTPS Redirect +If you want to redirect all the HTTP requests from your domain to HTTPS one, you can do that by creating a redirect rule. +Suppose, you want to enable HTTPS redirect for `myapp.com`. You can do that by creating a redirect rule like this: +- **Domain**: `myapp.com` +- **Redirect URL**: `https://myapp.com` \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/dashboard/swiftwave_app_store.md b/versioned_docs/version-2.0.x/dashboard/swiftwave_app_store.md new file mode 100644 index 0000000..414a2b7 --- /dev/null +++ b/versioned_docs/version-2.0.x/dashboard/swiftwave_app_store.md @@ -0,0 +1,29 @@ +--- +id: swiftwave_app_store +title: 🏪 Swiftwave App Store +sidebar_position: 2 +--- + + +
+ app-store.png +
+ + + +From Swiftwave App Store, you can install any app in few clicks. + +### Steps to install any app from Swiftwave App Store +1. Go to Swiftwave App Store +2. Search for the app you want to install +3. Click on the app you want to install +4. Click the variant you want to install +5. Click the install button +6. Fill up the required details +7. Configure the ingress rules. You can also ignore those by tapping on the cross icon +8. Click on the install button +9. That's it! \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/development_setup.md b/versioned_docs/version-2.0.x/development_setup.md new file mode 100644 index 0000000..39876dc --- /dev/null +++ b/versioned_docs/version-2.0.x/development_setup.md @@ -0,0 +1,79 @@ +--- +id: development_setup +title: 👨‍💻 Development Setup +sidebar_position: 7 +--- + +Let's get started with SwiftWave Development Setup! + +## 📦 Pre-requisites +1. You need a linux system for development of SwiftWave. +2. Install curl, git, unzip and tar utilities. + ```bash + # For Debian/Ubuntu based distros: + sudo apt install curl git unzip tar make + + # For Fedora based distros: + sudo dnf install curl git unzip tar make + ``` +3. Install docker (Skip this step if you already have docker installed) + ```bash + curl -fsSL https://get.docker.com | sudo bash - + ``` +4. Install Golang by following [this guide](https://golang.org/doc/install) +5. Install NodeJS by following [this guide](https://deb.nodesource.com/) +6. You are all set! 🎉 + +## 📥 Local Installation +1. Fork and clone SwiftWave repository + ```bash + git clone git@github.com:/swiftwave.git --recursive + ``` +2. Build SwiftWave & Dashboard + ```bash + make + ``` +3. Generate the SwiftWave configuration file + ```bash + sudo ./swiftwave init + ``` + :::tip + + Use `localhost` as the domain name for management node. + + ::: +4. Enable development mode + ```bash + sudo ./swiftwave config -e vim + ``` + Change `dev_mode` to `true` in the configuration file and save it. +5. Start SwiftWave + ```bash + sudo ./swiftwave start + ``` + :::warning + + Use a real email address in the setup process, else swiftwave may face failure to register account in Let's Encrypt. + + ::: +6. 🎉 Congratulations! You have successfully setup SwiftWave for local development +7. You can now access SwiftWave at `http://localhost:3333` + +## Access GraphQL Playground +1. Use Login Endpoint for generating a JWT Token. + You can also generate the token using curl command + ```bash + curl --location 'http://localhost:3333/auth/login' \ + --form 'username="admin"' \ + --form 'password="admin"' + ``` +2. Go to `http://localhost:3333/playground` +3. In headers section, add authorization details + ```json + { + "Authorization": "Bearer " + } + ``` +4. Now, click on `refresh` icon on playground to get schema details and avail the auto-complete feature +5. You can now start querying and mutating data +6. 🎉 Congratulations! You have successfully setup SwiftWave for local development \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/index.md b/versioned_docs/version-2.0.x/index.md new file mode 100644 index 0000000..120b011 --- /dev/null +++ b/versioned_docs/version-2.0.x/index.md @@ -0,0 +1,33 @@ +--- +id: introduction +title: 🌟 Introduction +sidebar_position: 1 +--- + +### 🌊 **SwiftWave: Simple Lightweight PaaS Solution** + +SwiftWave is a self-hosted, lightweight PaaS solution for easily deploying and managing your applications on any VPS 🚀. It's an open-source alternative to Heroku, Netlify, and Render. + +You can install swiftwave in bare metal, Raspberry Pi, in any VPS(Hetzner, DigitalOcean, Linode, AWS, GCP etc.). Swiftwave and its dependencies are compatible with AMD64, ARM64 and ARMv7 architectures and compatible with Debian/Ubuntu/Raspbian OS/Fedora/CentOS/AlmaLinux/RockyLinux etc. + + +Once installed, you can +- Install app from app store in one click +- Deploy your own app from any kind of + - git repository + - docker image repository +- Even you can upload the source code from your local machine to swiftwave +- Add ingress rules to point your domain to your app +- Monitor your app's performance +- Scale your app easily + +**Swiftwave's core components -** + +- **Swiftwave Daemon** - This is the heart of the SwiftWave. +- **HAProxy** - This is responsible for handling TCP/HTTP/HTTPS traffic, load balancing and SSL termination. +- **UDPPRoxy** - This is [custom built tool](https://github.com/swiftwave-org/udpproxy) to handle UDP traffic. +- **Volume Toolkit** - This is a [custom built tool](https://github.com/swiftwave-org/volume-toolkit) to perform various operations like size calculation, snapshot creation, restoration of persistent volumes, etc. +- **Stats Ninja** - This is again a [custom built tool](https://github.com/swiftwave-org/stats-ninja) to record resource usage of server and deployed applications. +- **App Store Metadata** - [https://github.com/swiftwave-org/app-store](https://github.com/swiftwave-org/app-store) . This contains all the metadata of one click apps. + +We will know more about each things in the next section. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/installation.md b/versioned_docs/version-2.0.x/installation.md new file mode 100644 index 0000000..7d1e4b9 --- /dev/null +++ b/versioned_docs/version-2.0.x/installation.md @@ -0,0 +1,163 @@ +--- +id: installation +title: ⚒️ Installation +sidebar_position: 3 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Let's get started with SwiftWave! It will not take more than 10 minutes to install SwiftWave on your server. + +## 📦 Pre-requisites + +1. A Linux System with at-least 1GB RAM and 1vCPU. +2. Install some utilities like curl, git, unzip and tar. + + + ```bash + sudo apt update -y + sudo apt install curl git unzip tar -y + ``` + + + ```bash + sudo dnf install curl git unzip tar + ``` + + + +3. Install docker (Skip this step if you already have docker installed) + + + ```bash + curl -fsSL https://get.docker.com | sudo bash - + ``` + + + ```bash + curl -fsSL https://get.docker.com | sudo bash - + sudo systemctl enable docker.service + sudo systemctl enable containerd.service + sudo systemctl start docker.service + sudo systemctl start containerd.service + ``` + + +4. You are all set! 🎉 + +## 📥 Installation +1. SSH into your server. +2. Run below commands to install SwiftWave. + + + Add Swiftwave Repository + ```bash + sudo mkdir -p /etc/apt/keyrings + sudo mkdir /root/.gnupg + sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/swiftwave.gpg --keyserver keyserver.ubuntu.com --recv-keys DD510C86CD3F6764 + echo "deb [signed-by=/etc/apt/keyrings/swiftwave.gpg] http://deb.repo.swiftwave.org/ swiftwave stable" | sudo tee /etc/apt/sources.list.d/swiftwave.list + ``` + Install SwiftWave + ```bash + sudo apt update -y + sudo apt install swiftwave -y + ``` + + + Add Swiftwave Repository + ```bash + sudo dnf config-manager --add-repo http://rpm.repo.swiftwave.org/swiftwave.repo + ``` + Install SwiftWave + ```bash + sudo dnf install swiftwave -y + ``` + + +3. Initialize SwiftWave configuration. + ```bash + sudo swiftwave init + ``` + :::info + + During this step, it will ask a domain name for management node. + + - If your server has a public IP, you can just use the default domain suggested by SwiftWave at that step. If you have any custom domain, you can point that domain to your server IP and use that domain name also. + - If you are just trying out in local system and doesn't have any public IP, just use `localhost` as domain name. + + ::: + + :::tip + + If you like to change the configuration or use a remotely hosted postgres database, you can run the following command and change the yaml configuration file manually. + + ```bash + sudo swiftwave config -e vim + ``` + + ::: + +4. Start Swiftwave for Setup + ```bash + sudo swiftwave start + ``` +5. Open the printed URL in your browser. + - Provide a new username and password for the first admin user. + - Provide a valid email address. *Don't use any fake or temporary email address.* + - Provide other infos (if required to change) + - Submit it ! + - Come back to terminal. +6. Start Swiftwave Service + ```bash + sudo swiftwave service enable + ``` + After this step, you can access Swiftwave dashboard at the same URL you opened in the previous step. +7. (optional) Generate SSL certificate for swiftwave dashboard + :::info + + If you have used `localhost` as domain name for management node, skip this step. + + ::: + ```bash + sudo swiftwave tls generate + ``` + + Now, use `https` for dashboard URL. + +8. (optional) Enable Auto Updater for SwiftWave + ```bash + sudo swiftwave auto-update enable + ``` +9. 🎉 Congratulations! SwiftWave is now installed on your server. +10. Let's move to the next section to onboard your server to SwiftWave. + +## 🖥️ Onboard Server +1. Log-in to SwiftWave Dashboard +2. Navigate to `Server Management` page and click on `Add Server` button. +3. In `Server IP` put the public / private IP of your server. If your server has no public IP, put `127.0.0.1` as IP. +4. Click on `Setup Server` button. +5. Follow the generated instructions on the dashboard. + :::info + + You may be presented with the option to specify the advertiser IP address for the Docker swarm in the very last step. This occurs when a server is assigned multiple IP addresses. In such a circumstance, you should select the public IP address or private IP address generated by the cloud provider for your server. + + ::: +6. Wait 1 minute and refresh the list. +7. After setup is complete, click on `View Actions` and click on `Enable Ingress Proxy`, keep the default values and submit. It will take upto 5 minutes. + :::info + + To verify that the ingress proxy is configured properly, open your web browser and navigate to the IP address of your server. The error code '502 Bad Gateway' should be displayed. + + ::: +8. 🎉 Congratulations! Your server is now onboarded to SwiftWave. +9. Now, you can start using 🚀 SwiftWave. + +## 📊 Setup Resource Monitoring + +SwiftWave comes with a built-in monitoring system that allows you to track the resource usage of servers and applications. + +To enable monitoring, follow these steps: +1. Log-in to SwiftWave Dashboard +2. Navigate to `Server Management` page. +3. Click on `View Actions` and click on `Setup Resource Monitoring`. +4. Follow the generated instructions to complete the setup. \ No newline at end of file diff --git a/versioned_docs/version-2.0.x/support_us.md b/versioned_docs/version-2.0.x/support_us.md new file mode 100644 index 0000000..8697274 --- /dev/null +++ b/versioned_docs/version-2.0.x/support_us.md @@ -0,0 +1,19 @@ +--- +id: support_us +title: ✨ Support Us +sidebar_position: 8 +--- + +### Your Support Keeps Us Thriving 🚀 + +SwiftWave is an exciting project, and we're eager to enhance it with your support. There are various ways you can contribute to the growth and success of SwiftWave: + +1. **Use SwiftWave for Your Projects** : Use Swiftwave to deploy and manage your projects. +2. **Contribute to the Open Source Community** : Join our open-source community by contributing your skills. Whether you're fixing bugs, adding features, enhancing documentation, or creating content like articles and videos, your contributions are highly welcome. +3. **Sponsor SwiftWave**: Financial support is important in keeping the development momentum alive. You can sponsor us on [**@GitHub Sponsors**](https://github.com/sponsors/tanmoysrt). Your assistance enables Swiftwave to keep improving every day. +### Show Your Love: Star SwiftWave on GitHub ⭐ +Let's spread the word and keep the motivation flowing! Give SwiftWave a star on GitHub to make it more discoverable and to express your support. + +[![GitHub Repo stars](https://img.shields.io/github/stars/swiftwave-org/swiftwave?style=for-the-badge&label=%E2%AD%90%20STAR%20ON%20GITHUB&color=%23805AD5)](https://github.com/swiftwave-org/swiftwave) + +Thank you for being a part of the SwiftWave community. Together, let's make SwiftWave even better! 🌊✨ diff --git a/versioned_docs/version-2.0.x/why_swiftwave.md b/versioned_docs/version-2.0.x/why_swiftwave.md new file mode 100644 index 0000000..1dd0ca6 --- /dev/null +++ b/versioned_docs/version-2.0.x/why_swiftwave.md @@ -0,0 +1,25 @@ +--- +id: why_swiftwave +title: 🌊 Why SwiftWave ? +sidebar_position: 2 +--- + +Let us learn a little bit about the motivation behind the creation of a product like Swiftwave. + +To deploy your apps, you will have usually two choices: either deploy using any PaaS (Netlify / Vercel / Heroku / Render) or do deployments manually in a VPS. + +The first choice is simple but has a cost tag. Second one takes more time to set up and maintain even if it is less expensive and requires Linux and reverse proxy knowledge. + +You can run three to four apps in parallel using Swiftwave Stack on a five dollar Hetzner instance. The cost of doing the same on Proprietary PaaS will be at least 10x higher. + +Some great PaaS systems use K8s and K3s, which are expensive to operate and demand a lot of resources (the master node alone needed 2GB of RAM and 2vCPU). It might not be appropriate for small businesses, hobbyists, or students. + +So, we plan to develop a PaaS that is as easy to use as a proprietary PaaS while also being lightweight and simple to use and manage. + +Yup ! **Swiftwave** is the result of that initiative. + +**Swiftwave** has very less memory footprint and has all important features that you would expect from a PaaS. + +![benchmark](/assets/2.0.x/benchmark.png) + +*In idle condition, Swiftwave takes 40\~80MB RAM and 1\~2% CPU of a single vCPU. While onboarding new server, the CPU usage can increase upto 20%. But that's one time process.* diff --git a/versioned_sidebars/version-2.0.x-sidebars.json b/versioned_sidebars/version-2.0.x-sidebars.json new file mode 100644 index 0000000..145418b --- /dev/null +++ b/versioned_sidebars/version-2.0.x-sidebars.json @@ -0,0 +1,8 @@ +{ + "docSidebar": [ + { + "type": "autogenerated", + "dirName": "." + } + ] +} diff --git a/versions.json b/versions.json index 19cbc36..2edad7f 100644 --- a/versions.json +++ b/versions.json @@ -1,3 +1,4 @@ [ + "2.0.x", "1.x.x" ] diff --git a/yarn.lock b/yarn.lock index 483f417..f130eff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -168,96 +168,96 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2", "@babel/code-frame@^7.8.3": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.24.6", "@babel/code-frame@^7.8.3": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.6.tgz#ab88da19344445c3d8889af2216606d3329f3ef2" + integrity sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA== dependencies: - "@babel/highlight" "^7.24.2" + "@babel/highlight" "^7.24.6" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.6.tgz#b3600217688cabb26e25f8e467019e66d71b7ae2" + integrity sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ== "@babel/core@^7.21.3", "@babel/core@^7.23.3": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" - integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.6.tgz#8650e0e4b03589ebe886c4e4a60398db0a7ec787" + integrity sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helpers" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" + "@babel/code-frame" "^7.24.6" + "@babel/generator" "^7.24.6" + "@babel/helper-compilation-targets" "^7.24.6" + "@babel/helper-module-transforms" "^7.24.6" + "@babel/helpers" "^7.24.6" + "@babel/parser" "^7.24.6" + "@babel/template" "^7.24.6" + "@babel/traverse" "^7.24.6" + "@babel/types" "^7.24.6" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.3", "@babel/generator@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" - integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== +"@babel/generator@^7.23.3", "@babel/generator@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.6.tgz#dfac82a228582a9d30c959fe50ad28951d4737a7" + integrity sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg== dependencies: - "@babel/types" "^7.24.5" + "@babel/types" "^7.24.6" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== +"@babel/helper-annotate-as-pure@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.6.tgz#517af93abc77924f9b2514c407bbef527fb8938d" + integrity sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.24.6" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.6.tgz#19e9089ee87b0d0928012c83961a8deef4b0223f" + integrity sha512-+wnfqc5uHiMYtvRX7qu80Toef8BXeh4HHR1SPeonGb1SKPniNEd4a/nlaJJMv/OIEYvIVavvo0yR7u10Gqz0Iw== dependencies: - "@babel/types" "^7.22.15" + "@babel/types" "^7.24.6" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz#4a51d681f7680043d38e212715e2a7b1ad29cb51" + integrity sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" + "@babel/compat-data" "^7.24.6" + "@babel/helper-validator-option" "^7.24.6" browserslist "^4.22.2" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz#7d19da92c7e0cd8d11c09af2ce1b8e7512a6e723" - integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.24.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" +"@babel/helper-create-class-features-plugin@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.6.tgz#c50b86fa1c4ca9b7a890dc21884f097b6c4b5286" + integrity sha512-djsosdPJVZE6Vsw3kk7IPRWethP94WHGOhQTc67SNXE0ZzMhHgALw8iGmYS0TD1bbMM0VDROy43od7/hN6WYcA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.6" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-function-name" "^7.24.6" + "@babel/helper-member-expression-to-functions" "^7.24.6" + "@babel/helper-optimise-call-expression" "^7.24.6" + "@babel/helper-replace-supers" "^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.6" + "@babel/helper-split-export-declaration" "^7.24.6" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.6.tgz#47d382dec0d49e74ca1b6f7f3b81f5968022a3c8" + integrity sha512-C875lFBIWWwyv6MHZUG9HmRrlTDgOsLWZfYR0nW69gaKJNe0/Mpxx5r0EID2ZdHQkdUmQo2t0uNckTL08/1BgA== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.24.6" regexpu-core "^5.3.1" semver "^6.3.1" @@ -272,181 +272,180 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== +"@babel/helper-environment-visitor@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz#ac7ad5517821641550f6698dd5468f8cef78620d" + integrity sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g== -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== +"@babel/helper-function-name@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz#cebdd063386fdb95d511d84b117e51fc68fec0c8" + integrity sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w== dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" + "@babel/template" "^7.24.6" + "@babel/types" "^7.24.6" -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== +"@babel/helper-hoist-variables@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz#8a7ece8c26756826b6ffcdd0e3cf65de275af7f9" + integrity sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.24.6" -"@babel/helper-member-expression-to-functions@^7.23.0", "@babel/helper-member-expression-to-functions@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz#5981e131d5c7003c7d1fa1ad49e86c9b097ec475" - integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== +"@babel/helper-member-expression-to-functions@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.6.tgz#86084f3e0e4e2169a134754df3870bc7784db71e" + integrity sha512-OTsCufZTxDUsv2/eDXanw/mUZHWOxSbEmC3pP8cgjcy5rgeVPWWMStnv274DV60JtHxTk0adT0QrCzC4M9NWGg== dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" + "@babel/types" "^7.24.6" + +"@babel/helper-module-imports@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz#65e54ffceed6a268dc4ce11f0433b82cfff57852" + integrity sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g== + dependencies: + "@babel/types" "^7.24.6" -"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" - integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-simple-access" "^7.24.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/helper-validator-identifier" "^7.24.5" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" - integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5", "@babel/helper-simple-access@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" - integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-string-parser@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" - integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz#335f934c0962e2c1ed1fb9d79e06a56115067c09" - integrity sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw== - dependencies: - "@babel/helper-function-name" "^7.23.0" - "@babel/template" "^7.24.0" - "@babel/types" "^7.24.5" - -"@babel/helpers@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" - integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== +"@babel/helper-module-transforms@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz#22346ed9df44ce84dee850d7433c5b73fab1fe4e" + integrity sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA== dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" - -"@babel/highlight@^7.24.2": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" - integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-module-imports" "^7.24.6" + "@babel/helper-simple-access" "^7.24.6" + "@babel/helper-split-export-declaration" "^7.24.6" + "@babel/helper-validator-identifier" "^7.24.6" + +"@babel/helper-optimise-call-expression@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.6.tgz#f7836e3ccca3dfa02f15d2bc8b794efe75a5256e" + integrity sha512-3SFDJRbx7KuPRl8XDUr8O7GAEB8iGyWPjLKJh/ywP/Iy9WOmEfMrsWbaZpvBu2HSYn4KQygIsz0O7m8y10ncMA== + dependencies: + "@babel/types" "^7.24.6" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.6", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz#fa02a32410a15a6e8f8185bcbf608f10528d2a24" + integrity sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg== + +"@babel/helper-remap-async-to-generator@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.6.tgz#c96ceb9846e877d806ce82a1521230ea7e0fc354" + integrity sha512-1Qursq9ArRZPAMOZf/nuzVW8HgJLkTB9y9LfP4lW2MVp4e9WkLJDovfKBxoDcCk6VuzIxyqWHyBoaCtSRP10yg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.6" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-wrap-function" "^7.24.6" + +"@babel/helper-replace-supers@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.6.tgz#3ea87405a2986a49ab052d10e540fe036d747c71" + integrity sha512-mRhfPwDqDpba8o1F8ESxsEkJMQkUF8ZIWrAc0FtWhxnjfextxMWxr22RtFizxxSYLjVHDeMgVsRq8BBZR2ikJQ== + dependencies: + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-member-expression-to-functions" "^7.24.6" + "@babel/helper-optimise-call-expression" "^7.24.6" + +"@babel/helper-simple-access@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz#1d6e04d468bba4fc963b4906f6dac6286cfedff1" + integrity sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g== + dependencies: + "@babel/types" "^7.24.6" + +"@babel/helper-skip-transparent-expression-wrappers@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.6.tgz#c47e9b33b7ea50d1073e125ebc26661717cb7040" + integrity sha512-jhbbkK3IUKc4T43WadP96a27oYti9gEf1LdyGSP2rHGH77kwLwfhO7TgwnWvxxQVmke0ImmCSS47vcuxEMGD3Q== + dependencies: + "@babel/types" "^7.24.6" + +"@babel/helper-split-export-declaration@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz#e830068f7ba8861c53b7421c284da30ae656d7a3" + integrity sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw== + dependencies: + "@babel/types" "^7.24.6" + +"@babel/helper-string-parser@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz#28583c28b15f2a3339cfafafeaad42f9a0e828df" + integrity sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q== + +"@babel/helper-validator-identifier@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz#08bb6612b11bdec78f3feed3db196da682454a5e" + integrity sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw== + +"@babel/helper-validator-option@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz#59d8e81c40b7d9109ab7e74457393442177f460a" + integrity sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ== + +"@babel/helper-wrap-function@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.6.tgz#c27af1006e310683fdc76b668a0a1f6003e36217" + integrity sha512-f1JLrlw/jbiNfxvdrfBgio/gRBk3yTAEJWirpAkiJG2Hb22E7cEYKHWo0dFPTv/niPovzIdPdEDetrv6tC6gPQ== + dependencies: + "@babel/helper-function-name" "^7.24.6" + "@babel/template" "^7.24.6" + "@babel/types" "^7.24.6" + +"@babel/helpers@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.6.tgz#cd124245299e494bd4e00edda0e4ea3545c2c176" + integrity sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA== + dependencies: + "@babel/template" "^7.24.6" + "@babel/types" "^7.24.6" + +"@babel/highlight@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.6.tgz#6d610c1ebd2c6e061cade0153bf69b0590b7b3df" + integrity sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ== + dependencies: + "@babel/helper-validator-identifier" "^7.24.6" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.24.0", "@babel/parser@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" - integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== +"@babel/parser@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.6.tgz#5e030f440c3c6c78d195528c3b688b101a365328" + integrity sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q== -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz#4c3685eb9cd790bcad2843900fe0250c91ccf895" - integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.6.tgz#283a74ef365b1e954cda6b2724c678a978215e88" + integrity sha512-bYndrJ6Ph6Ar+GaB5VAc0JPoP80bQCm4qon6JEzXfRl5QZyQ8Ur1K6k7htxWmPA5z+k7JQvaMUrtXlqclWYzKw== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" - integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.6.tgz#f9f5ae4d6fb72f5950262cb6f0b2482c3bc684ef" + integrity sha512-iVuhb6poq5ikqRq2XWU6OQ+R5o9wF+r/or9CeUyovgptz0UlnK4/seOQ1Istu/XybYjAhQv1FRSSfHHufIku5Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" - integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.6.tgz#ab9be6edfffa127bd5ec4317c76c5af0f8fc7e6c" + integrity sha512-c8TER5xMDYzzFcGqOEp9l4hvB7dcbhcGjcLVwxWfe4P5DOafdwjsBJZKsmv+o3aXh7NhopvayQIovHrh2zSRUQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.6" + "@babel/plugin-transform-optional-chaining" "^7.24.6" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" - integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.6.tgz#0faf879249ec622d7f1c42eaebf7d11197401b2c" + integrity sha512-z8zEjYmwBUHN/pCF3NuWBhHQjJCrd33qAi8MgANfMrAvn72k2cImT8VjK9LJFu4ysOLJqhfkYYb3MvwANRUNZQ== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" @@ -488,19 +487,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" - integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== +"@babel/plugin-syntax-import-assertions@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.6.tgz#52521c1c1698fc2dd9cf88f7a4dd86d4d041b9e1" + integrity sha512-BE6o2BogJKJImTmGpkmOic4V0hlRRxVtzqxiSPa8TIFxyhi4EFjHm08nq1M4STK4RytuLMgnSz0/wfflvGFNOg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-syntax-import-attributes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" - integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== +"@babel/plugin-syntax-import-attributes@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.6.tgz#12aba325534129584672920274fefa4dc2d5f68e" + integrity sha512-D+CfsVZousPXIdudSII7RGy52+dYRtbyKAZcvtQKq/NpsivyMVduepzcLqG5pMBugtMdedxdC8Ramdpcne9ZWQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" @@ -516,12 +515,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== +"@babel/plugin-syntax-jsx@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.6.tgz#bcca2964150437f88f65e3679e3d68762287b9c8" + integrity sha512-lWfvAIFNWMlCsU0DRUun2GpFwZdGTukLaHJqRh1JRb80NdAP5Sb1HDHB5X9P9OtgZHQl089UzQkpYlBq2VTPRw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" @@ -579,12 +578,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" - integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== +"@babel/plugin-syntax-typescript@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.6.tgz#769daf2982d60308bc83d8936eaecb7582463c87" + integrity sha512-TzCtxGgVTEJWWwcYwQhCIQ6WaKlo80/B+Onsk4RRCcYqpYGFcG9etPW94VToGte5AAcxRrhjPUFvUS3Y2qKi4A== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -594,476 +593,476 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" - integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== +"@babel/plugin-transform-arrow-functions@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.6.tgz#93607d1ef5b81c70af174aff3532d57216367492" + integrity sha512-jSSSDt4ZidNMggcLx8SaKsbGNEfIl0PHx/4mFEulorE7bpYLbN0d3pDW3eJ7Y5Z3yPhy3L3NaPCYyTUY7TuugQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-async-generator-functions@^7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" - integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== +"@babel/plugin-transform-async-generator-functions@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.6.tgz#fa4a9e5c3a7f60f697ba36587b6c41b04f507d84" + integrity sha512-VEP2o4iR2DqQU6KPgizTW2mnMx6BG5b5O9iQdrW9HesLkv8GIA8x2daXBQxw1MrsIkFQGA/iJ204CKoQ8UcnAA== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-remap-async-to-generator" "^7.24.6" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-async-to-generator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" - integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== +"@babel/plugin-transform-async-to-generator@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.6.tgz#eb11434b11d73d8c0cf9f71a6f4f1e6ba441df35" + integrity sha512-NTBA2SioI3OsHeIn6sQmhvXleSl9T70YY/hostQLveWs0ic+qvbA3fa0kwAwQ0OA/XGaAerNZRQGJyRfhbJK4g== dependencies: - "@babel/helper-module-imports" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/helper-module-imports" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-remap-async-to-generator" "^7.24.6" -"@babel/plugin-transform-block-scoped-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" - integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== +"@babel/plugin-transform-block-scoped-functions@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.6.tgz#975555b5bfa9870b1218da536d1528735f1f8c56" + integrity sha512-XNW7jolYHW9CwORrZgA/97tL/k05qe/HL0z/qqJq1mdWhwwCM6D4BJBV7wAz9HgFziN5dTOG31znkVIzwxv+vw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-block-scoping@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz#89574191397f85661d6f748d4b89ee4d9ee69a2a" - integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== +"@babel/plugin-transform-block-scoping@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.6.tgz#a03ec8a4591c2b43cf7798bc633e698293fda179" + integrity sha512-S/t1Xh4ehW7sGA7c1j/hiOBLnEYCp/c2sEG4ZkL8kI1xX9tW2pqJTCHKtdhe/jHKt8nG0pFCrDHUXd4DvjHS9w== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-class-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" - integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== +"@babel/plugin-transform-class-properties@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.6.tgz#d9f394e97e88ef905d5a1e5e7a16238621b7982e" + integrity sha512-j6dZ0Z2Z2slWLR3kt9aOmSIrBvnntWjMDN/TVcMPxhXMLmJVqX605CBRlcGI4b32GMbfifTEsdEjGjiE+j/c3A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-class-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-class-static-block@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz#1a4653c0cf8ac46441ec406dece6e9bc590356a4" - integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== +"@babel/plugin-transform-class-static-block@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.6.tgz#f43f29286f6f0dca33d18fd5033b817d6c3fa816" + integrity sha512-1QSRfoPI9RoLRa8Mnakc6v3e0gJxiZQTYrMfLn+mD0sz5+ndSzwymp2hDcYJTyT0MOn0yuWzj8phlIvO72gTHA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.4" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-class-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz#05e04a09df49a46348299a0e24bfd7e901129339" - integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-split-export-declaration" "^7.24.5" +"@babel/plugin-transform-classes@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.6.tgz#0cc198c02720d4eeb091004843477659c6b37977" + integrity sha512-+fN+NO2gh8JtRmDSOB6gaCVo36ha8kfCW1nMq2Gc0DABln0VcHN4PrALDvF5/diLzIRKptC7z/d7Lp64zk92Fg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.6" + "@babel/helper-compilation-targets" "^7.24.6" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-function-name" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-replace-supers" "^7.24.6" + "@babel/helper-split-export-declaration" "^7.24.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" - integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== +"@babel/plugin-transform-computed-properties@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.6.tgz#7a1765c01cdfe59c320d2d0f37a4dc4aecd14df1" + integrity sha512-cRzPobcfRP0ZtuIEkA8QzghoUpSB3X3qSH5W2+FzG+VjWbJXExtx0nbRqwumdBN1x/ot2SlTNQLfBCnPdzp6kg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/template" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/template" "^7.24.6" -"@babel/plugin-transform-destructuring@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz#80843ee6a520f7362686d1a97a7b53544ede453c" - integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== +"@babel/plugin-transform-destructuring@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.6.tgz#bdd1a6c90ffb2bfd13b6007b13316eeafc97cb53" + integrity sha512-YLW6AE5LQpk5npNXL7i/O+U9CE4XsBCuRPgyjl1EICZYKmcitV+ayuuUGMJm2lC1WWjXYszeTnIxF/dq/GhIZQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-dotall-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" - integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== +"@babel/plugin-transform-dotall-regex@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.6.tgz#5a6b3148ec5f4f274ff48cebea90565087cad126" + integrity sha512-rCXPnSEKvkm/EjzOtLoGvKseK+dS4kZwx1HexO3BtRtgL0fQ34awHn34aeSHuXtZY2F8a1X8xqBBPRtOxDVmcA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-regexp-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-duplicate-keys@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" - integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== +"@babel/plugin-transform-duplicate-keys@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.6.tgz#2716301227cf7cd4fdadcbe4353ce191f8b3dc8a" + integrity sha512-/8Odwp/aVkZwPFJMllSbawhDAO3UJi65foB00HYnK/uXvvCPm0TAXSByjz1mpRmp0q6oX2SIxpkUOpPFHk7FLA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-dynamic-import@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" - integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== +"@babel/plugin-transform-dynamic-import@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.6.tgz#b477177761d56b15a4ba42a83be31cf72d757acf" + integrity sha512-vpq8SSLRTBLOHUZHSnBqVo0AKX3PBaoPs2vVzYVWslXDTDIpwAcCDtfhUcHSQQoYoUvcFPTdC8TZYXu9ZnLT/w== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" - integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== +"@babel/plugin-transform-exponentiation-operator@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.6.tgz#011e9e1a429f91b024af572530873ca571f9ef06" + integrity sha512-EemYpHtmz0lHE7hxxxYEuTYOOBZ43WkDgZ4arQ4r+VX9QHuNZC+WH3wUWmRNvR8ECpTRne29aZV6XO22qpOtdA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-export-namespace-from@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" - integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== +"@babel/plugin-transform-export-namespace-from@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.6.tgz#b64ded74d9afb3db5d47d93996c4df69f15ac97c" + integrity sha512-inXaTM1SVrIxCkIJ5gqWiozHfFMStuGbGJAxZFBoHcRRdDP0ySLb3jH6JOwmfiinPwyMZqMBX+7NBDCO4z0NSA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-for-of@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" - integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== +"@babel/plugin-transform-for-of@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.6.tgz#7f31780bd0c582b546372c0c0da9d9d56731e0a2" + integrity sha512-n3Sf72TnqK4nw/jziSqEl1qaWPbCRw2CziHH+jdRYvw4J6yeCzsj4jdw8hIntOEeDGTmHVe2w4MVL44PN0GMzg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.6" -"@babel/plugin-transform-function-name@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" - integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== +"@babel/plugin-transform-function-name@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.6.tgz#60d1de3f6fd816a3e3bf9538578a64527e1b9c97" + integrity sha512-sOajCu6V0P1KPljWHKiDq6ymgqB+vfo3isUS4McqW1DZtvSVU2v/wuMhmRmkg3sFoq6GMaUUf8W4WtoSLkOV/Q== dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-compilation-targets" "^7.24.6" + "@babel/helper-function-name" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-json-strings@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" - integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== +"@babel/plugin-transform-json-strings@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.6.tgz#a84639180ea1f9001bb5e6dc01921235ab05ad8b" + integrity sha512-Uvgd9p2gUnzYJxVdBLcU0KurF8aVhkmVyMKW4MIY1/BByvs3EBpv45q01o7pRTVmTvtQq5zDlytP3dcUgm7v9w== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" - integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== +"@babel/plugin-transform-literals@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.6.tgz#7f44f2871d7a4456030b0540858046f0b7bc6b18" + integrity sha512-f2wHfR2HF6yMj+y+/y07+SLqnOSwRp8KYLpQKOzS58XLVlULhXbiYcygfXQxJlMbhII9+yXDwOUFLf60/TL5tw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-logical-assignment-operators@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" - integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== +"@babel/plugin-transform-logical-assignment-operators@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.6.tgz#9cc7baa5629866566562c159dc1eae7569810f33" + integrity sha512-EKaWvnezBCMkRIHxMJSIIylzhqK09YpiJtDbr2wsXTwnO0TxyjMUkaw4RlFIZMIS0iDj0KyIg7H7XCguHu/YDA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" - integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== +"@babel/plugin-transform-member-expression-literals@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.6.tgz#5d3681ca201ac6909419cc51ac082a6ba4c5c756" + integrity sha512-9g8iV146szUo5GWgXpRbq/GALTnY+WnNuRTuRHWWFfWGbP9ukRL0aO/jpu9dmOPikclkxnNsjY8/gsWl6bmZJQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-modules-amd@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" - integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== +"@babel/plugin-transform-modules-amd@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.6.tgz#09aeac7acb7913496aaaafdc64f40683e0db7e41" + integrity sha512-eAGogjZgcwqAxhyFgqghvoHRr+EYRQPFjUXrTYKBRb5qPnAVxOOglaxc4/byHqjvq/bqO2F3/CGwTHsgKJYHhQ== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-module-transforms" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-modules-commonjs@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" - integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== +"@babel/plugin-transform-modules-commonjs@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.6.tgz#1b8269902f25bd91ca6427230d4735ddd1e1283e" + integrity sha512-JEV8l3MHdmmdb7S7Cmx6rbNEjRCgTQMZxllveHO0mx6uiclB0NflCawlQQ6+o5ZrwjUBYPzHm2XoK4wqGVUFuw== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-module-transforms" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-simple-access" "^7.24.6" -"@babel/plugin-transform-modules-systemjs@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" - integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== +"@babel/plugin-transform-modules-systemjs@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.6.tgz#c54eb53fe16f9b82d320abd76762d0320e3f9393" + integrity sha512-xg1Z0J5JVYxtpX954XqaaAT6NpAY6LtZXvYFCJmGFJWwtlz2EmJoR8LycFRGNE8dBKizGWkGQZGegtkV8y8s+w== dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-hoist-variables" "^7.24.6" + "@babel/helper-module-transforms" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-validator-identifier" "^7.24.6" -"@babel/plugin-transform-modules-umd@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" - integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== +"@babel/plugin-transform-modules-umd@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.6.tgz#c4ef8b6d4da230b8dc87e81cd66986728952f89b" + integrity sha512-esRCC/KsSEUvrSjv5rFYnjZI6qv4R1e/iHQrqwbZIoRJqk7xCvEUiN7L1XrmW5QSmQe3n1XD88wbgDTWLbVSyg== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-module-transforms" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== +"@babel/plugin-transform-named-capturing-groups-regex@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.6.tgz#352ee2861ab8705320029f80238cf26a92ba65d5" + integrity sha512-6DneiCiu91wm3YiNIGDWZsl6GfTTbspuj/toTEqLh9d4cx50UIzSdg+T96p8DuT7aJOBRhFyaE9ZvTHkXrXr6Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-new-target@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" - integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== +"@babel/plugin-transform-new-target@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.6.tgz#fc024294714705113720d5e3dc0f9ad7abdbc289" + integrity sha512-f8liz9JG2Va8A4J5ZBuaSdwfPqN6axfWRK+y66fjKYbwf9VBLuq4WxtinhJhvp1w6lamKUwLG0slK2RxqFgvHA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" - integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.6.tgz#12b83b3cdfd1cd2066350e36e4fb912ab194545e" + integrity sha512-+QlAiZBMsBK5NqrBWFXCYeXyiU1y7BQ/OYaiPAcQJMomn5Tyg+r5WuVtyEuvTbpV7L25ZSLfE+2E9ywj4FD48A== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" - integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== +"@babel/plugin-transform-numeric-separator@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.6.tgz#d9115669cc85aa91fbfb15f88f2226332cf4946a" + integrity sha512-6voawq8T25Jvvnc4/rXcWZQKKxUNZcKMS8ZNrjxQqoRFernJJKjE3s18Qo6VFaatG5aiX5JV1oPD7DbJhn0a4Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz#f91bbcb092ff957c54b4091c86bda8372f0b10ef" - integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== +"@babel/plugin-transform-object-rest-spread@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.6.tgz#68d763f69955f9e599c405c6c876f5be46b47d8a" + integrity sha512-OKmi5wiMoRW5Smttne7BwHM8s/fb5JFs+bVGNSeHWzwZkWXWValR1M30jyXo1s/RaqgwwhEC62u4rFH/FBcBPg== dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-compilation-targets" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.5" + "@babel/plugin-transform-parameters" "^7.24.6" -"@babel/plugin-transform-object-super@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" - integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== +"@babel/plugin-transform-object-super@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.6.tgz#9cbe6f995bed343a7ab8daf0416dac057a9c3e27" + integrity sha512-N/C76ihFKlZgKfdkEYKtaRUtXZAgK7sOY4h2qrbVbVTXPrKGIi8aww5WGe/+Wmg8onn8sr2ut6FXlsbu/j6JHg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-replace-supers" "^7.24.6" -"@babel/plugin-transform-optional-catch-binding@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" - integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== +"@babel/plugin-transform-optional-catch-binding@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.6.tgz#c81e90a971aad898e56f2b75a358e6c4855aeba3" + integrity sha512-L5pZ+b3O1mSzJ71HmxSCmTVd03VOT2GXOigug6vDYJzE5awLI7P1g0wFcdmGuwSDSrQ0L2rDOe/hHws8J1rv3w== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz#a6334bebd7f9dd3df37447880d0bd64b778e600f" - integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== +"@babel/plugin-transform-optional-chaining@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.6.tgz#3d636b3ed8b5a506f93e4d4675fc95754d7594f5" + integrity sha512-cHbqF6l1QP11OkYTYQ+hhVx1E017O5ZcSPXk9oODpqhcAD1htsWG2NpHrrhthEO2qZomLK0FXS+u7NfrkF5aOQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.6" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz#5c3b23f3a6b8fed090f9b98f2926896d3153cc62" - integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== +"@babel/plugin-transform-parameters@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.6.tgz#7aee86dfedd2fc0136fecbe6f7649fc02d86ab22" + integrity sha512-ST7guE8vLV+vI70wmAxuZpIKzVjvFX9Qs8bl5w6tN/6gOypPWUmMQL2p7LJz5E63vEGrDhAiYetniJFyBH1RkA== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-private-methods@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" - integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== +"@babel/plugin-transform-private-methods@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.6.tgz#258e1f859a52ff7b30ad556598224c192defcda7" + integrity sha512-T9LtDI0BgwXOzyXrvgLTT8DFjCC/XgWLjflczTLXyvxbnSR/gpv0hbmzlHE/kmh9nOvlygbamLKRo6Op4yB6aw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-class-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-private-property-in-object@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz#f5d1fcad36e30c960134cb479f1ca98a5b06eda5" - integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== +"@babel/plugin-transform-private-property-in-object@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.6.tgz#59ff09a099f62213112cf348e96b6b11957d1f28" + integrity sha512-Qu/ypFxCY5NkAnEhCF86Mvg3NSabKsh/TPpBVswEdkGl7+FbsYHy1ziRqJpwGH4thBdQHh8zx+z7vMYmcJ7iaQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-annotate-as-pure" "^7.24.6" + "@babel/helper-create-class-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" - integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== +"@babel/plugin-transform-property-literals@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.6.tgz#243c4faabe811c405e9443059a58e834bf95dfd1" + integrity sha512-oARaglxhRsN18OYsnPTpb8TcKQWDYNsPNmTnx5++WOAsUJ0cSC/FZVlIJCKvPbU4yn/UXsS0551CFKJhN0CaMw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz#d493a0918b9fdad7540f5afd9b5eb5c52500d18d" - integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.6.tgz#628c52aecfb2beca1e6383ce2c5b6722df3ff311" + integrity sha512-vQfyXRtG/kNIcTYRd/49uJnwvMig9X3R4XsTVXRml2RFupZFY+2RDuK+/ymb+MfX2WuIHAgUZc2xEvQrnI7QCg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-react-display-name@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz#554e3e1a25d181f040cf698b93fd289a03bfdcdb" - integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== +"@babel/plugin-transform-react-display-name@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.6.tgz#2a10c732c2c87a8f06e4413fb4a14e76e6c67a99" + integrity sha512-/3iiEEHDsJuj9QU09gbyWGSUxDboFcD7Nj6dnHIlboWSodxXAoaY/zlNMHeYAC0WsERMqgO9a7UaM77CsYgWcg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== +"@babel/plugin-transform-react-jsx-development@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.6.tgz#e662058e8795b5fccd24c5bdd2b328728aef3305" + integrity sha512-F7EsNp5StNDouSSdYyDSxh4J+xvj/JqG+Cb6s2fA+jCyHOzigG5vTwgH8tU2U8Voyiu5zCG9bAK49wTr/wPH0w== dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" + "@babel/plugin-transform-react-jsx" "^7.24.6" -"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== +"@babel/plugin-transform-react-jsx@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.6.tgz#4ca3660ca663d20095455571615d6263986cdfe4" + integrity sha512-pCtPHhpRZHfwdA5G1Gpk5mIzMA99hv0R8S/Ket50Rw+S+8hkt3wBWqdqHaPw0CuUYxdshUgsPiLQ5fAs4ASMhw== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" + "@babel/helper-annotate-as-pure" "^7.24.6" + "@babel/helper-module-imports" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/plugin-syntax-jsx" "^7.24.6" + "@babel/types" "^7.24.6" -"@babel/plugin-transform-react-pure-annotations@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz#c86bce22a53956331210d268e49a0ff06e392470" - integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== +"@babel/plugin-transform-react-pure-annotations@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.6.tgz#d2bad8d70c3635cb63a69ee66c9c891f9392435c" + integrity sha512-0HoDQlFJJkXRyV2N+xOpUETbKHcouSwijRQbKWVtxsPoq5bbB30qZag9/pSc5xcWVYjTHlLsBsY+hZDnzQTPNw== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-annotate-as-pure" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-regenerator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" - integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== +"@babel/plugin-transform-regenerator@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.6.tgz#ed10cf0c13619365e15459f88d1b915ac57ffc24" + integrity sha512-SMDxO95I8WXRtXhTAc8t/NFQUT7VYbIWwJCJgEli9ml4MhqUMh4S6hxgH6SmAC3eAQNWCDJFxcFeEt9w2sDdXg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" - integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== +"@babel/plugin-transform-reserved-words@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.6.tgz#9eb16cbf339fcea0a46677716c775afb5ef14245" + integrity sha512-DcrgFXRRlK64dGE0ZFBPD5egM2uM8mgfrvTMOSB2yKzOtjpGegVYkzh3s1zZg1bBck3nkXiaOamJUqK3Syk+4A== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/plugin-transform-runtime@^7.22.9": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz#dc58ad4a31810a890550365cc922e1ff5acb5d7f" - integrity sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.6.tgz#1e3256246004c3724b8e07c7cb25e35913c4e373" + integrity sha512-W3gQydMb0SY99y/2lV0Okx2xg/8KzmZLQsLaiCmwNRl1kKomz14VurEm+2TossUb+sRvBCnGe+wx8KtIgDtBbQ== dependencies: - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-module-imports" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.1" babel-plugin-polyfill-regenerator "^0.6.1" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" - integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== +"@babel/plugin-transform-shorthand-properties@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.6.tgz#ef734ebccc428d2174c7bb36015d0800faf5381e" + integrity sha512-xnEUvHSMr9eOWS5Al2YPfc32ten7CXdH7Zwyyk7IqITg4nX61oHj+GxpNvl+y5JHjfN3KXE2IV55wAWowBYMVw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-spread@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" - integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== +"@babel/plugin-transform-spread@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.6.tgz#a56cecbd8617675531d1b79f5b755b7613aa0822" + integrity sha512-h/2j7oIUDjS+ULsIrNZ6/TKG97FgmEk1PXryk/HQq6op4XUUUwif2f69fJrzK0wza2zjCS1xhXmouACaWV5uPA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.6" -"@babel/plugin-transform-sticky-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" - integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== +"@babel/plugin-transform-sticky-regex@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.6.tgz#1a78127731fea87d954bed193840986a38f04327" + integrity sha512-fN8OcTLfGmYv7FnDrsjodYBo1DhPL3Pze/9mIIE2MGCT1KgADYIOD7rEglpLHZj8PZlC/JFX5WcD+85FLAQusw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-template-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" - integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== +"@babel/plugin-transform-template-literals@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.6.tgz#aaf2ae157acd0e5c9265dba8ac0a439f8d2a6303" + integrity sha512-BJbEqJIcKwrqUP+KfUIkxz3q8VzXe2R8Wv8TaNgO1cx+nNavxn/2+H8kp9tgFSOL6wYPPEgFvU6IKS4qoGqhmg== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-typeof-symbol@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz#703cace5ef74155fb5eecab63cbfc39bdd25fe12" - integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== +"@babel/plugin-transform-typeof-symbol@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.6.tgz#3d02da23ebcc8f1982ddcd1f2581cf3ee4e58762" + integrity sha512-IshCXQ+G9JIFJI7bUpxTE/oA2lgVLAIK8q1KdJNoPXOpvRaNjMySGuvLfBw/Xi2/1lLo953uE8hyYSDW3TSYig== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-typescript@^7.24.1": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz#bcba979e462120dc06a75bd34c473a04781931b8" - integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== +"@babel/plugin-transform-typescript@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.6.tgz#339c6127a783c32e28a5b591e6c666f899b57db0" + integrity sha512-H0i+hDLmaYYSt6KU9cZE0gb3Cbssa/oxWis7PX4ofQzbvsfix9Lbh8SRk7LCPDlLWJHUiFeHU0qRRpF/4Zv7mQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-typescript" "^7.24.1" + "@babel/helper-annotate-as-pure" "^7.24.6" + "@babel/helper-create-class-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/plugin-syntax-typescript" "^7.24.6" -"@babel/plugin-transform-unicode-escapes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" - integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== +"@babel/plugin-transform-unicode-escapes@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.6.tgz#c8ddca8fd5bacece837a4e27bd3b7ed64580d1a8" + integrity sha512-bKl3xxcPbkQQo5eX9LjjDpU2xYHeEeNQbOhj0iPvetSzA+Tu9q/o5lujF4Sek60CM6MgYvOS/DJuwGbiEYAnLw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-unicode-property-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" - integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== +"@babel/plugin-transform-unicode-property-regex@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.6.tgz#e66297d5d452db0b0be56515e3d0e10b7d33fb32" + integrity sha512-8EIgImzVUxy15cZiPii9GvLZwsy7Vxc+8meSlR3cXFmBIl5W5Tn9LGBf7CDKkHj4uVfNXCJB8RsVfnmY61iedA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-regexp-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-unicode-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" - integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== +"@babel/plugin-transform-unicode-regex@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.6.tgz#2001e7d87ed709eea145e0b65fb5f93c3c0e225b" + integrity sha512-pssN6ExsvxaKU638qcWb81RrvvgZom3jDgU/r5xFZ7TONkZGFf4MhI2ltMb8OcQWhHyxgIavEU+hgqtbKOmsPA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-regexp-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" -"@babel/plugin-transform-unicode-sets-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" - integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== +"@babel/plugin-transform-unicode-sets-regex@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.6.tgz#f18b7292222aee85c155258ceb345a146a070a46" + integrity sha512-quiMsb28oXWIDK0gXLALOJRXLgICLiulqdZGOaPPd0vRT7fQp74NtdADAVu+D8s00C+0Xs0MxVP0VKF/sZEUgw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-regexp-features-plugin" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" "@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.5.tgz#6a9ac90bd5a5a9dae502af60dfc58c190551bbcd" - integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== - dependencies: - "@babel/compat-data" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.6.tgz#a5a55bc70e5ff1ed7f872067e2a9d65ff917ad6f" + integrity sha512-CrxEAvN7VxfjOG8JNF2Y/eMqMJbZPZ185amwGUBp8D9USK90xQmv7dLdFSa+VbD7fdIqcy/Mfv7WtzG8+/qxKg== + dependencies: + "@babel/compat-data" "^7.24.6" + "@babel/helper-compilation-targets" "^7.24.6" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-validator-option" "^7.24.6" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.6" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.6" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.1" - "@babel/plugin-syntax-import-attributes" "^7.24.1" + "@babel/plugin-syntax-import-assertions" "^7.24.6" + "@babel/plugin-syntax-import-attributes" "^7.24.6" "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -1075,54 +1074,54 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.1" - "@babel/plugin-transform-async-generator-functions" "^7.24.3" - "@babel/plugin-transform-async-to-generator" "^7.24.1" - "@babel/plugin-transform-block-scoped-functions" "^7.24.1" - "@babel/plugin-transform-block-scoping" "^7.24.5" - "@babel/plugin-transform-class-properties" "^7.24.1" - "@babel/plugin-transform-class-static-block" "^7.24.4" - "@babel/plugin-transform-classes" "^7.24.5" - "@babel/plugin-transform-computed-properties" "^7.24.1" - "@babel/plugin-transform-destructuring" "^7.24.5" - "@babel/plugin-transform-dotall-regex" "^7.24.1" - "@babel/plugin-transform-duplicate-keys" "^7.24.1" - "@babel/plugin-transform-dynamic-import" "^7.24.1" - "@babel/plugin-transform-exponentiation-operator" "^7.24.1" - "@babel/plugin-transform-export-namespace-from" "^7.24.1" - "@babel/plugin-transform-for-of" "^7.24.1" - "@babel/plugin-transform-function-name" "^7.24.1" - "@babel/plugin-transform-json-strings" "^7.24.1" - "@babel/plugin-transform-literals" "^7.24.1" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" - "@babel/plugin-transform-member-expression-literals" "^7.24.1" - "@babel/plugin-transform-modules-amd" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-modules-systemjs" "^7.24.1" - "@babel/plugin-transform-modules-umd" "^7.24.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.24.1" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" - "@babel/plugin-transform-numeric-separator" "^7.24.1" - "@babel/plugin-transform-object-rest-spread" "^7.24.5" - "@babel/plugin-transform-object-super" "^7.24.1" - "@babel/plugin-transform-optional-catch-binding" "^7.24.1" - "@babel/plugin-transform-optional-chaining" "^7.24.5" - "@babel/plugin-transform-parameters" "^7.24.5" - "@babel/plugin-transform-private-methods" "^7.24.1" - "@babel/plugin-transform-private-property-in-object" "^7.24.5" - "@babel/plugin-transform-property-literals" "^7.24.1" - "@babel/plugin-transform-regenerator" "^7.24.1" - "@babel/plugin-transform-reserved-words" "^7.24.1" - "@babel/plugin-transform-shorthand-properties" "^7.24.1" - "@babel/plugin-transform-spread" "^7.24.1" - "@babel/plugin-transform-sticky-regex" "^7.24.1" - "@babel/plugin-transform-template-literals" "^7.24.1" - "@babel/plugin-transform-typeof-symbol" "^7.24.5" - "@babel/plugin-transform-unicode-escapes" "^7.24.1" - "@babel/plugin-transform-unicode-property-regex" "^7.24.1" - "@babel/plugin-transform-unicode-regex" "^7.24.1" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" + "@babel/plugin-transform-arrow-functions" "^7.24.6" + "@babel/plugin-transform-async-generator-functions" "^7.24.6" + "@babel/plugin-transform-async-to-generator" "^7.24.6" + "@babel/plugin-transform-block-scoped-functions" "^7.24.6" + "@babel/plugin-transform-block-scoping" "^7.24.6" + "@babel/plugin-transform-class-properties" "^7.24.6" + "@babel/plugin-transform-class-static-block" "^7.24.6" + "@babel/plugin-transform-classes" "^7.24.6" + "@babel/plugin-transform-computed-properties" "^7.24.6" + "@babel/plugin-transform-destructuring" "^7.24.6" + "@babel/plugin-transform-dotall-regex" "^7.24.6" + "@babel/plugin-transform-duplicate-keys" "^7.24.6" + "@babel/plugin-transform-dynamic-import" "^7.24.6" + "@babel/plugin-transform-exponentiation-operator" "^7.24.6" + "@babel/plugin-transform-export-namespace-from" "^7.24.6" + "@babel/plugin-transform-for-of" "^7.24.6" + "@babel/plugin-transform-function-name" "^7.24.6" + "@babel/plugin-transform-json-strings" "^7.24.6" + "@babel/plugin-transform-literals" "^7.24.6" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.6" + "@babel/plugin-transform-member-expression-literals" "^7.24.6" + "@babel/plugin-transform-modules-amd" "^7.24.6" + "@babel/plugin-transform-modules-commonjs" "^7.24.6" + "@babel/plugin-transform-modules-systemjs" "^7.24.6" + "@babel/plugin-transform-modules-umd" "^7.24.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.6" + "@babel/plugin-transform-new-target" "^7.24.6" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.6" + "@babel/plugin-transform-numeric-separator" "^7.24.6" + "@babel/plugin-transform-object-rest-spread" "^7.24.6" + "@babel/plugin-transform-object-super" "^7.24.6" + "@babel/plugin-transform-optional-catch-binding" "^7.24.6" + "@babel/plugin-transform-optional-chaining" "^7.24.6" + "@babel/plugin-transform-parameters" "^7.24.6" + "@babel/plugin-transform-private-methods" "^7.24.6" + "@babel/plugin-transform-private-property-in-object" "^7.24.6" + "@babel/plugin-transform-property-literals" "^7.24.6" + "@babel/plugin-transform-regenerator" "^7.24.6" + "@babel/plugin-transform-reserved-words" "^7.24.6" + "@babel/plugin-transform-shorthand-properties" "^7.24.6" + "@babel/plugin-transform-spread" "^7.24.6" + "@babel/plugin-transform-sticky-regex" "^7.24.6" + "@babel/plugin-transform-template-literals" "^7.24.6" + "@babel/plugin-transform-typeof-symbol" "^7.24.6" + "@babel/plugin-transform-unicode-escapes" "^7.24.6" + "@babel/plugin-transform-unicode-property-regex" "^7.24.6" + "@babel/plugin-transform-unicode-regex" "^7.24.6" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.6" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.4" @@ -1140,27 +1139,27 @@ esutils "^2.0.2" "@babel/preset-react@^7.18.6", "@babel/preset-react@^7.22.5": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.1.tgz#2450c2ac5cc498ef6101a6ca5474de251e33aa95" - integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.6.tgz#92eace66dce577e5263113eb82235a0d45096cae" + integrity sha512-8mpzh1bWvmINmwM3xpz6ahu57mNaWavMm+wBNjQ4AFu1nghKBiIRET7l/Wmj4drXany/BBGjJZngICcD98F1iw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-transform-react-display-name" "^7.24.1" - "@babel/plugin-transform-react-jsx" "^7.23.4" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-validator-option" "^7.24.6" + "@babel/plugin-transform-react-display-name" "^7.24.6" + "@babel/plugin-transform-react-jsx" "^7.24.6" + "@babel/plugin-transform-react-jsx-development" "^7.24.6" + "@babel/plugin-transform-react-pure-annotations" "^7.24.6" "@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" - integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.6.tgz#27057470fb981c31338bdb897fc3d9aa0cb7dab2" + integrity sha512-U10aHPDnokCFRXgyT/MaIRTivUu2K/mu0vJlwRS9LxJmJet+PFQNKpggPyFCUtC6zWSBPjvxjnpNkAn3Uw2m5w== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-syntax-jsx" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-typescript" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.6" + "@babel/helper-validator-option" "^7.24.6" + "@babel/plugin-syntax-jsx" "^7.24.6" + "@babel/plugin-transform-modules-commonjs" "^7.24.6" + "@babel/plugin-transform-typescript" "^7.24.6" "@babel/regjsgen@^0.8.0": version "0.8.0" @@ -1168,52 +1167,52 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime-corejs3@^7.22.6": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.5.tgz#d2a5f46a088caf8f3899ad095054f83b0a686194" - integrity sha512-GWO0mgzNMLWaSYM4z4NVIuY0Cd1fl8cPnuetuddu5w/qGuvt5Y7oUi/kvvQGK9xgOkFJDQX2heIvTRn/OQ1XTg== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.6.tgz#0992564ee78234639ba2ed711b93d25586727272" + integrity sha512-tbC3o8uHK9xMgMsvUm9qGqxVpbv6yborMBLbDteHIc7JDNHsTV0vDMQ5j1O1NXvO+BDELtL9KgoWYaUVIVGt8w== dependencies: core-js-pure "^3.30.2" regenerator-runtime "^0.14.0" "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" - integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.6.tgz#5b76eb89ad45e2e4a0a8db54c456251469a3358e" + integrity sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.22.8", "@babel/traverse@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" - integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== - dependencies: - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/types" "^7.24.5" +"@babel/template@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.6.tgz#048c347b2787a6072b24c723664c8d02b67a44f9" + integrity sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw== + dependencies: + "@babel/code-frame" "^7.24.6" + "@babel/parser" "^7.24.6" + "@babel/types" "^7.24.6" + +"@babel/traverse@^7.22.8", "@babel/traverse@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.6.tgz#0941ec50cdeaeacad0911eb67ae227a4f8424edc" + integrity sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw== + dependencies: + "@babel/code-frame" "^7.24.6" + "@babel/generator" "^7.24.6" + "@babel/helper-environment-visitor" "^7.24.6" + "@babel/helper-function-name" "^7.24.6" + "@babel/helper-hoist-variables" "^7.24.6" + "@babel/helper-split-export-declaration" "^7.24.6" + "@babel/parser" "^7.24.6" + "@babel/types" "^7.24.6" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.24.5", "@babel/types@^7.4.4": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" - integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== +"@babel/types@^7.21.3", "@babel/types@^7.24.6", "@babel/types@^7.4.4": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.6.tgz#ba4e1f59870c10dc2fa95a274ac4feec23b21912" + integrity sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ== dependencies: - "@babel/helper-string-parser" "^7.24.1" - "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-string-parser" "^7.24.6" + "@babel/helper-validator-identifier" "^7.24.6" to-fast-properties "^2.0.0" "@chatwoot/docusaurus-plugin@^1.0.1": @@ -1788,11 +1787,6 @@ unist-util-visit "^5.0.0" vfile "^6.0.0" -"@mdx-js/react@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" - integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== - "@mdx-js/react@^3.0.0": version "3.0.1" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.1.tgz#997a19b3a5b783d936c75ae7c47cfe62f967f746" @@ -2271,9 +2265,9 @@ "@types/react" "*" "@types/react@*": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.2.tgz#462ae4904973bc212fa910424d901e3d137dbfcd" - integrity sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w== + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.3.tgz#9679020895318b0915d7a3ab004d92d33375c45f" + integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -2557,9 +2551,9 @@ ajv@^6.12.2, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.9.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" - integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== + version "8.14.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.14.0.tgz#f514ddfd4756abb200e1704414963620a625ebbb" + integrity sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA== dependencies: fast-deep-equal "^3.1.3" json-schema-traverse "^1.0.0" @@ -2567,9 +2561,9 @@ ajv@^8.0.0, ajv@^8.9.0: uri-js "^4.4.1" algoliasearch-helper@^3.13.3: - version "3.20.0" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.20.0.tgz#1f31b11c0df9881d0086c8e7f64b4ccd66d78148" - integrity sha512-6EVhAmVug0+hdRHWbubF7hLHHhLoQ8NjLk6iS6d4k5chWawpS5EDexrF6Jx/hPZvUKIeNrzsbTpjAkcvrjNLHg== + version "3.21.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz#d28fdb61199b5c229714788bfb812376b18aaf28" + integrity sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w== dependencies: "@algolia/events" "^4.0.1" @@ -2935,9 +2929,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001621" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001621.tgz#4adcb443c8b9c8303e04498318f987616b8fea2e" - integrity sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA== + version "1.0.30001625" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001625.tgz#ead1b155ea691d6a87938754d3cb119c24465b03" + integrity sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w== ccount@^2.0.0: version "2.0.1" @@ -3755,9 +3749,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.668: - version "1.4.779" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.779.tgz#bb6f08b93092a564421adcadcc4b92c5055c7a77" - integrity sha512-oaTiIcszNfySXVJzKcjxd2YjPxziAd+GmXyb2HbidCeFo6Z88ygOT7EimlrEQhM2U08VhSrbKhLOXP0kKUCZ6g== + version "1.4.783" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.783.tgz#933887165b8b6025a81663d2d97cf4b85cde27b2" + integrity sha512-bT0jEz/Xz1fahQpbZ1D7LgmPYZ3iHVY39NcWWro1+hA2IvjiPeaXtfSqrQ+nXjApMvQRE2ASt1itSLRrebHMRQ== emoji-regex@^8.0.0: version "8.0.0" @@ -4319,15 +4313,15 @@ glob-to-regexp@^0.4.1: integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^10.3.10: - version "10.3.16" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.16.tgz#bf6679d5d51279c8cfae4febe0d051d2a4bf4c6f" - integrity sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw== + version "10.4.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2" + integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== dependencies: foreground-child "^3.1.0" jackspeak "^3.1.2" - minimatch "^9.0.1" - minipass "^7.0.4" - path-scurry "^1.11.0" + minimatch "^9.0.4" + minipass "^7.1.2" + path-scurry "^1.11.1" glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: version "7.2.3" @@ -5392,9 +5386,9 @@ mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: unist-util-visit-parents "^6.0.0" mdast-util-from-markdown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88" - integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz#32a6e8f512b416e1f51eb817fc64bd867ebcd9cc" + integrity sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" @@ -6119,7 +6113,7 @@ minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.1: +minimatch@^9.0.4: version "9.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== @@ -6131,10 +6125,10 @@ minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: - version "7.1.1" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.1.tgz#f7f85aff59aa22f110b20e27692465cf3bf89481" - integrity sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== mrmime@^2.0.0: version "2.0.0" @@ -6521,7 +6515,7 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" -path-scurry@^1.11.0: +path-scurry@^1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== @@ -6927,12 +6921,7 @@ pretty-time@^1.1.0: resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== -prism-react-renderer@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085" - integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== - -prism-react-renderer@^2.3.0: +prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz#e59e5450052ede17488f6bc85de1553f584ff8d5" integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== @@ -7093,7 +7082,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^18.3.1: +react-dom@^18.2.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== @@ -7197,7 +7186,7 @@ react-router@5.3.4, react-router@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react@^18.3.1: +react@^18.2.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -7530,9 +7519,9 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== scheduler@^0.23.2: version "0.23.2"