<img
src="assets/bitmaps/logo_full_white_medium.png"
alt="RacksDB Overview"
align="right"
width="200px"
style="margin: 20px;">
# RacksDB
## Overview
**RacksDB** is an _open source_ solution to modelize your datacenters
infrastructures. It provides a simple database schema to store information about
the equipments in your datacenters. This database can be used as **reference
source** for many purposes in IT management.
* **Inventory**: Get permanent reference list of equipments charactistics and
enable conformity testing.
* **Automation**: Adopt Infrastructure-as-Code by coupling generic configuration
management logic with infrastructures model.
* **Continuous deployment**: Define advanced deployment rules based on nodes
characteristics declared in RacksDB.
* **Monitoring**: Synchronize monitoring services with equipments database and
define dynamic dashboard.
* **Documentation**: Get updated architecture diagrams and define generic
adaptative procedures.
<p align="center">
<img
src="docs/modules/overview/images/racksdb_overview.png"
alt="RacksDB Overview"
style="margin: 0 auto;">
</p>
Generally speaking, **RacksDB** is a specialized
[CMDB](https://en.wikipedia.org/wiki/Configuration_management_database)
dedicated to
[DCIM](https://en.wikipedia.org/wiki/Data_center_management#Data_center_infrastructure_management).
Compared to others products, **RacksDB** can be considered lightweight
alternative to more advanced tools such as [NetBox](https://netbox.dev/) and
[RackTables](https://www.racktables.org/).
The main characteristics of **RacksDB** that makes it unique among other
solutions are the following:
* **YAML based.** The data are stored in plain files using human-readable YAML
format, easily managed with Git.
* **Simple and pragmatic.** The database schema is intuitive and practical,
infrastructures can be described in few minutes.
* **Tag-based.** Easy filtering of data and equipments based on associated tags.
* **Decentralized architecture.** RacksDB can be deployed without central
server, just by replicating few plain YAML files.
* **Extensibility.** In addition to RacksDB simple format, custom schema
extensions can be defined to store specific data.
RacksDB provides multiple interfaces to request the database with its
[CLI tool](https://docs.rackslab.io/racksdb/usage/racksdb.html), a
[Python library](https://docs.rackslab.io/racksdb/usage/lib.html), a
[REST API](https://docs.rackslab.io/racksdb/usage/rest.html) and a
[Web UI](https://docs.rackslab.io/racksdb/usage/ui.html).
<p align="center">
<img
src="assets/screenshots/assemblies/bitmaps/screenshots-small.webp"
alt="RacksDB web UI"
width="600px"
style="margin: 0 auto;">
<p>
For more details, read the
[full description](https://docs.rackslab.io/racksdb/overview/overview.html)
of RacksDB.
## Status
RacksDB is considered stable and ready for production.
## Quickstart
To install and start using RacksDB in a few steps, follow the
[quickstart guide](https://docs.rackslab.io/racksdb/install/quickstart.html)!
## Documentation
The [full documentation](https://docs.rackslab.io/racksdb/)
of RacksDB is available online with complete database definition reference
documentation, how-tos (extensions, positioning), CLI manpage and library API
documentation.
## Community
Do you want to get in touch with developers and the community? Several channels
are available:
* **Matrix Chat** [#racksdb:talk.rackslab.io](https://matrix.to/#/#racksdb:talk.rackslab.io):
instant messaging for quick feedback and help.
> [!NOTE]
> A [Matrix account](https://matrix.org/docs/chat_basics/matrix-for-im/#creating-a-matrix-account)
> is required to access the chat room. It can be created in few steps on any
> Matrix network public provider such as [matrix.org](https://matrix.org) or
> [gitter.im](https://gitter.im/#apps).
* [**GitHub Discussions**](https://github.com/rackslab/RacksDB/discussions):
send questions, ideas and suggestions.
## Authors
RacksDB is developed and maintained by [Rackslab](https://rackslab.io). Please
[contact us](https://rackslab.io/en/contact/) for any questions or professionnal
services.
The project has also received external contributions from great people:
* [@btravouillon](https://github.com/btravouillon)
([Mila](https://mila.quebec/en/))
## Tests
To run the unit tests, launch this command:
```
$ python3 -m unittest discover -v .
```
## License
RacksDB is distributed under the terms of the GNU General Public License v3.0 or
later (GPLv3+).
Raw data
{
"_id": null,
"home_page": null,
"name": "RacksDB",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "cmdb, inventory, yaml, datacenters, racks, hpc, cluster",
"author": null,
"author_email": "R\u00e9mi Palancher <remi@rackslab.io>",
"download_url": "https://files.pythonhosted.org/packages/40/68/20c831845e16695eb8eb0942a72435cace288e56293bc6ba014ca3366013/racksdb-0.4.0.tar.gz",
"platform": null,
"description": "<img\n src=\"assets/bitmaps/logo_full_white_medium.png\"\n alt=\"RacksDB Overview\"\n align=\"right\"\n width=\"200px\"\n style=\"margin: 20px;\">\n\n# RacksDB\n\n## Overview\n\n**RacksDB** is an _open source_ solution to modelize your datacenters\ninfrastructures. It provides a simple database schema to store information about\nthe equipments in your datacenters. This database can be used as **reference\nsource** for many purposes in IT management.\n\n* **Inventory**: Get permanent reference list of equipments charactistics and\n enable conformity testing.\n* **Automation**: Adopt Infrastructure-as-Code by coupling generic configuration\n management logic with infrastructures model.\n* **Continuous deployment**: Define advanced deployment rules based on nodes\n characteristics declared in RacksDB.\n* **Monitoring**: Synchronize monitoring services with equipments database and\n define dynamic dashboard.\n* **Documentation**: Get updated architecture diagrams and define generic\n adaptative procedures.\n\n<p align=\"center\">\n <img\n src=\"docs/modules/overview/images/racksdb_overview.png\"\n alt=\"RacksDB Overview\"\n style=\"margin: 0 auto;\">\n</p>\n\nGenerally speaking, **RacksDB** is a specialized\n[CMDB](https://en.wikipedia.org/wiki/Configuration_management_database)\ndedicated to\n[DCIM](https://en.wikipedia.org/wiki/Data_center_management#Data_center_infrastructure_management).\n\nCompared to others products, **RacksDB** can be considered lightweight\nalternative to more advanced tools such as [NetBox](https://netbox.dev/) and\n[RackTables](https://www.racktables.org/).\n\nThe main characteristics of **RacksDB** that makes it unique among other\nsolutions are the following:\n\n* **YAML based.** The data are stored in plain files using human-readable YAML\n format, easily managed with Git.\n* **Simple and pragmatic.** The database schema is intuitive and practical,\n infrastructures can be described in few minutes.\n* **Tag-based.** Easy filtering of data and equipments based on associated tags.\n* **Decentralized architecture.** RacksDB can be deployed without central\n server, just by replicating few plain YAML files.\n* **Extensibility.** In addition to RacksDB simple format, custom schema\n extensions can be defined to store specific data.\n\nRacksDB provides multiple interfaces to request the database with its\n[CLI tool](https://docs.rackslab.io/racksdb/usage/racksdb.html), a\n[Python library](https://docs.rackslab.io/racksdb/usage/lib.html), a\n[REST API](https://docs.rackslab.io/racksdb/usage/rest.html) and a\n[Web UI](https://docs.rackslab.io/racksdb/usage/ui.html).\n\n<p align=\"center\">\n<img\n src=\"assets/screenshots/assemblies/bitmaps/screenshots-small.webp\"\n alt=\"RacksDB web UI\"\n width=\"600px\"\n style=\"margin: 0 auto;\">\n<p>\n\nFor more details, read the\n[full description](https://docs.rackslab.io/racksdb/overview/overview.html)\nof RacksDB.\n\n## Status\n\nRacksDB is considered stable and ready for production.\n\n## Quickstart\n\nTo install and start using RacksDB in a few steps, follow the\n[quickstart guide](https://docs.rackslab.io/racksdb/install/quickstart.html)!\n\n## Documentation\n\nThe [full documentation](https://docs.rackslab.io/racksdb/)\nof RacksDB is available online with complete database definition reference\ndocumentation, how-tos (extensions, positioning), CLI manpage and library API\ndocumentation.\n\n## Community\n\nDo you want to get in touch with developers and the community? Several channels\nare available:\n\n* **Matrix Chat** [#racksdb:talk.rackslab.io](https://matrix.to/#/#racksdb:talk.rackslab.io):\n instant messaging for quick feedback and help.\n\n > [!NOTE]\n > A [Matrix account](https://matrix.org/docs/chat_basics/matrix-for-im/#creating-a-matrix-account)\n > is required to access the chat room. It can be created in few steps on any\n > Matrix network public provider such as [matrix.org](https://matrix.org) or\n > [gitter.im](https://gitter.im/#apps).\n\n* [**GitHub Discussions**](https://github.com/rackslab/RacksDB/discussions):\n send questions, ideas and suggestions.\n\n## Authors\n\nRacksDB is developed and maintained by [Rackslab](https://rackslab.io). Please\n[contact us](https://rackslab.io/en/contact/) for any questions or professionnal\nservices.\n\nThe project has also received external contributions from great people:\n\n* [@btravouillon](https://github.com/btravouillon)\n ([Mila](https://mila.quebec/en/))\n\n## Tests\n\nTo run the unit tests, launch this command:\n\n```\n$ python3 -m unittest discover -v .\n```\n\n## License\n\nRacksDB is distributed under the terms of the GNU General Public License v3.0 or\nlater (GPLv3+).\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "Modelize your datacenters infrastructures in YAML database",
"version": "0.4.0",
"project_urls": {
"Bug Tracker": "https://github.com/rackslab/RacksDB/issues",
"Homepage": "https://github.com/rackslab/RacksDB"
},
"split_keywords": [
"cmdb",
" inventory",
" yaml",
" datacenters",
" racks",
" hpc",
" cluster"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f43ed84fc87c42ffec7b56b5cb1be02e4a93a51de5843b9232256cb2266e01eb",
"md5": "1144136d14c87467bbac163a00ce01b1",
"sha256": "a63fa0d8c76fee0908178d272714e9edf29c62724b04efe6bf59dbe87589ef08"
},
"downloads": -1,
"filename": "RacksDB-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1144136d14c87467bbac163a00ce01b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 69726,
"upload_time": "2024-04-15T12:34:19",
"upload_time_iso_8601": "2024-04-15T12:34:19.286665Z",
"url": "https://files.pythonhosted.org/packages/f4/3e/d84fc87c42ffec7b56b5cb1be02e4a93a51de5843b9232256cb2266e01eb/RacksDB-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "406820c831845e16695eb8eb0942a72435cace288e56293bc6ba014ca3366013",
"md5": "3ad84097273723913f6dd076377ebffd",
"sha256": "507efc86d6f47b0f853991614fe1e61a91ef38f89532a0e5912821dcd78fae49"
},
"downloads": -1,
"filename": "racksdb-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "3ad84097273723913f6dd076377ebffd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 53229,
"upload_time": "2024-04-15T12:34:20",
"upload_time_iso_8601": "2024-04-15T12:34:20.855959Z",
"url": "https://files.pythonhosted.org/packages/40/68/20c831845e16695eb8eb0942a72435cace288e56293bc6ba014ca3366013/racksdb-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-15 12:34:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rackslab",
"github_project": "RacksDB",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "racksdb"
}