- Adds the k8s.cluster and k8s.odoo.instance models - Successful connection test (ignoring SSL self-signed cert error) - Successfully pulls OdooInstance information from the cluster Further work roadmap: - Fix the SSL issue (cluster-side, most likely) - Get rid of the text fields containing straight JSON and convert to appropriately typed Odoo fields (on read). - Allow updating OdooInstance fields and writing patches back to the cluster. Failed patch should result in a failed write and reverting back to actual cluster status.
68 lines
3 KiB
XML
68 lines
3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Security Category -->
|
|
<record id="module_category_kubernetes" model="ir.module.category">
|
|
<field name="name">Kubernetes</field>
|
|
<field name="description">Kubernetes cluster and instance management</field>
|
|
<field name="sequence">100</field>
|
|
</record>
|
|
|
|
<!-- Security Groups -->
|
|
<record id="group_k8s_user" model="res.groups">
|
|
<field name="name">K8s User</field>
|
|
<field name="category_id" ref="module_category_kubernetes"/>
|
|
<field name="comment">Can view Kubernetes clusters and instances</field>
|
|
</record>
|
|
|
|
<record id="group_k8s_manager" model="res.groups">
|
|
<field name="name">K8s Manager</field>
|
|
<field name="category_id" ref="module_category_kubernetes"/>
|
|
<field name="implied_ids" eval="[(4, ref('group_k8s_user'))]"/>
|
|
<field name="comment">Can manage Kubernetes clusters and perform operations</field>
|
|
</record>
|
|
|
|
<!-- Record Rules -->
|
|
<record id="rule_k8s_cluster_user" model="ir.rule">
|
|
<field name="name">K8s Cluster: User Access</field>
|
|
<field name="model_id" ref="model_k8s_cluster"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_k8s_user'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="False"/>
|
|
<field name="perm_create" eval="False"/>
|
|
<field name="perm_unlink" eval="False"/>
|
|
</record>
|
|
|
|
<record id="rule_k8s_cluster_manager" model="ir.rule">
|
|
<field name="name">K8s Cluster: Manager Access</field>
|
|
<field name="model_id" ref="model_k8s_cluster"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_k8s_manager'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="True"/>
|
|
</record>
|
|
|
|
<record id="rule_k8s_instance_user" model="ir.rule">
|
|
<field name="name">K8s Instance: User Access</field>
|
|
<field name="model_id" ref="model_k8s_odoo_instance"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_k8s_user'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="False"/>
|
|
<field name="perm_create" eval="False"/>
|
|
<field name="perm_unlink" eval="False"/>
|
|
</record>
|
|
|
|
<record id="rule_k8s_instance_manager" model="ir.rule">
|
|
<field name="name">K8s Instance: Manager Access</field>
|
|
<field name="model_id" ref="model_k8s_odoo_instance"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_k8s_manager'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="True"/>
|
|
</record>
|
|
</odoo>
|