Skip to main content

expense tracking application built on the CubicWeb framework

Project description

Expense tracking application built on the CubicWeb framework.

Developping with docker

Assuming you have a postgresql running on your machine where you can connect with peer authentication, run “make dev” it will spawn an interactive shell inside a docker container with the code mounted in develop mode. It mean you can edit the code locally and run it in the container.

Some useful commands:

  • cubicweb-ctl db-create -a fresh will create and initialize the database

  • cubicweb-ctl pyramid -D -l info fresh will start the instance on http://localhost:8080

Deploying on kubernetes

The file deployment.yaml contains several containers split in several deployments:

  • nginx to serve static files directly

  • fresh to run the application (and compile the latest translation)

  • an initContainers upgrade before fresh that upgrade the database schema if there is a new fresh version.

  • fresh-scheduler to have the scheduler running.

To create the initial database from an existing empty database:

kubectl run -it fresh-dbcreate \
   --env CW_DB_HOST=db \
   --env CW_DB_USER=user \
   --env CW_DB_PASSWORD=pass \
   --env CW_DB_NAME=fresh \
   --image=hub.extranet.logilab.fr/logilab/fresh --command -- \
   cubicweb-ctl db-create --automatic --create-db=n fresh
kubectl delete deployment fresh-dbcreate

Then generate a secret named “fresh” from where environment variables are set:

kubectl create secret generic fresh-env \
   --from-literal CW_DB_HOST=db
   --from-literal CW_DB_USER=user \
   --from-literal CW_DB_PASSWORD=pass \
   --from-literal CW_DB_NAME=fresh \
   --from-literal CW_BASE_URL=https://fresh.example.com

You need to mount a cwclientlib configuration file to make CWClientLibDataFeedParser. If you don’t use this feature, just create an empty file.

Create a file named cwclientlibrc and run:

kubectl create secret generic fresh-cwclientlibrc --from-file=./cwclientlibrc

Create a persistent volume for bfss data:

kubectl apply -f deploy/pvc.yaml

Then deploy fresh with:

kubectl apply -f deploy/deployment.yaml

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

cubicweb_fresh-1.12.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

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

cubicweb_fresh-1.12.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file cubicweb_fresh-1.12.1.tar.gz.

File metadata

  • Download URL: cubicweb_fresh-1.12.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for cubicweb_fresh-1.12.1.tar.gz
Algorithm Hash digest
SHA256 0819c5d20f9f2274c63685a43e545e1051e464f100bc5691cfd6825fc50bc93a
MD5 e14055a60424351df215a39f9cdcfafb
BLAKE2b-256 e9a4f8f85f4699c7af1eea866643aac7b87d1572bc8a18bd1ed414859be30a91

See more details on using hashes here.

File details

Details for the file cubicweb_fresh-1.12.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cubicweb_fresh-1.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 16a09becefdb0276e2862893fe82437d489271305a11760608be3953ff3d4a02
MD5 e713cc2f070c001faea7a5da5b215925
BLAKE2b-256 b411139f75aaf1a43995f93c3339548faf2101c56e98b92012a776c42fe435e6

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