SUSE Enceladus Project
Code and docs relevant to public clouds.

Introduction

The SUSE-Enceladus organization in GitHub was created to serve the needs of the SUSE Public Cloud Team. We started out with a "collector" project named Enceladus within the SUSE organization. Over time the collector project grew unwieldy and we had various unrelated source bases intermingled in the Enceladus project. In addition some of our other projects, large an small were maintained in separate projects in separate orgs. SUSE-Enceladus was created to collect our efforts for original source code in one organization, help us be more organized, and provide a better overview of the projects we develop and maintain. The initial projects in this organization started as migrations from Enceladus or other projects we maintained in GitHub.

The project's namesake, Enceladus, is one of Jupiter's moons. Due to an ice crust, Enceladus is very reflective, making it easy to see despite its small size. Jupiter's gravity keeps this wet moon geologically active - causing geysers that shoot warm liquid up into it's thin cold atmosphere, which then falls back to the surface as snow. In essence, it's a heavenly body that perpetually generates clouds.

Goals

We strive to provide a reasonably uniform experience for all projects within the SUSE-Enceladus organization. In an effort to achieve this uniform experience we strive to document our processes and procedures. Each project will have a LICENSE, a README.md, and a CONTRIBUTING.md file that provides information about the project. However, projects do have different needs and therefore some differences are to be expected.

Guidelines

Projects in the SUSE-Enceladus organization represent original work of the SUSE Public Cloud DevOps team. We hope our work is useful to you and we welcome any contribution. All projects here are in alignment with the SUSE open source policy and as such we do not have a contributor agreement.

The projects in the SUSE-Enceladus organization do not accept content generated with the assistance of artificial intelligence as contributions. By submitting a pull request for review and inclusion the submitter certifies that the contribution was not generated with the assistance of AI.

Projects

Here are a few highlights from the many projects in our repository...

Cloud-specific Utilities

aliyun-img-utils

A command line utility and API for publishing images in the Aliyun Cloud.

ec2imgutils

A collection of utilities for image management in AWS EC2.

gceimgutils

A collection of utilities for image management in Google Compute Engine.

Instance Metadata

azuremetadata

Collect metadata for an instance in Azure.

ec2metadata

A command line utility to collect meta data available in an Amazon Web Services Elastic Compute Cloud (EC2) guest instance.

gcemetadata

A command line utility to collect meta data available in an Google Compute Engine instance.

Cloud Region Service

cloud-regionsrv

A REST service that provides information about update servers in a cloud environment based on region hint or the IP address of the client requesting the information.

cloud-regionsrv-client

Obtains cloud specific update server information from the region service and then uses this information to register the guest instance with the region-local update server.

service-access-config

Restrict access to a server, to only specific IP ranges. Supports Apache, NGINX, HAProxy.

Pint - the Public cloud INformation Tracker

public-cloud-info-service

Enables users to lookup Public Cloud images and services information via REST API.

public-cloud-info-client

Command line client to access the REST API provided by the SUSE Public Cloud Information Service.

Image Testing & Publishing Pipeline

img-proof

A command line utility to test images in the Public Cloud

mash

MASH provides a set of service based processes for image release automation into the Public Cloud Frameworks.

mash-client

A command line utility to interface with the MASH server REST API.

obs-img-utils

A command line utility and API for images in Open Build Service.

Image Definition Pipeline

keg

Kiwi Entwicklungs-Gerät (tool to produce kiwi image descriptions).

keg-recipes

Brews for keg (data collection to create image descriptions with keg).

Cluster Deployment

cloudinstancecredentials

A Service that extracts information from a running instance and sets the web server for the web based UI up to use http-basicauth for login purposes.

get-framework-k8s-api-version

CLI tool for providing the latest supported k8s version within a specific CSP framework. Supports AKS, EKS, GKE.

rubygem-cloud-instancetype

Ruby library for consistently presenting a handful of instance types in a thoughtful way.

Image Internals

azure-li-services

Systemd services reading and processing the sections of a configuration file provided to the system during the startup phase of an Azure Large or Very Large Instance.

cloud-netconfig

A collection of scripts for automatically configuring network interfaces in cloud frameworks.

container-img-store-setup

Improve startup speed of container storage in AWS ECS hosts.

rootgrow

A simple wrapper for growpart.

supportutils-plugin-suse-public-cloud

A plugin for supportutils to collect system information from running instances in a Public Cloud Framework that originated from SUSE published and maintained images.

susemanager-cloud-setup

Scripts to help set up SUSE Manager in the public cloud.

Tools & Examples

cloud-formation

Example templates to orchestrate SUSE Linux Enterprise based workloads in Amazon EC2.

sle-compliance

Inspect all SUSE Linux instances in an AWS account for proper billing meters.

DevOps

monitoring

A collection of plugins for Nagios/Icinga that we use to monitor our update infrastructure in the Public Cloud.

update-infra-utils

A collection of utilities used to help with maintenance and setup of the SUSE operated update infrastructure in Public Cloud Frameworks.