An open API service indexing awesome lists of open source software.

https://github.com/theforeman/foreman_rh_cloud

a plugin to Foreman that generates, and uploads reports to the Red Hat cloud
https://github.com/theforeman/foreman_rh_cloud

foreman hacktoberfest theforeman

Last synced: 5 months ago
JSON representation

a plugin to Foreman that generates, and uploads reports to the Red Hat cloud

Awesome Lists containing this project

README

          

[![Ruby tests](https://github.com/theforeman/foreman_rh_cloud/actions/workflows/ruby_tests.yml/badge.svg)](https://github.com/theforeman/foreman_rh_cloud/actions/workflows/ruby_tests.yml)
[![JS](https://github.com/theforeman/foreman_rh_cloud/actions/workflows/js_tests.yml/badge.svg)](https://github.com/theforeman/foreman_rh_cloud/actions/workflows/js_tests.yml)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/theforeman/foreman_rh_cloud)

# ForemanRhCloud

## Installation

See [How_to_Install_a_Plugin](http://projects.theforeman.org/projects/foreman/wiki/How_to_Install_a_Plugin)
for how to install Foreman plugins

## Project overview
See our [wiki](https://deepwiki.com/theforeman/foreman_rh_cloud)

### In Satellite

#### Inventory upload

In UI: Insights -> Inventory Upload -> select the organization -> Generate and upload report

From command-line:

# generate and upload report for all organizations
/usr/sbin/foreman-rake rh_cloud_inventory:report:generate_upload

# generate and upload report for specific organization
export organization_id=1
/usr/sbin/foreman-rake rh_cloud_inventory:report:generate_upload

# generate report for specific organization (don't upload)
export organization_id=1
export target=/var/lib/foreman/red_hat_inventory/generated_reports/
/usr/sbin/foreman-rake rh_cloud_inventory:report:generate

# upload previously generated report (needs to be named 'report_for_#{organization_id}.tar.gz')
export organization_id=1
export target=/var/lib/foreman/red_hat_inventory/generated_reports/
/usr/sbin/foreman-rake rh_cloud_inventory:report:upload

#### Fetch hosts remediation data

In UI: Insights -> Recommendations -> Sync recommendations (under the vertical ellipsis)

From command-line:

/usr/sbin/foreman-rake rh_cloud_insights:sync

#### Synchronize inventory status

In UI: Insights -> Inventory Upload -> Sync all inventory status

From command-line:

# all organizations
/usr/sbin/foreman-rake rh_cloud_inventory:sync

# specific organization with id 1
export organization_id=1
/usr/sbin/foreman-rake rh_cloud_inventory:sync

## TODO

*Todo list here*

## Design

### Endpoints

| purpose | url | ENV setting for the **bold** part
| ------------------------------| -------| -----------
| Inventory uploads | **https://cert.cloud.redhat.com/api/ingress/v1/upload** | SATELLITE_INVENTORY_UPLOAD_URL
| Query inventory hosts list | **https://cloud.redhat.com** /api/inventory/v1/hosts?tags= | SATELLITE_RH_CLOUD_URL
| Query insights hits | **https://cloud.redhat.com** /api/insights/v1/export/hits/ | SATELLITE_RH_CLOUD_URL
| Query insights rules | **https://cloud.redhat.com** /api/insights/v1/rule/?impacting=true&rule_status=enabled&has_playbook=true&limit=&offset= | SATELLITE_RH_CLOUD_URL
| Query insights resolutions | **https://cloud.redhat.com** /api/remediations/v1/resolutions| SATELLITE_RH_CLOUD_URL
| Forward insights-client `/static` requests | **https://cloud.redhat.com** /api/static | SATELLITE_RH_CLOUD_URL
| Forward insights-client legacy `/platform` requests | **https://cert.cloud.redhat.com** /api | SATELLITE_CERT_RH_CLOUD_URL
| Forward insights-client legacy `/redhat_access/r/insights` requests | **https://cert-api.access.redhat.com** /r/insights | SATELLITE_LEGACY_INSIGHTS_URL

## Contributing

Fork and send a Pull Request. Thanks!

## Copyright

Copyright (c) 2013 - 2024 - The Foreman Team

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .