-
Notifications
You must be signed in to change notification settings - Fork 202
[PL-Doc] Move project across organizations #11619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ivikramsahu
wants to merge
23
commits into
main
Choose a base branch
from
move-projects-across-org
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
d01955c
Move project across organizations
ivikramsahu db29719
update headers
ivikramsahu a4fec56
update move directory
ivikramsahu d6df21c
update move-projects
ivikramsahu dd74936
resolve comments
ivikramsahu 2fe152c
resolves abhishek and arya's comment
ivikramsahu f0c6a1d
Merge branch 'branch-update-main' into move-projects-across-org
ivikramsahu eb5c86e
update pre and post move doc
ivikramsahu 399edbd
resolve level-1 comment
ivikramsahu b1d54f6
update comments
ivikramsahu 51007e8
update links
ivikramsahu 3f46c59
update move project
ivikramsahu d78936b
resolve Abhishek's comment
ivikramsahu 705d3cf
add FF
ivikramsahu b2d5943
Update docs/platform/organizations-and-projects/move-projects/overvie…
ivikramsahu 57c6424
Update docs/platform/organizations-and-projects/move-projects/pre-mov…
ivikramsahu 0412e3a
Update docs/platform/organizations-and-projects/move-projects/pre-mov…
ivikramsahu 482781b
Update docs/platform/organizations-and-projects/move-projects/pre-mov…
ivikramsahu be0a85f
Update docs/platform/organizations-and-projects/move-projects/pre-mov…
ivikramsahu ae52875
Update docs/platform/organizations-and-projects/move-projects/pre-mov…
ivikramsahu 77ed762
Update docs/platform/organizations-and-projects/move-projects/pre-mov…
ivikramsahu 0a2b91d
update and resolve comments
ivikramsahu ebf67e6
resolve all comments
ivikramsahu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
4 changes: 2 additions & 2 deletions
4
docs/platform/organizations-and-projects/create-an-organization.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
docs/platform/organizations-and-projects/move-projects/_category_.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| { | ||
| "label": "Move a project", | ||
| "position": "3", | ||
| "collapsible": "true", | ||
| "collapsed": "true", | ||
| "className": "red", | ||
| "link": { | ||
| "type": "generated-index", | ||
| "title": "Move a project" | ||
| }, | ||
| "customProps": { | ||
| "helpdocs_category_id": "3trbf8xckk" | ||
| } | ||
| } |
60 changes: 60 additions & 0 deletions
60
...m/organizations-and-projects/move-projects/move-projects-across-organization.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| --- | ||
ivikramsahu marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| title: Move a project across organizations | ||
| description: Step-by-step guide to move a project across organizations. | ||
| sidebar_label: Steps to move a project | ||
| sidebar_position: 3 | ||
| tags: | ||
| - organizations | ||
| - projects | ||
| - project-movement | ||
| - step-by-step | ||
| - tutorial | ||
| - admin | ||
| keywords: | ||
| - move project | ||
| --- | ||
|
|
||
| :::note Feature availability | ||
| This feature requires the `PL_PROJECT_MOVEMENT_ENABLED` feature flag. Contact [Harness support](mailto:[email protected]) to enable it. | ||
| ::: | ||
|
|
||
| This document provides a step-by-step guide to migrate projects from one organization to another, including prerequisites, permissions, and detailed migration procedures. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - Move Project permission on the source project | ||
| - Create Project permission in the destination organization | ||
|
|
||
| ## Steps to move a project | ||
|
|
||
| ### Step 1: Navigate and access the move option | ||
|
|
||
| From the **Projects listing**: | ||
| 1. Navigate to **Projects** at account or organization level | ||
| 2. Click the **⋮** menu next to your project | ||
| 3. Select **Move Project** | ||
|
|
||
| From the **Project overview page**: | ||
| 1. Open your project | ||
| 2. Click the **⋮** menu in the top right | ||
| 3. Select **Move Project** | ||
|
|
||
| ### Step 2: Select destination organization | ||
|
|
||
| 1. In the Move Project modal, review the warning about potential configuration impacts | ||
| 2. Choose your destination organization from the dropdown (only organizations where you have Create Project permission appear) | ||
|
|
||
| <!--<DocImage path={require('./static/move-project-modal.png')} width="50%" height="50%" title="Move project modal" />--> | ||
|
|
||
| 3. Click **Move Project** to start the move process | ||
|
|
||
| ### Step 3: Confirm Move | ||
|
|
||
| 1. Review the confirmation dialog showing potential impacts | ||
| 2. Type the **Project name** to confirm | ||
|
|
||
| <!--<DocImage path={require('./static/confirm-project-move.png')} width="50%" height="50%" title="Move project confirm" />--> | ||
|
|
||
| 3. Click **Confirm Move** | ||
|
|
||
| Once the move completes, you'll be redirected to the project in its new organization. Verify that pipelines and deployments function as expected. | ||
59 changes: 59 additions & 0 deletions
59
docs/platform/organizations-and-projects/move-projects/overview.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| --- | ||
| title: Move a project | ||
| description: Overview of moving a project between organizations, including prerequisites, Supported modules and how to request or perform a move. | ||
| sidebar_label: Overview | ||
| sidebar_position: 1 | ||
| tags: | ||
| - organizations | ||
| - projects | ||
| - move project | ||
| keywords: | ||
| - move projects | ||
| - move project between organizations | ||
| - transfer project | ||
| - organization restructure | ||
| --- | ||
|
|
||
| :::note Feature availability | ||
| This feature requires the `PL_PROJECT_MOVEMENT_ENABLED` feature flag. Contact [Harness support](mailto:[email protected]) to enable it. | ||
| ::: | ||
|
|
||
| This feature allows you to move a project across organizations, which is useful during restructuring, or ownership transitions. | ||
|
|
||
| ## What happens when you move a project | ||
|
|
||
| 1. **Entities are moved**: [Supported entities](#supported-modules), such as pipelines, services, environments, and monitored services, are carried over with the project to the destination organization. | ||
|
|
||
| 2. **Some references need to be reconfigured**: Resources scoped at the source organization level —such as connectors, secrets, templates, webhooks, or notifications—may become inaccessible after the move. These references need to be recreated or updated in the destination organization. References to account- or project-level entities remain intact. | ||
|
|
||
| 3. **Access control and policies**: Organization-level RBAC policies, governance rules, and security policies do not transfer and must be reapplied in the destination organization. When a project move is initiated, all access control components belonging to the project are migrated asynchronously. During this process, access to the project will be temporarily blocked for other users. | ||
|
|
||
| 4. **Audit logs**: Existing audit logs are preserved, but any links in the logs pointing to source organization resources may break, as those resources will no longer be accessible. | ||
|
|
||
| For detailed pre-move validation and post-move remediation steps, see the [Move a Project guide](./pre-move-and-post-move-guide.md). | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| To move a project across organizations, you need the following permissions: | ||
|
|
||
| - Move permission for the project that you want to move. | ||
| - Create project permission in the destination organization. | ||
|
|
||
| ## Supported modules | ||
|
|
||
| * [Platform](/docs/platform/platform-whats-supported) | ||
| * [Continuous Delivery and GitOps](/docs/continuous-delivery/cd-integrations) | ||
| * [Continuous Integration](/docs/continuous-integration/use-ci/set-up-build-infrastructure/which-build-infrastructure-is-right-for-me/#feature-compatibility-matrix) | ||
| * [Internal Developer Portal](/docs/internal-developer-portal/whats-supported) | ||
| * [Security Test Orchestration](/docs/security-testing-orchestration/whats-supported/sto-deployments) | ||
| * [Supply Chain Security](/docs/software-supply-chain-assurance/ssca-supported) | ||
| * [Code Repository](/docs/code-repository/code-supported) | ||
| * [Database DevOps](/docs/database-devops/dbdevops-supported-platforms.md) | ||
|
|
||
| :::note Unsupported [Entities](/docs/platform/references/harness-entity-reference) | ||
| In the Continuous Delivery and GitOps module, the following entities are not supported: | ||
| - [Policy as Code (OPA)](/docs/category/policy-as-code) | ||
| - [GitOps](/docs/category/get-started-with-gitops) | ||
| - [Continuous Verification](/docs/continuous-delivery/verify/verify-deployments-with-the-verify-step) | ||
| ::: | ||
|
|
73 changes: 73 additions & 0 deletions
73
...atform/organizations-and-projects/move-projects/pre-move-and-post-move-guide.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| --- | ||
| title: Pre-move and post-move guide | ||
| description: Pre-move and post-move guide ensures successful project movement across organizations. | ||
| sidebar_label: Pre-move and post-move guide | ||
| sidebar_position: 2 | ||
| tags: | ||
| - project-movement | ||
| - checklist | ||
| - validation | ||
| keywords: | ||
| - project move checklist | ||
| - pre-move validation | ||
| - post-move Remediation | ||
| --- | ||
|
|
||
| This guide highlights key pointers to be aware of before moving a project and what may be required afterward. | ||
|
|
||
| ## Pre-move validation | ||
|
|
||
| Before moving a project, validate the entities to ensure they are not affected by inaccessible resources or broken references. Please note that this is not an exhaustive list. | ||
|
|
||
| 1. Pipelines: | ||
| - Pipelines that refer organization-level connectors will break after the move. | ||
| - Secrets used in pipelines may be scoped at the organization level. After moving to a destination organization, these secrets might become unavailable. | ||
| - Templates used to build pipelines may be scoped at the organization level. Review and make these templates available in the destination organization; otherwise, pipelines may fail to render or execute. | ||
| - YAML entities may use fully qualified identifiers, such as `orgIdentifier`, that reference the source organization. These identifiers will become obsolete post move. | ||
| - [Pipeline chaining](/docs/platform/pipelines/pipeline-chaining) will fail if the child pipeline’s project is moved. | ||
| - Pipelines that are running when a project is moved may fail. | ||
|
|
||
| 2. Notifications: | ||
| - If a notification rule uses a channel from the source organization, the reference will break. | ||
| - Email notification channels using organization-level user groups will stop working. | ||
|
|
||
| 3. Services: | ||
| - Project-level services like manifest sources and artifact sources referencing organization-level connectors will break. | ||
|
|
||
| 4. Environments: | ||
| - Environment configuration files, application settings, manifest sources, or connection strings referencing organization-level resources will become unavailable. | ||
| - Service overrides, infrastructure definitions, or GitOps clusters referencing organization-level resources will break. | ||
|
|
||
| 5. Monitored Services: | ||
| - Services or environments referencing organization-level resources will become inaccessible. | ||
|
|
||
| 6. Webhooks: | ||
| - Git connectors, generic webhooks, or Slack webhooks using connectors or secrets referencing organization-level resources will break. | ||
| - Triggers where organization identifiers and project identifiers are present will be no longer functional. | ||
|
|
||
| 7. Access control: | ||
ivikramsahu marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - Organization-level RBAC policies do not transfer when a project is moved and must be reapplied in the destination organization to maintain proper access controls. | ||
| - When a project move is initiated, all access control components belonging to the project are migrated asynchronously. During this process, access to the project will be temporarily blocked for users. | ||
|
|
||
| 8. Audit logs: | ||
| - Historical audit logs are fully preserved when a project is moved. Note that the audit logs before the project was moved might contain links that refer to the older org. These links might break when accessed after the project is moved. | ||
|
|
||
|
|
||
| :::note Important note | ||
| - Links referencing the source organization—such as those in pipelines, webhooks, or audit logs—may stop working after a project is moved. Bookmarks or URLs with account, organization, or project identifiers are not redirected and will become outdated. | ||
| - The project movement will not be allowed if a project with the same identifier already exists in the destination organization. | ||
|
|
||
| For example, if Project P is being moved from organization O1 to O2, and organization B already has a project with the same identifier (i.e., Project P), the project movement will not be allowed. | ||
| ::: | ||
|
|
||
| ## Post-move remediation | ||
|
|
||
ivikramsahu marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| After a project is moved, the following tips can help you identify and fix broken references. Note that this list is not exhaustive and additional actions might be needed depending on your project setup. | ||
|
|
||
| - Review pipeline failures for clear, actionable errors to resolve issues. | ||
| - Recreate organization-level connectors and secrets in the destination organization, if required. | ||
| - Update notification channels to use destination organization resources. | ||
| - Verify and update RBAC policies. | ||
|
|
||
|
|
||
|
|
||
3 changes: 2 additions & 1 deletion
3
docs/platform/organizations-and-projects/projects-and-organizations.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+996 KB
docs/platform/organizations-and-projects/static/confirm-project-move.png
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. UI development is still underway. Please make edits to the doc accordingly once dev is done. Right now, all of this is based on mockups. Will review once the final doc is in place. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+260 KB
docs/platform/organizations-and-projects/static/move-project-modal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.