Make Sedot installable as a system utility

Registered by Fajran Iman Rusadi

Isn't it beautiful if we can apt-get install sedot? :-)

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Some works need to be done before it can happen.

- Make sure all directories under sedot directory are addressed using SEDOT_BASE (also known as BASE) prefix.
- Core and additional components are need to be defined. This will determine the packet dependencies.
- Add default hostname.
- etc

Sedot packet has to follow target distribution standard. For example: all configuration files are placed under /etc/, logs are under /var/log/, etc.

To make this takes less effort, we can use symlink to help dealing with directories at different places. Example structure:

- Sedot directory (SEDOT_BASE) is at /usr/share/sedot
- The pkgs directory is at /etc/sedot/pkgs
- A symlink is created /usr/share/sedot/pkgs -> /etc/sedot/pkgs
- Therefore, the Sedot script doesn't need to be changed since it will find pkgs directory under SEDOT_BASE, which will be a symlink.
- This also applies to the log and report directories

We also have to think about hostname. Sedot is designed to be able to be run on multiple machines with the same (shared) code. That is why you will find node/[hostname] and hostname -f things. This is actually a problem when you only use Sedot on one machine but the hostname is changing frequently (think DHCP!) or if you forget to change the directory when you change the machine's hostname. Should we keep this?

One possible solution for that is by following Drupal's approach. There is a default directory called "default" that will be looked at when the specific configuration directory for hostname that is being used is not found. I think we have to make a function that will return a host specific configuration directory. If directory that matches with the hostname is found, then that directory is returned. Otherwise, the default directory is returned.

Actually there is another thing that is "host dependant". The configuration file is also determined by the hostname. Check lib/init.sh to see the code that is being discussed here. If a file called etc/conf.d/hostname.conf (where "hostname" is the hostname) is found, then that file is included (source-d) to the environment variable of all sedot scripts. Err.. I think the python scripts is not aware of this yet.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.