{"id":27968670,"url":"https://github.com/ging/fiware-chef_validator","last_synced_at":"2025-06-26T03:33:20.019Z","repository":{"id":34940713,"uuid":"39013005","full_name":"ging/fiware-chef_validator","owner":"ging","description":"An OpenStack validator for the deployment of chef recipes implemented as a service with an OpenStack-native Rest API","archived":false,"fork":false,"pushed_at":"2015-12-05T15:22:19.000Z","size":231,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-07T21:06:22.612Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ging.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-13T13:16:22.000Z","updated_at":"2018-07-02T12:16:10.000Z","dependencies_parsed_at":"2022-09-01T03:40:22.853Z","dependency_job_id":null,"html_url":"https://github.com/ging/fiware-chef_validator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ging/fiware-chef_validator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-chef_validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-chef_validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-chef_validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-chef_validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ging","download_url":"https://codeload.github.com/ging/fiware-chef_validator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-chef_validator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261994263,"owners_count":23241965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-07T21:06:20.326Z","updated_at":"2025-06-26T03:33:19.993Z","avatar_url":"https://github.com/ging.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"FI-Ware Chef Validator\n======================\n\n**Table of Contents**\n\n- [Description](#description)\n- [Features Implemented](#features-implemented)\n- [Installation Manual](#installation-manual)\n- [Installation Verification](#installation-verification)\n- [User Manual](#user-manual)\n- [API Documentation](#api-documentation)\n- [License](#license)\n- [Getting Started](#getting-started)\n- [Installing Dependencies](#installing-dependencies)\n- [Executing the listener API](#executing-the-listener-api)\n- [External Dependencies](#external-dependencies)\n- [Validation Process](#validation-process)\n- [Example Client](#example-client)\n- [Chef Image generation](#chef-image-generation)\n\t\nDescription\n-----------\nThis project is part of [FIWARE] (http://fiware.org).\n\nA FIWARE validator for the deployment of chef cookbooks implemented as\na service with an OpenStack-native Rest API\n\nFeatures Implemented\n--------------------\nA RESTful API for chef cookbook validation\n\nInstallation Manual\n-------------------\nThe installation manual is provided in rst format in the [Installation and Administration manual](doc/source/adminmanual.rst)\n\nInstallation Verification\n-------------------------\nThe sanity check procedures are detailed in the [Installation and Administration manual](doc/source/adminmanual.rst)\n\nUser Manual\n-----------\nThe user manual is provided in rst format in the [User and Programmers manual](doc/source/usermanual.rst)\n\nAPI Documentation\n-----------------\n\nThe API definition can be found at \u003chttp://docs.chefvalidatorapi.apiary.io/#\u003e\n\nLicense\n-------\n\nApache License Version 2.0 \u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e\n\nGetting Started\n---------------\n\nTo run the code you can clone the git repo with:\n\n    git clone git@github.com:ging/fi-ware-chef_validator.git\n\nInstalling Dependencies\n-----------------------\n\nTo install package dependencies you must run:\n\n    pip install -r requirements.txt\n\nExecuting the listener API\n--------------------------\n\nThe listener api can be manually launched with the following command:\n\n    chef_validator/cmd/chef-validator-api.py --config-dir etc/chef_validator\n\n\nExternal Dependencies\n---------------------\n\nThe system deployment depends on several external services for\nsuccessful completion. The dependency list reads as follows:\n\n- **OpenStack Keystone server**: Used for issuing user tokens for several OpenStack services\n- **Docker Server**: Used for managing the chef server image\n- **OpenStack Glance server**: Used for listing the available virtual machine images\n- **OpenStack Nova server**: Used for deploying the selected virtual machine\n\n\nValidation Process\n------------------\n\nThe cookbook validation process consists on the following steps:\n\n1. The **Client** sends a POST request to the service API, containing:\n    - The name of the cookbook to be tested\n    - The *chef supermarket* repository from which to obtain the cookbook\n    - The virtual machine name for deployment\n\n2. The **Server** receives the request and takes the following steps:\n    - Checks the user permissions to take the next steps by validating against Keystone\n    - Downloads the needed *cookbook*\n    - Deploys the selected *Virtual Machine* image\n    - Instructs the **Chef Server** to deploy the *cookbook* in the given *Virtual Machine*\n    - Responds to the **Client** request informing of the status of the validation process\n\nExample Client\n---------------\nAn example client is provided in cmd/chef-validator-client. It can be run with the following command:\n\n    chef_validator/cmd/chef-validator-client.py --validator_url=${url_of_the_validator_api} --username=${username} --password=${password} --image=${author/image_name} --cookbook=${cookbook_name}\n\nChef Image generation\n---------------------\nA default chef-solo image can be automatically generated and uploaded to the glance server with the following command:\n\n    chef_validator/cmd/generate_image.py --username=${username} --password=${password} --auth_url={$auth_url} --tag=${author/image_tag} --config-dir {configuration_dir}\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fging%2Ffiware-chef_validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fging%2Ffiware-chef_validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fging%2Ffiware-chef_validator/lists"}