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/bc/b2/c4e432d3ae81b73ed05a3a3c21653cd0dc3cfa8d5cab14e7903f87772559/cubicweb-fresh-1.5.2.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.5.2",
"project_urls": {
"Homepage": "http://www.cubicweb.org/project/cubicweb-fresh"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5129a2dfaf3a77f89f9bbb6999911fb52d1580e51fe5b35dc50820c65d6881a1",
"md5": "181b1caf77ff283f9032cf21014ce678",
"sha256": "e064792b49bf0468bc2742ac0f59f1983cbb5b79fdba28a1fd98aab59fe34919"
},
"downloads": -1,
"filename": "cubicweb_fresh-1.5.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "181b1caf77ff283f9032cf21014ce678",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13434,
"upload_time": "2024-03-22T11:42:30",
"upload_time_iso_8601": "2024-03-22T11:42:30.275242Z",
"url": "https://files.pythonhosted.org/packages/51/29/a2dfaf3a77f89f9bbb6999911fb52d1580e51fe5b35dc50820c65d6881a1/cubicweb_fresh-1.5.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bcb2c4e432d3ae81b73ed05a3a3c21653cd0dc3cfa8d5cab14e7903f87772559",
"md5": "ea8381def8754d5428301fbdb5923d53",
"sha256": "a5b0c6ae2b15e15bae3fe23e5015996aa4ffe8c05c0fe056ce11ba84323f01b4"
},
"downloads": -1,
"filename": "cubicweb-fresh-1.5.2.tar.gz",
"has_sig": false,
"md5_digest": "ea8381def8754d5428301fbdb5923d53",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13831,
"upload_time": "2024-03-22T11:42:31",
"upload_time_iso_8601": "2024-03-22T11:42:31.936768Z",
"url": "https://files.pythonhosted.org/packages/bc/b2/c4e432d3ae81b73ed05a3a3c21653cd0dc3cfa8d5cab14e7903f87772559/cubicweb-fresh-1.5.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-22 11:42:31",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "cubicweb-fresh"
}