All Projects → wffls → Waffles

wffls / Waffles

Licence: mit
Bash Configuration Management

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Waffles

Hugo Theme Console
A minimal, responsive and light theme for Hugo inspired by Linux console.
Stars: ✭ 143 (+81.01%)
Mutual labels:  simple, minimal
Mu
The μ css framework — a 1 ko css file.
Stars: ✭ 202 (+155.7%)
Mutual labels:  simple, minimal
Bonsai
🌱 a tiny distro-independent package manager
Stars: ✭ 188 (+137.97%)
Mutual labels:  simple, minimal
Yui
Minimal vim color scheme
Stars: ✭ 93 (+17.72%)
Mutual labels:  simple, minimal
DevFolio
A Modern Portfolio Template for Developers with easy setup process documented(with hosting).
Stars: ✭ 96 (+21.52%)
Mutual labels:  minimal, simple
Styled React Boilerplate
Minimal & Modern boilerplate for building apps with React & styled-components
Stars: ✭ 198 (+150.63%)
Mutual labels:  simple, minimal
Route
Simple isomorphic router
Stars: ✭ 199 (+151.9%)
Mutual labels:  simple, minimal
Riot
Simple and elegant component-based UI library
Stars: ✭ 14,596 (+18375.95%)
Mutual labels:  simple, minimal
classy
Super simple text classifier using Naive Bayes. Plug-and-play, no dependencies
Stars: ✭ 12 (-84.81%)
Mutual labels:  minimal, simple
ByteCopy
Simple C99 program and API for copying files.
Stars: ✭ 16 (-79.75%)
Mutual labels:  minimal, simple
Water.css
A drop-in collection of CSS styles to make simple websites just a little nicer
Stars: ✭ 6,666 (+8337.97%)
Mutual labels:  simple, minimal
SSTMCSPGAAS
Stupidly Simple Tiny Minimal Coming Soon Page Generator As A Service
Stars: ✭ 23 (-70.89%)
Mutual labels:  minimal, simple
Derrick
🙌 Derrick is a clean minimal and fast theme for a personal blog.
Stars: ✭ 51 (-35.44%)
Mutual labels:  simple, minimal
Md Page
📝 create a webpage with just markdown
Stars: ✭ 1,096 (+1287.34%)
Mutual labels:  simple
Poet
Lets you split your ssh_config into separate files
Stars: ✭ 72 (-8.86%)
Mutual labels:  configuration-management
It
A Simple Track To Make Sense
Stars: ✭ 55 (-30.38%)
Mutual labels:  simple
Turtle.lua
Turtle graphics library for LÖVE.
Stars: ✭ 56 (-29.11%)
Mutual labels:  simple
Parvula
An extremely simple & flexible CMS generated from flat files with a complete RESTful API —
Stars: ✭ 76 (-3.8%)
Mutual labels:  simple
Flocks.js
A radically simpler alternative to Flux - opinionated React state and rendering management
Stars: ✭ 72 (-8.86%)
Mutual labels:  simple
Mapit
An easy way to embed google maps in your site.
Stars: ✭ 54 (-31.65%)
Mutual labels:  simple

Waffles!

Waffles is a suite of Bash scripts to manage server resources in an idempotent fashion.

Installation and Usage

To install Waffles, just clone the git repo and source the init.sh file:

$ git clone https://github.com/wffls/waffles /opt/waffles
$ source /opt/waffles/init.sh
$ apt.pkg --help

You can integrate Waffles into a Bash script by sourcing the init.sh file within the script:

#!/bin/bash
source /opt/waffles/init.sh

# Install memcached
apt.pkg --package memcached --version latest

# Set the listen option
file.line --file /etc/memcached.conf --line "-l 0.0.0.0" --match "^-l"

# Determine the amount of memory available and use half of that for memcached
memory_bytes=$(elements System.Memory.Total 2>/dev/null)
memory=$(( $memory_bytes / 1024 / 1024 / 2 ))

# Set the memory available to memcached
file.line --file /etc/memcached.conf --line "-m $memory" --match "^-m"

# Manage the memcached service
service.sysv --name memcached

# If any changes happened, restart memcached
if [[ -n $waffles_total_changes ]]; then
  exec.mute /etc/init.d/memcached restart
fi

Development

Waffles tries to be as simple as possible while still providing useful utilities for everyday systems administration. If you find a bug or would like to add a feature, just make a patch and open a Pull Request.

Testing

Adding unit and acceptance tests are encouraged but not required for Pull Requests.

Unit Tests

Unit tests can be found in tests/core.sh. They're mainly used to verify certain functions work correctly.

Acceptance Tests

Acceptance tests are used to verify resources work correctly. Test Kitchen and Docker are used to run the suite of tests. Use the install.sh Waffles script to set up Test Kitchen and all other requirements on an Ubuntu-based system.

Test files can be found in tests/kitchen/resources. Each resource test requires 5 functions:

  • setup
  • create
  • update
  • delete
  • teardown

If any of the functions aren't applicable to the resource test you're writing, just issue a return.

You can execute tests by running:

$ cd /opt/waffles/tests/kitchen
$ ./test.sh --platform ubuntu-1404 --resource file.line

--platform will take any regex compatible with the kitchen test command. --resource is the name of any resource you want to test. If you want to run all tests, use all as the value.

More Information

See wffls.github.io for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].