bemade-addons/k8s_odoo_manager/security/k8s_security.xml
Marc Durepos 9019d8f280 k8s_odoo_manager: first little MVP
- 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.
2025-10-01 20:32:46 -04:00

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>