1.7 KiB
1.7 KiB
Nailgun API Extension with External Git Server
About
Nailgun extension that generates deployment data based on configuration files published in external git repository
Requirements
Deployed Fuel 9.0 (Mitaka) Master Node
Installation
Execute following commands on Fuel Master node
# git clone https://github.com/dukov/fuel-external-git
# cd fuel-external-git
# pip install -r requirements.txt
# python setup.py install
# nailgun_syncdb
# service nailgun reload
API
- GET /clusters/git-repos
- Returns list of configured git repos for all clusters/environments
- Example
curl -H "X-Auth-Token: $(fuel token)" http://localhost:8000/api/v1/clusters/git-repos
- POST /clusters/git-repos
- Create new repo for particular cluster
- input data schema:
"title": "Cluster", "description": "Serialized Cluster object", "type": "object", "properties": { "id": {"type": "number"}, "repo_name": {"type": "string"}, "env_id": {"type": "number"}, "git_url": {"type": "string"}, "ref": {"type": "string"}, "user_key": {"type": "string"}```
- Example
curl -X POST -H "X-Auth-Token: $(fuel token)" http://localhost:8000/api/v1/clusters/git-repos -d '{"user_key": "", "git_url": "https://github.com/dukov/openstack-configs", "env_id": 5, "ref": "master", "repo_name": "osconf1"}'
- PUT /clusters/(?P<cluster_id>\d+)/git-repos/(?P<obj_id>\d+)
- Updates repo with obj_id info for cluster cluster_id
- Example:
curl -X PUT -H 'X-Auth-Token: $(fuel token)' http://localhost:8000/api/v1/clusters/4/git-repos/2 -d '{"ref": "master"}'