Add to the ITAM module, software package details for use with the software component.
Use Case
Being able to determine the package details of an application is paramount to being able to manage it. in addition to this once the package details are known, automations can then be used to fetch this information from ITAM to use.
Details
Add a child component for use with the Software component called software package. the fields for the module could be:
id Primary Key
type Package type, choice apt|docker|pypi|git|ansible
url url of package
Package Types
It's desirable that the package types can have the information fetched from a publicly accessible endpoint.
pypi provides an API for packages curl --header 'Accept: application/json' https://pypi.org/pypi/<package name>/json | jq
git Both gitlab and github provide an API for repository access.
Package API Requests
For package services that provide an API endpoint, fetching of the details from it is desired as this provides means for the available versions to be automagically updated. Further features could also be added for example to provide information/feedback on installed versions that can be updated.
Add to the ITAM module, software package details for use with the software component.
Use Case
Being able to determine the package details of an application is paramount to being able to manage it. in addition to this once the package details are known, automations can then be used to fetch this information from ITAM to use.
Details
Add a child component for use with the Software component called software package. the fields for the module could be:
id
Primary Keytype
Package type, choiceapt|docker|pypi|git|ansible
url
url of packagePackage Types
It's desirable that the package types can have the information fetched from a publicly accessible endpoint.
curl --header 'Accept: application/json' https://pypi.org/pypi/<package name>/json | jq
Package API Requests
For package services that provide an API endpoint, fetching of the details from it is desired as this provides means for the available versions to be automagically updated. Further features could also be added for example to provide information/feedback on installed versions that can be updated.
Links
Blocks nofusscomputing/centurion_erp#3
Blocks: nofusscomputing/centurion_erp#125
Blocked By: nofusscomputing/centurion_erp#58
Blocked By: nofusscomputing/centurion_erp#131
Blocked By: nofusscomputing/centurion_erp#132
Blocked by: nofusscomputing/centurion_erp#141
Related: nofusscomputing/centurion_erp#85
Related: nofusscomputing/centurion_erp#4
Related: nofusscomputing/centurion_erp_ui#8
Related nofusscomputing/centurion_erp#130
Related nofusscomputing/centurion_erp#138
Reference: https://github.com/artifacthub/hub/issues/1685#issuecomment-971596259
Reference: OCI Container spec: https://github.com/opencontainers/distribution-spec/blob/main/spec.md
Tasks
Features
[ ] Fetch packages versions and add them to as a new software version
[ ] Docker
[ ] PyPi
git
Ansible
[ ] Helm Charts (#71 nofusscomputing/centurion_erp#69 )
[ ] be able to schedule Package checks for new versions
[ ] Information links are added to software
[ ] Each package manager to be usable with the relevant ansible module
Requirements
[ ] Respects rate limiting for API access
[ ] Outbound webhooks