Commit Graph

329 Commits

Author SHA1 Message Date
Sriram Veeraghanta
eebd2b9404 fix: merge conflicts 2025-08-19 00:35:12 +05:30
Aaron Heckmann
d8f58d28ed fix: CI to include lint and format along with build (#7482)
* fix(lint): get ci passing again

* chore(ci): run lint before build

* chore(ci): exclude web app from build check for now

The web app takes too long and causes CI to timeout. Once we
improve we will reintroduce.

* fix: formating of files

* fix: adding format to ci

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
2025-08-18 21:27:16 +05:30
Aaryan Khandelwal
8933e5c676 fix: merge conflicts resolved from preview 2025-07-25 14:09:08 +05:30
Aaron Heckmann
e20bfa55d6 chore: add ci job names (#7478)
* chore: add ci job names

This makes them easier to find in the Github UI.

* chore: increase ci timeout
2025-07-25 13:41:03 +05:30
sriram veeraghanta
f119005ab7 fix: merge conflicts 2025-07-25 02:06:13 +05:30
Aaron Heckmann
57479f4554 fix: lint (#7433)
* chore: fix lint

* fix: constants check:lint command

* chore(lint): permit unused vars which begin w/ _

* chore: rm dead code

* fix(lint): more lint fixes to constants pkg

* fix(lint): lint the live server

- fix lint issues

* chore: improve clean script

* fix(lint): more lint

* chore: set live server process title

* chore(deps): update to turbo@2.5.5

* chore(live): target node22

* fix(dev): add missing ui pkg dependency

* fix(dev): lint decorators

* fix(dev): lint space app

* fix(dev): address lint issues in types pkg

* fix(dev): lint editor pkg

* chore(dev): moar lint

* fix(dev): live server exit code

* chore: address PR feedback

* fix(lint): better TPageExtended type

* chore: refactor

* chore: revert most live server changes

* fix: few more lint issues

* chore: enable ci checks

Ensure we can build + confirm that lint is not getting worse.

* chore: address PR feedback

* fix: web lint warning added to package.json

* fix: ci:lint command

---------

Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
2025-07-25 01:44:51 +05:30
sriramveeraghanta
d97dc01f51 fix: merge conflicts 2025-07-14 14:42:42 +05:30
Manish Gupta
6d01622663 [INFRA-208] Reorganize deployment structure and update build workflows (#7391)
* refactor: reorganize deployment structure and update build workflows

- Restructure deployment directories from deploy/ to deployments/
- Move selfhost files to deployments/cli/community/
- Add new AIO community deployment setup
- Update GitHub Actions workflows for new directory structure
- Add Caddy proxy configuration for CE deployment
- Remove deprecated AIO build files and workflows
- Update build context paths in install scripts

* chore: update Dockerfile and supervisor configuration

- Changed `apk add` command in Dockerfile to use `--no-cache` for better image size management.
- Updated `build.sh` to ensure proper directory navigation with quotes around `dirname "$0"`.
- Modified `supervisor.conf` to set `stderr_logfile_maxbytes` to 50MB and added `stderr_logfile_backups` for better log management across multiple services.

* chore: consistent node and python version

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
2025-07-14 14:38:43 +05:30
Manish Gupta
7e96f88e9d [INFRA-204] Deployment folder reorganization, Commercial AIO Build (#3593)
* Enhance CI workflows: Add AIO build support and manifest management

- Introduced `mark_manifest_latest` input to control manifest versioning in `appliance-docker-ee.yml`.
- Updated paths in `appliance-docker-ee.yml` for consistency with new directory structure.
- Removed obsolete `build-aio-branch-ee.yml` workflow.
- Added `aio_build` input to `build-branch-ee.yml` for AIO image builds.
- Updated various build jobs to utilize new AIO build logic and dependencies.
- Refactored paths in `build-branch-ee.yml` for improved clarity and organization.
- Updated Dockerfile for proxy to use specific versions of dependencies.

* fix: update build script invocation in CI workflow

- Changed the invocation of the build script in `build-branch-ee.yml` to use `bash` for improved compatibility.

* fix: update artifact upload condition and correct file path in build script

- Modified the condition for uploading artifacts to S3 in `build-branch-ee.yml` to include airgapped builds.
- Corrected the file path for the Caddyfile in `build.sh` to reflect the new directory structure.

* refactor: enhance artifact uploads and remove deprecated scripts

- Added multiple artifact uploads in `build-branch-ee.yml` for `docker-compose.yml`, `coolify-compose.yml`, `portainer-compose.yml`, `swarm-compose.yml`, and `variables.env`.
- Deleted obsolete scripts and configuration files related to airgapped deployment, including `build.sh`, `install.sh`, and various YAML files in the `cli-install` and `airgapped` directories.
- Updated CI workflow to streamline artifact management and improve deployment processes.

* refactor: remove deprecated artifact upload for swarm-compose.yml in CI workflow

- Eliminated the upload step for `swarm-compose.yml` in `build-branch-ee.yml` to streamline artifact management and reduce redundancy.

* fix: consistent node version across all docker files

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
2025-07-14 14:35:22 +05:30
sriramveeraghanta
fb4b594d4f fix: branch build api context 2025-07-04 16:27:54 +05:30
sriramveeraghanta
1843ece4fe chore: remove create release workflow 2025-07-04 15:42:48 +05:30
sriramveeraghanta
46a46b7ef6 fix: merge conflicts 2025-07-04 15:37:59 +05:30
sriram veeraghanta
fdbe4c2ca6 chore: rename server to api (#7342) 2025-07-04 15:32:21 +05:30
sriramveeraghanta
3429dc0ae8 fix: merge conflicts 2025-07-03 19:15:46 +05:30
Nikhil
805cfed1a3 refactor: update paths and structure for server services in Docker and documentation (#7333)
- Changed references from 'apiserver' to 'apps/server' in Docker configurations and environment setup.
- Updated contributing documentation to reflect the new service structure.
- Adjusted setup script to accommodate the new directory layout.
- Removed obsolete files related to the previous structure.
2025-07-03 18:42:14 +05:30
sriram veeraghanta
6e8fd3a283 fix: admin docker file path in branch build cloud 2025-07-03 03:43:27 +05:30
sriram veeraghanta
6323a82290 fix: upload s3 bucket step in branch build ee 2025-07-03 03:40:31 +05:30
sriram veeraghanta
844ebb2922 fix: build branch ee and cloud workflows 2025-07-03 03:33:49 +05:30
sriram veeraghanta
e79145aa4b fix: merge conflicts 2025-07-03 02:45:47 +05:30
sriram veeraghanta
7d417c5457 fix: update docker file paths and context in branch build workflow #7323 2025-07-03 01:26:40 +05:30
Manish Gupta
b21fd75bf2 [INFRA-198]: AMI Fixes for marketplace publishing (#3554)
* refactor: update AMI and CloudFormation template handling in CI workflow

- Removed previous manifest file references and associated cleanup steps from the CI workflow.
- Updated S3 paths for storing the latest and versioned AMI manifests.
- Introduced a new step to store the CloudFormation template in S3 with updated paths.
- Enhanced the CloudFormation template to include a parameter for AMI ID, replacing the previous region-based mapping.
- Improved AMI naming convention in Packer configuration to include a timestamp.

* chore: enhance cleanup commands in Packer configuration for AMI builds

- Added removal of authorized_keys for the root user to improve security during AMI creation.
- Included command to clear command history to further secure the AMI environment.

* chore: improve cleanup commands in Packer configuration for AMI builds

- Replaced command to clear command history with specific removal of .bash_history files for both ubuntu and root users.
- Enhanced security measures during AMI creation by ensuring sensitive history data is removed.

* chore: refine cleanup commands in Packer configuration for AMI builds

- Updated command to remove command history files for both ubuntu and root users to a more general pattern, enhancing security during AMI creation.

* feat: add SSH and Application Security Group CIDR parameters to CloudFormation template

- Introduced new parameters for SSH and Application Security Group CIDR configurations, allowing for more granular control over access.
- Updated metadata and validation assertions to ensure these parameters are required when creating new infrastructure.
- Modified security group rules to reference the new CIDR parameters for SSH, HTTP, and HTTPS access.

* fix: update PublicSubnetCidr default value in CloudFormation template

- Changed the default value of PublicSubnetCidr from "10.50.1.0/16" to "10.50.1.0/24" to better align with subnetting requirements for new infrastructure.

* chore: update default values for SSH and Application Security Group CIDR parameters in CloudFormation template

- Changed the default values for SshSecurityGroupCidr and ApplicationSecurityGroupCidr from "0.0.0.0/0" to an empty string to enforce explicit configuration of access controls.
2025-07-02 15:26:56 +05:30
Akshat Jain
81789327f5 [INFRA-180] feat: Add Podman Quadlets Deployment Method (#3303)
* feat: add podman quadlets deployment method

- Added steps to process podman quadlets, including creating necessary directories and files.
- Implemented logic to split podman-quadlets.ini into separate files.
- Created a tarball of the podman quadlets for artifact upload.
- Updated the workflow to download the podman quadlets tarball during the build process.

* fix: update environment variable handling in build workflow

- Changed logic to always upload artifacts to S3.
- Enhanced the processing of quadlets.env to replace or append variables in plane.env.
- Updated specific URLs in plane.env for various services to point to the correct endpoints.

* fix: improve environment variable update logic in build workflow

- Enhanced the handling of environment variables in plane.env by differentiating between macOS and other operating systems for the sed command.
- Ensured that variables are correctly replaced or appended based on the operating system type.

* fix: update artifact upload logic in build workflow

- Changed the condition for uploading artifacts to S3, setting it to false in specific scenarios.
- Adjusted the handling of the artifact S3 suffix based on the new logic.

* fix: correct artifact upload and environment variable handling in build workflow

- Updated the artifact upload logic to always set the upload flag to true.
- Improved the handling of new lines in the environment variable file, ensuring proper formatting when appending lines.

* fix: refine environment variable handling in build workflow

- Simplified the appending of new lines in plane.env by removing unnecessary echo commands.
- Updated the conditional check for macOS in the sed command to use double brackets for consistency.

* fix: streamline environment variable processing in build workflow

- Combined conditional checks for comments and empty lines in plane.env to simplify logic.
- Reduced the number of echo commands for improved efficiency in appending lines.

* fix: enhance environment variable processing in build workflow

- Streamlined the logic for processing environment variables in plane.env by consolidating conditional checks for comments and empty lines.
- Improved code readability and efficiency by reducing redundant echo commands.

* fix: simplify environment variable processing in build workflow

- Consolidated the logic for processing non-comment, non-empty lines in plane.env to enhance readability.
- Removed redundant conditional checks to streamline the appending of key-value pairs.

* fix: enhance environment variable processing in build workflow

- Improved the logic for skipping comments and empty lines in plane.env for better clarity.
- Consolidated the handling of key-value pairs to streamline the appending and updating process, particularly for macOS compatibility.

* fix: clean up environment variable file by removing unnecessary comments

- Removed the comment line in quadlets.env for improved clarity and conciseness.
- Ensured the environment variable definitions remain intact for proper application configuration.

* fix: refine environment variable processing in build workflow

- Enhanced the handling of comment lines in plane.env by copying them as is and ensuring proper formatting.
- Improved the logic for processing empty lines to maintain clarity and efficiency in the environment variable file.

* fix: improve environment variable processing in build workflow

- Added initial content creation for plane.env to ensure a clean start.
- Enhanced the handling of comment lines and empty lines for better formatting and readability.
- Streamlined the appending of key-value pairs to maintain consistency across different operating systems.

* fix: enhance environment variable processing in build workflow

- Updated the conditional checks for comment lines and empty lines to improve clarity and consistency.
- Replaced the use of double brackets with single brackets for empty line checks to align with standard practices.

* fix: enhance environment variable handling in build workflow

- Added a newline before appending key-value pairs in plane.env to ensure proper formatting.
- Updated quadlets.env to include a comment for clarity on overriding existing environment variables.

* fix: improve environment variable handling in build workflow

- Streamlined the appending of comment lines in plane.env by using echo instead of printf for consistency.
- Removed unnecessary newlines when processing empty lines to enhance clarity and maintain formatting.

* fix: improve newline handling in environment variable processing

- Added newlines after comment lines in plane.env to enhance readability and maintain consistent formatting.
- Ensured that the initial content creation for plane.env includes an empty line for better structure.

* fix: improve newline handling in environment variable processing

- Added an additional newline after comment lines in plane.env to further enhance readability and maintain consistent formatting.

* fix: update environment variable handling in build workflow

- Removed unnecessary newline handling in plane.env to streamline the processing of comment lines.
- Commented out URL replacements in plane.env for future implementation when correct URLs are available.
- Added DB_URL and DATABASE_URL to quadlets.env for improved database connectivity.

* fix: update environment variable handling in install scripts

- Removed commented-out URL replacements in build workflow for clarity.
- Added WEB_URL and CORS_ALLOWED_ORIGINS variables to install script for improved configuration flexibility.

* fix: add SITE_ADDRESS variable to quadlets.env for improved configuration

- Introduced SITE_ADDRESS variable to quadlets.env to specify the site address for the application.

* fix: add install script for podman-quadlets to build workflow

- Included the install.sh script for podman-quadlets in the build process to enhance deployment capabilities.
- Updated the copying of configuration files to ensure all necessary components are included in the artifact.

* fix: update install script to use tar for extracting archives

- Replaced the unzip command with tar for extracting the archive in the install.sh script to improve compatibility and streamline the installation process.

* fix: add directory creation function to install script

- Introduced a new function to create required directories in the install.sh script, enhancing the setup process for podman-quadlets.
- Updated the file handling logic to ensure necessary directories are created in both ROOT_PLANE_DIR and target_dir, improving deployment reliability.

* fix: update artifact upload logic in build workflow

- Changed the condition for setting the artifact_upload_to_s3 variable to false when the target branch is not met, improving clarity in the workflow's artifact handling.

* fix: update artifact upload logic in build workflow

- Changed the condition for setting the artifact_upload_to_s3 variable to false when the target branch is not met, improving clarity in the workflow's artifact handling.

* fix: update directory structure in build workflow

- Changed the directory path for systemd configuration files from 'dist/etc/containers/systemd' to 'dist/config/containers/systemd' to better reflect the organization of configuration files in the build process.
- Updated the file handling logic to ensure proper placement of generated files in the new directory structure.

* fix: update APP_VERSION handling in build workflow

- Added logic to replace APP_VERSION with ARTIFACT_SUFFIX in quadlets.env during the build process, improving configuration management.

* fix: update artifact download path in build workflow

- Changed the download path for podman-quadlets artifact to the directory level, ensuring all related files are correctly placed during the build process.

* fix: rename install script and update build workflow references

- Renamed the install script for podman-quadlets from 'install.sh' to 'podman-quadlets-install.sh' to better reflect its purpose.
- Updated references in the build workflow to point to the new script name, ensuring consistency in the deployment process.

* refactor: update podman-quadlets configuration and build workflow

- Renamed network from 'plane_nw' to 'plane-nw' in podman-quadlet-compose.yaml and podman-quadlets.ini for consistency.
- Removed the podman-quadlets-install.sh script as it is no longer needed, streamlining the installation process.
- Adjusted paths in the build workflow to reflect the new directory structure and ensure proper file handling during the build process.

* fix: update artifact suffix handling in build workflow

- Changed the logic for setting the artifact_s3_suffix variable to use the branch name (BR_NAME) instead of the target branch, ensuring accurate suffix assignment for artifact uploads.

* fix: correct file copy path in build workflow

- Updated the file copy command in the build workflow to reference the install.sh script from the current directory instead of the parent directory, ensuring accurate file placement during the build process.

* fix: update port mappings in podman-quadlet configuration

- Changed the published ports in podman-quadlet-compose.yaml and podman-quadlets.ini from 80:80 and 443:443 to 8080:80 and 8443:443, respectively, to avoid conflicts and improve accessibility.

* fix: standardize network naming in podman-quadlet configuration

- Updated network names in podman-quadlet-compose.yaml from 'systemd-plane_nw' to 'systemd-plane-nw' for consistency across the configuration.

* fix: update web interface access URL in installation summary

- Changed the URL in the installation summary to include the correct port (8080) for accessing the Plane web interface, ensuring users navigate to the correct address.

* fix: update podman-quadlets configuration and build workflow

- Refactored the build workflow to create a new directory structure for podman quadlets, replacing 'dist' with 'plane-podman'.
- Updated the installation script and environment variable handling to use ${APP_RELEASE_VERSION} for image tags in podman-quadlet configuration files.
- Adjusted file copy commands and paths to ensure correct placement and processing of configuration files during the build.

* fix: enhance build workflow with file existence checks and tar creation validation

- Added checks to verify the existence of Caddyfile and podman-quadlets.ini before proceeding with file operations, ensuring necessary files are present.
- Updated the tar creation command to maintain the correct directory structure and included a validation step to confirm successful creation of the tar file.

* fix: update installation instructions and add help option to script

- Modified the installation summary to include the correct command for reloading the systemd user daemon.
- Added a help option to the main function of the installation script to provide usage information to users.

* changed `APP_VERSION` in quadlets.env

* refactor: update docker-compose configurations and image tags

- Restored and configured services (web, space, admin, live) in docker-compose-local.yml for local development.
- Updated image tags in podman-quadlet-compose.yaml to version v1.12.0 for all services, ensuring consistency across deployments.

* chore: comment out unused services in docker-compose-local.yml

- Commented out the configurations for web, space, admin, and live services in docker-compose-local.yml to streamline the file for local development.

* chore: update build workflow to handle airgapped builds and package podman quadlets to airgapped build

* feat: add API_HOSTNAME to quadlets.env for improved service configuration

---------

Co-authored-by: Manish Gupta <manish@plane.so>
2025-07-01 18:07:21 +05:30
Thomas Taylor
8c3bf51cf9 [INFRA-171] feat: sign airgapped builds with gpg keys (#3321)
* feat: sign airgapped builds with gpg keys

* fix: nit

* fix: correcting an error where we werent importing a key

* fix: gpg signing

* fix: specifying key id

* chore: echo local pub key

* fix: moving pubkey to vars, remove quoting of pubkey

* fix: use passphrase file

* fix: missing workspace

* chore: add debug

* fix: cleanup SHA mechanics and uploads a little

* chore: remove debug

* feat: enhance GPG key management by retrieving secrets from AWS Secrets Manager and formatting the private key for use

* chore: remove sensitive debug output from GPG key management workflow

* fix: change README, export pub from prv

* chore: remove comments

* chore: lint

* fix: copying artifacts to release

* fix: missing tar gz file

* fix: uploading all artifacts

* fix: testing out artifact->release

* fix: artifacts retrieval

* fix: missing artifacts

* fix: couple last artifacts...

* fix: changing asset releases, add assets regardless

* fix: moving outputs to env

* fix: test file existence instead

* chore: typo

* refactor: streamline artifact downloads and uploads for airgapped builds

* feat: add S3 artifact upload step and enhance release process for airgapped builds

* feat: add airgapped install script to artifact uploads

---------

Co-authored-by: Manish Gupta <manish@plane.so>
2025-06-23 13:49:16 +05:30
Manish Gupta
b42652e49b [INFRA-175] chore: aws ami (#3285)
* feat: Plane Commercial AMI Publish Action

* feat: update CloudFormation template and workflow for AMI publishing

- Added new environment variables for CloudFormation template and output file in the GitHub Actions workflow.
- Refactored the CloudFormation template to set default CIDR values and simplified region restrictions.
- Updated the Packer configuration to use instance type directly instead of spot instance types.

* feat: add new infrastructure parameters for VPC and public subnet CIDR blocks in CloudFormation template

* chore: update AMI publish region default value and clean up CloudFormation template by removing outdated parameters and logic

* chore: update AWS VPC and subnet CIDR defaults, modify instance type, and adjust AMI volume size in Packer configuration

* Enhance CloudFormation template and related scripts to support Instance Domain Name configuration. Added parameters for InstanceDomainName, updated metadata, and modified user data scripts to export the domain name. Updated verify-plane-setup script to utilize the domain name for access instructions.

* Update appliance-docker-ee.yml to change default AMI publish region to 'us-east-1' and update AWS manifest bucket to 'plane-terraform-marketplace'

* Add JSON validation for AMI cleanup in appliance-docker-ee.yml
2025-06-13 14:28:38 +05:30
pablohashescobar
4b546ed1a4 Merge branch 'canary' of github.com:makeplane/plane-ee into sync-canary 2025-06-09 21:30:38 +05:30
sriram veeraghanta
27db598955 Sync: Community Changes #3336 2025-06-05 20:41:03 +05:30
Manish Gupta
9f37f1ef0e [INFRA-183] feat: add restore-airgapped script to build workflow (#7170)
* [WEB-4260] chore: add restore-airgapped script to build workflow

* docs: update restore instructions in README for self-hosted and commercial air-gapped versions

* fix: update restore script filename and improve error handling in restore-airgapped script
2025-06-05 17:27:57 +05:30
Nikhil
72ca7c77b3 [INFRA-144] airgap implementation (#3271)
* feat: airgapped draft

* feat: enhance airgapped installation script and build process

- Added installation checks for Docker and Docker Compose versions.
- Implemented yq for dynamic updates to docker-compose.yml, including setting environment variables and handling service volumes.
- Improved build.sh to install yq if not present and manage Docker images for airgapped setups.
- Updated install.sh to streamline the installation process and ensure necessary files are in place before proceeding.

* feat: enhance airgapped install script with domain input and OS compatibility

- Added prompts for user input of installation directory and application domain/IP address.
- Implemented OS-specific handling for `sed` commands to ensure compatibility across macOS and Linux.
- Improved user experience with additional confirmation messages during installation.

* feat: update installation script and versioning for airgapped deployment

- Enhanced the installation script to prompt for confirmation when the setup directory is not empty, allowing users to proceed with caution.
- Updated application version to v1.9.2 in both the docker-compose configuration and environment variables for consistency.
- Improved final confirmation message for clarity during installation.

* chore: airgapped upload license endpoint

* feat: added endpoint for uploading file in airgapped mode

* chore: file upload to handle formdata

* feat: license activation using file upload

* feat: add GitHub Actions workflow for building airgapped images

- Introduced a new workflow to build airgapped images with customizable platform options.
- Implemented steps for dependency installation, Docker setup, AWS credentials configuration, and environment preparation.
- Enhanced docker-compose.yml processing to include airgapped-specific configurations and manage service volumes.
- Added functionality to pull and save Docker images, and create a distribution tarball for S3 upload.

* feat: enhance build script for airgapped deployment

- Added support for customizable build platform and application release version through command-line flags.
- Implemented usage instructions for the build script to guide users on required and optional parameters.
- Improved handling of environment variable updates in docker-compose.yml and plane.env for different operating systems.
- Included cleanup steps to remove temporary data and logs after the build process.

* checking build

* refactor: simplify Docker setup in GitHub Actions workflow

- Removed redundant volume configuration for buildx cache in the build-branch-ee.yml workflow.

* feat: enhance build process by installing yq if missing

- Added a check in the GitHub Actions workflow to install yq if it is not already present, ensuring the build script can dynamically update docker-compose.yml.
- Removed redundant directory creation in the build script, streamlining the volume mapping process.
- Adjusted sed command handling for macOS and Linux to improve compatibility.

* feat: update airgapped artifact packaging in GitHub Actions workflow

- Modified the condition for packaging airgapped artifacts to include 'Release' build type.
- Streamlined the setup of yq by using an action instead of manual installation.
- Enhanced the build script to dynamically set the release version based on the build type, improving flexibility for different deployment scenarios.
- Updated S3 upload path to include the artifact suffix for better organization.

* feat: add AWS credentials to GitHub Actions workflow

- Introduced environment variables for AWS access key and secret key in the build-branch-ee.yml workflow, enabling secure access to AWS resources during the build process.

* fix: correct syntax for environment variable assignment in GitHub Actions workflow

- Updated the assignment of environment variables in the build-branch-ee.yml workflow to use the correct syntax for string interpolation.
- Ensured consistency in setting the AIRGAPPED_RELEASE_VERSION based on the build type condition.

* feat: add AWS CLI installation step to GitHub Actions workflow

- Introduced a step to install the AWS CLI in the build-branch-ee.yml workflow, ensuring necessary tools are available for AWS interactions.
- Updated environment variable assignments for consistency and clarity in the packaging process of airgapped artifacts.

* fix: streamline S3 upload command in GitHub Actions workflow

- Simplified the S3 upload command in the build-branch-ee.yml workflow by removing unnecessary directory navigation, directly referencing the airgapped tarball for upload.
- Improved clarity and efficiency in the artifact deployment process.

* chore: comment out S3 upload command in GitHub Actions workflow

- Commented out the S3 upload command in the build-branch-ee.yml workflow to prevent execution during the build process.
- This change allows for easier testing and debugging of the artifact packaging without uploading to S3.

* fix: correct syntax in GitHub Actions workflow for airgapped release version

- Fixed the conditional syntax in the build-branch-ee.yml workflow to properly close the if statement.
- Ensured the S3 upload command is correctly referenced, maintaining clarity in the artifact deployment process.

* fix: install yq if not present in GitHub Actions workflow

- Added a conditional check to install yq in the build-branch-ee.yml workflow if it is not already installed, ensuring the build process can proceed without errors related to missing dependencies.
- This change enhances the reliability of the workflow by automating the installation of necessary tools.

* fix: optimize Docker cleanup and S3 upload command in GitHub Actions workflow

- Added Docker cleanup commands to remove unused images and prune the system, improving resource management during the build process.
- Streamlined the S3 upload command to directly pipe the tarball, enhancing efficiency in artifact deployment.

* fix: improve confirmation prompt in installation script

- Added README.md contents
- Updated the confirmation prompt in install.sh for clarity, changing "YES" to "Yes" to enhance user understanding during the installation process.

* fix: update runner configuration for airgapped artifacts packaging in GitHub Actions workflow

- Changed the runner from 'ubuntu-22.04' to 'ubuntu-22.04-4-cores' to optimize resource allocation during the packaging process of airgapped artifacts.
- This adjustment aims to enhance performance and efficiency in the build workflow.

* fix: update runner configuration for airgapped artifacts packaging in GitHub Actions workflow

- Changed the runner from 'ubuntu-22.04-4-cores' to 'ubuntu-latest-4-cores' to ensure the use of the latest stable environment for improved compatibility and performance during the packaging process of airgapped artifacts.

* fix: update runner configuration for airgapped artifacts packaging in GitHub Actions workflow

- Changed the runner from 'ubuntu-latest-4-cores' back to 'ubuntu-22.04' to align with the previous configuration, ensuring compatibility and stability during the packaging process of airgapped artifacts.

* fix: simplify yq installation in GitHub Actions workflow

- Removed the conditional check for yq installation in the build-branch-ee.yml workflow, ensuring yq is always installed during the setup process. This change enhances the reliability of the workflow by eliminating potential errors related to missing dependencies.

* refactor: reorganize build steps in GitHub Actions workflow

- Restored and structured the build-push steps for various Docker images (admin, web, space, live, silo, apiserver, proxy, monitor, email) in the build-branch-ee.yml workflow.
- Updated the dependencies for the packaging of airgapped artifacts to ensure all build steps are executed in the correct order.
- Enhanced clarity and maintainability of the workflow by explicitly defining each build-push job.

* fix: comment out hardcoded airgapped release version in GitHub Actions workflow

- Commented out the hardcoded AIRGAPPED_RELEASE_VERSION in the build-branch-ee.yml workflow to allow for dynamic versioning based on the branch name, enhancing flexibility in the build process.

* refactor: update image handling in airgapped build and install scripts

- Modified build.sh to save each Docker image individually to a tar file and remove the image after saving, improving image management.
- Updated install.sh to load multiple tar files instead of a single hardcoded tarball, enhancing flexibility in image loading during setup.

* test build

* enhance: add build summary and usage instructions for airgapped artifacts in GitHub Actions workflow

- Introduced a build summary section in the build-branch-ee.yml workflow to provide details about the airgapped artifacts, including release version and S3 path.
- Added usage instructions for downloading and installing the airgapped artifacts, improving user guidance and accessibility.

* chore: remove deprecated build-airgapped workflow

- Deleted the build-airgapped.yml workflow file as it is no longer needed.
- Updated build-branch-ee.yml to streamline the packaging process for airgapped artifacts and improve S3 upload commands.

* fix: update file handling for license activation to support JSON format

- Changed file validation to accept only .json files in the frontend and backend.
- Updated the API to read and forward the activation file correctly.
- Enhanced error handling for unsupported file types and server responses.

* enhance: improve build summary and usage instructions in GitHub Actions workflow

- Added Git commit hash and branch information to the build summary in build-branch-ee.yml for better traceability.
- Updated usage instructions formatting to enhance clarity and user experience when downloading and installing airgapped artifacts.

* enhance: add presigned URL generation for airgapped artifacts in GitHub Actions workflow

- Implemented the creation of a presigned URL for airgapped artifacts, allowing for secure access for 30 days.
- Updated the build summary to include the presigned URL, improving user guidance for downloading artifacts.

* style: improve formatting of usage instructions in GitHub Actions workflow

- Updated the usage instructions in build-branch-ee.yml to use inline code formatting for better readability and clarity.
- Enhanced user guidance for downloading and installing airgapped artifacts.

* refactor: enhance build summary and usage instructions in GitHub Actions workflow

- Improved the formatting of the build summary in build-branch-ee.yml for better readability.
- Updated usage instructions to include code blocks, enhancing clarity for users downloading and installing airgapped artifacts.

* fix: time format issue with RFC, added custom marshaller

* feat: integrate crane for optimized image handling in airgapped build process

- Added installation of crane in the GitHub Actions workflow to enhance image pulling and saving efficiency.
- Updated build.sh to utilize crane for pulling images when available, providing a fallback to Docker if not.
- Improved user feedback during image handling, ensuring clarity on the process and success of operations.

* fix: update crane installation method in GitHub Actions workflow

- Changed the crane installation command to download the tarball to a file before extraction, improving reliability and error handling during the installation process.

* fix: streamline crane installation in GitHub Actions workflow

- Updated the crane installation command to directly pipe the download into extraction, simplifying the process and reducing the need for intermediate files.

* feat: add airgapped mode support for license file handling

- Introduced a new setting to enable airgapped mode.
- Added LicenseFileFetchEndpoint to fetch license files for workspaces in airgapped mode.
- Enhanced LicenseDeActivateEndpoint to delete license files when in airgapped mode.
- Updated LicenseActivateUploadEndpoint to restrict access based on airgapped mode.
- Implemented S3Storage method for deleting files from S3.

* fix: update environment variable formatting in GitHub Actions workflow

- Changed the format of environment variable assignments in build-branch-ee.yml to use `key=value` syntax, improving clarity and consistency in the workflow.

* fix: update airgapped artifact packaging in GitHub Actions workflow

- Refactored the packaging step in build-branch-ee.yml to utilize environment variables for better clarity and maintainability.
- Enhanced the presigned URL generation to extend the expiry to 90 days, improving access security for airgapped artifacts.

* fix: refine AIRGAPPED_RELEASE_VERSION handling in GitHub Actions workflow

- Updated the assignment of AIRGAPPED_RELEASE_VERSION to improve clarity and consistency in the build process.
- Enhanced the build summary to reflect the changes in variable usage, ensuring accurate information is presented to users.
- Streamlined the presigned URL handling for better integration within the workflow.

* fix: update airgapped artifact workflow with environment variable enhancements

- Refactored the build process in build-branch-ee.yml to utilize environment variables for AIRGAPPED_RELEASE_VERSION, S3_PATH, COMMIT_HASH, and PRESIGNED_URL, improving clarity and maintainability.
- Enhanced the build summary to reflect the updated variable usage, ensuring accurate information is presented to users.
- Streamlined the presigned URL handling and extended its expiry to 90 days for improved access security.

* improvement: upload license file form UI

* fix: enhance airgapped build summary in GitHub Actions workflow

- Updated the build summary in build-branch-ee.yml to include a temporary file for the presigned URL, improving security and clarity.
- Added the Git commit hash to the summary for better traceability of builds.
- Streamlined the summary formatting for improved readability and user guidance.

* fix: update airgapped artifact workflow to include presigned URL upload

- Commented out the previous artifact packaging steps for airgapped builds to streamline the process.
- Added functionality to create a temporary file for the presigned URL and upload it as an artifact, enhancing accessibility and security.
- Improved clarity in the workflow by ensuring the presigned URL is logged and stored appropriately.

* fix: reduce presigned URL expiry in airgapped artifact workflow

- Updated the PRESIGNED_URL_EXPIRY from 90 days to 7 days to enhance security and limit access duration.
- Commented out the previous expiry setting for clarity and future reference.

* fix: enhance airgapped artifact workflow with S3 region support

- Added S3_REGION environment variable to specify the AWS region for presigned URL generation, improving flexibility and accuracy in artifact handling.
- Updated the presigned URL command to include the region parameter, ensuring correct URL generation for S3 access.
- Modified the build summary to replace the presigned URL placeholder with a generic "<presigned-url>" for clarity in usage instructions.

* fix: streamline airgapped artifact workflow by enabling packaging steps

- Re-enabled the packaging steps for airgapped artifacts in the workflow, ensuring that the build process includes the creation and upload of artifacts to S3.
- Clarified the presigned URL expiry comment to indicate it is set to the maximum allowed by AWS for improved understanding of security settings.

* fix: enhance airgapped artifact workflow with multi-platform support

- Added support for building and uploading airgapped artifacts for both amd64 and arm64 architectures in the GitHub Actions workflow.
- Updated the S3 paths and presigned URL handling to accommodate the new architecture-specific artifacts.
- Improved user guidance in the installation script by providing clearer instructions for starting services and checking logs.

* fix: update airgapped artifact workflow to use consistent build platform flag

- Changed the build platform flag from `--build-platform` to `--platform` in the airgapped artifact workflow for both amd64 and arm64 builds, ensuring consistency across the build commands.

* chore: license activation changes

* feat: added mock implemation of airgapped api

* fix: enhance airgapped artifact workflow with detailed service images

- Added specific Docker image references for various services in the airgapped installation README, improving clarity on required files for offline deployment.
- Updated the workflow to ensure all necessary images are included for a comprehensive airgapped setup.

* fix: cases for workspace replace and seats

* fix: improve airgapped artifact workflow with conditional arm64 build support

- Added conditional logic to build and package arm64 artifacts based on the AIRGAPPED_ARM64_BUILD environment variable, enhancing flexibility in the workflow.
- Updated the presigned URL handling for arm64 artifacts to ensure proper access management.
- Improved the build summary to include arm64 S3 path only when applicable, streamlining output clarity.

* fix: update airgapped README to include email service Docker image

- Added reference to the Docker image for the email service in the airgapped installation README, enhancing clarity on required files for offline deployment.

* fix: add arm64 build support to airgapped artifact workflow

- Introduced ARM64_BUILD environment variable to manage conditional logic for arm64 builds in the workflow.
- Updated the build steps to set ARM64_BUILD based on the target branch, enhancing flexibility for multi-architecture support.

* fix: refactored logic for license management

* fix: ensure members_list is properly formatted as JSON in license activation

* fix: verification threshold

* feat: enhance airgapped license handling with versioning and improved error logging

- Added `Version` field to `AirgappedLicensePayload` for better tracking.
- Updated database population logic to use the new `Version` field.
- Improved error handling in `GetManualSyncHandler` with additional logging for license and feature flag refresh failures.
- Refined license deactivation logic for airgapped licenses based on current period end date.

* chore: update workspace activation check

* feat: improve airgapped handling in API views and tasks

- Added checks for airgapped settings in `CheckUpdateEndpoint`, `version_check`, and `register_instance_ee` to return early if the environment is airgapped.
- Enhanced code readability and maintainability by centralizing airgapped logic.

* improvement: remove seat management and subscription management for airgapped workspaces

* fix: update airgapped artifact workflow to extract tarball into specific directory

- Modified the extraction command in the airgapped installation instructions to specify the target directory, improving organization and clarity for users during the installation process.

* fix: update application version to v1.10.0 in deployment configurations

- Updated the APP_VERSION in coolify-compose.yml, docker-compose-caddy.yml, portainer-compose.yml, and variables.env to reflect the new version v1.10.0, ensuring consistency across deployment files.

* feat: enhance license activation response with workspace member details

- Updated the LicenseFileFetchEndpoint to include a list of active workspace members in the response.
- Converted user IDs to strings for consistency in the returned data structure.

* feat: added sync endpoint for download file

* feat: added logic for manual sync handler

* feat: added private key to prime airgapped api

* feat: implement job registration for instance license resync in airgapped mode

- Added a new job to the worker for resyncing instance licenses using a context-aware handler.
- Updated the HTTP handler port to "8090" for consistency.
- Changed the airgapped check to always return true in the workspace product handler.

* fix: update license activation response to return workspace members directly

- Modified the LicenseFileFetchEndpoint to return the workspace members list directly instead of converting it to a list, ensuring the response structure is consistent with the expected data format.

* feat: add command configuration for monitor service in airgapped build script

- Updated the build script to include a command for the monitor service, setting it to ["prime-monitor", "start-airgapped"] when the service is detected.

* docs: update airgapped README with installation instructions and prerequisites

- Enhanced the prerequisites section for clarity on Docker and Docker Compose requirements.
- Added a detailed installation process, including steps for running the installation script and the resulting directory structure.
- Updated post-installation steps to guide users on starting services and monitoring logs.

* improvement: handle error message for license activation

* feat: enhance airgapped cron job scheduling

- Introduced a new cron handler for scheduling airgapped cron jobs, including a License Refresh Job.
- Updated the worker to register the new cron job for instance license resync.

* minor fixes as sugged by reviewer

* fix: update HTTP handler port to use dynamic PORT variable in airgapped command

* fix: added version and api environment variables

* chore: update handlers to use isAirgapped method

* fix: converted db open calls to transactions in product handler

* fix: ensure UUIDs are only generated for unset IDs in License, UserLicense, and Flags models

* chore: update error message

* fix: add API_HOSTNAME environment variable to deployment configurations

- Introduced API_HOSTNAME variable in coolify-compose.yml, docker-compose-caddy.yml, portainer-compose.yml, and variables.env to standardize API endpoint configuration across deployment files.

* fix: update API_HOSTNAME format in deployment configurations

- Changed the API_HOSTNAME variable in coolify-compose.yml, docker-compose-caddy.yml, portainer-compose.yml, and variables.env to include the protocol (http://), ensuring consistent and correct API endpoint formatting across deployment files.

* feat: enhance airgapped installation and configuration

- Updated build.sh to insert "name: Plane-airgapped" into the docker-compose.yml file.
- Modified install.sh to set a default installation directory, improve user prompts, and handle upgrades more gracefully.
- Added checks for existing installations and running instances to prevent conflicts during upgrades.
- Enhanced the configuration display for better user clarity during setup.

* feat: improve environment variable handling in airgapped installation script

- Added a new function to update environment variables in the plane.env file.
- Enhanced the logic for reading and processing key-value pairs from the backup file, ensuring proper trimming and handling of empty values.
- Streamlined the update process for environment variables during installation and upgrades.

* feat: add Docker and docker-compose version checks in airgapped installation script

- Implemented checks for Docker version to ensure it meets the minimum requirement.
- Added validation to confirm that Docker is running before proceeding with installation.
- Included checks for the presence of either docker-compose or the new docker compose command.
- Enhanced error handling for version checks to improve user feedback during installation.

---------

Co-authored-by: Thomas Taylor <twtaylor7@gmail.com>
Co-authored-by: Manish Gupta <manish@plane.so>
Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com>
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
Co-authored-by: akshat5302 <akshatjain9782@gmail.com>
2025-06-03 13:20:10 +05:30
sriram veeraghanta
34b61bf544 Sync: Community Changes #3063 2025-04-28 18:17:51 +05:30
Akshat Jain
f278a284c4 chore: comment out APP_RELEASE variable update in build-branch workflow (#6989) 2025-04-28 17:45:44 +05:30
Manish Gupta
16d3952a04 Improvement: Docker Images Renamed #2658
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
2025-04-08 15:13:33 +05:30
Akshat Jain
d2749c8555 feat: add portainer compose file for commercial edition (#2759) 2025-03-19 18:27:22 +05:30
sriram veeraghanta
cee9e5b5f5 fix: build branch cloud updates 2025-03-17 13:06:26 +05:30
sriram veeraghanta
fe10f6402b fix: build branch ee removed files changed 2025-03-17 01:10:01 +05:30
sriram veeraghanta
97cd135cde fix: removed build test pull request ee 2025-03-17 00:59:01 +05:30
sriram veeraghanta
d9179f0cd8 Sync: Community Changes #2738 2025-03-17 00:42:58 +05:30
sriram veeraghanta
3d14c9d9fe fix: build test pull request changes 2025-03-17 00:38:51 +05:30
sriram veeraghanta
d7f40cf578 fix: remove files changed step from branch build workflow 2025-03-17 00:26:10 +05:30
Akshat Jain
6adf38a6c6 infra: external deployments for commercial edition (#2523)
* restructured Proxy, Deploy/CLI-install contents

* removed caddy assets fron release

* fixed changes in variables.env

* fixed action

* test build

* testing release

* finalize the caddy changes

* renamed proxy-ee to proxy.

* chore: changed docker compose file swarm compatible

* fix: added port no in proxy configuration

* added Replica Envs for services

* compose file for coolify

* updated docker-compose

* fix changes

* updated docker-compose.yml

* updated monitor to handle COOLIFY

* updated deploy_platform value

* pulled latest preview

* updated variables env

* fix merge conflicts

* fix changes

* fix changes

* chore: coolify compose file

* chore: added github action to upload coolify compose file on s3

* fixed monitor build

* testing release build

* updated branch-build-ee

---------

Co-authored-by: Manish Gupta <manish@plane.so>
Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com>
2025-03-04 01:47:29 +05:30
Akshat Jain
74506f19c0 Merge pull request #2615 from makeplane/workflow-ubuntu-version-update
Workflow ubuntu version update
2025-03-03 16:58:53 +05:30
Akshat Jain
0d599ef2dc changed github workflow action ubuntu version to ubuntu-22.04 (#6683) 2025-03-03 16:10:23 +05:30
sriram veeraghanta
0707af3dd4 Merge pull request #2598 from makeplane/sync/ce-ee
Sync: Community Changes
2025-02-25 13:16:08 +05:30
Manish Gupta
062fc9dbc0 updated the action to modify the release build assets (#6669) 2025-02-25 12:59:27 +05:30
sriram veeraghanta
35a7ba3568 Merge pull request #2591 from makeplane/sync/ce-ee
Sync: Community Changes
2025-02-24 17:35:04 +05:30
Akshat Jain
1f18b08655 feat: docker swarm support for plane community using swarm.sh file (#6406)
* added swarm stack in selfhost

* synced docker-compose and swarm-compose

* updated the BRANCH variable

* fixes

* fix: swarm script upgrade function and `APP_RELEASE` variable

* fix: remove network from compose file and fix swarm script

* removed property restart from docker compose file

* added restart_policy condition in docker compose

* fix: changed restart policy to `any`

* changed `restart_policy` from `any` to `on-failure`

* updated selfhost readme

* chore: added migrator, redis, minio, db and mq service logs and also added redeployStack in script file

* add sleep in redeployStack service

* fixed typo in swarm and install script

* updated coderabbit suggestions

* added Replica Envs for services

* removed additional replica envs from docker compose file

---------

Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com>
2025-02-24 17:09:06 +05:30
Henit Chobisa
c27e7ce03e feat: email service (#1541)
* feat: migrated email service to plane-ee

* feat: added build files

* fix: goreleaser for naming the binary

* fix: github CI

* feat: added certification generation

* fix: github CI

* feat: changed name for email service

* minor fixes to docker file and cert gen process. Added k8s manifest for testing

* removed build-email action

* added eks-cloudflare-setup instructions

* added support to gke

* modfied container ports from 25 465 587 to 10025 10465 10587

* cleanup yml files

* email docs cleanup

* added email service build action in plane cloud github action file

* fix: typo fix of email service image name

* fix: replaced base action for email service

* fix: registry name

* fix: uses in email service

* feat:modified-k8s-proxy

* updated k8s manifest

* updated k8s template

* fix: email build action

* fix image name

* fixed the spam detection mechanism

* upated k8s manifest

---------

Co-authored-by: Manish Gupta <manish@plane.so>
Co-authored-by: akshat5302 <akshatjain9782@gmail.com>
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com>
2025-02-14 17:47:09 +05:30
Aaryan Khandelwal
9725b657f1 fix: merge conflicts resolved from preview 2025-02-12 16:46:47 +05:30
sriram veeraghanta
03a4a97375 fix: workflow changes 2025-02-12 13:46:01 +05:30
sriram veeraghanta
bc4d183835 fix: adding sentry auth tokent to build branch workflow 2025-02-04 12:45:08 +05:30
sriram veeraghanta
abccf3025b fix: worflow cloud fixes 2025-01-27 17:25:54 +05:30