docker-server
4ops/docker-server/digitalocean
Creates docker server with network policy and with/without data volume in DigitalOcean
Install
README
Docker server - Creates virtual server(s) with docker - Creates cloud volume(s) and mount to /srv - Auto resize fs on data volume when size of volume changed - Register server(s) in domain var.domain - Creates cloud firewall and apply network policy to server(s) - Create var.provisioner user Cloud resources - DigitalOcean droplet - DigitalOcean volume - DigitalOcean cloud firewall Default firewall rules Incoming - Allow SSH from var.trusted_sources - Allow icmp from world Outgoing - Allow tcp to world - Allow udp to world - Allow icmp to world
Inputs (18)
| Name | Type | Description | Default |
|---|---|---|---|
| region | string | Required. DigitalOcean region for droplet creation. | required |
| trusted_sources | list(string) | Required. IP list to allow SSH and bitcoin rpc connections from. | required |
| domain_ttl | number | TTL in seconds for domain records. | 300 |
| monitoring | bool | Enable DigitalOcean monitoring. | true |
| provisioner_username | string | This user will be added and used inside this module only. | "provisioner" |
| backups | bool | Enable backups feature for droplet. | false |
| volume_size | number | Size of data volume in gigabytes. If zero, no volume will be created. | 0 |
| name | string | Name of service. Used as name prefix when generating hostnames. | "bitcoin" |
| random_id | bool | Appends random id to droplet's name if `true`. | true |
| resize_disk | bool | Controlling whether to increase the disk size when resizing a Droplet. When set | false |
| provisioner_homedir | string | Home directory of `provisioner_username`. | "/home/provisioner" |
| ssh_keys | list(number) | List of SSH keys registered in DigitalOcean. User `root` authorized with this ke | [] |
| tags | list | List of existing tags for droplet. | [] |
| size | string | Size of droplet. | "s-1vcpu-1gb" |
| servers | number | Count of servers to create. | 1 |
| domain | string | Domain name. Host will be registered in this domain if non-empty value assigned. | "" |
| ipv6 | bool | Enable IPv6 address on droplet. | false |
| private_networking | bool | Enable DigitalOcean private networking. | true |
Outputs (7)
fqdnprivate_keypublic_keyipv4ipv4_privateipv6nameResources (6)
Details
Similar packages
Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,