Skip to main content

Reliably - Resilience and Chaos Engineering Platform

Project description

Reliably Application server

Welcome to Reliably. This is the application server which serves the reliably API used by Reliably services.

Requirements

This application requires the following to run:

  • A modern Linux distribution with systemd
  • Python 3.12+
  • Access to a PostgreSQL 14+ database
  • Docker available to run the plans

Getting Started

Install the application

Run following command:

pip install \
    -U \
    --disable-pip-version-check \
    --prefer-binary \
    --no-cache-dir \
    reliably-app

The username and password should have been given to you by Reliably staff as well. You may save them in your keyring but make sure they are properly secured.

You may use the same command to update Reliably.

View the version

Run the following command:

reliably-server version

This may be handy when interacting with Reliably staff.

View this Readme

Run the following command:

reliably-server doc show-readme

Initializating a configuration file

Run the following command:

reliably-server config init --interactive

This will populate a .env file in the current directory with good default values. It will prompt you for some additional information.

Feel free to review and edit that file.

Populating the database

The first task is to ensure your database is properly populated. Once done, this should be seldom required, only reliably informs you the schema has been changed.

Run the following command:

reliably-server db migrate

You can ask for the current moigration revision:

reliably-server db revision

If you created two different PostgreSQL users with different roles, you need to create a new .env file (you can simply duplicate the application one created in the previous section) and change the database credentials accordingly.

Then run:

reliably-server db migrate --env-file .migrate.env

This will use this configuration to create the database schema.

Run Reliably

You can run the reliably-server process manually or via systemd. We will focus on first running it manually and explain the systemd supervision in a following section.

In the directory containing your .env file, run the following command:

reliably-server run

By default, Reliably creates a pidfile to track the running process. You can change the path of the pidfile or also disable the pidfile with the appropriate command line argument.

Stop Reliably

You can stop the server with the following command:

reliably-server stop

Where to go next?

At this stage, Reliably is now running and can be used. Let's see what else you may need to do.

Appendices

Database

Version

Reliably only works with a PostgreSQL database and expects a recent version (at least version 14).

Access to a PostgreSQL 14+ database

For quick start, you may run a PostgreSQL locally in a container as follows:

docker run \
    --name postgres \
    -e POSTGRES_USER=test \
    -e POSTGRES_PASSWORD=secret \
    -e POSTGRES_DB=reliably \
    -p 5432:5432 \
    --rm \
    postgres

Users and their roles

The reliably-server process expects a non-admin user but with the following privileges:

  • "CONNECT", "TEMPORARY" on the database
  • "ALL" on the public.table

In addition, to run the migration script that populates and keep the schema up to date, you need one user with the following privileges:

  • "CREATE", "CONNECT", "TEMPORARY" on the database
  • "EXECUTE" on the function.table
  • "EXECUTE" on the procedure.table
  • "ALL" on the public.sequence
  • "SELECT", "INSERT", "DELETE", "UPDATE", "TRUNCATE", "TRIGGER", "REFERENCES" on the public.table

We suggest you create two distinct users but you don't have to.

Supervision

Systemd

You may want to ensure it is supervised properly by the system in case it goes down. If you run on a modern Linux system, you probably have systemd installed. You can therefore install a systemd unit service that will ensure systemd takes care of the process.

To do that, run the following command:

reliably-server system systemd create-unit-service

This will generate a reliably.service file that can be installed as a system service following the instructions given by the command.

Project details


Download files

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

Source Distribution

reliably_app-0.6.1.tar.gz (6.0 MB view details)

Uploaded Source

Built Distribution

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

reliably_app-0.6.1-py3-none-any.whl (8.0 MB view details)

Uploaded Python 3

File details

Details for the file reliably_app-0.6.1.tar.gz.

File metadata

  • Download URL: reliably_app-0.6.1.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for reliably_app-0.6.1.tar.gz
Algorithm Hash digest
SHA256 fb1256d9de3816ee41f2b1e63c3b59dab9c3e0145513e7ac527196305b123439
MD5 a573365f6acc0403392afb82cbc70641
BLAKE2b-256 5e7273cbc5ae7659707099f4f1f67216db07c7765bada047dc9acfb18766f076

See more details on using hashes here.

Provenance

The following attestation bundles were made for reliably_app-0.6.1.tar.gz:

Publisher: release-reliably.yaml on rebound-how/rebound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reliably_app-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: reliably_app-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for reliably_app-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 705206d4605d42172e108a97630cbf78190a0162090f35bb7480ab3003d20f25
MD5 862b876d7f06d236f4e21829104fb632
BLAKE2b-256 b04e8478ec16567fc589bf549122dc113371e596509de7358d03923c7a016a30

See more details on using hashes here.

Provenance

The following attestation bundles were made for reliably_app-0.6.1-py3-none-any.whl:

Publisher: release-reliably.yaml on rebound-how/rebound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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