Skip to main content

Base for all clases and scripts in VauxooTools

Project description

CI Status ===

[![Pypi version](https://img.shields.io/pypi/v/deployv.svg)](https://pypi.python.org/pypi/deployv) [![Build status](https://git.vauxoo.com/vauxoo/deployv/badges/master/build.svg)](https://git.vauxoo.com/vauxoo/deployv/commits/master) [![coverage status](https://git.vauxoo.com/vauxoo/deployv/badges/master/coverage.svg)](https://coverage.vauxoo.com/master-master/) [![Documentation](https://git.vauxoo.com/vauxoo/deployv/badges/master/build.svg)](https://git.vauxoo.com/deployv/orchest/wikis/home)

DeployV ===

The main DeployV goal is to have a set of tools for working with dockerized Odoo instances as a library or command line interface using a simple json formatted config files.

It is planned that in further versions will be an [Odoo](https://www.odoo.com) integration so the whole configuration process can be done directly in the instance and deployed to the corresponding server (this would be configurable too) using [RabbitMQ](https://www.rabbitmq.com/) for messaging. This graphical interface development is done in the [Orchest](https://github.com/Vauxoo/orchest) repository.

Getting started ===

## Installing

Before installing the library you will need to have the following installed:

  • build-essential

  • python-setuptools

  • python-dev

  • libpq-dev

  • libffi-dev

This can be performed executing the following:

$ sudo apt-get update $ sudo apt-get install build-essential python-setuptools python-dev libpq-dev libffi-dev

All Python dependencies are listed in the requirements.txt and will be installed when you run:

$ python setup.py install

Notice that you must have docker and PostgreSQL installed on your system, if not you can install docker following the [official documentation](https://docs.docker.com/installation/ubuntulinux) and you can use the a PostgreSQL container ([vauxoo/docker-postgresql](https://hub.docker.com/r/vauxoo/docker-postgresql/)), run it:

$ docker run -d -p 127.0.0.1:5136:5432 -p 172.17.42.1:5136:5432 –name odoo_psql vauxoo/docker-postgresql:latest /entry_point.py

The port 5136 is used to avoid conflict with any postgres running instance. It is attached to the docker interface and the [loopback](http://www.tldp.org/LDP/nag/node66.html) so it is accessible from the container and the host only, the –name parameter is optional and can be changed to your needs. To see a detailed description of the parameters go to [docker cli documentation page](https://docs.docker.com/reference/commandline/cli/).

Note: This have been tested with docker 1.7.1 only

## Testing the installation

In the test folder you can find a sample configuration file names config.json this file uses a [docker test image](https://hub.docker.com/r/vauxoo/odoo80-test/) that have some public repositories and Odoo 8.0.

Run the create command:

$ deployvcmd create -f /path/to/tests/config.json -l DEBUG -z /any/path

Notice that the backup must start with customer_id if you specify a directory, if you specify a specific file only then the name format does not matter.

## Basic commands

The image for the instance can be created by:

$ deployvcmd build -u git@github.com:user/app_repo.git -v 8.0

And it will create a docker image using Odoo 8.0 and will install all dependencies from the requirements.txt and oca_dependencies.txt, if you wish to build from a development branch just do:

$ deployvcmd build -u git@github.com:user-dev/app_repo.git -b my_dev_branch -v 8.0

As you can see in the test section you can easily create an Odoo instance using the command line, but also generate a backup from it:

$ deployvcmd backupdb -f /path/to/tests/config.json -z ./backup/path -d database_name_to_backup

Or you can create a backup from an instance in a container:

$ deployvcmd backupdb -n container_name -z ./backup/path -d database_name_to_backup

I will generate a compressed file in ./backup/path with a database dump, attachments and a json file with the instance branches info.

To restore the generated dump just have to execute:

$ deployvcmd restore -f /path/to/tests/config.json -z ./backup/path

Also, if you want to restore it to a dockerized instance:

$ deployvcmd restore -n container_name -z ./backup/path

This will search the best best backup to restore or if you wish to specify one:

$ deployvcmd restore -f /path/to/tests/config.json -z ./backup/path/backup_file.tar.bz2

The database name is generated automatically, but you can change this behaviour too:

$ deployvcmd restore -f /path/to/tests/config.json -z ./backup/path/backup_file.tar.bz2 -d specific_database_name

### Anonymize data This functionality is based on [Postgresql Anonymizer Extension](https://postgresql-anonymizer.readthedocs.io/en/stable/). The extension must be installed in host/container where database is located, by executing (as root user):

# apt install pgxnclient build-essential postgresql-server-dev-kk # pgxn install postgresql_anonymizer

where kk its postgresql version (according to host/container), like: 9.6, 10, 11, etc,

Also, odoo user (in database) must have superuser privilege (in order to create and activate extension, create schema and functions):

ALTER USER odoo WITH SUPERUSER;

In deactivate step, anonymization of data could be executed. For that, create a file /etc/deployv/deactivate/anon_operations.csv as indicated by internal documentation.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deployv-0.9.194.tar.gz (117.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deployv-0.9.194-py3-none-any.whl (128.6 kB view details)

Uploaded Python 3

File details

Details for the file deployv-0.9.194.tar.gz.

File metadata

  • Download URL: deployv-0.9.194.tar.gz
  • Upload date:
  • Size: 117.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for deployv-0.9.194.tar.gz
Algorithm Hash digest
SHA256 f6a0ac53a8f2fc3a8ad8bf95800cd96570f3420cff098d8b1310e55e27ad3efd
MD5 135d3b2894203c6bacb203c08bf0cc67
BLAKE2b-256 1766b8b248c36cc9eaaeb90c28ea98a36b96d09c70124d026945dcd6b8e80654

See more details on using hashes here.

File details

Details for the file deployv-0.9.194-py3-none-any.whl.

File metadata

  • Download URL: deployv-0.9.194-py3-none-any.whl
  • Upload date:
  • Size: 128.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for deployv-0.9.194-py3-none-any.whl
Algorithm Hash digest
SHA256 319e4f796721015c294ce0a98eeaa69095cd88c0ceb1a33b334495e50785daa4
MD5 9cff9a66fdddad3a54271843f458d0c7
BLAKE2b-256 f2809e8728a1c5d8150dc8231f7d745356d0862677e0c4ff8cf90e897e86e95b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page