All Projects → oracle → terraform-oci-cf-install

oracle / terraform-oci-cf-install

Licence: other
Terraform configurations for bootstrapping a CloudFoundry environment on Oracle Cloud Infrastructure

Programming Languages

HCL
1544 projects
shell
77523 projects

Projects that are alternatives of or similar to terraform-oci-cf-install

cf-python-client
Small cloudfoundry client implemented in python
Stars: ✭ 50 (+233.33%)
Mutual labels:  cloudfoundry
cf-tools
Useful shell scripts for Cloud Foundry API v2
Stars: ✭ 22 (+46.67%)
Mutual labels:  cloudfoundry
spring-cloud-app-broker
Spring Cloud project for implementing service brokers that conform to the Open Server Broker API specification
Stars: ✭ 26 (+73.33%)
Mutual labels:  cloudfoundry
terransible-wirehole
Wirehole (Wireguard, Pi-hole, Upbound) deployment on Free Tier Oracle Cloud or other providers leveraging Docker Containers and deployed using Terraform and Ansible.
Stars: ✭ 33 (+120%)
Mutual labels:  oracle-cloud
credhub
CredHub centralizes and secures credential generation, storage, lifecycle management, and access
Stars: ✭ 203 (+1253.33%)
Mutual labels:  cloudfoundry
credhub-cli
CredHub CLI provides a command line interface to interact with CredHub servers
Stars: ✭ 38 (+153.33%)
Mutual labels:  cloudfoundry
paas-templates
Bosh, CFAR, CFCR and OSB services templates for use with COA (cf-ops-automation) framework
Stars: ✭ 16 (+6.67%)
Mutual labels:  cloudfoundry
PCC-Sample-App-PizzaStore
Example sample application which uses Pivotal Cloud Cache(PCC) as a service on Pivotal Cloud Foundry
Stars: ✭ 18 (+20%)
Mutual labels:  cloudfoundry
cf-sample-app-spring
Introduction to Cloud Foundry app deployment and management concepts.
Stars: ✭ 30 (+100%)
Mutual labels:  cloudfoundry
terraform-examples
Terraform Examples for Oracle Cloud Infrastructure and Platfrom
Stars: ✭ 34 (+126.67%)
Mutual labels:  oracle-cloud
antifreeze
Cloud Foundry CLI plugin to detect if an app doesn't match the manifest
Stars: ✭ 21 (+40%)
Mutual labels:  cloudfoundry
polynimbus
Multi-cloud infrastructure inventory and management tool, supporting AWS, Google Cloud, Azure, Oracle Cloud, Rackspace Cloud, Hetzner Cloud, Alibaba Cloud, e24cloud.com, Linode, Cloudflare, GoDaddy and Backblaze B2.
Stars: ✭ 70 (+366.67%)
Mutual labels:  oracle-cloud
storage
Go library providing common interface for working across multiple cloud storage backends
Stars: ✭ 154 (+926.67%)
Mutual labels:  oracle-cloud
mssql-server-broker
Cloud Foundry service broker for Microsoft SQL Server
Stars: ✭ 13 (-13.33%)
Mutual labels:  cloudfoundry
heroku-buildpack-deno
Heroku Buildpack for Deno
Stars: ✭ 72 (+380%)
Mutual labels:  cloudfoundry
oci-java-sdk
Oracle Cloud Infrastructure SDK for Java
Stars: ✭ 153 (+920%)
Mutual labels:  oracle-cloud
openbrokerapi
A python package for the V2 CF Service Broker API
Stars: ✭ 32 (+113.33%)
Mutual labels:  cloudfoundry
monarch
App-level Chaos Engineering
Stars: ✭ 26 (+73.33%)
Mutual labels:  cloudfoundry
routing-release
This is the BOSH release for cloud foundry routers
Stars: ✭ 36 (+140%)
Mutual labels:  cloudfoundry
cf-swagger
Collection of Swagger descriptions and applications for CloudFoundry BOSH
Stars: ✭ 22 (+46.67%)
Mutual labels:  cloudfoundry
#     ___  ____     _    ____ _     _____
#    / _ \|  _ \   / \  / ___| |   | ____|
#   | | | | |_) | / _ \| |   | |   |  _|
#   | |_| |  _ < / ___ | |___| |___| |___
#    \___/|_| \_/_/   \_\____|_____|_____|

Initializing a Cloud Foundry / BOSH deployment

This project exists to simplify the configuration and deployment of Cloud Foundry and BOSH on Oracle Cloud Infrastructure. It will configure the following:

  • VCN and Subnets
    • Public, Private and Bastion Subnets in 3 Availability Domains
  • A Bastion server with BOSH CLI for deploying BOSH Director and Cloud Foundry.

Configuring Terraform to work with OCI

First, install Terraform v0.11.10 or later. On OSX, you can use HomeBrew:

$ brew install terraform

Next, use terraform init to download Terraform OCI provider

$ terraform init 

Using this project

  • Update env-var with the required information.
  • Source env-var
    • $ . env-var

Configuring the OCI API Key

In order to use Terraform with OCI, you will need to configure an API Key. You must generate a public key in PEM format and obtain its fingerprint. Follow this guide here for more information:

https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm

Deploying the BOSH Bastion using Terraform

Create an API signing key, SSH key pair, and SSL certificates for Load Balancers.

First, you will want to run the included script bosh-key-gen.sh. This is a separate key from the OCI API Key mentioned above, which is used by Terraform to communicate with OCI. This script generates the keys that BOSH will use to communicate with OCI, as well as an SSH key pair for shell access to the bastion instance, and SSL certificates that will be installed for the Load Balancers.

As part of the process to create SSL certificates, you will be prompted for a passphrase. You may enter what you like, but keep in mind it will ask you for the password again later in the process.

Once all the steps above are completed your environment variables have been configured, you may run terraform apply to have Terraform deploy the environment.

Login to the BOSH Bastion using SSH

The IP address of the instance will be output at the end of a successful terraform apply. Use this address and the SSH key pair we generated earlier to access the instance:

ssh -i keys/bosh-ssh ubuntu@<your IP address>

Post Provisioning

The bastion VM will come a script to install the BOSH v2 CLI, and will also manage the iSCSI connection for the block device. In order to preserve data in case of a failure and subsequent terraform apply run, no effort is taken to format the attached block device, which is at /dev/sdb. Upon successful deployment of the bastion VM, you may format and mount the block device manually.

$ ./install_deps.sh
$ sudo mkfs.ext4 /dev/sdb
$ sudo mount -a

In the home directory, the bosh folder points to the mounted block device, so you may keep your releases, stemcells and deployments there for safe keeping.

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].