Giter VIP home page Giter VIP logo

vploy's Introduction

vPloy

Current State: Under active development (but usable)

vPloy is an application that combine some of the most famous Infrastructure As Code tools in order to deploy a full infrastructure on a VMware vSphere system.

vPloy is currently using the following tools:

It will automatically :

  • Bootstrap your vSphere
  • Create a Debian and Ubuntu Template
  • Deploy a Management Gateway
  • Deploy a Bastion
  • Deploy an AWX server
  • And More ....

Objectives

The goal of vPloy is to help the deployment of an Infrastructure as Code on a VMware vSphere Infrastructure.

vPloy has been develop to be easily customizable and make that new infrastructure easy to be maintained, scale, ...

Configuration

All the configuration files are in config. For each infrastructure you wish to deploy you will have to create a new directory in infra.

Because there are always exceptions, you will have to customize:

  • terraform/infra/management/main.tf: Put your replace datastore_{X} by the name of your datastores

Getting Started

You can launch the deployment of the infrastructure using the following command:

ansible-playbook deploy.yml --ask-vault

If you wish to delete the infrastructure you can launch: (it will delete everything !!!)

ansible-playbook destroy.yml --ask-vault

Playbooks have been constructed with a few tags to help deployment.

Customization

You can easily extend / create a new "infrastructure" by : - Create a configuration directory into config/infra/. - Contruct your terraform deployment in terraform/infra/ - Create the ansible tasks in playbooks/infra/.yml - Create then ansible destroy tasks in playbooks/destroy/infra/.yml

You can take a look at the infra-example files.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Matthieu DERASSE - Initial work - mderasse

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details

Quick reference

Where to get help

Github Issues Tracker

Where to file issues

Github issues Tracker

Acknowledgments

vploy's People

Contributors

hlerman avatar marema31 avatar mderasse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vploy's Issues

Create Workflow Template

In order to help fast deployment, it could be great to automatically create a Workflow Template that include every step to get a basic vPloy ready

AWX installation fail

The AWX installation fail due to the ansible_distribution variable being undefined.

Facts aren't load by default and we need those to define the way we do the installation.

Create AWX Templates

We need to create the AWX template with a playbook to help fast deployment.

I'm not sure that vPloy should launch those template....

Init Awx fail after webServer deployment

If the webServer playbooks have been run on the gateway server, the init-awx tags will fail.

The reason is that tower_cli credentials should be updated with the https url.
Also we should stop to touch at the iptables if the webserver is installed.

Maybe we could detect if nginx service is present on the gateway and if that's the case adapt the config ?

Management VM Usage

Management infrastructure is currently having way too much resources allocated.

We could totally reduce the gateway and bastion CPU and Memory.

Requested by @HLerman

Custom Branch

It could be great to have a custom branch.

That branch will contain a way more advance vploy infrastructure with vm such as vpn, smtp, ....
It could also contain other infrastructure

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.