Skip to content

elastx/getting-started-elx-openstack

Repository files navigation


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 - support@elastx.se

About

Get started using ELASTX OpenStack with Terraform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages