Search 1.9 billion lines of Odoo code on GitHub

saas

Author: IT-Projects LLC, Ivan Yelizariev
License: AGPL-3
Branch: 15.0
Repository: em230418/saas-addons
Dependencies: auth_quick_master, base, http_routing, mail, queue_job, saas_cluster_simple, web_editor, and web_notify
Languages: Python (764, 52.8%), XML (511, 35.3%), and reStructuredText (173, 11.9%)
Other branches: 12.0, 12.0-backports, 12.0-db-list, 12.0-saas_apps_signup, 12.0-saas_expiration, 12.0-saas_expiration-2020-04-13, 12.0-saas_expiration-2020-05-08, 12.0-saas_expiration-20200512, 12.0-saas_expiration-20200513, 13.0, 13.0-prepare-to-port, 13.0-prepare-to-port2, 13.0-price-change, 13.0-saas-port, 13.0-saas_apps_signup, 13.0-saas_contract, 13.0-saas_demo-port, 13.0-saas_expiration, 13.0-saas_hai, 13.0-saas_product, 13.0-saas_public-port, 13.0-travis-bump-build-link, 13.0-travis-bump-python, 13.0-travis-porting-to-13, 14.0, 14.0-ported, 14.0-prepare_before_port, and 14.0-saas_backups
Other repositories: Altovate/saas-addons, AyoubZahid/clouder, Deanzou/saas-addons, Enigma228322/saas-addons, ErrafayM/clouder, Jeisonpernia/saas-addons, MaryamKia/saas-addons, MediaJockey/saas-addons, MjAbuz/saas-addons, NigmatullinAN/saas-addons, Nucleoos/clouder, RL-OtherApps/saas-addons, Raniani-lab/saas-addons, SeuMarco/saas-addons, Tedezed/saas-addons, TestMergeBot/saas-addons, YannickB/saas-deprecated, ajinvn2019/saas-addons, ajite/odoo-hosting-orchestrator, alejandroperezcosio/clouder, altanmur/saas-addons, angeloluidens/saas-addons, anhvu-sg/saas-addons, axonoffice/clouder, cdelambert/clouder, code-pack/saas-addons, diassynthesis/odoo-hosting-orchestrator, digitalsatori/saas, dingguijin/saas-addons, dndoanh/saas-addons, dvorakmilda/saas-addons, dynaz/saas-addons, elblasy33/saas-addons, hinfo506/saas-addons, hotkee/saas, ilmir-k/saas-addons, it-projects-llc/saas-addons, jason156/saas-addons, jeffery9/saas, jupiterzhuo/saas-addons, kaadevelop/saas-addons, kaadevelopment/saas-addons, kmee/saas-addons, laumar92/saas-addons, lithint/clouder, loftwah/saas-addons, marionumza/it-projects-llc-saas-addons, mbouazza/saas-addons, metalwmz/saas-addons, michielbdejong/clouder, microcom/clouder, mohshedid/saas-addons, molandtoxx/saas-addons, nedaszilinskas/saas-addons, niulinlnc/saas-addons, odoousers2014/clouder, pasgou/clouder, pasgou/saas-addons, phlema/saas-addons, phoexer/saas-addons, sem2173/odoo-hosting-orchestrator, shengyf1/saas-addons, shingonoide/saas, sinandurgut07/saas-addons, ssisoftwaresolutions/saas-addons, steingabelgaard/clouder, suhongrui/odoo-hosting-orchestrator, sunflowerit/saas-addons, thanhchatvn/saas-addons, toanthuan/saas-addons, veryberry/clouder, vkuldeep/saas-addons, ychavda/saas-addons, and yelizariev/saas-addons

<a class="reference external image-reference" href="https://www.gnu.org/licenses/agpl"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a name="saas-base"></a> <h2>SaaS Base</h2> <p>Base module for master SaaS instance.</p> <p>The module is similar to <code>saas_portal</code> in <em>odoo-saas-tools</em>.</p> <a name="models-overview"></a> <h3>Models overview</h3> <ul class="simple"> <li><code>saas.template</code> -- similar to <code>saas_portal.plan</code> in <em>odoo-saas-tools</em>, but covers only technical aspects (database creation) and not any sale/trial stuff. A single record can be used for multiple servers (via <code>saas.template.operator</code>.</li> <li><code>saas.operator</code> -- similar to <code>saas_portal.server</code> in <em>odoo-saas-tools</em>. Credentials to create-destroy, update, migrate, backup, etc. odoo instances.<ul> <li>It doesn't need special odoo instance (database, <em>SaaS Server</em> in terms of <em>odoo-saas-tool</em> project) in corresponding server and could work by sending requests, for example, to kubernetes.</li> <li>Single <em>operator</em> is only one set of modules at some versions. If you have a server which is used for different versions of odoo or just module version, then you need you to create <code>saas.operator</code> per each module set. Those <em>operators</em> may use same credentials.</li> <li>Different <em>Operators</em> may have same postgresql scope. It's usefull in staging when we apply a database for new versions of modules. On the other hand, it force us to have unique database names across operators</li> </ul> </li> <li><code>saas.db</code> -- similar to <code>saas_portal.client</code> in <em>odoo-saas-tools</em></li> <li><code>saas.log</code> -- saas history, e.g. database creation, updating, etc.</li> </ul> <a name="roadmap"></a> <h3>Roadmap</h3> <ul class="simple"> <li><dl class="first docutils"> <dt>TODO: Create menu for SaaS Operator</dt> <dd><ul class="first last"> <li>smart button for builds list</li> </ul> </dd> </dl> </li> <li><dl class="first docutils"> <dt>TODO: Create menu for SaaS Log model</dt> <dd><ul class="first last"> <li>saas.db form: add smart button for saas.log's</li> <li>saas.operator: add smart button for saas.log's</li> </ul> </dd> </dl> </li> <li>TODO: Add check uniqueness of database name across saas.db records with state == done. Also check that there is no records of saas.db with name equal to one that user wants to use in use in wizard, saas template operator.</li> <li>TODO: Make the saas.template form duplicable again</li> <li>TODO: Add page refresh button on saas.template form</li> <li><dl class="first docutils"> <dt>TODO: saas_test: add database creation rollback and extra safety:</dt> <dd><ul class="first last"> <li>setUp: prepare list of database names that will be created during the tests. Check that those databases don't exist and raise error otherwise</li> <li>use random suffix to avoid droping database reserved for production purposes during test execution, e.g. template_database_ecusnc63asdf234</li> <li>tearDown: drop created databases after test exectuion</li> </ul> </dd> </dl> </li> <li><dl class="first docutils"> <dt>TODO: Add coverage for &quot;Connect to the build&quot; button:</dt> <dd><ul class="first last"> <li>get authentication on master database in requests' session (use authenticate method from odoo/tests/common.py)</li> <li>open &quot;connect to build url&quot;</li> <li>check that you are finally redirected to /web page at the build</li> </ul> </dd> </dl> </li> <li>TODO: add computed record in saas.db model to avoid using the name of the master database. Some new db type is needed. Say, <code>('other', 'Reserved DB Name')</code></li> <li>TODO: saas.operator: add a button that runs a wizard which allows to make new build (saas.db) from backup; add a method in <code>saas.operator</code> which takes the backup as argument; implement the method for &quot;Same Instance&quot; operator</li> </ul> <a name="credits"></a> <h3>Credits</h3> <a name="contributors"></a> <h4>Contributors</h4> <ul class="simple"> <li><a class="reference external" href="https://it-projects.info/team/yelizariev">Ivan Yelizariev</a></li> <li><a class="reference external" href="https://it-projects.info/team/mudarisov">Denis Mudarisov</a></li> <li><a class="reference external" href="https://it-projects.info/team/em230418">Eugene Molotov</a></li> </ul> <a name="sponsors"></a> <h4>Sponsors</h4> <ul class="simple"> <li><a class="reference external" href="https://it-projects.info">IT-Projects LLC</a></li> </ul> <a name="maintainers"></a> <h4>Maintainers</h4> <ul class="simple"> <li><a class="reference external" href="https://it-projects.info">IT-Projects LLC</a></li> </ul> <a name="further-information"></a> <h3>Further information</h3> <p>Demo: <a class="reference external" href="http://runbot.it-projects.info/demo/saas-addons/14.0">http://runbot.it-projects.info/demo/saas-addons/14.0</a></p> <p>Usage instructions: <a class="reference external" href="doc/index.rst">doc/index.rst</a></p> <p>Changelog: <a class="reference external" href="doc/changelog.rst">doc/changelog.rst</a></p> <p>Notifications on updates: <a class="reference external" href="https://github.com/it-projects-llc/saas-addons/commits/14.0/saas.atom">via Atom</a>, <a class="reference external" href="https://blogtrottr.com/?subscribe=https://github.com/it-projects-llc/saas-addons/commits/14.0/saas.atom">by Email</a></p> <p>Tested on Odoo 14.0 8ca3ea063050f2ab2d19cce8a68116489872a734</p>