Giter Site home page Giter Site logo

getting-started-elx-openstack's Introduction


Logo Logo Logo

Getting started with Terraform on ELASTX OpenStack

Infrastructure as Code

Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgements

About The Project

This is a walkthrough from a clean tenant and the point is to use this as a boiler plate for several use-cases. What you will get:

  • A network stack
  • Bastion host where you can manage your infrastructure
  • Web servers spread out over three availability zones with a Load Balancer
  • Using terraform remote state to reference resources from earlier step

Getting Started

The repository is constructed to be used as a starting point, on an empty OpenStack tenant, with the goal to get you started using terraform. The repository is structured in 5 separated parts. Each can be followed as instructions in order, or more advanced - used individually (with awareness of configuration!)

Prerequisites

  • OpenRC file from openstack sourced
  • Terraform
  • Empty tenant in openstack

Since Terraform version 1.3 the backend type swift is removed. We have updated this demo to use OpenStack Swift's S3 compatible API. This does however mean some extra prerequisites listed below.

  • A created container named "terraform-state" (the value of variable bucket in the different main.tf files)
  • OpenStack EC2 Credentials

Either append the EC2 Access and Secret keys to your OpenStack RC file (more on the OpenStack RC file in 00_Start_here or create a new file for the purpose of storing these credentials. This demo will assume that we have added them to our OpenStack RC File in later steps. Terraform expects them to be formatted in the following way:

export AWS_ACCESS_KEY_ID=<access key>
export AWS_SECRET_ACCESS_KEY=<secret key>

In order to use this repository on an existing openstack tenant, you will have to make adjustments in example.auto.tfvars to fit your environment of each section.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

We accept PRs for expanding and improve upon these examples

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Team CS - Elastx Support - [email protected]

getting-started-elx-openstack's People

Contributors

herr-hxp avatar jaanvaks avatar mijanss avatar mrmoreau avatar rawtaz avatar tipset avatar tjakobsson avatar zrk02 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

getting-started-elx-openstack's Issues

These examples does not work with Terraform 0.13

$ terraform init

Initializing the backend...

Successfully configured the backend "swift"! Terraform will automatically
use this backend unless the backend configuration changes.

Initializing provider plugins...
- Finding hashicorp/openstack versions matching "~> 1.28"...
- Finding hashicorp/null versions matching "~> 2.1"...
- Installing hashicorp/null v2.1.2...
- Installed hashicorp/null v2.1.2 (signed by HashiCorp)

Error: Failed to install providers

Could not find required providers, but found possible alternatives:

  hashicorp/openstack -> terraform-providers/openstack

If these suggestions look correct, upgrade your configuration with the
following command:
    terraform 0.13upgrade .

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.