## Info
Community Platform Engineering team (of Red Hat) is working on revamping this project and thus, have cleaned this repository by
* marking other branches stale
* Clean branch created for development
to see the current deployed version of Duffy in CentOS CI Infra, check stale/master branch.
## Duffy
Duffy is the middle layer running ci.centos.org that manages the provisioning, maintenance and teardown / rebuild of the Nodes (physical hardware for now, VMs coming soon) that are used to run the tests in the CI Cluster.
## Development
### Installation
To install Duffy:
1. Clone the repository and navigate into the project directory.
```
git clone https://github.com/CentOS/duffy.git
cd duffy
```
2. Set up and activate a virtual environment.
* Using native virtual environment
```
python3 -m venv duffyenv
source duffyenv/bin/activate
```
Or
* Using virtualenv wrapper
```
virtualenv duffyenv
source duffyenv/bin/activate
```
Or
* Using Poetry virtual environment shell
```
poetry shell
```
3. Install using Poetry
```
poetry install
```
### Running Duffy server
#### Viewing CLI usage
```
duffy --help
```
```
Usage: duffy [OPTIONS]
Duffy is the middle layer running ci.centos.org that manages the
provisioning, maintenance and teardown / rebuild of the Nodes (physical
hardware for now, VMs coming soon) that are used to run the tests in the CI
Cluster.
Options:
-p, --portnumb INTEGER Set the port value [0-65536]
-6, --ipv6 Start the server on an IPv6 address
-4, --ipv4 Start the server on an IPv4 address
-l, --loglevel [critical|error|warning|info|debug|trace]
Set the log level
--version Show the version and exit.
--help Show this message and exit.
```
#### Starting the server at port 8080 using IP version 4 and setting the log level to `trace`
```
duffy -p 8000 -4 -l trace
```
```
* Starting Duffy...
* Port number : 8000
* IP version : 4
* Log level : trace
INFO: Started server process [104283]
INFO: Waiting for application startup.
TRACE: ASGI [1] Started scope={'type': 'lifespan', 'asgi': {'version': '3.0', 'spec_version': '2.0'}}
TRACE: ASGI [1] Receive {'type': 'lifespan.startup'}
TRACE: ASGI [1] Send {'type': 'lifespan.startup.complete'}
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
```
Exit out of the server using `Ctrl` + `C`
Raw data
{
"_id": null,
"home_page": "https://github.com/CentOS/duffy",
"name": "duffy",
"maintainer": "Nils Philippsen",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "nils@redhat.com",
"keywords": "baremetal,ci,vm,opennebula,centos",
"author": "Nils Philippsen",
"author_email": "nils@redhat.com",
"download_url": "https://files.pythonhosted.org/packages/8c/ae/8bf94bd2599a5f0c2f5e2366a3d480418a8c47707acfcf27103c2fb8e5a2/duffy-3.3.9.tar.gz",
"platform": null,
"description": "## Info\nCommunity Platform Engineering team (of Red Hat) is working on revamping this project and thus, have cleaned this repository by\n* marking other branches stale\n* Clean branch created for development\n\nto see the current deployed version of Duffy in CentOS CI Infra, check stale/master branch.\n\n\n## Duffy\nDuffy is the middle layer running ci.centos.org that manages the provisioning, maintenance and teardown / rebuild of the Nodes (physical hardware for now, VMs coming soon) that are used to run the tests in the CI Cluster.\n\n## Development\n\n### Installation\nTo install Duffy:\n1. Clone the repository and navigate into the project directory.\n ```\n git clone https://github.com/CentOS/duffy.git\n cd duffy\n ```\n2. Set up and activate a virtual environment.\n * Using native virtual environment\n ```\n python3 -m venv duffyenv\n source duffyenv/bin/activate\n ```\n Or\n * Using virtualenv wrapper\n ```\n virtualenv duffyenv\n source duffyenv/bin/activate\n ```\n Or\n * Using Poetry virtual environment shell\n ```\n poetry shell\n ```\n3. Install using Poetry\n ```\n poetry install\n ```\n\n### Running Duffy server\n\n#### Viewing CLI usage\n\n```\nduffy --help\n```\n\n```\nUsage: duffy [OPTIONS]\n\n Duffy is the middle layer running ci.centos.org that manages the\n provisioning, maintenance and teardown / rebuild of the Nodes (physical\n hardware for now, VMs coming soon) that are used to run the tests in the CI\n Cluster.\n\nOptions:\n -p, --portnumb INTEGER Set the port value [0-65536]\n -6, --ipv6 Start the server on an IPv6 address\n -4, --ipv4 Start the server on an IPv4 address\n -l, --loglevel [critical|error|warning|info|debug|trace]\n Set the log level\n --version Show the version and exit.\n --help Show this message and exit.\n```\n\n#### Starting the server at port 8080 using IP version 4 and setting the log level to `trace`\n\n```\nduffy -p 8000 -4 -l trace\n```\n\n```\n * Starting Duffy...\n * Port number : 8000\n * IP version : 4\n * Log level : trace\nINFO: Started server process [104283]\nINFO: Waiting for application startup.\nTRACE: ASGI [1] Started scope={'type': 'lifespan', 'asgi': {'version': '3.0', 'spec_version': '2.0'}}\nTRACE: ASGI [1] Receive {'type': 'lifespan.startup'}\nTRACE: ASGI [1] Send {'type': 'lifespan.startup.complete'}\nINFO: Application startup complete.\nINFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)\n```\n\nExit out of the server using `Ctrl` + `C`\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "CentOS CI provisioner",
"version": "3.3.9",
"project_urls": {
"Documentation": "https://github.com/CentOS/duffy/wiki",
"Homepage": "https://github.com/CentOS/duffy",
"Repository": "https://github.com/CentOS/duffy"
},
"split_keywords": [
"baremetal",
"ci",
"vm",
"opennebula",
"centos"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "87f9c9dc9e4973d3b155728cfbc1bc20994326dd7a7c7df3e0dd78a8c259544c",
"md5": "b5e16b94999f25805cd8365653ea6533",
"sha256": "e4c32ef3aa8d6ee06605a175f0ea1c46844de882e1c008190e12eafed2efac4f"
},
"downloads": -1,
"filename": "duffy-3.3.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b5e16b94999f25805cd8365653ea6533",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 61775,
"upload_time": "2023-08-02T10:56:21",
"upload_time_iso_8601": "2023-08-02T10:56:21.987581Z",
"url": "https://files.pythonhosted.org/packages/87/f9/c9dc9e4973d3b155728cfbc1bc20994326dd7a7c7df3e0dd78a8c259544c/duffy-3.3.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8cae8bf94bd2599a5f0c2f5e2366a3d480418a8c47707acfcf27103c2fb8e5a2",
"md5": "4ec0498565c4fe8b533ae2d893346360",
"sha256": "e4d90830f468a813251cc80710b7dbe88735532d1f424c91b60c2747f78c7bcc"
},
"downloads": -1,
"filename": "duffy-3.3.9.tar.gz",
"has_sig": false,
"md5_digest": "4ec0498565c4fe8b533ae2d893346360",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 45731,
"upload_time": "2023-08-02T10:56:24",
"upload_time_iso_8601": "2023-08-02T10:56:24.250206Z",
"url": "https://files.pythonhosted.org/packages/8c/ae/8bf94bd2599a5f0c2f5e2366a3d480418a8c47707acfcf27103c2fb8e5a2/duffy-3.3.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-02 10:56:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "CentOS",
"github_project": "duffy",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "duffy"
}