Skip to main content
Senza template for automatic deployment of PostgreSQL instances
===============================================================

This package provides an external template for the stups-senza tool (https://github.com/zalando-stups/senza), allowing rapid deployment of PostgreSQL nodes on AWS. It's designed to work together with an external tool that runs
senza with all necessary parameters and deploy DB instances automatically, therefore, the template is a non-interactive one. Compared to the PostgresApp template (included with senza) it adds the following actions:

- NAT gateways are detected based on the customer DNS zone.
- Correct Etcd endpoints in the current account are detected for a specific region.
- Non-interactive mode is the default one, all parameters can be supplied with environment variables (`-v` option during senza init).
- pg_hba.conf is configured by default to reject non-SSL connections.
- Standby and superuser passwords are automatically generated.
- All passwords and scalyr keys are encrypted.
- zmon2 group is automatically picked from the current account.
- EBS is always used.

Installation
============

.. code-block:: bash

$ sudo pip3 install --upgrade senza.templates.acid

Usage
=====

.. code-block:: bash

$ senza init -t base [-v param=name] deployment.yaml

Below is the list of parameters supported by the template:

- *team_name*: the name of the team to deploy the template (used as part of the DNS name for the resulting instance).
- *team_region*: AWS region of the team to deploy the template (by default, eu-west-1 and eu-central-1 are supported).
- *team_gateway_zone*: the DNS zone the application runs at, to look for the NAT gateways.
- *add_replica_loadbalancer*: whether to add a separate load-balancer to serve requests for the replica (default: false).
- *instance_type*: AWS EC2 instance type to deploy the DB on (default: t2.medium).
- *volume_size*: initial size of the DB EBS volume in GBs (default: 10).
- *volume_type*: AWS type of the EBS volume (default: gp2).
- *volume_iops*: number of the IO operations per second for the provision IO EBS volumes.
- *snapshot_id*: ID of the existing EBS snapshot to initialize the new database from.
- *scalyr_account_key*: Key to the scalyr account to log the database activity.
- *pgpassword_admin*: password to the admin account.
- *postgresql_conf*: a JSON dictionary of the key-value parameters for the PostgreSQL.

Examples:
========

Initialization:

.. code-block:: bash

$ senza init -t base -v team_name=foo -v 'team_region=eu-west-1' -v 'team_gateway_zone=foo.example.com' -v 'hosted_zone=db.example.com' -v instance_type=m3.medium' -v 'postgresql_conf='{shared_buffers: 1GB}' deploy.yaml

Deployment:

.. code-block:: bash

$ senza create deploy.yaml bar

The steps above result in the deployment of the new PostgreSQL cluster consisting of 3 t2.medium instances, available under
the name of `bar.db.example.com` and accessible to the application running in the account associated with the DNS zone
`foo.example.com`. They only work in the AWS environment configured for STUPS and senza.

Senza it a powerful tool developed by Zalando to deploy applications on AWS. If you are not familiar with senza-based
deployments, please, refer to the STUPS documentation: http://stups.readthedocs.io/en/latest/.

License
=======
Apache 2.0

Releasing
=========

.. code-block:: bash

$ ./release.sh <NEW_VERSION>

Download files

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

Source Distribution

acid.senza.templates-1.100.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

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

acid.senza.templates-1.100-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file acid.senza.templates-1.100.tar.gz.

File metadata

  • Download URL: acid.senza.templates-1.100.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.5

File hashes

Hashes for acid.senza.templates-1.100.tar.gz
Algorithm Hash digest
SHA256 5b6365a680c465c8ded471e5b6d0ac3caaf07d745cdcd66fabc01490016af44b
MD5 a54abab2b9cb6c25d6aee5543a6fb4bc
BLAKE2b-256 8b58d211f281633dc43e70ffbb4a287b43c46c0fec328f6043b7b4101103ac52

See more details on using hashes here.

File details

Details for the file acid.senza.templates-1.100-py3-none-any.whl.

File metadata

File hashes

Hashes for acid.senza.templates-1.100-py3-none-any.whl
Algorithm Hash digest
SHA256 b6500e9ed03cce68ae296e0d3cacd40125b24b442cc39306a4b9ea6c0b7792f1
MD5 7b6fb2e5a513b521d5f685730d3f3bc0
BLAKE2b-256 cb17dcc284d9c60b2468047c468836435abf62c2cc8d4d1c5c6011735a2c9f94

See more details on using hashes here.

Release history Release notifications | RSS feed

1.103

2 files

1.102

2 files

1.101

2 files

This release

1.100 This release

2 files

1.99

2 files

1.98

2 files

1.97

2 files

1.96

2 files

1.95

2 files

1.94

2 files

1.93

2 files

1.92

2 files

1.90

2 files

1.85

2 files

1.80

2 files

1.60

2 files

1.50

2 files

1.40

2 files

1.30

2 files

1.20

2 files

1.10

2 files

1.9

2 files

1.8

2 files

1.7

2 files

1.6

2 files

1.5

2 files

1.4

2 files

1.3

2 files

1.2

2 files

1.1

2 files

1.0

1 file

Supported by

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