cubicweb-fresh


Namecubicweb-fresh JSON
Version 1.5.2 PyPI version JSON
download
home_pagehttp://www.cubicweb.org/project/cubicweb-fresh
Summaryexpense tracking application built on the CubicWeb framework
upload_time2024-03-22 11:42:31
maintainerNone
docs_urlNone
authorLogilab
requires_pythonNone
licenseLGPL
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.28598s