-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(config_management): document module
!17 #42
- Loading branch information
Showing
6 changed files
with
117 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
title: Config Management | ||
description: No Fuss Computings Django ITSM Config Management Module | ||
date: 2024-06-03 | ||
template: project.html | ||
about: https://gitlab.com/nofusscomputing/infrastructure/configuration-management/django_app | ||
--- | ||
|
||
Config Management is an ITSM process that deals with the management and storing of device/host configuration. This module aims to bridge the gap between manual entry of config data via JSON/YAML to entry via a UI. For items that are yet to be integrated into the UI, if at all possible, that config is still manually entered as JSON. The rendered configuration is intended to be consumed by Ansible. For all intents and purposes, consider this module to be the equivalent of Ansible's host groups. | ||
|
||
|
||
## Features | ||
|
||
This module contains the following features: | ||
|
||
- Config Groups | ||
|
||
- Assign host to multiple groups | ||
|
||
- History | ||
|
||
|
||
## Config Groups | ||
|
||
Considerable thought was placed into as wide a scope as possible, how the host config groups would function. This includes how the end product (the config) would be rendered. To aid in conveying how the config is rendered, consider the following image, which is a basic tree from a single root at the top, with three branches. | ||
|
||
 | ||
|
||
A host can be assigned to multiple groups as long as the host is not part of the same branch. This image has had each node coloured to denote different groups of the same branch. Note: the red node is a common node for the three branches. for example a host can be placed in each of the three coloured branches. the root node however, if the host is placed in this group then the host can not be placed in any other node. this is because the red node is the root for all three coloured branches. | ||
|
||
When it comes time to merge the configuration, if a parent group has the same config as it's childs config. The childs config will take precedence. For a host that is placed in all three branches (orange, green and blue), based of of the group name, sorted alphanumerically, the last group that has conflicting config will be the one that is used. A groups config will always be rendered with it's parents config included all the way up the branch to the root node. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
<mxfile host="app.diagrams.net" modified="2024-06-03T01:49:35.015Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" etag="jYMoo90cuGXn_K-Y5V_J" version="24.2.1" type="device"> | ||
<diagram name="Page-1" id="sbUyBCaYiuDQ_FkowPAe"> | ||
<mxGraphModel dx="1434" dy="766" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> | ||
<root> | ||
<mxCell id="0" /> | ||
<mxCell id="1" parent="0" /> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF3333;" vertex="1" parent="1"> | ||
<mxGeometry x="545" y="40" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF9933;" vertex="1" parent="1"> | ||
<mxGeometry x="345" y="214" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3ROtmLI4iqX4xD-AvKj1-3" target="3ROtmLI4iqX4xD-AvKj1-2"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF9933;" vertex="1" parent="1"> | ||
<mxGeometry x="345" y="374" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3ROtmLI4iqX4xD-AvKj1-4" target="3ROtmLI4iqX4xD-AvKj1-3"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF9933;" vertex="1" parent="1"> | ||
<mxGeometry x="345" y="534" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-8" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#99FF33;" vertex="1" parent="1"> | ||
<mxGeometry x="545" y="214" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3ROtmLI4iqX4xD-AvKj1-10" target="3ROtmLI4iqX4xD-AvKj1-8"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-10" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#99FF33;" vertex="1" parent="1"> | ||
<mxGeometry x="545" y="374" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3ROtmLI4iqX4xD-AvKj1-12" target="3ROtmLI4iqX4xD-AvKj1-10"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-12" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#99FF33;" vertex="1" parent="1"> | ||
<mxGeometry x="545" y="534" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-13" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#3399FF;" vertex="1" parent="1"> | ||
<mxGeometry x="745" y="214" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-14" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3ROtmLI4iqX4xD-AvKj1-15" target="3ROtmLI4iqX4xD-AvKj1-13"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#3399FF;" vertex="1" parent="1"> | ||
<mxGeometry x="745" y="374" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3ROtmLI4iqX4xD-AvKj1-17" target="3ROtmLI4iqX4xD-AvKj1-15"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-17" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#3399FF;" vertex="1" parent="1"> | ||
<mxGeometry x="745" y="534" width="80" height="80" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-20" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="390" y="210" as="sourcePoint" /> | ||
<mxPoint x="540" y="110" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-21" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="780" y="210" as="sourcePoint" /> | ||
<mxPoint x="630" y="110" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="3ROtmLI4iqX4xD-AvKj1-22" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1"> | ||
<mxGeometry width="50" height="50" relative="1" as="geometry"> | ||
<mxPoint x="585" y="210" as="sourcePoint" /> | ||
<mxPoint x="585" y="130" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
</root> | ||
</mxGraphModel> | ||
</diagram> | ||
</mxfile> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters