Le 12/08/2016 à 14:35, Tristan Cacqueray a écrit :
> Thank you for the update,
> my notes based on the grooming we had:
> 
> On 08/12/2016 10:52 AM, Fabien Boucher wrote:
>> Hi,
>>
>> A follow up on that. For the current sprint we decided to deal with the
>> story http://softwarefactory-project.io/redmine/issues/1500. But thinking 
>> about
>> the list action of the project endpoint and thinking about the future plan
>> of having resources defined in a projects.yaml or a couple of yaml files then
>> IMO we should start storing internally in managesf projects details in
>> a yaml DB to start create code compatible with this yaml format.
>>
>> The idea is too:
>> - Put this story 1500 in the corner
>>
>> And create a new story for:
>> - Create a minimal YAML backend driver
>> - Define a beta format for the project YAML structure
>> - Make the project endpoint compatible with this new backend (existing 
>> action should still work as before)
>> - Create an update task that will read the current state of the platform to 
>> populate that YAML backend
>>   of an existing SF
>>
>>
>> The first implementation will be as follow:
>> CLI or UI -> REST managesf/project -> services plugins (gerrit, redmine, 
>> storyboard)
>>                         |
>>                         |
>>                         ↓
>>                    YAML Backend
>>
>> Later when all is described in the new YAML format then we can move to 
>> something like:
>> CLI or UI ---------
>>                    \
>>                     \
>>                      \
>> config-update -> REST (POST/GET) managesf/resources -> services plugins
>>                                    |
>>                                    |
>>                                    ↓
>>                               GIT config Backend
>>
> 
> The above schema doesn't compute, it seems like we need to support 2 flow:
> 
> CLI/UI -> REST (POST/GET) -> GIT config backend -> config-update
> Code Review -> config-update

Yes you are right the default way to propose a change will be via Gerrit
on the config repo and once a change is approved then it will be apply by
the config-update (triggering managesf REST interface).

And then for the CLI or UI displaying informations will be just reading
the YAML via a GET. If we want supporting changes the CLI and UI will need
to request the API (POST) that will one behalf of the user propose a change
on the config repo and return the changeID to the user.  

> And then:
> 
> config-update -> REST (POST) -> service plugins
> 
> 
> So perhaps two REST controller/api version to support those 2 distincts
> flow.
> 
>> Where the POST and GET will only update or return YAML sections and 
>> endpoints such as
>> project, memberships will be removed.
>>
>> I propose we start to deal with the first implementation as a POC.
>>
>> A beta project YAML structure could be as follow:
>>
>> resources:
>>   projects:
>>     - namespace: software-factory
>>       - git-repo: software-factory
>>         name: ...
>>         description: ...
>>         gitweb: ...
>>         website: ...
>>         tracker: ...
>>         git-replica: ...
>>       - project: cauth
>>         name: ...
>>         description: ...
>>         gitweb: ...
>>         website: ...
>>         tracker: ...
>>         git-replica: ...
>>     - namespace: DCI
>>       - git-repo: dci-control-server
>>         name: ...
>>         description: ...
>>         ... 
>>
> 
> Why using a namespace key ? It seems like the format proposed bellow is
> more yaml friendly... How about a mix of both:

The namespace was more to group projects
(eg: namespace: SF, - project: a, project: b, ..., namespace DCI: project a, 
...)
> 
> projects:
>   "project-name":
>     description: blah
>     url: blah
>     deliverables:
>       ...
> 
> roles:
>   "ptl": {}
>   "core": {}
>   "..."
> 
> other_resources: {}
> 
> 
>> I think this format could be a good starting point.
>>
>> Let me know what do you think.
>>
>> Fabien
>>
>> Le 24/06/2016 à 11:09, Fabien Boucher a écrit :
>>> Hi,
>>>
>>> Le 23/02/2016 à 17:48, Tristan Cacqueray a écrit :
>>>
>>>>>> "sf":
>>>>>>   ptl: {name: ..., irc: ..., email: ...}
>>>>>>   irc-channell: ...
>>>>>>   description: ...
>>>>>>   url: ... (for pages controller)
>>>>>>   tags: lxc-based-ci, nested-rdo-ci
>>>>>>   deliverables:
>>>>>>     'image': {repos: ['software-factory', ], ci: 'functional-tests'}
>>>>>>     'client': {repos: ['python-sfmanager', ] ci: 'unit-test'}
>>>>>>     'server': {repos: ['managesf', ]}
>>
>> _______________________________________________
>> Softwarefactory-dev mailing list
>> [email protected]
>> https://www.redhat.com/mailman/listinfo/softwarefactory-dev
>>
> 
> 
> 
> 
> _______________________________________________
> Softwarefactory-dev mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/softwarefactory-dev
> 

_______________________________________________
Softwarefactory-dev mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/softwarefactory-dev

Reply via email to