Code Monkey home page Code Monkey logo

sumaform's Introduction

sumaform logo

sumaform is a way to quickly configure test Uyuni and SUSE Manager infrastructures with clients and servers.

Travis CI build status Join the chat at https://gitter.im/sumaform/Lobby

Installation

openSUSE and SUSE Linux Enterprise Server:

# Uncomment one of the following lines depending on your distro

#sudo zypper addrepo https://download.opensuse.org/repositories/systemsmanagement:/sumaform/openSUSE_Leap_15.1/systemsmanagement:sumaform.repo
#sudo zypper addrepo https://download.opensuse.org/repositories/systemsmanagement:/sumaform/SLE_12_SP4/systemsmanagement:sumaform.repo
#sudo zypper addrepo https://download.opensuse.org/repositories/systemsmanagement:/sumaform/SLE_15_SP1/systemsmanagement:sumaform.repo

sudo zypper install terraform-provider-libvirt git-core
git clone https://github.com/uyuni-project/sumaform.git

Ubuntu and Debian:

sudo apt install alien
wget https://download.opensuse.org/repositories/systemsmanagement:/sumaform/SLE_15_SP1/x86_64/terraform.rpm
sudo alien -i terraform.rpm
wget https://download.opensuse.org/repositories/systemsmanagement:/sumaform/SLE_15_SP1/x86_64/terraform-provider-libvirt.rpm
sudo alien -i terraform-provider-libvirt.rpm
git clone https://github.com/uyuni-project/sumaform.git

NOTE: to deploy development versions of SUSE Manager you will have to have SUSE's internal CA certificates installed on your system.

You will need to edit HCL (HashiCorp Configuration Language) files. Syntax highlighting is available in major text editors like atom.

Backend choice

sumaform can deploy virtual machines to:

  • single libvirt hosts
  • Amazon Web Services
  • null backend

The simplest, recommended setup is to use libvirt on your local host. That needs at least 8 GB of RAM in your machine. If you need a lot of VMs or lack hardware you probably want using an external libvirt host with bridged networking is also possible.

The Amazon Web Services backend is currently under maintainance and is not immediately usable as-is. We plan to restore it soon.

The null backend can be useful in a wide variety of scenarios, for example:

  • Test configurations before going live in another supported backend
  • Cases in which the virtual infrastructure is outside of the Terraform user's control
  • Cover architectures that will maybe never be covered by any other Terraform plugin

Basic main.tf configuration

In sumaform you define a set of virtual machines in a main.tf configuration file, then run Terraform to have them deployed. Contents of the file vary slightly depending on the backend you choose.

To choose the backend in use one should create a symbolic link to a backend_module module. Refer to specific READMEs to get started:

Typical use

Refer to the official guides for a general understanding of Terraform and full commands.

For a very quick start:

vim main.tf     # change your VM setup
terraform init  # populate modules
terraform apply # prepare and apply a plan to create your systems (after manual confirmation)

Advanced use

I have a problem!

Check TROUBLESHOOTING.md first, if that does not help feel free to join the Gitter chat or directly drop a line to moio at suse dot de!

sumaform's People

Contributors

moio avatar bischoff avatar mallozup avatar mbologna avatar mcalmer avatar rjmateus avatar cbosdo avatar meaksh avatar juliogonzalez avatar ncounter avatar srbarrios avatar ktsamis avatar brejoc avatar kkaempf avatar aaannz avatar hustodemon avatar cbbayburt avatar lkotek avatar mateiw avatar mantel avatar calancha avatar jgleissner avatar paususe avatar admd avatar a-kpappas avatar renner avatar keichwa avatar lucidd avatar gitter-badger avatar area55git avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.