Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions docs/developer/vendor-overrides.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Vendor overrides

As a downstream consumer of `foremanctl` you might want to diverge from defaults `foremanctl` offers.
Here's how.

## Parameters

If you want to override parameters, ship a playbook definition that overrides the parameter you want and add it to the `includes` of the command you want to alter.

Example:
`src/playbooks/_vendor_override/metadata.obsah.yaml`:
```yaml
---
variables:
flavor:
choices:
- satellite
```

`src/playbooks/deploy/metadata.obsah.yaml`:
```yaml
include:
- _vendor_override
```

## Features

Changes to features can be done by providing a (partial) feature definition in a YAML file in `src/features.d` (probably shipped as `/usr/share/foremanctl/src/features.d`).

### Adding features

If you want to add a new feature, ship its definition in a file inside `src/features.d`.

Example:
```yaml
cookies:
description: Delicious enterprise cookies
foreman:
plugin_name: foreman_cookies
```

### Removing features

If you want to hide a previously defined feature (fully removing is not possible), set it to `internal: true` in a file inside `src/features.d`.

Example:
```yaml
content/ostree:
internal: true
```

### Changing features

If you want to update any part of a previously defined feature, provide the changes in a file inside `src/features.d`.

Example:
```yaml
iop:
description: Lightspeed
```

## Images

See [Image Management](deployment.md#image-management) in the Deployment documentation.
5 changes: 5 additions & 0 deletions src/playbooks/_vendor_override/metadata.obsah.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
variables:
flavor:
choices:
- satellite

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obviously, this file should not be shipped like this in foremanctl, but be provided by a vendor-branding-package

1 change: 1 addition & 0 deletions src/playbooks/deploy/metadata.obsah.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ variables:
include:
- _flavor_features
- _flavors/katello
- _vendor_override