On Sat, Sep 19, 2020 at 11:56 PM Vinícius Ferrão <[email protected]>
wrote:

> Hello, I’m developing an application around Cockpit with my colleagues and
> I was wondering if there’s a way to consume Cockpit without our application
> being a plugin inside the Cockpit interface.
>
> Our application is something like an HPC Cluster Manager, so it makes
> total sense to use Cockpit as the basis, there’s a lot of functionality
> built in, and the upstream development is just awesome. But as per consumer
> feedback it would be better to have a separate web interface instead of it
> being a plugin inside the Cockpit web interface.
>
> I’m looking through the documentation and there’s the Cockpit API:
> https://cockpit-project.org/guide/latest/development.html
>
> I see that Cockpit can be embedded entirely in an external application,
> but this is not what we really want to do.
>
> We want to do a new web interface, using IBM’s Carbon design guidelines
> with HPC in mind and not the system being managed, which is the vision of
> Cockpit as is. There’s this Deep Integration on the documentation and I
> think what we need is just this, but the documentation is lacking.
>
> The point is: as today, is it viable to consume Cockpit with its API’s in
> a totally different frontend interface? So I can use things like:
> authentication, performance graphs, dashboards, user creation, logging,
> console terminal, etc?
>

It certainly is possible and a number of projects have done this. I've done
a number of demos of this. Here's some links:

https://cockpit-project.org/blog/sso-oauth.html
https://cockpit-project.org/guide/133/embedding.html#embedding-components

Not only is it possible, but the protocols between the different parts of
Cockpit (front end, cockpit-ws, cockpit-bridge, cockpit-ssh, authentication
etc.) are all stable "APIs". The project aims and guarantees (via testing)
that these protocols do not change.

In particular it is possible to:

 * Embed Cockpit in another application (see Foreman)

 * Replace the authentication mechanism:
https://github.com/cockpit-project/cockpit/blob/master/doc/authentication.md

 * Display just a single component (rather than the full shell)

 * Change the components that are displayed

 * Add custom components (obviously as decumented)

* Replace the default "shell" ... this is the frame/menu that loads the
other components

It sounds like you want to do the last one ^^, is that correct?

You can do so by setting something like in /etc/cockpit/cockpit.conf

    [WebService]
    Shell = /mycomponent/index.html

Does that work for you?

Stef

-- 
Stef Walter (he / his)
Linux Engineering
Red Hat
_______________________________________________
cockpit-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/[email protected]

Reply via email to