diff --git a/oci-and-db/technology-solutions/fsdr/README.md b/oci-and-db/technology-solutions/fsdr/README.md deleted file mode 100644 index 664b48115e..0000000000 --- a/oci-and-db/technology-solutions/fsdr/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Full Stack Disaster Recovery - -Full Stack Disaster Recovery is an Oracle Cloud Infrastructure (OCI) disaster recovery orchestration and management service that provides comprehensive disaster recovery capabilities for all layers of an application stack, including infrastructure, middleware, database, and application. - -Using OCI Full Stack DR provides a single pane of glass monitoring and management capability for all disaster recovery needs. Full stack disaster recovery easily integrates Oracle platforms and non-Oracle applications and provides recovery for the entire application stack, instead of recovery of individual components, such as databases or compute instances. - -Reviewed: 02.09.2026 - -# Useful Links - -- [Move a virtual machine between OCI regions using Full Stack Disaster Recovery](https://docs.oracle.com/en/learn/full-stack-dr-to-move-vm/) - - To move a compute VM that has just a boot volume attached to it from one region to another region using Full Stack Disaster Recovery. -- [Automate Disaster Recovery switchover and failover operations for Oracle WebLogic Server with OCI Full Stack Disaster Recovery](https://docs.oracle.com/en/solutions/full-stack-dr-weblogic-platform) - - To automate Disaster Recovery Switchover and Failover operations of Oracle WebLogic Server using OCI Stack Disaster Recovery. -- [Documentation: Full Stack Disaster Recovery](https://docs.oracle.com/en-us/iaas/disaster-recovery/index.html) -- [Oracle WebLogic Server for Oracle Cloud Infrastructure Disaster Recovery](https://www.oracle.com/a/otn/docs/middleware/maa-wls-mp-dr.pdf) -- [Oracle.com: Full Stack Disaster Recovery](https://www.oracle.com/in/cloud/full-stack-disaster-recovery/) - -# License - -Copyright (c) 2026 Oracle and/or its affiliates. - -Licensed under the Universal Permissive License (UPL), Version 1.0. - -See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details. diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/README.md b/oci-and-db/technology-solutions/full-stack-disaster-recovery/README.md new file mode 100644 index 0000000000..54110af2cd --- /dev/null +++ b/oci-and-db/technology-solutions/full-stack-disaster-recovery/README.md @@ -0,0 +1,113 @@ +# Full Stack Disaster Recovery + +Full Stack Disaster Recovery is an Oracle Cloud Infrastructure (OCI) disaster recovery orchestration and management service that provides comprehensive disaster recovery capabilities for all layers of an application stack, including infrastructure, middleware, database, and application. + +Using OCI Full Stack DR provides a single pane of glass monitoring and management capability for all disaster recovery needs. Full stack disaster recovery easily integrates Oracle platforms and non-Oracle applications and provides recovery for the entire application stack, instead of recovery of individual components, such as databases or compute instances. + +Reviewed: 08.10.2026 + +# Team Publications + +## Designing Full Stack Disaster Recovery + +[Designing OCI Full Stack Disaster Recovery](./assets/designing-fsdr/README.md) provides guidance on defining application recovery boundaries, choosing moving or non-moving compute patterns, preparing replication and standby infrastructure, and organizing DR protection groups and recovery plans. + +## Videos + +- [Full Stack Disaster Recovery - MySQL HeatWave Step-by-Step Demo](https://www.youtube.com/watch?v=GVcT7Bq76hU) + - Integrate MySQL HeatWave with Full Stack DR using preconfigured replication channels across OCI regions. +- [Full Stack Disaster Recovery - Integration of Oracle Kubernetes Engine](https://www.youtube.com/watch?v=S06FaJc5lHI) + - Recover the MuShop application deployed on OKE and its associated Autonomous Database. +- [Full Stack Disaster Recovery - Enhanced DR Plan Management](https://www.youtube.com/watch?v=QyCzbKWTUkY&index=10&pp=iAQB) + - Refresh existing DR plans after protection group member changes. +- [How to integrate Oracle EPM with Full Stack DR](https://www.youtube.com/playlist?list=PLKCk3OyNwIzsIv-68QDYiqgahT3qq_yjf) + - Configure recovery for Oracle Enterprise Performance Management across two OCI regions. +- [Full Stack Disaster Recovery - Use Capacity Reservation for moving instances](https://www.youtube.com/watch?v=XKrZfzeoo_A) + - Use Compute Capacity Reservations when recovering moving instances. +- [Full Stack Disaster Recovery for File Storage Service](https://youtu.be/_Rhq5iPrl9k) + - Integrate OCI File Storage with Full Stack DR using native member support. +- [Full Stack Disaster Recovery - Detach/Attach Block Volumes and Stop/Start a non-moving Compute Instance](https://youtu.be/GONlPCtQxqM) + - Automate block volume attachment and detachment, and stop or start non-moving compute instances. +- [Full Stack Disaster Recovery for Load Balancer](https://youtu.be/dFd-Z1oBpjQ) + - Add an OCI Load Balancer to a DR protection group. +- [OCI Full Stack Disaster Recovery, Video Series for a Custom Application](https://www.youtube.com/playlist?list=PLKCk3OyNwIzt4gjcRbo2dA5DwsQPEWI5C) + - A five-part video series demonstrating how to configure OCI Full Stack Disaster Recovery to automate and orchestrate disaster recovery for a custom application across two OCI regions, from creating DR protection groups to customizing, validating, and executing a switchover plan. + - [Video 1: Introduction to the existing application deployment](https://www.youtube.com/watch?v=K9JgQnNBJT8&list=PLKCk3OyNwIzt4gjcRbo2dA5DwsQPEWI5C&index=1) + - Review the MuShop deployment and its DR prerequisites in both regions. + - [Video 2: Create and Associate Disaster Recovery Protection Groups](https://www.youtube.com/watch?v=zpW_tBJwLmU&list=PLKCk3OyNwIzt4gjcRbo2dA5DwsQPEWI5C&index=2) + - Create and associate primary and standby DR protection groups. + - [Video 3: Add members to the DR Protection groups](https://www.youtube.com/watch?v=byp0t35-xAU&list=PLKCk3OyNwIzt4gjcRbo2dA5DwsQPEWI5C&index=3) + - Add application resources as DR protection group members. + - [Video 4: Create and Customize the DR Switchover Plan](https://www.youtube.com/watch?v=A3QsnIdW-r0&list=PLKCk3OyNwIzt4gjcRbo2dA5DwsQPEWI5C&index=4) + - Create a switchover plan in the standby protection group and add custom recovery steps. + - [Video 5: Perform Prechecks and Execute Switchover](https://www.youtube.com/watch?v=uYLtJ85sE1A&list=PLKCk3OyNwIzt4gjcRbo2dA5DwsQPEWI5C&index=5) + - Run prechecks, execute the switchover, and validate the recovered application. + +## Tutorials + +- [Automate Recovery for MySQL HeatWave (OCI managed) as a native member](https://docs.oracle.com/en/learn/full-stack-dr-mysql-heatwave/index.html) + - Automate MySQL HeatWave recovery using replication channels and native FSDR member support. +- [Automate Cold Disaster Recovery for Oracle HeatWave MySQL](https://docs.oracle.com/en/learn/full-stack-dr-heatwave-mysql/) + - Automate MySQL HeatWave recovery from backups using Full Stack DR. +- [Automate Cold Disaster Recovery for OCI Database with PostgreSQL using OCI Full Stack Disaster Recovery](https://docs.oracle.com/en/learn/full-stack-dr-pgsql-cold-dr/index.html) + - Automate OCI Database with PostgreSQL recovery from backups using Full Stack DR. +- [Automate recovery for Oracle EPM](https://docs.oracle.com/en/learn/fsdr-integration-epm/) + - Automate recovery for Oracle Enterprise Performance Management. +- [Automate Disaster Recovery Plan Validation in OCI Using a Custom Precheck Tool](https://dev.to/amoubarak/automate-disaster-recovery-plan-validation-in-oci-using-a-custom-precheck-tool-1omo) + - Run prechecks for all active plans in a DR protection group using a Python tool. + +# Useful Links + +## Videos + +- [Deep dive playlist](https://www.youtube.com/playlist?list=PLKCk3OyNwIzuhTZbFY0d7pvbEUktcNqtH) + - Explore OCI Full Stack Disaster Recovery concepts, architecture, and capabilities. +- [Full Stack DR : Implementing and Configuring](https://www.youtube.com/watch?v=dna14EPgkbM&list=PLKCk3OyNwIzsNFHC903WIJOfyrXZmeQoZ) + - Configure and manage orchestrated recovery for application stacks across OCI regions. +- [How to integrate Oracle Analytics Cloud with Full Stack DR](https://www.youtube.com/playlist?list=PLKCk3OyNwIztqvNuVwgsq5ahlGuRTSaBT) + - Configure recovery for Oracle Analytics Cloud across OCI regions. +- [How to integrate PeopleSoft with Full Stack DR](https://www.youtube.com/watch?v=TCLlRwmGwlw&list=PLKCk3OyNwIzugTFmLTXnGv7-WZJ9omzt6) + - Configure recovery for a single-instance PeopleSoft deployment across OCI regions. +- [How to integrate Oracle Integration Cloud with Full Stack DR](https://www.youtube.com/playlist?list=PLKCk3OyNwIzuHnw1A3NZsMngfxBhN-M0p) + - Automate disaster recovery for Oracle Integration across two OCI regions. +- [Oracle WebLogic Server with OCI Full Stack Disaster Recovery](https://www.youtube.com/watch?v=Ki-K_N6X-70&t=103s) + - Integrate an Oracle WebLogic Server deployment from OCI Marketplace with Full Stack DR. +- [Automate Object storage recovery](https://www.youtube.com/watch?v=rMzcNMHWcjk) + - Integrate an OCI Object Storage bucket with Full Stack DR to automate recovery. + +## Tutorials + +- [Move a virtual machine between OCI regions using Full Stack Disaster Recovery](https://docs.oracle.com/en/learn/full-stack-dr-to-move-vm/) + - Move a compute VM with only a boot volume between OCI regions. +- [Non-moving instance new features](https://docs.oracle.com/en/learn/full-stack-dr-blkvolume-dr-drill/) + - Attach and detach block volumes for non-moving compute instances using DR drill plans. +- [Automate Disaster Recovery switchover and failover operations for Oracle WebLogic Server with OCI Full Stack Disaster Recovery](https://docs.oracle.com/en/solutions/full-stack-dr-weblogic-platform) + - Automate switchover and failover operations for Oracle WebLogic Server. +- [Oracle WebLogic Server for Oracle Cloud Infrastructure Disaster Recovery](https://www.oracle.com/a/otn/docs/middleware/maa-wls-mp-dr.pdf) +- [Automate DR for MuShop Demo Application Deployed on OKE with OCI Full Stack DR](https://docs.oracle.com/en/learn/full-stack-dr-oke-mushop) + - Automate switchover and failover for the MuShop demo application deployed on OKE. +- [Automate recovery for Oracle Analytics Cloud ( OAC )](https://docs.oracle.com/en/learn/oci-full-stack-dr-integration-oac) + - Configure recovery for Oracle Analytics Cloud as the sole application in the DR protection groups. +- [Automate recovery for Oracle Analytics Server (OAS)](https://blogs.oracle.com/analytics/post/oas-dr-fsdr) + - Automate recovery for Oracle Analytics Server deployed on OCI. +- [Automate recovery for Oracle Integration (OIC)](https://docs.oracle.com/en/learn/fullstackdr-integration-oic/) + - Automate recovery for Oracle Integration using Full Stack DR. +- [Automate recovery for PeopleSoft](https://docs.oracle.com/en/learn/full-stack-dr-integration-psft) + - Automate recovery for a single-instance PeopleSoft deployment. +- [Prepare compute instance for run command](https://docs.oracle.com/en/learn/full-stack-dr-run-command) + - Prepare a compute instance to execute custom recovery scripts through Run Command. +- [Create Full Stack DR resources using OCI CLI](https://docs.oracle.com/en/learn/full-stack-dr-oci-cli-command/) + - Create Full Stack DR resources for a cold standby topology using OCI CLI. + +## Other Useful Links + +- [Documentation: Full Stack Disaster Recovery](https://docs.oracle.com/en-us/iaas/disaster-recovery/index.html) +- [Oracle.com: Full Stack Disaster Recovery](https://www.oracle.com/in/cloud/full-stack-disaster-recovery/) + +# License + +Copyright (c) 2026 Oracle and/or its affiliates. + +Licensed under the Universal Permissive License (UPL), Version 1.0. + +See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details. diff --git a/oci-and-db/technology-solutions/fsdr/assets/evaluate-rpo/LICENSE b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/LICENSE similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/evaluate-rpo/LICENSE rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/LICENSE diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/README.md b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/README.md new file mode 100644 index 0000000000..3b30088529 --- /dev/null +++ b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/README.md @@ -0,0 +1,139 @@ +# Designing OCI Full Stack Disaster Recovery + +OCI Full Stack Disaster Recovery (FSDR) orchestrates recovery for complete application stacks. It groups dependent OCI resources into DR Protection Groups, manages recovery plans, runs prechecks, and coordinates switchover and failover operations. + +Design and configure the underlying replication first. FSDR coordinates database, storage, compute, and application recovery; each service provides its own data protection mechanism. + +## Prerequisites + +Prepare the recovery environment before creating FSDR plans: + +- **Networking:** configure VCNs, load balancers, routing, and DRG remote peering where private cross-region connectivity is required. +- **Replication:** configure and validate database, volume group, File Storage, Object Storage, and application replication as needed. +- **Compute:** prepare VMs in both regions for non-moving instances. For moving instances, ensure the recovery region has the network and capacity to create the VMs. +- **Application dependencies:** prepare required software, configuration, storage mounts, and service startup procedures. +- **IAM:** configure the [FSDR policies](https://docs.oracle.com/en-us/iaas/disaster-recovery/doc/policies.html) required to manage resources and execute custom steps. + +## DR Protection Groups and Plans + +A DR Protection Group (DRPG) contains resources that must recover together. Each DRPG is associated with one exclusive peer in a primary/standby relationship. Multiple pairs can protect independent applications across different regional combinations. + +| Element | Purpose | +| --- | --- | +| Members | OCI resources belonging to the application stack. | +| DR Plans | Recovery workflows created and executed at the standby DRPG. | +| Plan Groups and Steps | Groups execute sequentially; steps within a group run in parallel. | +| Plan Executions | Track recovery progress and results. | +| Prechecks | Validate plans and resource configuration before recovery. | + +![Primary and standby DR Protection Groups](./images/drpg-pair.png) + +DRPG members can include compute instances, volume groups, file systems, Object Storage buckets, databases, OKE clusters, and load balancers. Verify [current member support and prerequisites](https://docs.oracle.com/en-us/iaas/disaster-recovery/doc/how-disaster-recovery-works.html) for the selected services. For the Autonomous Database pattern below, prepare a remote Autonomous Data Guard standby and confirm the applicable deployment requirements. + +## Design Guidance + +Use a separate DRPG pair for each application with independent ownership, lifecycle, dependencies, or recovery objectives. Combine applications only when they are tightly coupled, have compatible requirements, and must fail over together. + +- **RPO** depends on the replication mechanism and its observed lag. +- **RTO** depends on the complete workflow: role transitions, storage activation, compute startup, application recovery, traffic redirection, and validation. + +Validate both objectives through recovery exercises. Add user-defined steps for application startup, connection changes, user-managed database recovery, and functional checks. Test custom steps independently before adding them to a plan. + +## Recommended DRPG Template + +### Pair Configuration + +| Property | Primary region | Standby region | +| --- | --- | --- | +| Name | `-drpg-` | `-drpg-` | +| Compartment | `` | `` | +| Log bucket | `` | `` | +| Initial role | `PRIMARY` | `STANDBY` | +| Peer | Standby DRPG | Primary DRPG | + +### Typical Members + +| Category | Primary DRPG | Standby DRPG | +| --- | --- | --- | +| Networking | Load Balancer | Standby Load Balancer | +| Networking | Network Load Balancer | Standby Network Load Balancer | +| Compute | Moving compute instances | — | +| Compute | Non-moving compute instances | Pre-created non-moving compute instances | +| Storage | Volume groups with cross-region replication enabled | — | +| Storage | File systems with cross-region replication enabled | — | +| Storage | Object Storage buckets with cross-region replication enabled | — | +| Database | Primary Autonomous Database with remote standby enabled | Standby Autonomous Database | +| Database | Primary Oracle DB System with Data Guard configured | Standby Oracle DB System | +| Database | Primary MySQL HeatWave DB System with channel replication enabled | Replica MySQL HeatWave DB System | +| Containers | Primary OKE cluster(s) | Standby OKE cluster(s) | + +This template lists the members for the illustrated cross-region patterns. A dash indicates that no separate standby member is listed in the template; it does not mean that a replication target or recovery resource is unnecessary. Membership depends on the resource type and recovery pattern. + +Create switchover and failover plans at the standby DRPG. Add start/stop drill plans where supported and include the custom steps needed for complete application recovery. + +## Examples of DR Protection Group Structure + +### Physical Architecture + +The reference environment contains Core App, Mobile App, Accounting, and BI across two OCI regions. It includes regional load balancers, replicated storage, database peers, and cross-region networking. Application dependencies determine the DRPG boundaries. + +![Physical architecture of Core App, Mobile App, Accounting, and BI across primary and standby OCI regions](./images/physical-architecture.png) + +### Separate DRPG Pairs for Each Application + +Separate pairs allow each application to have its own recovery plans, ownership, objectives, and drill schedule. + +This is generally the preferred design for independent applications because it provides better isolation, smaller DR plans, clearer ownership, and more flexible DR testing. It also allows each application to have its own recovery schedule, RTO/RPO objectives, validation steps, and operational runbook. + +#### Core App + +Core App uses non-moving VMs in both regions, dedicated application-data volumes protected by Volume Group Replication, and Oracle Database with Data Guard. FSDR coordinates the database role transition and attaches recovered data volumes to the standby VMs. Load balancer members can also participate through backend draining and undraining. + +![Core App: non-moving VMs, replicated volumes, and Data Guard](./images/core-application.png) + +#### Mobile App + +Mobile App uses moving application VMs, regional load balancers, replicated File Storage, and user-managed MySQL on IaaS. Protect the application VM boot volumes through Volume Group Replication. Add custom MySQL steps to promote the standby database, reconfigure replication, update connections where needed, and validate availability. + +![Mobile App: moving VMs, File Storage, and user-managed MySQL](./images/mobile-application.png) + +#### Accounting + +Accounting uses a moving VM with replicated boot and data volumes and OCI MySQL HeatWave with channel replication. FSDR coordinates VM recovery and the database transition through native MySQL DB System member support. Replication must be configured before recovery. + +![Accounting: moving VM and OCI MySQL HeatWave](./images/accounting-application.png) + +#### BI + +BI uses a moving VM, replicated boot volume, Object Storage replication, and Autonomous Database with Autonomous Data Guard. Validate database connectivity, reports, data sources, and access to replicated objects after recovery. + +![BI: moving VM, Object Storage, and Autonomous Data Guard](./images/bi-application.png) + +### One DRPG Pair for All Applications + +A combined pair provides one recovery workflow for the environment. Use it when all applications share a recovery window and must transition together. Every application in the group participates in the operation, increasing the scope of testing and maintenance. + +Avoid this model when applications can be recovered independently. It can increase DR plan complexity, lengthen execution time, and make testing or maintenance more difficult. + +![Combined DRPG pair for all four applications](./images/all-applications-drpg.png) + +## Design and Validation Checklist + +- [ ] Define the primary and standby topology. +- [ ] Create and associate DR Protection Groups in both regions. +- [ ] Add all required members. +- [ ] Verify that service-specific replication is configured and healthy. +- [ ] Create DR plans in the standby DR Protection Group. +- [ ] Test custom recovery steps independently before adding them to a plan. +- [ ] Automate end-to-end recovery, including application recovery and validation. +- [ ] Run prechecks regularly. See [Automate Disaster Recovery Plan Validation in OCI Using a Custom Precheck Tool](https://dev.to/amoubarak/automate-disaster-recovery-plan-validation-in-oci-using-a-custom-precheck-tool-1omo). +- [ ] Document dependencies between DR Protection Group members. +- [ ] Configure monitoring and alerts for replication lag. +- [ ] Plan and execute an initial switchover. +- [ ] Create the required DR plans in the former primary region, which becomes the new standby. +- [ ] Schedule regular DR drills; quarterly drills are recommended in the source guidance. +- [ ] Review each drill and document lessons learned. +- [ ] Document RTO and RPO requirements for each application. +- [ ] Review and update DR plans after each infrastructure change. +- [ ] Train the operations team on DR execution procedures. +- [ ] Establish a communication plan for DR events. diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/accounting-application.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/accounting-application.png new file mode 100644 index 0000000000..56af471478 Binary files /dev/null and b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/accounting-application.png differ diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/all-applications-drpg.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/all-applications-drpg.png new file mode 100644 index 0000000000..80b255a903 Binary files /dev/null and b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/all-applications-drpg.png differ diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/bi-application.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/bi-application.png new file mode 100644 index 0000000000..f7be8e504c Binary files /dev/null and b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/bi-application.png differ diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/core-application.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/core-application.png new file mode 100644 index 0000000000..7768600b73 Binary files /dev/null and b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/core-application.png differ diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/drpg-pair.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/drpg-pair.png new file mode 100644 index 0000000000..47f5ca0ab3 Binary files /dev/null and b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/drpg-pair.png differ diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/mobile-application.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/mobile-application.png new file mode 100644 index 0000000000..321dde04ee Binary files /dev/null and b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/mobile-application.png differ diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/physical-architecture.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/physical-architecture.png new file mode 100644 index 0000000000..6e7077f3d8 Binary files /dev/null and b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/designing-fsdr/images/physical-architecture.png differ diff --git a/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/evaluate-rpo/LICENSE b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/evaluate-rpo/LICENSE new file mode 100644 index 0000000000..bb91ea7806 --- /dev/null +++ b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/evaluate-rpo/LICENSE @@ -0,0 +1,35 @@ +Copyright (c) 2026 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/oci-and-db/technology-solutions/fsdr/assets/evaluate-rpo/README.md b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/evaluate-rpo/README.md similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/evaluate-rpo/README.md rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/evaluate-rpo/README.md diff --git a/oci-and-db/technology-solutions/fsdr/assets/evaluate-rpo/files/evaluate-pg-rpo.py b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/evaluate-rpo/files/evaluate-pg-rpo.py similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/evaluate-rpo/files/evaluate-pg-rpo.py rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/evaluate-rpo/files/evaluate-pg-rpo.py diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/LICENSE b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/LICENSE similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/LICENSE rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/LICENSE diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/README.md b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/README.md similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/README.md rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/README.md diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/fsdr_routing_change.drawio b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/fsdr_routing_change.drawio similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/fsdr_routing_change.drawio rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/fsdr_routing_change.drawio diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/add-route/func.py b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/add-route/func.py similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/add-route/func.py rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/add-route/func.py diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/add-route/func.yaml b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/add-route/func.yaml similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/add-route/func.yaml rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/add-route/func.yaml diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/add-route/requirements.txt b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/add-route/requirements.txt similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/add-route/requirements.txt rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/add-route/requirements.txt diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/hello/func.py b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/hello/func.py similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/hello/func.py rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/hello/func.py diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/hello/func.yaml b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/hello/func.yaml similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/hello/func.yaml rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/hello/func.yaml diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/hello/requirements.txt b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/hello/requirements.txt similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/hello/requirements.txt rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/hello/requirements.txt diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/remove-route/func.py b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/remove-route/func.py similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/remove-route/func.py rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/remove-route/func.py diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/remove-route/func.yaml b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/remove-route/func.yaml similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/remove-route/func.yaml rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/remove-route/func.yaml diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/remove-route/requirements.txt b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/remove-route/requirements.txt similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/functions/remove-route/requirements.txt rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/functions/remove-route/requirements.txt diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-drill-status.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-drill-status.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-drill-status.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-drill-status.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-normal-status.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-normal-status.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-normal-status.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-normal-status.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_01.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_01.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_01.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_01.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_02.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_02.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_02.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_02.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_03.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_03.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_03.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_03.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_04.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_04.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_04.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_04.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_05.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_05.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_05.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_05.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_06.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_06.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_06.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_06.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_07.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_07.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_07.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_07.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_08.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_08.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_08.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_08.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_09.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_09.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_09.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_09.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_10.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_10.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_10.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_10.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_11.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_11.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_11.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_11.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_12.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_12.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/fsdr-setup_12.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/fsdr-setup_12.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/subnet-after.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/subnet-after.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/subnet-after.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/subnet-after.png diff --git a/oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/subnet-before.png b/oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/subnet-before.png similarity index 100% rename from oci-and-db/technology-solutions/fsdr/assets/network-insulation-during-drill/files/images/subnet-before.png rename to oci-and-db/technology-solutions/full-stack-disaster-recovery/assets/network-insulation-during-drill/files/images/subnet-before.png