bemade-addons/k8s_odoo_manager/data/k8s_data.xml

48 lines
1.7 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Default data for the module -->
<!-- Cron job for periodic sync -->
<record id="cron_k8s_sync_instances" model="ir.cron">
<field name="name">Sync Kubernetes Odoo Instances</field>
<field name="model_id" ref="model_k8s_cluster"/>
<field name="state">code</field>
<field name="code">model.cron_sync_all_clusters()</field>
<field name="interval_number">15</field>
<field name="interval_type">minutes</field>
<field name="active" eval="False"/>
<field name="user_id" ref="base.user_root"/>
</record>
<!-- Server actions -->
<record id="action_server_sync_all_clusters" model="ir.actions.server">
<field name="name">Sync All Clusters</field>
<field name="model_id" ref="model_k8s_cluster"/>
<field name="binding_model_id" ref="model_k8s_cluster"/>
<field name="binding_view_types">list</field>
<field name="state">code</field>
<field name="code">
# Sync selected clusters
for record in records.filtered('active'):
try:
record.sync_odoo_instances()
except Exception as e:
# Continue with other clusters even if one fails
pass
</field>
</record>
<record id="action_server_test_cluster_connection" model="ir.actions.server">
<field name="name">Test Connection</field>
<field name="model_id" ref="model_k8s_cluster"/>
<field name="binding_model_id" ref="model_k8s_cluster"/>
<field name="binding_view_types">list</field>
<field name="state">code</field>
<field name="code">
# Test connection for selected clusters
for record in records:
record.test_connection()
</field>
</record>
</odoo>