================================== End-to-End: Standing Up Odoo ================================== This guide walks through the complete happy path — from signing up to running a production Odoo instance with a development branch alongside it. 1. Sign Up / Sign In ==================== Visit ``/_eyrie/`` and create an account or sign in with your existing credentials. .. image:: /static/img/odoo_wf_splash.png :alt: TODO — screenshot of the splash screen 2. Create a Project ==================== From the home dashboard (``/_eyrie/app``), click **New Project**: - **Name**: ``My Company`` - **Slug**: ``my-company`` .. image:: /static/img/odoo_wf_create_project.png :alt: TODO — screenshot of creating the "my-company" project 3. Add a Linode Cloud Provider ============================== Navigate to your project's **Cloud Providers** section and add a Linode provider with your API token. Click **Verify Credentials** to confirm. .. image:: /static/img/odoo_wf_add_linode.png :alt: TODO — screenshot of adding a Linode cloud provider 4. Create a Cluster ==================== Go to **Clusters** and click **New Cluster**: - **Name**: ``us-east-dev`` - **Cloud Provider**: the Linode provider you just added - **Node Pool**: 1× Linode 4 GB node Click **Create**. The cluster enters the *Initializing* state. .. image:: /static/img/odoo_wf_create_cluster.png :alt: TODO — screenshot of creating the cluster 5. Wait for Cluster Initialization =================================== Eyrie runs an initialization Deployment Book that installs cluster-level components (ingress-nginx, cert-manager, local storage drivers). Wait until the cluster state reaches **Active**. .. image:: /static/img/odoo_wf_cluster_active.png :alt: TODO — screenshot of the cluster in Active state 6. Add a Code Repository ========================= Under your project, navigate to **Repositories** and add the git URL for your Odoo custom modules (e.g. ``https://github.com/my-company/odoo-addons.git``). .. image:: /static/img/odoo_wf_add_repo.png :alt: TODO — screenshot of adding a code repository 7. Create a PGO Deployment Group (Postgres) ============================================ Create a new deployment group: - **Name**: ``Postgres`` - **Type**: ``pgo`` - **Clusters**: select ``us-east-dev`` Then create a deployment inside the PGO group and hit **Deploy**. This stands up a Crunchy PGO Postgres cluster that your Odoo instances will connect to. .. image:: /static/img/odoo_wf_pgo_deploy.png :alt: TODO — screenshot of the PGO deployment running 8. Create an Odoo Deployment Group ==================================== Create another deployment group: - **Name**: ``Odoo`` - **Type**: ``odoo`` - **Clusters**: select ``us-east-dev`` - **Repository**: the code repository you added in step 6 - **Image**: select or configure the Odoo container image .. image:: /static/img/odoo_wf_create_odoo_dg.png :alt: TODO — screenshot of creating the Odoo deployment group 9. Configure Scopes ==================== Inside the Odoo deployment group, set up two scopes: **Production** - Code: ``prod`` - ``allow_drop``: *No* - ``monitor``: *Yes* **Dev** - Code: ``dev`` - ``allow_drop``: *Yes* - ``deployment_pause_after_seconds``: ``14400`` (4 hours) .. image:: /static/img/odoo_wf_scopes.png :alt: TODO — screenshot of the configured scopes 10. Deploy a Production Instance ================================= Create a deployment in the Odoo group: - **Name**: ``Production`` - **Scope**: Production - **Branch**: ``main`` Click **Deploy** and watch the job steps complete in real time. .. image:: /static/img/odoo_wf_prod_deploy.png :alt: TODO — screenshot of the production deployment running 11. Deploy a Dev Instance ========================== Create a second deployment: - **Name**: ``Feature X`` - **Scope**: Dev - **Branch**: ``feature/x`` Click **Deploy**. This instance will automatically pause after 4 hours of inactivity. .. image:: /static/img/odoo_wf_dev_deploy.png :alt: TODO — screenshot of the dev deployment 12. Visit Your Odoo Instance ============================== Each deployment gets an auto-generated subdomain based on the scope's root subdomain. Open the URL shown on the deployment card to access the Odoo web client. .. image:: /static/img/odoo_wf_visit.png :alt: TODO — screenshot of the Odoo web client via the generated subdomain 13. Set Up Backup Schedules ============================= On the production deployment, navigate to **Backups** and create a daily backup schedule. See :doc:`backups` for details. .. image:: /static/img/odoo_wf_backups.png :alt: TODO — screenshot of the backup schedule setup 14. Merge Dev Branch into Production ====================================== When your feature branch is ready, merge it into ``main`` in your git repository. Then re-deploy the production instance — Eyrie picks up the new commit and runs the deploy book again. .. image:: /static/img/odoo_wf_merge_redeploy.png :alt: TODO — screenshot of re-deploying after a merge