Quickstart to Spacewalk Codebase - uyuni-project/uyuni GitHub Wiki

This document is intended to be read from people starting hacking into the Codebase. It contains the list of directories inside the Github repository with a brief description of each one.

Quick links

Codebase directory structure

  • backend - Repository syncing, SUMA2SUMA syncing, XML-RPC API used for M2M.
  • client - Tools and dependencies to setup and manage traditional clients (non-Salt).
  • contrib - Not important; we don't use it.
  • documentation - Not important; we don't use it.
  • java - The Java code base, read Quickstart to Java Codebase.
  • projects - Packages for compatibility with Oracle.
  • proxy - Packages for suse-manage-proxy: installer, code, etc.
  • rel-eng - Release Engineering stuff.
  • reporting - Utilities to run SQL queries and produce report CSV files.
  • satellite - Not important; Legacy stuff.
  • schema - Database schemas, both to initial setup and migrations.
  • scripts - Not important; we don't use it.
  • search_server - Lucene-based search engine (deamon) to search for content.
  • selinux - Not used, we do not enforce SELinux for SUMA.
  • spacecmd - CLI tool to interact with SUMA trough the Java user XML-RPC API.
  • spacewalk - Initial setup for spacewalk/SUMA, configuration, tools, assitant, script to create bootscript for traditional clients.
  • spec-tree - We use just some of the packages as external dependencies, most are already moved to IBS.
  • suseRegisterInfo - Provides additional information about which SUSE products are installed.
  • susemanager-branding-oss - Not important; contains legacy license EULA.
  • susemanager-branding-non-oss - Not important; contains legacy license EULA.
  • susemanager-proxy - Mostly empty; contains old licensing information; candidate for cleanup.
  • susemanager-sync-data - Part of channel management - required to access SCC.
  • susemanager-utils - Salt static content, Nagios plugin, and other testing and support utilities.
  • susemanager - Our main package; Contains SUSE setup stuff, YAST module, etc. Also has code for migrating servers.
  • tftpsync - Tools for having a TFTP boot directly on a SUMA proxy.
  • usix - Wrapper library to write compatible code between python 2 and 3.
  • utils - Utility scripts; playground for the spacewalk community - we only provide L2 support.
  • web - Contains all Javascript stuff, including React.js.