Commit Graph

140 Commits

Author SHA1 Message Date
Subhrashis Das
11a5a963d2
feat: add git route aspect for branch handling (#41097)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/16343398654>
> Commit: f8257de8135f4243309143396eca2a81bdb6f2a3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16343398654&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 17 Jul 2025 12:14:40 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced a new annotation to streamline and secure Git-related
operations in application APIs.
* Added a robust workflow for handling Git operations with enhanced
concurrency control and error handling.
* Enabled in-memory Git storage mode for improved performance in certain
environments.
* Added support for executing Git operations via shell scripts,
including branch merging and repository management.

* **Improvements**
* Enhanced configuration flexibility for Git storage and Redis
integration.
* Improved error reporting with new, descriptive Git-related error
messages.
* Broadened environment file ignore patterns for better environment
management.

* **Bug Fixes**
  * Improved handling of private key formats for Git authentication.

* **Documentation**
* Added detailed documentation and flow diagrams for new Git operation
workflows.

* **Chores**
* Updated build and test configurations to align with new Git storage
paths.
* Deprecated and bypassed certain Redis operations when using in-memory
Git storage.

* **Tests**
* Removed several outdated or redundant test cases related to
auto-commit and Git serialization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 14:11:34 +05:30
Goutham Pratapa
ea7bfd09d7
fix: enhance CA certificate handling in entrypoint script (#40933)
Updated the entrypoint script to improve the detection and processing of
custom CA certificates. The script now correctly identifies both regular
files and symbolic links with a '.crt' extension, ensuring that all
relevant certificates are included in the keystore. This change enhances
the robustness of the CA certificate setup process.

## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
534af3a44c572e8ec63cb6de9dc3d60e88f17f53 yet
> <hr>Wed, 02 Jul 2025 09:06:55 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved detection and import of custom CA certificates by including
support for symbolic links, ensuring all relevant `.crt` files are
recognized and imported.
- Enhanced handling of certificate bundles by splitting and importing
individual certificates for better compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 14:44:21 +05:30
Wyatt Walter
2d21717059
fix: allow running as non-root (#40642)
## Description

Allows the Appsmith container to run as a non-root user, specified at
runtime through either docker-compose or Kubernetes pod security
context. I didn't specify the user in the `Dockerfile` because
environments like OpenShift choose a user at runtime, so it can't be
known at build time.

This needs to be followed by an update to docs and changes in the Helm
chart to finish it off, but that has a separate release cycle and this
needs to go ahead of that.

Ideally we would run as non-root by default, but since there's data
persisted on the filesystem automatically transitioning the default is
impossible without a lot of pain. This moves us in that direction and
enables it in the future if we go down that path.

Required to fix https://github.com/appsmithorg/appsmith/issues/38787

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
50ba745c5bb7709c60ce5194437f921f1a95c980 yet
> <hr>Thu, 15 May 2025 15:56:31 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added support for user identity emulation when running as a non-root
user, improving compatibility in certain deployment environments.
- Prevented embedded database initialization when running as a non-root
user to ensure proper operation.

- **Chores**
- Installed additional system packages to the base image for enhanced
functionality.
- Optimized image size by consolidating and improving cleanup steps
during the build process.
- Updated base image and refined installation commands for improved
build consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-28 22:19:48 +05:30
Subhrashis Das
d1b8b08c5f
chore: add HTTP/3 support (#40064)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/14240272119>
> Commit: 11254f8eb5b8e4c96404f9d833d73e29e12993e6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14240272119&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 03 Apr 2025 10:41:27 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Improved server capabilities by enabling support for HTTP/1, HTTP/2,
and HTTP/3, enhancing performance and compatibility with various client
protocols.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-03 19:39:23 +05:30
Shrikant Sharat Kandula
24f5a9e1cc
chore: Enable source maps for RTS for better error traces (#39099)
## Description

The source maps files are there in the RTS folder but aren't being used
because they aren't enabled. This PR fixes that by adding the necessary
option to node to get better stack traces that point to the actual
TypeScript files.

## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated the server runtime to improve error reporting and debugging,
resulting in more detailed and readable error traces for a smoother
troubleshooting experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-06 21:55:43 +05:30
Diljit
d538d0dc7d
chore: convert consolidated api etag to a weak one (#38939)
## Description
Updated the computeConsolidatedAPIResponseEtag method to return weak
ETags instead of strong ETags to ensure compatibility with nginx when
gzip is enabled. This change includes adding a prefix "W/" to the ETag
value and includes references to related issues and documentation.

Ref: https://github.com/kubernetes/ingress-nginx/issues/1390


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13069342399>
> Commit: b09d978d0123359c20a16d02445f97d9b9102d83
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13069342399&attempt=3"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 31 Jan 2025 10:40:19 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Configuration Changes**
- Modified NGINX configuration to potentially enable gzip compression
for API responses
- Updated ETag generation to use weak ETag format for better
compatibility
- Removed specific route handling for consolidated API endpoint in Caddy
configuration

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-31 16:35:20 +05:30
Diljit
01cda23c3d
chore: add etag caching in consolidated api for application view mode (#38873)
## Description
- Implement Etag caching for consolidated api in view mode.
  - Generate Etag for consolidated api in view mode
- compare the if none match header with the computed etag and respond
with either a 304 or 200
  - add span for generate etag fn
- Remove prefetching and caching of static assets in service worker  

```mermaid
sequenceDiagram
    Client->>Server: Request Consolidated API
    Server-->>Server: Compute ETag
    Server-->>Client: Respond with ETag, Cache-Control
    Client->>Server: Subsequent Request with If-None-Match
    alt ETag Matches
        Server-->>Client: 304 Not Modified
    else ETag Different
        Server-->>Client: Full Response with New ETag
    end
```

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13046610688>
> Commit: c14d58da8a59b3bbfb10c7e308b518d2cd8e3b7d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13046610688&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 30 Jan 2025 07:14:21 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added ETag support for consolidated API responses to improve caching
efficiency.
- Introduced a new route handler for the `/api/v1/consolidated-api/view`
endpoint.

- **Performance Improvements**
	- Optimized NGINX configuration for API responses.
	- Updated tracing endpoint for better monitoring.

- **Dependency Updates**
	- Added Jackson datatype support for Java 8 date and time handling.

- **Technical Enhancements**
	- Improved request handling in ConsolidatedAPIController.
	- Updated service worker configuration.
	- Refined feature flag handling in the client.
	- Enhanced API request headers for consolidated page load functions.
	- Simplified caching and routing logic in the service worker.
	- Adjusted service worker caching strategy for production environment.
	- Updated test specification path for Cypress limited tests.
- Modified request handling to remove unnecessary headers in feature
flag functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-30 13:54:34 +05:30
Nilesh Sarupriya
83ce2d6962
chore: move the rts.conf code to shell file (#38859)
## Description
> [!TIP]  
> Moving the `rts.conf` running code to shell file for more
extensibility.

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13004107300>
> Commit: b8af6b535edcabed637e94fb5f7f35c36d4608f7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13004107300&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 28 Jan 2025 05:59:53 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Deployment**
- Added a new shell script (`run-rts.sh`) to manage the execution of the
Node.js application
- Updated supervisord configuration to use the new shell script for
running the application

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2025-01-28 00:22:58 -06:00
Diljit
6505dae680
chore: add grafana faro sdk (CE) (#38301)
## Description
- Remove new relic browser agent
- Add faro sdk to capture frontend perf metrics and traces.

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12490844984>
> Commit: c9d4264027467bf33e1de519eb69c7762b6e7f75
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12490844984&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 25 Dec 2024 09:33:26 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Introduced new environment variable `APPSMITH_HOSTNAME` for dynamic
hostname configuration in HTML files.
- Enhanced telemetry capabilities with new imports and updated types for
better observability.
- Added `tracingUrl` under the observability section in configuration
files for improved telemetry tracking.

- **Bug Fixes**
- Adjusted telemetry data handling to utilize new `Attributes` type for
improved consistency.

- **Documentation**
- Updated import paths for various telemetry-related components to
reflect new module organization.

- **Chores**
- Removed deprecated telemetry configurations and streamlined build
processes.
	- Updated Nginx configuration to reflect new telemetry parameters.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-26 10:37:41 +05:30
Subhrashis Das
d52490cabb
feat: Standardize log patterns across all services for consistency. (#38285)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12463955629>
> Commit: 1c48cae7a0d980d487a9387aa96e8b5aaaedeadb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12463955629&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 23 Dec 2024 09:18:41 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced logging capabilities for various services, including distinct
log file paths incorporating hostnames.
	- Introduced event logging for standard output and error streams.

- **Bug Fixes**
	- Improved error handling through updated logging configurations.

- **Chores**
- Reorganized configuration parameters for better clarity and management
across multiple services.
- Increased maximum log file sizes from 10MB to 30MB and set backups to
zero for all services.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-23 15:15:53 +05:30
Abhijeet
8705e8ede5
fix: Server startup issue for external postgres (#38019)
## Description
We introduced the auth for embedded Postgres, but in pg-utils we missed
on updating the pg_isready condition to resort to db host in case of
external postgres url. This caused the pg_isready to never pass when
user configure external postgres url as a persistence DB in Appsmith.
This PR checks if the local postgres url is configured and accordingly
modifies the pg_isready command to target the embedded host vs external
host.

Why it did not get caught in our testing?
We are still investigating this but in local for some reason even if we
opt for external Postgres DB embedded Postgres process is also
initiating which runs the pg_isready against the embedded Postgres and
startup goes through.

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced PostgreSQL connection handling with dynamic checks for local
or remote instances.
- Improved flexibility in connection strategy for better database
accessibility.

- **Bug Fixes**
- Updated connection commands to ensure proper usage of the new host
proxy variable.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-06 16:38:12 +05:30
Abhijeet
ba7c1588ae
fix: Add password based auth for postgres (#37068) 2024-12-06 10:49:27 +05:30
Shrikant Sharat Kandula
7a0f654b8e
chore: Fix env varibles in 404.html (#37672)
Environment variables in `404.html` page aren't getting replaced with
their values. This PR fixes that.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12005727044>
> Commit: 56b10fddf2ee7ed180ed59845b6f0223cd26b06a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12005727044&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Sanity
> Spec: 
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/12005727044"
target="_blank">workflow here</a>.
> <hr>Mon, 25 Nov 2024 08:48:10 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Improved dynamic retrieval of environment variables for better
integration with environment-specific settings in the 404 error page.
- Enhanced handling of HTML files, including the 404 page, during the
configuration process.

- **Bug Fixes**
- Improved error handling for missing SSL certificates and custom
domains.

- **Documentation**
- Updated logic for processing HTML files to ensure correct paths and
configurations are applied.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-26 11:41:01 +05:30
Shrikant Sharat Kandula
7c66c07805
chore: Remove Algolia, we don't use it anymore (#37664)
## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11987511676>
> Commit: 22f0a6fc7c916a948cdd1ec98183f0113d485d90
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11987511676&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Sat, 23 Nov 2024 14:45:28 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

- **Chores**
- Removed Algolia Search configuration from various files, including
environment variables and configuration scripts.
  
- **Refactor**
- Simplified search-related components and utility functions by removing
Algolia dependencies, enhancing clarity and usability.
  
- **Bug Fixes**
- Adjusted search item type handling to improve type safety and reduce
complexity.

These updates streamline the application by eliminating unnecessary
dependencies and refining existing functionalities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-23 21:38:04 +05:30
Shrikant Sharat Kandula
81b7727817
chore: Move appsmithctl to RTS (#37531)
Move the `appsmithctl` code to RTS.

RTS' own build system will build `appsmithctl` as well. We're adding two
command scripts, `ctl` and `appsmithctl` to `/opt/bin`, which will be
the entrypoints for this. The `appsmithctl` is now just an alias to the
much shorter and non-redundancy-inducing `ctl`.

We aren't migrating to TypeScript in this PR so we're ignoring the new
`ctl` folder in both `tsconfig.json` and `.eslintrc`. That's temporary,
the next PR will fix that.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11930931528>
> Commit: 90b5f97b801ac8d4b4b0126d85edff3dccc050bd
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11930931528&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 20 Nov 2024 10:36:02 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **New Features**
  - Introduced the `appsmithctl` command for easier command execution.
  - Updated build process to include additional entry points.

- **Bug Fixes**
- Streamlined Docker build process, enhancing efficiency and reducing
complexity.

- **Documentation**
- Added a new section in the README for `appsmithctl` command
description.

- **Chores**
  - Updated dependencies in `package.json`.
  - Removed obsolete files and workflows to simplify project structure.

- **Style**
  - Added a new ESLint configuration for specific project needs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-20 20:58:38 +05:30
Shrikant Sharat Kandula
f7f9fc3146
fix: Rate limiting key should respect load balancers (#37409)
This PR changes the `key` used for rate limiting so that it includes any
`Forwarded` or `X-Forwarded-For` headers, so that rate-limiting counter
respects any load balancers that are running on top of Appsmith
container.


/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11855493733>
> Commit: af2d760c6e5f3ea61ae0bfb476cb4e023648cecc
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11855493733&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 15 Nov 2024 12:04:04 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced rate limiting configuration for improved performance with
load balancers.
- Adjusted handling of custom domains for better certificate management.

- **Bug Fixes**
- Improved error handling by removing unnecessary headers to enhance
security and response consistency.

- **Documentation**
- Updated internal logic for generating server configurations, ensuring
clarity in server setup.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-20 10:40:02 +05:30
Shrikant Sharat Kandula
afd2fcc1fa
chore: Format appsmithctl code (#37532)
Formatting just before merging `appsmithctl` code into RTS.

## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11890257914>
> Commit: 5c838014b7b5b34058c8a92de28a51429a54ceda
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11890257914&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 18 Nov 2024 10:46:20 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **New Features**
- Added constants for backup and restore paths, database dump file
names, and email notifications related to backup errors.
	- Introduced a new function for running restore operations.

- **Bug Fixes**
	- Enhanced error handling and logging for backup and restore processes.

- **Documentation**
	- Improved clarity in console log messages across various utilities.

- **Refactor**
- Standardized string formatting and code structure for better
readability and maintainability across multiple files, including
consistent use of double quotes and improved error handling formatting.

- **Tests**
- Expanded test coverage for backup utilities and improved formatting
for better readability in test cases.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-19 11:11:21 +05:30
Subhrashis Das
c70adf7440
chore: Switch from OTLP HTTP/protobuf (New Relic) to HTTP/JSON (Grafana) (#37404)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
065cddccdcf3c98cb48ff201daf752708f24666c yet
> <hr>Fri, 15 Nov 2024 11:48:13 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced new monitoring paths for telemetry data exports:
`/monitoring/traces` and `/monitoring/metrics`.
	- Added a function to streamline URL management for telemetry exports.

- **Bug Fixes**
- Updated telemetry export protocols to enhance reliability and
performance.

- **Chores**
- Updated multiple OpenTelemetry dependencies to their latest versions
for improved functionality and security.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-18 05:59:33 +00:00
Shrikant Sharat Kandula
d6f6920a9a
chore: Remove shelljs from appsmithctl (#37401)
Remove `shelljs` dependency from `appsmithctl`, instead using our own
much smaller utility functions to run external commands.

Now `esbuild` should be able to build `appsmithctl` project nicely! For
a future PR.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11854060567>
> Commit: d25bb8d69aca8b51339fba03ba608b58afbb3459
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11854060567&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 15 Nov 2024 10:27:05 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced an asynchronous database import process for improved
control flow and error handling.
- Added a new function to execute commands and return their output as a
promise.

- **Bug Fixes**
- Enhanced error handling to ensure the supervisor is running before
proceeding with database operations.

- **Tests**
- Added a new test suite for the command execution function, validating
various output scenarios.

- **Chores**
	- Removed unnecessary dependencies from the project configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2024-11-15 19:27:02 +05:30
Shrikant Sharat Kandula
77bae7c0c6
chore: Don't break when Appsmtih API URL isn't set (#37309)
We actually don't need the `APPSMITH_API_BASE_URL` variable to be
varying in production ever at all, and the `routes.ts` file already does
have a default for this (on EE). Let's just use that instead of throwing
an impact-less error.

Ideally though, we shouldn't have this env variable at all. Less things
that are configurable, less things that can break other things.

## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11812221529>
> Commit: f049d468998530cddd9f7ad45542790c9e12241b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11812221529&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 13 Nov 2024 07:41:57 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

- **New Features**
- Introduced constants for API URLs to streamline endpoint
configurations.

- **Bug Fixes**
- Updated API request URLs to use new constants, ensuring consistency
across the application.

- **Refactor**
	- Centralized route constants to improve maintainability.
- Renamed entities in test cases for clarity while preserving
functionality.

- **Chores**
- Removed obsolete environment variable related to API base URL from the
Docker configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-15 13:34:35 +05:30
Shrikant Sharat Kandula
b2263012a5
chore: Remove shelljs from more appsmithctl commands (#37383)
This PR removes more uses of `shelljs` from the `appsmithctl` project,
towards completely removing that dependency. Then we should be able to
build `appsmithctl` with `esbuild`, and reduce false-positive CVEs being
reported from `appsmithctl`'s `node_modules` folder.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11833714062>
> Commit: d63aa150dff9f8117544219e2f2dfc5816e978a8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11833714062&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 14 Nov 2024 09:21:47 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

- **New Features**
- Enhanced backup and restore processes with improved error handling and
logging.
- Introduced a new utility function to check if the Supervisor process
is running.

- **Bug Fixes**
- Improved error messages for password retrieval during backup
operations.
	- Refined cleanup processes to ensure resources are released properly.

- **Documentation**
- Updated test cases for backup functionalities to cover more scenarios
and ensure asynchronous handling.

- **Chores**
- Removed unnecessary dependencies and streamlined logging methods
across various scripts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-14 19:17:19 +05:30
Shrikant Sharat Kandula
748a5eccb4
chore: Remove shelljs use from backup command (#37356)
This is towards fixing `appsmithctl` into a modern component of the
project. First order of business is to get rid of the `shelljs`
dependency, since we don't really need it that seriously, and since it
does weird stuff with `require()` that we can't use `esbuild` to build
`appsmithctl`.

Further PRs will remove `shelljs` from other commands as well, and then
we'll remove `shelljs` from our dependencies.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11814325698>
> Commit: 98261ee8c8a52090b1e9bb27a27be4be0874b83f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11814325698&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 13 Nov 2024 09:58:36 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Improved backup process with enhanced error handling and asynchronous
checks for available disk space.
- New function for executing commands with output capture added to
utility functions.

- **Bug Fixes**
- Refined error messages for insufficient disk space and password
mismatches during backup.

- **Tests**
- Expanded test suite for backup utilities and command execution,
ensuring robust coverage of various scenarios.

- **Documentation**
	- Updated formatting of numeric constants for better readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-14 10:33:27 +05:30
Shrikant Sharat Kandula
da6d497271
fix: Support NO_PROXY for RTS-Temporal connection (#37284)
The Temporal connection SDK used in RTS, uses GRPC to talk to the
Temporal server. The GRPC library being used only respects the lowercase
proxy env variables (`http_proxy`, `https_proxy` and `no_proxy`), and
not the uppercase ones. They have an [open issue asking for this since
2020](https://github.com/grpc/grpc-node/issues/1292).

However, in our `entrypoint.sh`, we normalize `http_proxy` and
`HTTP_PROXY`, similarly for `https_proxy` and `HTTPS_PROXY`. But we're
not doing this normalization for `no_proxy` and `NO_PROXY`.

This PR fixes this by doing the same normalization to `no_proxy`.

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11737259912>
> Commit: 310fa2c85ac45b4f9a9bc5ce63b1c54839192306
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11737259912&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 08 Nov 2024 07:00:17 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Improved handling of proxy environment variables for enhanced
configuration consistency.
  
- **Bug Fixes**
- Ensured `localhost` and `127.0.0.1` are always included in the
`NO_PROXY` variable for better connectivity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-08 14:54:14 +05:30
Abhijeet
6dc61946d4
chore: Add mongo data migration check before initializing the postgres dump (#37059) 2024-11-05 08:26:02 +05:30
Abhijeet
8c200d6561
chore: Add host explicitly for pg_isready signal at the startup (#37067)
## Description
PR to add the host explicitly for the `pg_isready` check at the startup.
In the current implementation we haven't provided a host which can
create issues if custom unix port is configured in the `postgres.conf`.
Possible issue that we have observed here:
1. Misconfigured unix socket directory: This happens if the PostgreSQL
server is not using the default Unix socket directory (usually /tmp or
/var/run/postgresql), and we don't specify the correct socket directory
with the --host parameter, pg_isready will fail to connect.
2. `postgres` DB is manually deleted by the user by stopping the
postgres procedure, but the possibility is lower.

/test Sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11499341453>
> Commit: ab0e1f4efead4f4571c070df8f37d2bae5a935ed
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11499341453&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 24 Oct 2024 13:04:29 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **Bug Fixes**
- Enhanced PostgreSQL readiness check for more reliable connections by
extending the timeout duration to 300 seconds.
- **Chores**
- Minor formatting and comment updates for improved clarity in the
script.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-25 11:38:15 +05:30
Anagh Hegde
44a9994fa9
fix: use password while creating extension (#36936)
## Description
Use password while creating pg_trm extension on remote postgres. 


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-10-17 16:19:36 +05:30
Anagh Hegde
060cf92e55
chore: sync changes from pg branch (#36556)
## Description
Added the changes from move to pg script from the postgres branch to
keep in sync.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Enhanced data transformation process for improved compatibility with
Postgres.
	- Introduced mapping for `_class` field to `type` field.

- **Bug Fixes**
- Improved handling of asynchronous operations during MongoDB client
instantiation.

- **Refactor**
- Clarified condition checks in data transformation logic for better
readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11100769096>
> Commit: 46e043c998767acb456920f36459ae6f8968a267
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11100769096&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 30 Sep 2024 07:14:51 UTC
<!-- end of auto-generated comment: Cypress test results  -->


/ok-to-test tags="@tag.Sanity"
2024-10-16 18:15:25 +05:30
Abhijeet
348a58f695
chore: Add polling for embedded pg start to create appsmith DB (#36854)
## Description
PR to add the polling for `pg_isready` signal for embedded postgres DB.
This will fix the infinite loop where postgres refuse to come up. We
have seen this failure earlier with `openshift` setup. Current PR will
make sure when the embedded postgres fails to startup we are not copying
the postgres.conf file as well so supervisor won't have to start the
postgres process at all.

Ref:
https://theappsmith.slack.com/archives/C0341RERY4R/p1728565913269689?thread_ts=1728544650.663739&cid=C0341RERY4R

/test Sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11322083108>
> Commit: df827906858747a0d9d134ae8ed04cc3b901811c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11322083108&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 14 Oct 2024 08:17:55 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced database initialization process with a maximum attempts
mechanism for waiting on PostgreSQL to start.
- Improved configuration handling for `APPSMITH_DB_URL` based on
database type.

- **Bug Fixes**
- Ensured robust error handling if PostgreSQL fails to start within the
specified attempts.

- **Documentation**
	- Added comments for improved clarity in the deployment script.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-14 14:09:43 +05:30
Abhijeet
22ccab07d4
chore: Create appsmith postgres DB to be used by internal processes (#36670)
## Description
With the migration to postgres as Appsmith's persistent database we
wanted to have central DB to be consumed by internal services. Currently
all the services try to create the same DB and may end up in a race
condition, so we are moving this task to `entrypoint.sh`.

Steps:
 1. Initialise data directory for pg 
 2. Run the upgrade migration if necessary
 3. Start the pg server 
 4. Create `appsmith` db with postgres user
 5. Stop the pg server

/test Sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11212147481>
> Commit: e3840764acb3088233bf6552d74721abb00518a6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11212147481&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 07 Oct 2024 09:31:39 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
	- Improved database initialization logic for the Appsmith application.
- Automatically creates the Appsmith database if it does not already
exist during startup.

- **Bug Fixes**
- Enhanced robustness of the database setup process with existence
checks before creation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-08 07:53:58 +05:30
Anagh Hegde
d49ec24c08
chore: create pg_trm extension for the GIN index creation (#36722)
## Description
Due to the size limit on the BTree index we are creating GIN index for a
permission group. To support this we need to create a pg_trm extension.


## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11212861701>
> Commit: d62be8f46ad45b1190bf5c014c0a8ea0c50cf284
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11212861701&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 07 Oct 2024 10:46:39 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced database initialization by adding the creation of the
`pg_trgm` extension for PostgreSQL, improving text search capabilities.

- **Bug Fixes**
- Ensured the extension is created only if it does not already exist,
preventing unnecessary errors during setup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-07 16:23:09 +05:30
Diljit
95010fd0f8
fix: remove cache control headers for requests handled with an error in Caddy (#36590) 2024-10-07 13:59:29 +05:30
Abhijeet
24e144ecd8
chore: Add grants for appsmith user for embedded postgres (#36664)
## Description
PR to add the necessary grants to `appsmith` user when user opts for Postgres embedded DB.

fixes https://github.com/appsmithorg/appsmith/issues/36661

## Automation

/test Sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11155064003>
> Commit: 1fb82e52a3f05da1b9bb4082cf871a62d3554d78
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11155064003&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 03 Oct 2024 04:22:54 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced default values for PostgreSQL database connection
parameters.
  - Added a new function to manage user permissions on database schemas.

- **Improvements**
- Enhanced the existing database initialization process to include
permission granting after schema verification.
- Updated documentation within the script for better clarity on new
functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-04 10:17:17 +05:30
Anagh Hegde
bb11bf5fca
chore: create appsmith schema for postgres (#36591)
## Description

The current state is default schema or public schema. This schema is
accessible by default when user connects to the pg database. Hence
create `appsmith` schema for Appsmith server to use. This is to avoid
anyone accidentally modifying the appsmith data.

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/11111681323>
> Commit: 32f91e8d7ce750e4a088996aff4abe6905aa982f
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Mon, 30 Sep 2024 18:08:23 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Introduced a script to initialize the PostgreSQL database schema for
Appsmith.
- Added utilities for managing PostgreSQL database connections,
including availability checks and parameter extraction.
- Enhanced scripts for managing PostgreSQL connections and
initialization.
- Improved environment configuration for PostgreSQL database
connections, including automatic password generation for local setups.
- Updated JDBC URL handling to include schema parameters for PostgreSQL
connections.
	- Added support for proxy configuration in the application setup.

- **Bug Fixes**
- Improved error handling and connection retry mechanisms for PostgreSQL
setup.

- **Documentation**
- Updated comments and logging for better clarity on database
operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2024-09-30 23:42:56 +05:30
Abhijeet
43b675eb6d
chore: Add postgres dependency for server to startup (#36585)
## Description
As in the past we have seen the corruption of postgres DB which is being
used for temporal we want to make sure we have a retry mechanism in
place if:
1. `APPSMITH_DB_URL` is pointing to postgres url
2. Postgres is waiting in recovery mode

As per local testing when the docker container is abruptly shutdown via
`docker rm -f {container_name}` or `docker kill {container_name}` or
even via docker desktop we end up in state where postgres goes into
recovery state.
logs:
```
2024-09-27 08:02:49 backend stdout | SQL State  : 57P03
2024-09-27 08:02:49 backend stdout | Error Code : 0
2024-09-27 08:02:49 backend stdout | Message    : FATAL: the database system is starting up
```
Currently we have implemented polling mechanism, but we will keep
looking for better alternative here if we can opt for.

Note: 
1. With release dump this is taking ~300sec to get out of that state and
start accepting the connections.
2. With the existing implementation without retries server dies down
within 60sec.
```
INFO exited: backend (exit status 1; not expected)
INFO gave up: backend entered FATAL state, too many start retries too quickly
```
Reference doc:
https://www.notion.so/appsmith/Postgres-critical-scenarios-668f49c96aef40308e24c2a8d6b1137c

/test Sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11100944184>
> Commit: 9dbbe4b22ba12aa82c385ad0eef3cc3d4876f217
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11100944184&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 30 Sep 2024 07:26:41 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Introduced new functions for enhanced handling of PostgreSQL database
connections, including availability checks and parameter extraction.
	- Added a new utility script for managing PostgreSQL connections.
- **Bug Fixes**
- Implemented a retry mechanism for PostgreSQL server availability
checks to ensure more reliable connections.
- **Tests**
- Added unit tests to validate the functionality of the PostgreSQL
parameter extraction logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-30 12:57:47 +05:30
Nidhi
ba1cc281e4
chore: Switch rate limit key to client_ip (#36606) 2024-09-30 12:43:20 +05:30
Abhijeet
1210104575
chore: Add mover script for Mongo to postgres migration (#36458)
## Description
PR to add:
1. Mover script : move-to-postgres.sh
2. Baseline data generation: regen-baseline.sh

/test Sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11027514472>
> Commit: c565b7a4d832b0d0e75df2f3122a1c0679235e88
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11027514472&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 25 Sep 2024 06:54:08 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new configuration file for instance management and
permission groups.
	- Added a custom JavaScript library for XML parsing.
- Implemented multiple database and API plugins, enhancing integration
capabilities.
- Established a tenant configuration for managing tenant-specific
settings.
	- Added an anonymous user entity for improved user management.

- **Bug Fixes**
	- Improved data migration script from MongoDB to Postgres.

- **Documentation**
	- Updated scripts for baseline data generation and migration processes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-25 15:22:02 +05:30
Diljit
4743e96846
chore: caddy: enable logging of static file requests (#36500)
## Description
- Enable logs of static file requests in caddy.
- Skip logging for CSS and JS source map files. These files are
inconsequential for page rendering and therefore not worth tracking, as
they only pollute the log files.

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11016033178>
> Commit: 97cfe307355f159a9cb80295fb566c406ffc056a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11016033178&attempt=3"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 25 Sep 2024 05:08:51 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced logging configurations to improve performance by skipping
logs for health check requests and JavaScript map files.

- **Bug Fixes**
- Adjusted existing logging behavior for file handling to ensure more
accurate log processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-25 11:01:18 +05:30
Diljit
eceaa43eba
chore: Add cache control header for static files (#35461)
## Description
Add cache control header to static files in Caddy

Fixes #34643 

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10987267745>
> Commit: 779d12e84054412d436e8a0c0f26878e475d7469
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10987267745&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 23 Sep 2024 04:38:28 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


## Summary by CodeRabbit

- **New Features**
- Enhanced caching strategy for static assets, improving performance and
reducing load times.
- Introduced a `Cache-Control` header for static files to optimize
browser caching.
- Updated caching configuration to allow more frequent updates of
JavaScript and CSS files.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-23 12:45:13 +05:30
Abhijeet
6ca9ef549e
feat: Make images adaptable to support both Postgres and MongoDB uris (#36424)
## Description
PR to make the release tag adaptable to work with both MongoDB and
PostgreSQL uris.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new script to automate the preparation of server
artifacts, improving the build process.
- Added SQL files to the indentation configuration for consistent code
formatting.

- **Improvements**
- Enhanced error handling in the Docker build process to ensure
essential files are present before execution.
- Updated service configuration logic to prevent misconfiguration based
on the environment.
- Added a new job step in the build workflow to prepare server artifacts
after the build process.
- Implemented conditional logic in the run script to dynamically adapt
to different database configurations.

- **Bug Fixes**
- Adjusted the initialization process to focus on MongoDB, improving
reliability in various environments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

/test Sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10940528231>
> Commit: 32731e8a93a25e5c9456eb89daca2d8bf327c012
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10940528231&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 19 Sep 2024 12:21:54 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-09-19 21:45:46 +05:30
Goutham Pratapa
74933fc261
fix: caddy partial metrics (#36376)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced metrics collection for enhanced monitoring and performance
analysis.
- **Bug Fixes**
- Preserved existing functionality related to rate limiting and basic
authentication.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
61808ad230907d204676a7aa83aee9d3b4054376 yet
> <hr>Tue, 17 Sep 2024 13:28:01 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-09-17 18:59:51 +05:30
Goutham Pratapa
9398cf48cb
fix: trim db urls and remove special characters during backup restore (#36201)
fixes: #36176 

<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
dd01ffd08099006721358d47ca3bb9cfbca345bc yet
> <hr>Fri, 13 Sep 2024 10:38:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved handling of database URLs by removing leading and trailing
whitespace, enhancing robustness and preventing potential issues.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-13 16:55:59 +05:30
Goutham Pratapa
eb0311aa8e
update caddy address (#36291)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Updated Caddy web server configuration to allow broader accessibility
to the admin interface.

- **Security Notice**
- The admin interface is now accessible from any IP address, which may
require enhanced security measures to protect against unauthorized
access.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-13 15:30:08 +05:30
Apeksha Bhosale
1760132c28
chore: JFR 24 hour script with logs file (#36041)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10807975642>
> Commit: 660a59d4d52c8bf00e6126e2eb147465626a1989
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10807975642&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 11 Sep 2024 08:50:21 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Introduced a new automated script for recording Java Flight Recorder
(JFR) data over a 24-hour period, enhancing monitoring capabilities for
Java applications.
- The script captures thread profiles at hourly intervals, streamlining
performance data collection without manual intervention.
- Added a monitoring setup function that conditionally executes the JFR
recording script based on environment configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Goutham Pratapa <goutham@appsmith.com>
2024-09-13 12:46:54 +05:30
Zachary Zondlo
db3f35691d
Add a diagnostic script to assist in the debugging of issues with appsmith implementation (#35640)
## Description
A script to gather logs and system info into a tarball which can be
extracted and analyzed by appsmith engineers.


Fixes #35639 #32971

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
4f8e27cd8bcef9233786f268f95e0b3e981c13d6 yet
> <hr>Tue, 27 Aug 2024 14:01:33 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Introduced a new diagnostic tool to gather system and application
metrics for improved troubleshooting and performance monitoring in the
Appsmith environment.
- The tool collects logs, configuration files, JVM properties, and
system-level information, compressing the data for easier transport.

- **Chores**
- Added a script for efficient collection and organization of diagnostic
data, enhancing operational capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-29 14:06:30 +05:30
Apeksha Bhosale
5268164776
chore: preStop scripts (#35785)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10484233107>
> Commit: c23bd2ad01d0a8ce214762ddea7ed71e6d4a758e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10484233107&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 21 Aug 2024 06:05:39 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced scripts for capturing heap and thread dumps in Docker
environments to enhance troubleshooting capabilities for Java
applications.
- **Improvements**
- Updated thread dump scripts to allow users to specify dump locations,
improving flexibility for diagnostic data management.
- Enhanced file path organization for generated profile files, making
retrieval easier.
- **Chores**
- Implemented error handling and directory creation for storing dumps to
ensure robust operation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-21 11:43:40 +05:30
Nidhi
deaf9f9bea
chore: Added multiple scripts to trigger profiles (#35546) 2024-08-12 19:29:47 +05:30
Hetu Nandu
1ca6ab83f7
chore: Override fast-xml-parser for security concern (#35435) 2024-08-06 20:06:11 +05:30
Goutham Pratapa
f19ec6a183
fix: failing backup and restore appsmithctl (#35162)
Fixes: #34996
2024-08-06 19:34:59 +05:30
srix
293bd34266
fix: cleanup stale postgres postmaster.pid (#35171)
## Description
issue of Postgres not coming up with error` Previous Postgres was not
shutdown cleanly. Please start and stop Postgres 14 properly with
'supervisorctl' only. `


https://www.notion.so/appsmith/Closed-Beta-Customer-issues-45a274a9eb8e4762a72cbff74cd3bad5?pvs=4#ecca04d205414f25a289884cebdc0f9b


Fixes
https://app.zenhub.com/workspaces/workflows-pod-652fff131a95920b9bf2bc7e/issues/zh/226_

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10107093349>
> Commit: 357bf5d2ff0c1f65b4cbf46b0f3ee823ac192614
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10107093349&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 26 Jul 2024 07:15:19 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Enhanced PostgreSQL upgrade process with improved error handling and
robust management of old server instances.

- **Bug Fixes**
- Reinstituted logic for checking and managing the `postmaster.pid`
file, ensuring proper startup and shutdown of old PostgreSQL servers.

- **Refactor**
- Improved formatting and readability of shell scripts without altering
their functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-26 12:52:49 +05:30
Shrikant Sharat Kandula
26c0f07e14
chore: Add script to upgrade Postgres 13 data to 14 (#34317)
We're upgrading embedded Postgres from 13 to 14, and this PR includes a
script to perform the upgrade of the data folder from v13 schema to v14
schema. This script temporarily installs Postgres 13, if not available,
for the upgrade process, so will continue to work when and if we choose
to remove `postgresql-13` from the base image.

Tested this manually as well, running an Appsmith with Postgres 13,
executing some workflows via webhook, getting some run data generated,
then upgrading Postgres with the script in this PR, and ensuring that
the workflow run history is still there and visible on the UI exactly
the same. It is.

No conflicts or additional changes needed on EE. [All server and Cypress
tests pass on EE](https://github.com/appsmithorg/appsmith-ee/pull/4493).


![shot-2024-06-20-02-13-26](https://github.com/appsmithorg/appsmith/assets/120119/9bb60e3a-6cc9-4df9-9064-caead78729a6)


**/test sanity**



<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9590240540>
> Commit: 9c75da53f871ffb912015c18a7504327cba88f2c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9590240540&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->





<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added automation script for upgrading PostgreSQL to the latest
version.
- Introduced testing script for PostgreSQL upgrades in Docker
environments.

- **Improvements**
- Upgraded PostgreSQL from version 13 to 14 in Docker setup, ensuring
compatibility and performance enhancements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-21 19:34:08 +05:30