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 thepublic.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 thefunction.table"EXECUTE"on theprocedure.table"ALL"on thepublic.sequence"SELECT","INSERT","DELETE","UPDATE","TRUNCATE","TRIGGER","REFERENCES"on thepublic.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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb1256d9de3816ee41f2b1e63c3b59dab9c3e0145513e7ac527196305b123439
|
|
| MD5 |
a573365f6acc0403392afb82cbc70641
|
|
| BLAKE2b-256 |
5e7273cbc5ae7659707099f4f1f67216db07c7765bada047dc9acfb18766f076
|
Provenance
The following attestation bundles were made for reliably_app-0.6.1.tar.gz:
Publisher:
release-reliably.yaml on rebound-how/rebound
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reliably_app-0.6.1.tar.gz -
Subject digest:
fb1256d9de3816ee41f2b1e63c3b59dab9c3e0145513e7ac527196305b123439 - Sigstore transparency entry: 1307595760
- Sigstore integration time:
-
Permalink:
rebound-how/rebound@33a1cbf218af4a83b527bba34fa923b4a171fd28 -
Branch / Tag:
refs/heads/release-reliably - Owner: https://github.com/rebound-how
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-reliably.yaml@33a1cbf218af4a83b527bba34fa923b4a171fd28 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
705206d4605d42172e108a97630cbf78190a0162090f35bb7480ab3003d20f25
|
|
| MD5 |
862b876d7f06d236f4e21829104fb632
|
|
| BLAKE2b-256 |
b04e8478ec16567fc589bf549122dc113371e596509de7358d03923c7a016a30
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reliably_app-0.6.1-py3-none-any.whl -
Subject digest:
705206d4605d42172e108a97630cbf78190a0162090f35bb7480ab3003d20f25 - Sigstore transparency entry: 1307595883
- Sigstore integration time:
-
Permalink:
rebound-how/rebound@33a1cbf218af4a83b527bba34fa923b4a171fd28 -
Branch / Tag:
refs/heads/release-reliably - Owner: https://github.com/rebound-how
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-reliably.yaml@33a1cbf218af4a83b527bba34fa923b4a171fd28 -
Trigger Event:
push
-
Statement type: