Skip to content

Add feature/plugin development guide#435

Merged
stejskalleos merged 9 commits intotheforeman:masterfrom
arvind4501:docs/how-to-add-a-plugin
Apr 15, 2026
Merged

Add feature/plugin development guide#435
stejskalleos merged 9 commits intotheforeman:masterfrom
arvind4501:docs/how-to-add-a-plugin

Conversation

@arvind4501
Copy link
Copy Markdown
Contributor

@arvind4501 arvind4501 commented Mar 31, 2026

Documents the complete workflow for adding features to foremanctl, covering feature registration, Smart Proxy configuration, deployment, and validation.

Note:- Generated with help of claude

Documents the complete workflow for adding features to foremanctl, covering feature registration, Smart Proxy configuration, deployment, and validation.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@ehelms
Copy link
Copy Markdown
Member

ehelms commented Mar 31, 2026

What do you think about putting this info in DEVELOPMENT.md for now?

I do think we have started to reach a point where we need to have two sets of docs: user-facing and developer-facing. And that we will need to split them. For example, docs/user docs/developer. I think this can help human discover ability and reading and AI.

Comment thread docs/how-to-add-a-plugin.md Outdated
Comment thread docs/how-to-add-a-plugin.md Outdated
Comment thread docs/how-to-add-a-plugin.md Outdated
Comment thread docs/how-to-add-a-plugin.md Outdated
Comment thread docs/how-to-add-a-plugin.md Outdated
@arvind4501
Copy link
Copy Markdown
Contributor Author

I have splitted our docs into docs/user and docs/developer and added respective docs into those.
I only find certificates.md and parameters.md good condidate user facing docs.

@arvind4501
Copy link
Copy Markdown
Contributor Author

What do you think about putting this info in DEVELOPMENT.md for now?

IMHO we could add it to DEVELOPMENT.md but that would be a lot of content in a single doc(and its only going to increase by time), and i prefer how we do it in our foreman core https://github.com/theforeman/foreman/tree/develop/developer_docs , specific doc for a thing makes it better to navigate.

@ehelms
Copy link
Copy Markdown
Member

ehelms commented Apr 1, 2026

I would consider these user facing:

You could argue that there are elements of both user and development in these. And then the question of is it better to split them based on that or to keep both together.

What do you think?

@arvind4501
Copy link
Copy Markdown
Contributor Author

TBH, i think as most of the docs are useful for both user and developer, its hard to distinguish. I think we can leave all docs in docs/ (or dev_docs as we do in foreman core repo) and it can be consumed by users(mostly satellite admins) and developers both. and then we can update Readme to have all needed info to get started with foremanctl.

I would also love to hear from @ekohl on this.

Comment thread README.md

### Ansible

`ansible-core` 2.16
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

after theforeman/foreman-packaging#13163 obsah works for ansible 2.16 which is present in foreman-plugins repo

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is it worth documenting this here? Obsah requires Ansible, and either it will install whatever version or the RPM will. I don't see anything in this repository enforcing this Ansible version.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, foremanctl does not directly deal with ansible-core, obsah uses it. I remember @ianballou faced some issues related to python3.12dist(ansible-core) not available in RHEL 9 repos and it is required by foremanctl/obsah. thus i ended up documenting it here

@arvind4501 arvind4501 force-pushed the docs/how-to-add-a-plugin branch 2 times, most recently from e9c275f to ef64955 Compare April 6, 2026 10:19
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md
@arvind4501 arvind4501 force-pushed the docs/how-to-add-a-plugin branch from 407aa82 to 7238636 Compare April 7, 2026 06:05
Comment thread docs/developer/playbooks-and-roles.md Outdated
Comment thread docs/developer/playbooks-and-roles.md
Comment thread docs/developer/playbooks-and-roles.md Outdated
Comment thread docs/developer/playbooks-and-roles.md Outdated
Comment thread README.md
@arvind4501 arvind4501 force-pushed the docs/how-to-add-a-plugin branch from 24ae109 to a34180f Compare April 8, 2026 05:46
Comment thread docs/developer/how-to-add-a-plugin.md Outdated
Comment thread docs/developer/how-to-add-a-plugin.md Outdated
Comment thread docs/developer/how-to-add-a-plugin.md Outdated
Comment thread docs/developer/how-to-add-a-plugin.md Outdated
Comment thread docs/developer/playbooks-and-roles.md
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread README.md
Comment thread README.md
Copy link
Copy Markdown

@jafiala jafiala left a comment

Choose a reason for hiding this comment

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

Just some clarity suggestions

Comment thread docs/developer/how-to-add-a-feature.md Outdated
Comment thread docs/developer/how-to-add-a-feature.md Outdated
Comment thread docs/developer/how-to-add-a-feature.md Outdated
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

minor changes

remove duplicate

fun
@arvind4501 arvind4501 force-pushed the docs/how-to-add-a-plugin branch from d93e0f7 to a942670 Compare April 9, 2026 10:24
Comment thread docs/developer/how-to-add-a-feature.md Outdated
Comment thread docs/developer/how-to-add-a-feature.md Outdated
Comment thread docs/developer/how-to-add-a-feature.md
Comment thread docs/developer/how-to-add-a-feature.md Outdated
@arvind4501 arvind4501 force-pushed the docs/how-to-add-a-plugin branch from 6a08f0a to e3b86f7 Compare April 14, 2026 05:15
Comment thread docs/developer/how-to-add-a-feature.md Outdated
Comment thread docs/developer/playbooks-and-roles.md Outdated
Comment thread CONTRIBUTING.md
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'd prefer to avoid having dedicated contributing docs in each repo. This PR should focus on the plugin dev flow, nothing else.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

i can remove contributing docs,sure, but i expect the readme, other doc changes to go in with this dev doc improvement

@arvind4501 arvind4501 force-pushed the docs/how-to-add-a-plugin branch from 627b2b1 to c56c2e0 Compare April 14, 2026 11:39
Copy link
Copy Markdown
Contributor

@stejskalleos stejskalleos left a comment

Choose a reason for hiding this comment

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

🍏 I'm fine with merging it as it is, doing continuous updates as we progress in development.

@stejskalleos stejskalleos merged commit 57a0ee5 into theforeman:master Apr 15, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants