mirror of
https://codeberg.org/scottslowe/learning-tools.git
synced 2026-03-11 09:04:37 +00:00
Update main README.md file
Update main README.md file following repository reorganization Signed-off-by: Scott Lowe <scott.lowe@scottlowe.org>
This commit is contained in:
parent
6515f139f3
commit
87f85bedd4
1 changed files with 20 additions and 100 deletions
120
README.md
120
README.md
|
|
@ -4,107 +4,28 @@ This repository contains a variety of files and tools for learning new technolog
|
|||
|
||||
## Contents
|
||||
|
||||
**ansible-aws**: This set of files shows how to use Ansible to both provision infrastructure on AWS as well as how to decommission (tear down) that same infrastructure.
|
||||
The contents of this repository are organized according to primary technology area. Here's a quick breakdown of the major technology areas so far:
|
||||
|
||||
**complex-json**: This folder contains files that illustrate how to use a "complex" JSON file as an external data source for a `Vagrantfile`.
|
||||
* Ansible
|
||||
* CentOS Atomic Host
|
||||
* Consul distributed key-value store
|
||||
* CoreOS Linux
|
||||
* Debian GNU/Linux
|
||||
* Docker
|
||||
* etcd distributed key-value store
|
||||
* KVM
|
||||
* LXC and LXD
|
||||
* Network operating systems (JunOS, EOS, Cumulus, etc.)
|
||||
* OpenStack
|
||||
* Open vSwitch (OVS) and Open Virtual Network (OVN)
|
||||
* Photon OS
|
||||
* The rkt ("Rocket") container runtime
|
||||
* SSH
|
||||
* Terraform
|
||||
* Ubuntu Linux
|
||||
* Vagrant
|
||||
|
||||
**complex-yaml**: This folder contains files that illustrate how to use "complex" YAML files in a `Vagrantfile`.
|
||||
|
||||
**consul-ansible**: In this folder you'll find a `Vagrantfile` and supporting documents to run a Consul cluster under Vagrant on your local laptop. The provisioning is handled via Ansible (pre-2.0) installed on the Vagrant host.
|
||||
|
||||
**consul**: In this folder you'll find a `Vagrantfile` and supporting documents to run a Consul cluster under Vagrant on your local laptop. The provisioning is handled via shell scripts.
|
||||
|
||||
**containerd-runc**: _This is a placeholder for future work._
|
||||
|
||||
**coreos-cloudinit-toolbox**: This folder contains files for using cloud-init to customize the CoreOS toolbox. This learning environment can be used with local Vagrant VMs, with OpenStack instances, or with AWS instances.
|
||||
|
||||
**debian-generic**: This folder has a Vagrant environment for spinning up a generic, 64-bit Debian 8.0 ("Jessie") VM. Note there's nothing special here---just a plain, generic Debian VM. No custom provisioning is provided in this environment.
|
||||
|
||||
**docker-ipvlan-l3**: This folder has files to create a learning environment for using ipvlan L3 interfaces with Docker containers.
|
||||
|
||||
**docker-ipvlan**: This folder has files to create a learning environment for using ipvlan interfaces with Docker containers.
|
||||
|
||||
**docker-macvlan**: This folder has files to create a learning environment for using macvlan interfaces with Docker containers.
|
||||
|
||||
**docker-swarm-etcd**: In this folder is a `Vagrantfile` and supporting files for turning up an etcd 2.0-backed Docker Swarm cluster. The provisioning is handled via shell scripts.
|
||||
|
||||
**docker-swarm-ha**: This folder holds a `Vagrantfile`, supporting files, and instructions for turning up a Consul-backed Docker Swarm cluster with multiple Swarm managers for high availability. The provisioning is handled via shell scripts.
|
||||
|
||||
**docker-swarm**: This folder contains a `Vagrantfile` and supporting files to run a Consul-backed Docker Swarm cluster under Vagrant on your local system. The provisioning is handled via shell scripts.
|
||||
|
||||
**etcd-2.0**: Use the `Vagrantfile` and other files in this directory to turn up an etcd 2.0.9 cluster running on Ubuntu 14.04. The provisioning is handled via shell scripts.
|
||||
|
||||
**ipvs-docker**: Use this learning environment to experiment with using IPVS/LVS for load balancing Docker containers.
|
||||
|
||||
**junos**: _This is a placeholder for future work._
|
||||
|
||||
**kvm-macvtap**: This learning environment has a `Vagrantfile` and supporting files for working with KVM and macvtap interfaces on Ubuntu 14.04. The provisioning is handled via Ansible (pre-2.0) installed on the Vagrant host.
|
||||
|
||||
**kvm**: The files in this folder allow you to create a learning environment for working with KVM and Libvirt on Ubuntu 14.04. The provisioning is handled via Ansible (pre-2.0) installed on the Vagrant host.
|
||||
|
||||
**lxc**: This folder holds a `Vagrantfile` and supporting files to create an environment for working with LXC (pronounced "lex-see"). LXC is a set of tools for working with OS containers. The provisioning is handled via Ansible (pre-2.0) installed on the Vagrant host.
|
||||
|
||||
**lxd-ansible**: In this folder you'll find a `Vagrantfile`, instructions, and other files to help work with LXD (pronounced "lex-dee"), a new daemon and CLI for working with LXC-based OS containers. The provisioning is handled via Ansible (pre-2.0) installed on the Vagrant host.
|
||||
|
||||
**lxd-ovs**: Use the `Vagrantfile` and other files in this directory to work with LXD and Open vSwitch (OVS) 2.3.1 on Ubuntu 14.04. Use the instructions from the `lxd` directory to set up containers and container images. The provisioning is handled via shell scripts.
|
||||
|
||||
**lxd-shell**: In this folder you'll find a `Vagrantfile`, instructions, and other files to help work with LXD (pronounced "lex-dee"), a new daemon and CLI for working with LXC-based OS containers. For this environment, the provisioning is handled via shell scripts.
|
||||
|
||||
**multi-provider-simple**: The `Vagrantfile` and supporting documents in this folder show how to build Vagrant environments to support multiple back-end providers.
|
||||
|
||||
**openstack-cli**: This folder contains the files for a Vagrant environment that spins up an Ubuntu box with all the OpenStack CLI clients pre-installed. The provisioning is handled via shell scripts.
|
||||
|
||||
**ovn**: This directory contains a Vagrant environment for working with Open Virtual Network (OVN).
|
||||
|
||||
**ovn-docker-ansible**: _This is a placeholder for future work._
|
||||
|
||||
**ovs-cl-vtep**: _This is a placeholder for future work._
|
||||
|
||||
**ovs-geneve**: This folder contains a Vagrant environment and supporting files for compiling Open vSwitch (OVS) from source and using Geneve tunneling to connect network namespaces on two different VMs.
|
||||
|
||||
**ovs-multi-br**: In this folder is a Vagrant environment, Ansible playbook, and related data files for experimenting with multiple Open vSwitch (OVS) bridges.
|
||||
|
||||
**photon-ansible**: In this folder is a Vagrant environment for using Ansible with VMware Photon; specifically, for using Ansible to configure Photon's pre-installed Docker daemon to listen over a network socket. Naturally, the provisioning is handled via Ansible (pre-2.0) installed on the Vagrant host.
|
||||
|
||||
**photon-cloudinit**: This folder contains the files to spin up VMs, using Vagrant and customized via `cloud-init`, running the VMware Photon Technical Preview. The provisioning is handled via shell scripts.
|
||||
|
||||
**photon**: This folder contains the files to spin up an instance of the VMware Photon Technical Preview using Vagrant. No custom provisioning is provided in this environment.
|
||||
|
||||
**README.md**: This document that you're currently reading.
|
||||
|
||||
**rkt**: This folder contains the files to work with `rkt` (version 1.4.0), the CoreOS implementation of the App Container (appc) specification, on Ubuntu 14.04. Provisioning is handled by Vagrant's file and shell provisioners.
|
||||
|
||||
**ssh-bastion**: In this folder is a Vagrant environment, leveraging multiple VMs, that allow you to work with SSH multiplexing via an SSH bastion host. The provisioning is handled by Vagrant's file and shell provisioners.
|
||||
|
||||
**ssh-bastion-ansible**: In this folder is a Vagrant environment, leveraging multiple VMs, that allow you to work with SSH multiplexing via an SSH bastion host. The provisioning is handled by Ansible 2.x.
|
||||
|
||||
**swarm-consul-openstack**: This folder contains files to create a Consul-backed Docker Swarm cluster on OpenStack. _THIS ENVIRONMENT IS NOT YET FULLY FUNCTIONAL._
|
||||
|
||||
**swarm-etcd2-photon:** This folder contains a Vagrant environment and associated support files to turn up an etcd-backed Docker Swarm cluster where the Docker Engine instances are running on VMware Photon. Provisioning is handled by Ansible 2.x.
|
||||
|
||||
**terraform:** This directory provides an example Terraform configuration (in both Terraform format as well as JSON format) designed to work with OpenStack.
|
||||
|
||||
**terraform-aws**: This directory contains a number of different examples of using Terraform with AWS. Refer to the `README.md` in this folder for more details.
|
||||
|
||||
**ubuntu-generic**: This folder contains a Vagrant environment for spinning up a generic 64-bit Ubuntu 14.04 VM. Note there's nothing special going on here---just a plain, generic, Ubuntu VM. No custom provisioning is provided in this environment.
|
||||
|
||||
**vagrant-aws**: This folder contains a `Vagrantfile` and supporting files for using Vagrant to spin up an instance on AWS. This allows you to use Vagrant to spin up and destroy an instance on AWS.
|
||||
|
||||
**vagrant-aws-multi**: Like "vagrant-aws", but for spinning up multiple instances on AWS.
|
||||
|
||||
**vagrant-docker-json**: Like `vagrant-docker-yaml`, this folder is an extension of "vagrant-docker" in that it provides the ability to specify, in an external JSON file, a list of Docker containers to be instantiated by Vagrant. The provisioning is handled by Vagrant's built-in Docker provisioner.
|
||||
|
||||
**vagrant-docker-yaml**: This folder is an extension of "vagrant-docker" in that it provides the ability to specify the list of Docker containers that Vagrant will create in a separate YAML file. The provisioning is handled by Vagrant's built-in Docker provisioner.
|
||||
|
||||
**vagrant-docker**: In this folder you'll find `Vagrantfiles` and supporting documents for using the Docker provider in Vagrant to turn up Docker containers. The provisioning is handled by Vagrant's built-in Docker provisioner.
|
||||
|
||||
**vagrant-json**: The files in this folder illustrate the use of an external JSON data file to drive Vagrant.
|
||||
|
||||
**vagrant-multi-platform**: This Vagrant environment demonstrates one possible way to create a `Vagrantfile` that supports multiple virtualization platforms without any edits needed across platforms.
|
||||
|
||||
**vagrant-openstack-multi**: This folder is similar to `vagrant-openstack`, but supports Vagrant operations on multiple instances.
|
||||
|
||||
**vagrant-openstack**: This folder contains a `Vagrantfile` and supporting files for using Vagrant with the OpenStack provider. This allows you to use Vagrant to provision and destroy an instance in an OpenStack cloud.
|
||||
More information about the tools, resources, or environments for each of these technology areas can be found inside that area's README.md file.
|
||||
|
||||
## Other Useful Projects
|
||||
|
||||
|
|
@ -121,4 +42,3 @@ If there are additional projects you feel should be added to this list, please s
|
|||
## License
|
||||
|
||||
This content is licensed under the MIT License.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue