https://github.com/oracle-quickstart/oci-chef
Terraform module to deploy Chef on Oracle Cloud Infrastructure (OCI)
https://github.com/oracle-quickstart/oci-chef
chef cloud oci oracle partner-led terraform
Last synced: 4 months ago
JSON representation
Terraform module to deploy Chef on Oracle Cloud Infrastructure (OCI)
- Host: GitHub
- URL: https://github.com/oracle-quickstart/oci-chef
- Owner: oracle-quickstart
- License: apache-2.0
- Created: 2019-05-17T01:05:18.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-20T19:20:51.000Z (over 5 years ago)
- Last Synced: 2024-12-29T20:16:01.539Z (6 months ago)
- Topics: chef, cloud, oci, oracle, partner-led, terraform
- Language: HCL
- Homepage:
- Size: 265 KB
- Stars: 2
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# oci-chef
These are Terraform modules that deploy [Chef](https://www.chef.io/) on [Oracle Cloud Infrastructure (OCI)](https://cloud.oracle.com/en_US/cloud-infrastructure). They are developed jointly by Oracle and Chef.## Prerequisites
To use the terraform-oci-chef module, you must have the following:
* An Oracle Cloud Infrastructure account.
* A user created in that account, in a group with a policy that grants the desired permissions. This can be a user for yourself, or another person/system that needs to call the API. For an example of how to set up a new user, group, compartment, and policy, see [Adding Users](https://docs.cloud.oracle.com/iaas/Content/GSG/Tasks/addingusers.htm). For a list of typical policies you may want to use, see [Common Policies](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/commonpolicies.htm).
* A key pair used for signing API requests, with the public key uploaded to Oracle. For more information on generating and uploading keys, see [Required Keys and OCIDs](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm).
* Oracle Cloud Infrastructure Terraform Provider. For more information, see [Oracle Cloud Infrastructure Terraform Provider](https://www.terraform.io/docs/providers/oci/index.html).## Example: Deploy a Chef Server and Workstation
The following code shows how to deploy a Chef Server and Workstation using this module:```txt
module "chef" {
source = "github.com/oci-quickstart/oci-quickstart-chef"
region = "${var.region}"
compartment_ocid = "${var.compartment_ocid}"
source_ocid = "${var.source_ocid}"
vcn_ocid = "${var.vcn_ocid}"
subnet_ocid = "${var.subnet_ocid}"
ssh_authorized_keys = "${var.ssh_authorized_keys}"
ssh_private_key = "${var.ssh_private_key}"
bastion_public_ip = "${var.bastion_public_ip}"
bastion_user = "${var.bastion_user}"
bastion_private_key = "${var.bastion_private_key}"
chef_user_name = "${var.chef_user_name}"
chef_user_fist_name = "${var.chef_user_fist_name}"
chef_user_last_name = "${var.chef_user_last_name}"
chef_user_password = "${var.chef_user_password}"
chef_user_email = "${var.chef_user_email}"
chef_org_short_name = "${var.chef_org_short_name}"
chef_org_full_name = "${var.chef_org_full_name}"
os_chef_bucket_name = "${var.os_chef_bucket_name}"
}
```For more examples that demonstrate how to use this module, explore the [examples](./examples) folder.
## Arguments
Argument | Description | Type | Default | Required
--- | --- | --- | --- | ---
region | region in which to operate, example: us-ashburn-1, us-phoenix-1. | string | n/a | yes
compartment_ocid | OCID of the compartment. | string | n/a | yes
source_ocid | OCID of an image of Oracle Enterprise Linux 7. For more information, see [Oracle Cloud Infrastructure: Images](https://docs.cloud.oracle.com/iaas/images/). | string | n/a | yes
vcn_ocid | Unique identifier (OCID) of the VCN. | string | n/a | yes
subnet_ocid | Subnet OCID in which to place the Chef Server and Workstation instance primary VNIC. | string | n/a | yes
ssh_authorized_keys | Public SSH keys content to be included in the `~/.ssh/authorized_keys` file for the default user on the instance. | string | n/a | yes
ssh_private_key | Private key content to access the instance. | string | n/a | yes
bastion_public_ip | Bastion host public IP. | string | n/a | yes
bastion_user | Bastion host SSH login user name. | string | n/a | yes
bastion_private_key | Private key content to access bastion host. | string | n/a | yes
chef_user_name | Chef administrator user name. | string | n/a | yes
chef_user_fist_name | Chef administrator first name. | string | n/a | yes
chef_user_last_name | Chef administrator last name. | string | n/a | yes
chef_user_password | Chef administrator password. | string | n/a | yes
chef_user_email | Chef administrator E-mail address. | string | n/a | yes
chef_org_short_name | Chef organization short name. | string | n/a | yes
chef_org_full_name | Chef organization full name. | string | n/a | yes
os_chef_bucket_name | OCI Object Storage Bucket name, use it to create a new Bucket | string | n/a | yes
chef_server_name | Chef Server host name | string | "chefserver" | no
chef_workstation_name | Chef Workstation host name | string | "chefworkstation" |no
ssh_user | Chef Server and Workstation SSH login user name | string | "opc" | no
shape | Chef Server and Workstation shape | string | "VM.Standard2.1" | no
chef-server-core_rpm_url | Chef Server RPM for Enterprise Linux 7 download URL | string | "https://packages.chef.io/files/stable/chef-server/12.18.14/el/7/chef-server-core-12.18.14-1.el7.x86_64.rpm" | no
chefdk_rpm_url | Chef Workstation RPM for Enterprise Linux 7 download URL | string | "https://packages.chef.io/files/stable/chefdk/3.3.23/el/7/chefdk-3.3.23-1.el7.x86_64.rpm" | no