Terraform module to provision an openvpn instance.
Requirements
This is a list of plugins that need to be installed previously to enjoy all the goodies of this configuration:
Usage
How to use this project
module "main" {
source = "hadenlabs/openvpn/aws"
version = "0.3.0"
providers = {
aws = aws
template = template
local = local
}
public_key = local.auth_public_key
private_key = local.auth_private_key
admin_user = "slovacus"
storage_path = "~/openvpn"
}
Full working examples can be found in examples folder.
Examples
common
module "main" {
source = "hadenlabs/openvpn/aws"
version = "0.4.0"
providers = {
aws = aws
template = template
local = local
}
public_key = local.auth_public_key
private_key = local.auth_private_key
admin_user = "slovacus"
storage_path = "~/openvpn"
}
Requirements
Providers
Name |
Version |
aws |
>=3.2.0 |
null |
>=0.1.0 |
Modules
Name |
Source |
Version |
tags |
hadenlabs/tags/null |
>0.1 |
Resources
Name |
Description |
Type |
Default |
Required |
admin_user |
admin user |
string |
"openvpn" |
no |
environment |
Environment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT' |
string |
null |
no |
instance_type |
type instance |
string |
"t2.micro" |
no |
is_test |
implement when is execute a test |
bool |
false |
no |
name |
Solution name, e.g. 'app' or 'jenkins' |
string |
n/a |
yes |
namespace |
Namespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp' |
string |
null |
no |
private_key |
private key |
string |
n/a |
yes |
public_key |
public key |
string |
n/a |
yes |
rules_ingress |
list rule for security group |
list(object({ from_port = number to_port = number protocol = string cidr_blocks = list(string) })) |
[] |
no |
ssh_cidr |
ssh cidr |
string |
"0.0.0.0/0" |
no |
ssh_port |
port ssh |
number |
22 |
no |
ssh_user |
user ssh |
string |
"ubuntu" |
no |
stage |
Stage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'release' |
string |
null |
no |
storage_path |
storage path keys to local |
string |
"~/openvpn" |
no |
subnet_cidr_block |
subnet cidr block |
string |
"10.0.0.0/16" |
no |
tags |
Additional tags (e.g. map('BusinessUnit','XYZ') |
map(string) |
{} |
no |
vpc_cidr_block |
vpc cidr block |
string |
"10.0.0.0/16" |
no |
Outputs
Help
Got a question?
File a GitHub issue.
Contributing
See Contributing.
Module Versioning
This Module follows the principles of Semantic Versioning (SemVer).
Using the given version number of MAJOR.MINOR.PATCH
, we apply the following constructs:
- Use the
MAJOR
version for incompatible changes.
- Use the
MINOR
version when adding functionality in a backwards compatible manner.
- Use the
PATCH
version when introducing backwards compatible bug fixes.
Backwards compatibility in 0.0.z
and 0.y.z
version
- In the context of initial development, backwards compatibility in versions
0.0.z
is not guaranteed when z
is increased. (Initial development)
- In the context of pre-release, backwards compatibility in versions
0.y.z
is not guaranteed when y
is increased. (Pre-release)
Copyright
Copyright ยฉ 2018-2022 Hadenlabs
Trademarks
All other trademarks referenced herein are the property of their respective owners.
License
The code and styles are licensed under the LGPL-3.0 license See project license..
Your feedback is appreciated