Skip to main content

Remote control for DLCE apps

Project description

clldappconfig

Scripted deployment and management of clld web apps. This package provides the appconfig command line utility as well as fabric tasks which can be used in fabfiles for managing individual apps.

Tests PyPI

command line utility usage

To show a help message run

appconfig --help

The appconfig command needs a configuration directory containing the global configuration file (apps.ini) and the config scripts all managed apps. I.e. the config directory (here apps/) should have the following structure:

apps
├── apps.ini
├── README.md
├── abvd
│   ├── fabfile.py
│   ├── README.md
│   └── requirements.txt
├── acc
│   ├── fabfile.py
│   ├── README.md
│   └── requirements.txt
.
.
.

The config discovery is done in the following order:

  1. use argument of --config / -c
  2. use the APPCONFIG_DIR environment variable
  3. by default the current working directory (./) is assumed to be the config directory

So both of the following commands do the same thing:

appconfig --config ./path/to/appconfig/apps/ ls
env APPCONFIG_DIR=./path/to/appconfig/apps/ appconfig ls

using fabfiles

For every app should provide a subdirectory of the config directory, which contains a fabfile.py with the following minimal structure:

from clldappconfig.tasks import *

init()

Inside the directory containing the fabfile you can run fab -l to list all available tasks for deployment, managing databases etc.

Config discovery for the fabfiles works as follows:

  1. use the APPCONFIG_DIR environment variable
  2. by default the parent of the current working directory (../) is assumed to be the config directory

If you use the config directory structure as described above, you can rely on the default behavior and usually don't need to set the APPCONFIG_DIR environment variable.

TODO:

  • describe structure and options of apps.ini
  • describe some common workflows like deploying an app

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

clldappconfig-1.2.0.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

clldappconfig-1.2.0-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file clldappconfig-1.2.0.tar.gz.

File metadata

  • Download URL: clldappconfig-1.2.0.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.3

File hashes

Hashes for clldappconfig-1.2.0.tar.gz
Algorithm Hash digest
SHA256 2650c666d4df915944ec6f882b4466b368773577dc7f8ae649221c70c3ee18b9
MD5 162d3abd03e4e29d6d9e08328d475c08
BLAKE2b-256 768c1ea9450014bd7f17b2c0ec007806d795c9f77137bd2eb834495663d500fe

See more details on using hashes here.

File details

Details for the file clldappconfig-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for clldappconfig-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c76533f4ed750343b6799248cfb168a63279a8f707bf743cf29fd4cc65eb97bf
MD5 2a0311e83f9ff00465896a23df271e78
BLAKE2b-256 e9f0f3e9f5d9348d81a6dcf584e10ecc6541c7043f03f524cf84c5096c1ca1b8

See more details on using hashes here.

Supported by

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