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]
