Skip to content

Commit

Permalink
Release 0.1.5 (#8)
Browse files Browse the repository at this point in the history
* Release 0.1.4

* doc: Updated Contributing

* doc: Updated License file

* doc: Updated Security File

* doc: Updated Readme with help and security

* doc: Cleaned up readme

* chore: modules names updated

* chore: release notes and version bump

---------

Signed-off-by: Andre Correa <andre.correa@oracle.com>
Co-authored-by: Josh Hammer <josh.hammer@oracle.com>
  • Loading branch information
andrecorreaneto and Halimer authored Jul 26, 2024
1 parent 48ad16f commit 4384808
Show file tree
Hide file tree
Showing 24 changed files with 181 additions and 40 deletions.
55 changes: 55 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Contributing to this repository

We welcome your contributions! There are multiple ways to contribute.

## Opening issues

For bugs or enhancement requests, please file a GitHub issue unless it's
security related. When filing a bug remember that the better written the bug is,
the more likely it is to be fixed. If you think you've found a security
vulnerability, do not raise a GitHub issue and follow the instructions in our
[security policy](./SECURITY.md).

## Contributing code

We welcome your code contributions. Before submitting code via a pull request,
you will need to have signed the [Oracle Contributor Agreement][OCA] (OCA) and
your commits need to include the following line using the name and e-mail
address you used to sign the OCA:

```text
Signed-off-by: Your Name <you@example.org>
```

This can be automatically added to pull requests by committing with `--sign-off`
or `-s`, e.g.

```text
git commit --signoff
```

Only pull requests from committers that can be verified as having signed the OCA
can be accepted.

## Pull request process

1. Ensure there is an issue created to track and discuss the fix or enhancement
you intend to submit.
1. Fork this repository.
1. Create a branch in your fork to implement the changes. We recommend using
the issue number as part of your branch name, e.g. `1234-fixes`.
1. Ensure that any documentation is updated with the changes that are required
by your change.
1. Ensure that any samples are updated if the base image has been changed.
1. Submit the pull request. *Do not leave the pull request blank*. Explain exactly
what your changes are meant to do and provide simple steps on how to validate.
your changes. Ensure that you reference the issue you created as well.
1. We will assign the pull request to 2-3 people for review before it is merged.

## Code of conduct

Follow the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule). If you'd
like more specific guidelines, see the [Contributor Covenant Code of Conduct][COC].

[OCA]: https://oca.opensource.oracle.com
[COC]: https://www.contributor-covenant.org/version/1/4/code-of-conduct/
35 changes: 35 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Copyright (c) 2023 Oracle and/or its affiliates.

The Universal Permissive License (UPL), Version 1.0

Subject to the condition set forth below, permission is hereby granted to any
person obtaining a copy of this software, associated documentation and/or data
(collectively the "Software"), free of charge and under any and all copyright
rights in the Software, and any and all patent rights owned or freely
licensable by each licensor hereunder covering either (i) the unmodified
Software as contributed to or provided by such licensor, or (ii) the Larger
Works (as defined below), to deal in both

(a) the Software, and
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
one is included with the Software (each a "Larger Work" to which the Software
is contributed by such licensors),

without restriction, including without limitation the rights to copy, create
derivative works of, display, perform, and distribute the Software and make,
use, sell, offer for sale, import, export, have made, and have sold the
Software and the Larger Work(s), and to sublicense the foregoing rights on
either these or other terms.

This license is subject to the following condition:
The above copyright notice and either this complete permission notice or at
a minimum a reference to the UPL must be included in all copies or
substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
21 changes: 15 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# OCI Secure Workload Modules
# OCI Landing Zones Secure Workload Modules

![Landing Zone logo](./landing_zone_300.png)

This repository contains Terraform modules for managing workload resources in OCI (Oracle Cloud Infrastructure). By workload we mean resources that are typically deployed within a landing zone, and may trigger OCI consumption. By secure we mean they are designed to cover the key security features available in the OCI platform. When appropriate, the modules align with CIS OCI Foundations Benchmark recommendations.

The following modules are available:
- [CIS Compute & Storage](./cis-compute-storage/)
- [Compute](./cis-compute-storage/) - supporting Compute, Block Volumes, File Storage, Compute Clusters and Cluster Networks.
- [OKE (Oracle Kubernetes Engine)](./cis-oke/)

Helper modules:
Expand All @@ -28,15 +28,24 @@ The modules in this collection are designed for flexibility, are straightforward

Using these modules does not require a user extensive knowledge of Terraform or OCI resource types usage. Users declare a JSON object describing the OCI resources according to each module’s specification and minimal Terraform code to invoke the modules. The modules generate outputs that can be consumed by other modules as inputs, allowing for the creation of independently managed operational stacks to automate your entire OCI infrastructure.

## Help

Open an issue in this repository.

## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md).

This project welcomes contributions from the community. Before submitting a pull request, please [review our contribution guide](./CONTRIBUTING.md).

## Security

Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process.

## License
Copyright (c) 2023, Oracle and/or its affiliates.

Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
Copyright (c) 2023,2024 Oracle and/or its affiliates.

See [LICENSE](./LICENSE) for more details.
Released under the Universal Permissive License v1.0 as shown at
<https://oss.oracle.com/licenses/upl/>.

## Known Issues
None.
4 changes: 4 additions & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# July 25, 2024 Release Notes - 0.1.5
## Updates
1. Aligned README.md structure to Oracle's GitHub organizations requirements.

# May 15, 2024 Release Notes - 0.1.4

## New
Expand Down
38 changes: 38 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Reporting security vulnerabilities

Oracle values the independent security research community and believes that
responsible disclosure of security vulnerabilities helps us ensure the security
and privacy of all our users.

Please do NOT raise a GitHub Issue to report a security vulnerability. If you
believe you have found a security vulnerability, please submit a report to
[secalert_us@oracle.com][1] preferably with a proof of concept. Please review
some additional information on [how to report security vulnerabilities to Oracle][2].
We encourage people who contact Oracle Security to use email encryption using
[our encryption key][3].

We ask that you do not use other channels or contact the project maintainers
directly.

Non-vulnerability related security issues including ideas for new or improved
security features are welcome on GitHub Issues.

## Security updates, alerts and bulletins

Security updates will be released on a regular cadence. Many of our projects
will typically release security fixes in conjunction with the
Oracle Critical Patch Update program. Additional
information, including past advisories, is available on our [security alerts][4]
page.

## Security-related information

We will provide security related information such as a threat model, considerations
for secure use, or any known security issues in our documentation. Please note
that labs and sample code are intended to demonstrate a concept and may not be
sufficiently hardened for production use.

[1]: mailto:secalert_us@oracle.com
[2]: https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html
[3]: https://www.oracle.com/security-alerts/encryptionkey.html
[4]: https://www.oracle.com/security-alerts/
4 changes: 2 additions & 2 deletions cis-compute-storage/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Oracle Cloud Infrastructure (OCI) Terraform CIS Compute & Storage (Block Volumes and File System Storage) Module
# OCI Landing Zones Compute Module

![Landing Zone logo](../landing_zone_300.png)

This module manages Compute instances, Block Volume and File System Storage in Oracle Cloud Infrastructure (OCI). These resources and their associated resources can be deployed together in the same configuration or separately. The module enforces Center for Internet Security (CIS) Benchmark recommendations for all supported resource types and provides features for strong cyber resilience posture, including cross-region replication and storage backups. Additionally, the module supports bringing in external dependencies that managed resources depend on, including compartments, subnets, network security groups, encryption keys, and others.
This module manages Compute instances, Block Volume, File System Storage, Compute Clusters, and Cluster Networks in Oracle Cloud Infrastructure (OCI). These resources and their associated resources can be deployed together in the same configuration or separately. The module enforces Center for Internet Security (CIS) Benchmark recommendations when appropriate and provides features for strong cyber resilience posture, including cross-region replication and storage backups. Additionally, the module supports bringing in external dependencies that managed resources depend on, including compartments, subnets, network security groups, encryption keys, and others.

Check [module specification](./SPEC.md) for a full description of module requirements, supported variables, managed resources and outputs.

Expand Down
4 changes: 2 additions & 2 deletions cis-compute-storage/examples/cluster-networks/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CIS Cluster Network Example
# OCI Landing Zones Compute Module - Cluster Network Example

## Introduction
This example shows how to deploy an RDMA cluster network in OCI using the [cis-compute-storage module](../../). It deploys one Compute instance, one cluster instance configuration, and one cluster network with the characteristics described below. Refer to [input.auto.tfvars.template](./input.auto.tfvars.template) for the variables configuration.
This example shows how to deploy an RDMA cluster network in OCI using the [OCI Landing Zones Compute module](../../README.md). It deploys one Compute instance, one cluster instance configuration, and one cluster network with the characteristics described below. Refer to [input.auto.tfvars.template](./input.auto.tfvars.template) for the variables configuration.

A [cluster network](https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/managingclusternetworks.htm) is a pool of high performance computing (HPC) instances that are connected with a high-bandwidth, ultra low-latency network. They're designed for highly demanding parallel computing jobs.

Expand Down
4 changes: 2 additions & 2 deletions cis-compute-storage/examples/compute-block-volume/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CIS OCI Compute/Storage Example - Compute instances and Block volumes
# OCI Landing Zones Compute Module - Compute Instances and Block Volumes Example

## Introduction
This example shows how to deploy Compute instances and Block volumes in OCI using the [cis-compute-storage module](../../). It deploys three Compute instances and two Block volumes with the following characteristics:
This example shows how to deploy Compute instances and Block volumes in OCI using the [OCI Landing Zones Compute module](../../README.md). It deploys three Compute instances and two Block volumes with the following characteristics:
- All instances are deployed in the same compartment and same subnet, defined by *default_compartment_id* and *default_subnet_id* attributes.
- All instances boot volumes are encrypted with a customer-managed key defined by *default_kms_key_id* attribute.
- All instances can be accessed over SSH with the private key corresponding to the public key defined by *default_ssh_public_key_path* attribute.
Expand Down
4 changes: 2 additions & 2 deletions cis-compute-storage/examples/compute-clusters/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OCI Compute Cluster Example
# OCI Landing Zones Compute Module - Compute Cluster Example

## Introduction
This example shows how to deploy RDMA cluster networks in OCI using the [cis-compute-storage module](../../). It deploys one Compute instance, one cluster instance configuration, and one cluster network with the characteristics described below. Refer to [input.auto.tfvars.template](./input.auto.tfvars.template) for the variables configuration.
This example shows how to deploy Compute clusters in OCI using the [OCI Landing Zones Compute module](../../README.md). It deploys one Compute instance, one cluster instance configuration, and one cluster network with the characteristics described below. Refer to [input.auto.tfvars.template](./input.auto.tfvars.template) for the variables configuration.

A [Compute cluster](https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm) is a remote direct memory access (RDMA) network group. You can create high performance computing (HPC) instances in the network and manage them individually.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# CIS OCI Compute Example - Compute with Multiple VNICs and Multiple IP Addresses
# OCI Landing Zones Compute Module - Compute with Multiple VNICs and Multiple IP Addresses Example

## Introduction

This example shows how to deploy Compute instances in OCI using the [cis-compute-storage module](../../). It deploys one Compute instance with the following characteristics:
This example shows how to deploy Compute instances in OCI using the [OCI Landing Zones Compute module](../../README.md). It deploys one Compute instance with the following characteristics:
- The instances is deployed in the compartment and subnet defined by *default_compartment_id* and *default_subnet_id* attributes.
- The instance can be accessed over SSH with the private key corresponding to the public key defined by *default_ssh_public_key_path* attribute.
- The instances is placed in the network security groups defined by *networking.network_security_groups* attribute.
Expand Down
4 changes: 2 additions & 2 deletions cis-compute-storage/examples/compute-only/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# CIS OCI Compute/Storage Example - Compute only
# OCI Landing Zones Compute Module - Compute Only Example

## Introduction

This example shows how to deploy Compute instances in OCI using the [cis-compute-storage module](../../). It deploys three Compute instances with the following characteristics:
This example shows how to deploy Compute instances in OCI using the [OCI Landing Zones Compute module](../../README.md). It deploys three Compute instances with the following characteristics:
- All instances are deployed in the same compartment and same subnet, defined by *default_compartment_id* and *default_subnet_id* attributes.
- All instances can be accessed over SSH with the private key corresponding to the public key defined by *default_ssh_public_key_path* attribute.
- All instances are placed in the network security groups defined by *networking.network_security_groups* attribute within each instance.
Expand Down
4 changes: 2 additions & 2 deletions cis-compute-storage/examples/external-dependencies/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# CIS OCI Compute/Storage Example - Compute instances and Block volumes with External Dependencies
# OCI Landing Zones Compute Module - Compute Instances and Block Volumes with External Dependencies Example

## Introduction

This example shows how to deploy Compute instances and Block volumes in OCI using the [cis-compute-storage module](../../). It obtains its dependencies from OCI Object Storage objects, specified in *oci_compartments_dependency*, *oci_network_dependency*, *oci_kms_dependency* and *oci_compute_dependency* variables.
This example shows how to deploy Compute instances and Block volumes in OCI using the [OCI Landing Zones Compute module](../../README.md). It obtains its dependencies from OCI Object Storage objects, specified in *oci_compartments_dependency*, *oci_network_dependency*, *oci_kms_dependency* and *oci_compute_dependency* variables.

As this example needs to read from an OCI Object Storage bucket, the following extra permissions are required for the executing user, in addition to the permissions required by the [cis-compute-storage module](../..) itself.

Expand Down
4 changes: 2 additions & 2 deletions cis-compute-storage/examples/replica-file-system/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# CIS OCI Compute/Storage Example - Replica File System
# OCI Landing Zones Compute Module - Replica File System Example

## Introduction

This example shows how to deploy a file system used as a replica file system in OCI using the [cis-compute-storage module](../../). The replica file system has the following characteristics:
This example shows how to deploy a file system used as a replica file system in OCI using the [OCI Landing Zones Compute module](../../README.md). The replica file system has the following characteristics:
- It is deployed in the region defined by the *region* attribute.
- It is deployed in the compartment defined by *default_compartment_id* attribute.
- It is configured as replication target, as defined by *replication.is_target* attribute.
Expand Down
4 changes: 2 additions & 2 deletions cis-compute-storage/examples/storage-only/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# CIS OCI Compute/Storage Example - Storage only
# OCI Landing Zones Compute Module - Storage Only Example

## Introduction

This example shows how to deploy Block volumes and File Storage in OCI using the [cis-compute-storage module](../../). It deploys two block volumes, two file systems, one mount target with two exports, and one file system snapshot policy with the following characteristics:
This example shows how to deploy Block volumes and File Storage in OCI using the [OCI Landing Zones Compute module](../../README.md). It deploys two block volumes, two file systems, one mount target with two exports, and one file system snapshot policy with the following characteristics:
- All resources are deployed in the same compartment, defined by *default_compartment_id* attribute.
- The file systems have their mount targets (if specified) in the subnet defined by *default_subnet_id* attribute.

Expand Down
2 changes: 1 addition & 1 deletion cis-oke/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Oracle Cloud Infrastructure (OCI) Terraform CIS OKE Module
# OCI Landing Zones OKE Module

![Landing Zone logo](../landing_zone_300.png)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# OKE Flannel with Localhost Access Example
# OCI Landing Zones OKE Module - Flannel with Localhost Access Example

## Introduction

This example shows how to deploy OKE clusters and node pools in OCI using the [cis-oke module](https://github.com/oracle-quickstart/terraform-oci-secure-workloads/tree/main/cis-oke). It deploys one Flannel-based basic OKE Cluster, one node pool, one Bastion service endpoint and one Bastion session for cluster management with the characteristics described below.
This example shows how to deploy OKE clusters and node pools in OCI using the [OCI Landing Zones OKE module](../../../README.md). It deploys one Flannel-based basic OKE Cluster, one node pool, one Bastion service endpoint and one Bastion session for cluster management with the characteristics described below.

Once the cluster is provisioned, cluster access is automatically enabled from localhost via the OCI Bastion service endpoint.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# OKE Flannel with Operator Access Example
# OCI Landing Zones OKE Module - Flannel with Operator Access Example

## Introduction

This example shows how to deploy OKE clusters and node pools in OCI using the [cis-oke module](https://github.com/oracle-quickstart/terraform-oci-secure-workloads/tree/main/cis-oke). It deploys one Flannel-based basic OKE Cluster, one node pool, one Bastion service endpoint, one Bastion session, and one Compute instance with the characteristics described below.
This example shows how to deploy OKE clusters and node pools in OCI using the [OCI Landing Zones OKE module](../../../README.md). It deploys one Flannel-based basic OKE Cluster, one node pool, one Bastion service endpoint, one Bastion session, and one Compute instance with the characteristics described below.

Once the cluster is provisioned, cluster access is automatically enabled from the provisioned Compute instance, which is accessible via the OCI Bastion service endpoint. We refer to this Compute instance as the Operator host.

Expand Down
Loading

0 comments on commit 4384808

Please sign in to comment.