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
Raw data
{
"_id": null,
"home_page": "http://www.cubicweb.org/project/cubicweb-fresh",
"name": "cubicweb-fresh",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Logilab",
"author_email": "contact@logilab.fr",
"download_url": "https://files.pythonhosted.org/packages/e8/2b/841d05f15e45f47f20cdba06b4d69ecc4043d882e163c062ef587090802f/cubicweb_fresh-1.10.0.tar.gz",
"platform": null,
"description": "Expense tracking application built on the CubicWeb framework.\n=============================================================\n\nDevelopping with docker\n=======================\n\nAssuming you have a postgresql running on your machine where you can connect\nwith peer authentication, run \"make dev\" it will spawn an interactive shell\ninside a docker container with the code mounted in develop mode. It mean you\ncan edit the code locally and run it in the container.\n\nSome useful commands:\n\n- ``cubicweb-ctl db-create -a fresh`` will create and initialize the database\n\n- ``cubicweb-ctl pyramid -D -l info fresh`` will start the instance on\n http://localhost:8080\n\n\nDeploying on kubernetes\n=======================\n\nThe file `deployment.yaml` contains several containers split in several\ndeployments:\n\n- `nginx` to serve static files directly\n\n- `fresh` to run the application (and compile the latest translation)\n\n- an *initContainers* `upgrade` before `fresh` that upgrade the database schema\n if there is a new `fresh` version.\n\n- `fresh-scheduler` to have the scheduler running.\n\n\nTo create the initial database from an existing empty database::\n\n kubectl run -it fresh-dbcreate \\\n --env CW_DB_HOST=db \\\n --env CW_DB_USER=user \\\n --env CW_DB_PASSWORD=pass \\\n --env CW_DB_NAME=fresh \\\n --image=hub.extranet.logilab.fr/logilab/fresh --command -- \\\n cubicweb-ctl db-create --automatic --create-db=n fresh\n kubectl delete deployment fresh-dbcreate\n\n\nThen generate a secret named \"fresh\" from where environment variables are set::\n\n kubectl create secret generic fresh-env \\\n --from-literal CW_DB_HOST=db\n --from-literal CW_DB_USER=user \\\n --from-literal CW_DB_PASSWORD=pass \\\n --from-literal CW_DB_NAME=fresh \\\n --from-literal CW_BASE_URL=https://fresh.example.com\n\n\nYou need to mount a cwclientlib configuration file to make\nCWClientLibDataFeedParser. If you don't use this feature, just create an empty\nfile.\n\nCreate a file named cwclientlibrc and run::\n\n kubectl create secret generic fresh-cwclientlibrc --from-file=./cwclientlibrc\n\n\nCreate a persistent volume for bfss data::\n\n kubectl apply -f deploy/pvc.yaml\n\n\nThen deploy fresh with::\n\n kubectl apply -f deploy/deployment.yaml\n",
"bugtrack_url": null,
"license": "LGPL",
"summary": "expense tracking application built on the CubicWeb framework",
"version": "1.10.0",
"project_urls": {
"Homepage": "http://www.cubicweb.org/project/cubicweb-fresh"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8e1913424166c62803c6daf8eb1e689269273b83bdb0f1cdc30b6482968223b2",
"md5": "c003286f5554d47bde418f057bc0610c",
"sha256": "27be4340f663707b31399cd0cf851be2845c736ad9f54f29ec4b68065cda7c00"
},
"downloads": -1,
"filename": "cubicweb_fresh-1.10.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c003286f5554d47bde418f057bc0610c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13661,
"upload_time": "2025-01-31T16:29:24",
"upload_time_iso_8601": "2025-01-31T16:29:24.501240Z",
"url": "https://files.pythonhosted.org/packages/8e/19/13424166c62803c6daf8eb1e689269273b83bdb0f1cdc30b6482968223b2/cubicweb_fresh-1.10.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e82b841d05f15e45f47f20cdba06b4d69ecc4043d882e163c062ef587090802f",
"md5": "5f7bf9ef651442753207552584f0ed2e",
"sha256": "d1ae19c55f57b2d93f57d106ddeae875d26fe33213bd85b32e3a2b0e6118e2d0"
},
"downloads": -1,
"filename": "cubicweb_fresh-1.10.0.tar.gz",
"has_sig": false,
"md5_digest": "5f7bf9ef651442753207552584f0ed2e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15388,
"upload_time": "2025-01-31T16:29:27",
"upload_time_iso_8601": "2025-01-31T16:29:27.759748Z",
"url": "https://files.pythonhosted.org/packages/e8/2b/841d05f15e45f47f20cdba06b4d69ecc4043d882e163c062ef587090802f/cubicweb_fresh-1.10.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-31 16:29:27",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "cubicweb-fresh"
}