Skip to content

Commit d090330

Browse files
committed
Update services
1 parent 68ea10e commit d090330

16 files changed

Lines changed: 833 additions & 22 deletions

File tree

.mise.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[tools]
2+
terraform = "1.14.3"
3+
terraform-docs = "0.21.0"
4+
go = "1.25.0"

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,3 +343,9 @@ SSH key improvements:
343343
- SSH key comments are now forbidden in `ssh_public_keys.key_data`. Use the new provider functions to strip comments.
344344
- Documented supported SSH key types: `ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`.
345345
- Improved error messages with links to documentation and provider functions.
346+
347+
## v0.27.0 (12 January, 2026)
348+
349+
- **New service:** `elestio_cryptomator`
350+
- **New service:** `elestio_postgis`
351+
- **New service:** `elestio_rybbit`

docs/resources/cryptomator.md

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "elestio_cryptomator Resource - terraform-provider-elestio"
4+
subcategory: "Services: Applications"
5+
description: |-
6+
Secure client-side encryption for your cloud storage, ensuring privacy and control over your data.The elestio_cryptomator resource allows the creation and management of Elestio Cryptomator services. The service uses the following docker image ghcr.io/cryptomator/hub https://hub.docker.com/r/ghcr.io/cryptomator/hub
7+
---
8+
9+
# elestio_cryptomator (Resource)
10+
11+
<img src="https://cf.appdrag.com/dashboard-openvm-clo-b2d42c/uploads/Cryptomator-zqE1.png" width="100" /><br>Secure client-side encryption for your cloud storage, ensuring privacy and control over your data.<br><br>The **elestio_cryptomator** resource allows the creation and management of Elestio Cryptomator services. The service uses the following docker image [ghcr.io/cryptomator/hub](https://hub.docker.com/r/ghcr.io/cryptomator/hub)
12+
13+
## Example Usage
14+
15+
```terraform
16+
resource "elestio_cryptomator" "example" {
17+
project_id = "2500"
18+
version = "stable"
19+
provider_name = "netcup"
20+
datacenter = "nbg"
21+
server_type = "MEDIUM-2C-4G"
22+
23+
# Default firewall rules
24+
firewall_user_rules = [
25+
# Required system ports
26+
{
27+
"type" = "input"
28+
"port" = "22"
29+
"protocol" = "tcp"
30+
"targets" = ["0.0.0.0/0", "::/0"]
31+
},
32+
{
33+
"type" = "input"
34+
"port" = "4242"
35+
"protocol" = "udp"
36+
"targets" = ["0.0.0.0/0", "::/0"]
37+
},
38+
# Application ports
39+
{
40+
"type" = "input"
41+
"port" = "80"
42+
"protocol" = "tcp"
43+
"targets" = ["0.0.0.0/0", "::/0"]
44+
},
45+
{
46+
"type" = "input"
47+
"port" = "443"
48+
"protocol" = "tcp"
49+
"targets" = ["0.0.0.0/0", "::/0"]
50+
}
51+
]
52+
}
53+
```
54+
55+
<!-- schema generated by tfplugindocs -->
56+
## Schema
57+
58+
### Required
59+
60+
- `datacenter` (String) The datacenter of the provider where the service will be hosted. You can look for available datacenters in the [providers documentation](https://registry.terraform.io/providers/elestio/elestio/latest/docs/guides/providers_datacenters_server_types). Requires replace to change it.
61+
- `project_id` (String) Identifier of the project in which the service is. Requires replace to change it.
62+
- `provider_name` (String) The name of the provider to use to host the service (must be lowercase). Common providers: `hetzner`, `do`, `lightsail`, `linode`, `vultr`, `scaleway`, `netcup`. You can look for available provider names in the [providers documentation](https://registry.terraform.io/providers/elestio/elestio/latest/docs/guides/providers_datacenters_server_types). Requires replace to change it.
63+
- `server_type` (String) The server type defines the power and memory allocated to the service. Each `provider_name` has a list of available server types. You can look for available server types in the [providers documentation](https://registry.terraform.io/providers/elestio/elestio/latest/docs/guides/providers_datacenters_server_types). You can only upgrade it, not downgrade.<br/>Requires replace to update the server type with the provider `scale_way`.
64+
65+
### Optional
66+
67+
- `admin_email` (String) Service admin email. Requires replace to change it.
68+
- `alerts_enabled` (Boolean) Service alerts state. **Default** `true`.
69+
- `app_auto_updates_enabled` (Boolean) Service app auto update state. **Default** `true`.
70+
- `backups_enabled` (Boolean) Service backups state. Requires a support_level higher than `level1`. **Default** `false`.
71+
- `custom_domain_names` (Set of String) Indicate the list of domains for which you want to activate HTTPS / TLS / SSL. You will also need to create a DNS entry on your domain name (from your registrar control panel) pointing to your service. You must create a CNAME record pointing to the service `cname` value. Alternatively, you can create an A record pointing to the service `ipv4` value.
72+
- `default_password` (String) Set the default password used by you services at **CREATION** time.</br>The password can only contain alphanumeric characters or hyphens `-`. Require at least 10 characters, one uppercase letter, one lowercase letter and one number.</br>If you don't set a password, a random one will be generated by the API.</br>This attribute will **not be synced** after the creation. Use `admin.password` or `database_admin.password` to get the current password after the creation.
73+
- `firewall_enabled` (Boolean) Service firewall state. **Default** `true`.
74+
- `firewall_remove_tool_ports` (Boolean) When `true`, removes API-managed tool ports (VS Code, Terminal, etc.) that are not explicitly defined in `firewall_user_rules`. Tool ports explicitly included in `firewall_user_rules` are user-managed and will always be preserved. **Default** `false`. Use temporarily for cleanup, then reset to `false`.
75+
- `firewall_user_rules` (Attributes Set) Firewall rules for the service. **Required ports (must use exactly `["0.0.0.0/0", "::/0"]`):** `22/tcp` (SSH), `4242/udp` (Nebula VPN), `80/tcp` (Let's Encrypt for custom domains). When `firewall_enabled` is `false`, set to `[]`. **Software default ports:** `80/tcp`, `443/tcp`. (see [below for nested schema](#nestedatt--firewall_user_rules))
76+
- `keep_backups_on_delete_enabled` (Boolean) Creates a backup and keeps all existing ones after deleting the service. If the project is deleted, the backups will be lost. **Default** `true`.
77+
- `local_field` (Dynamic) This field is dynamic and can be used to store any custom data that you want to retrieve later in your configuration. It is not used by the provider.
78+
- `local_field_sensitive` (Dynamic, Sensitive) Same as `local_field` but the value is sensitive.
79+
- `remote_backups_enabled` (Boolean) Service remote backups state. **Default** `true`.
80+
- `server_name` (String) Service server name. Max length 60 characters, and can only include lowercase letters a-z, digits 0-9, and hyphens (-). Must be unique within the project. Requires replace to change it.
81+
- `ssh_keys` (Attributes Set, Deprecated) This attribute allows you to add SSH keys to your service. (see [below for nested schema](#nestedatt--ssh_keys))
82+
- `ssh_public_keys` (Attributes Set) You can add Public Keys to your resource to access it via the SSH protocol. (see [below for nested schema](#nestedatt--ssh_public_keys))
83+
- `support_level` (String) Service support level. Available support levels are `level1`, `level2` and `level3`. You can look for their advantages in the [pricing documentation](https://elest.io/pricing). Requires replace the whole resource to change it in terraform. It is recommended to use the web dashboard to change it without replacing the service.
84+
- `system_auto_updates_enabled` (Boolean) Service system auto update state. **Default** `true`.
85+
- `system_auto_updates_security_patches_only_enabled` (Boolean) Service system auto update security patches only state. **Default** `false`.
86+
- `version` (String) This is the version of the software used as service. **Default** `stable`.
87+
88+
### Read-Only
89+
90+
- `admin` (Attributes, Sensitive) Service admin. (see [below for nested schema](#nestedatt--admin))
91+
- `admin_user` (String) Service admin user.
92+
- `app_auto_updates_day_of_week` (Number) Service app auto update day of week. `0 = Sunday`, `1 = Monday`, ..., `6 = Saturday`, `-1 = Everyday`
93+
- `app_auto_updates_hour` (Number) Service app auto update hour.
94+
- `app_auto_updates_minute` (Number) Service app auto update minute.
95+
- `category` (String) Service category.
96+
- `city` (String) Service city.
97+
- `cname` (String) Service CNAME.
98+
- `cores` (Number) Service cores.
99+
- `country` (String) Service country.
100+
- `created_at` (String) Service creation date.
101+
- `creator_name` (String) Service creator name.
102+
- `database_admin` (Attributes, Sensitive) Service database admin. (see [below for nested schema](#nestedatt--database_admin))
103+
- `deployment_ended_at` (String) Service deployment endedAt date.
104+
- `deployment_started_at` (String) Service deployment startedAt date.
105+
- `deployment_status` (String) Service deployement status.
106+
- `elestio_id` (Number) Service identifier unique and handled by Elestio.
107+
- `env` (Map of String, Sensitive) Service environment variables.
108+
- `external_backups_enabled` (Boolean) Service external backups state. **Default** `false`.
109+
- `external_backups_retain_day_of_week` (Number) Service external backups retain day of week. `0 = Sunday`, `1 = Monday`, ..., `6 = Saturday`, `-1 = Everyday`
110+
- `external_backups_update_day_of_week` (Number) Service external backups update day. `0 = Sunday`, `1 = Monday`, ..., `6 = Saturday`, `-1 = Everyday`
111+
- `external_backups_update_hour` (Number) Service external backups update hour.
112+
- `external_backups_update_minute` (Number) Service external backups update minute.
113+
- `external_backups_update_type` (String) Service external backups update type.
114+
- `firewall_id` (String) Service firewall id.
115+
- `firewall_ports` (String) Service firewall ports.
116+
- `firewall_tool_rules` (Attributes Set) API-managed tool ports (VS Code, Terminal, File Explorer, etc.) that are not explicitly defined in `firewall_user_rules`. These ports are automatically managed by the API and will be preserved unless `firewall_remove_tool_ports` is set to `true`. If you want to manage a tool port yourself, include it explicitly in `firewall_user_rules`. (see [below for nested schema](#nestedatt--firewall_tool_rules))
117+
- `global_ip` (String) Service global IP.
118+
- `id` (String) Service identifier handled by the provider. The format can change.
119+
- `ipv4` (String) Service IPv4.
120+
- `ipv6` (String) Service IPv6.
121+
- `last_updated` (String)
122+
- `price_per_hour` (String) Service price per hour.
123+
- `ram_size_gb` (String) Service ram size in GB.
124+
- `root_app_path` (String) Service root app path.
125+
- `status` (String) Service status.
126+
- `storage_size_gb` (Number) Service storage size in GB.
127+
- `system_auto_updates_reboot_day_of_week` (Number) Service system auto update reboot day of week. `0 = Sunday`, `1 = Monday`, ..., `6 = Saturday`, `-1 = Everyday`
128+
- `system_auto_updates_reboot_hour` (Number) Service system auto update reboot hour.
129+
- `system_auto_updates_reboot_minute` (Number) Service system auto update reboot minute.
130+
- `template_id` (Number) The template identifier defines the software used. You can look for available template ids in the [templates documentation](https://elest.io/fully-managed-services).
131+
- `traffic_included` (Number) Service traffic included.
132+
- `traffic_incoming` (Number) Service traffic incoming.
133+
- `traffic_outgoing` (Number) Service traffic outgoing.
134+
135+
<a id="nestedatt--firewall_user_rules"></a>
136+
### Nested Schema for `firewall_user_rules`
137+
138+
Required:
139+
140+
- `port` (String) Port number (`80`, `443`) or range (`8000-9000`).
141+
- `protocol` (String) The protocol (`tcp` or `udp`).
142+
- `targets` (Set of String) CIDR blocks allowed to access this port. Use `["0.0.0.0/0", "::/0"]` to allow access from all IPv4/IPv6 addresses. **Note:** Required system ports (22/tcp/input, 4242/udp/input, and 80/tcp/input when using custom domains) must have exactly these two targets and cannot have additional target restrictions.
143+
- `type` (String) The firewall rule type. Currently only `input` is supported.
144+
145+
146+
<a id="nestedatt--ssh_keys"></a>
147+
### Nested Schema for `ssh_keys`
148+
149+
Required:
150+
151+
- `key_name` (String) SSH Key Name.
152+
- `public_key` (String, Deprecated) SSH Public Key.The SSH public key should only contain two parts separated by a space. Example: `ssh-rsa AAaCfa...WAqDUNs=`. You should not include the username, hostname, or comment.
153+
154+
155+
<a id="nestedatt--ssh_public_keys"></a>
156+
### Nested Schema for `ssh_public_keys`
157+
158+
Required:
159+
160+
- `key_data` (String) The Public Key value without comment. Use `provider::elestio::parse_ssh_key_data(file("~/.ssh/id_rsa.pub"))` to remove the comment from your key. Read the guide ["How to use SSH keys with Elestio Terraform Provider"](https://registry.terraform.io/providers/elestio/elestio/latest/docs/guides/ssh_keys).
161+
- `username` (String) The username is used to identify the Public Key among others. Must be unique (per resource).
162+
163+
164+
<a id="nestedatt--admin"></a>
165+
### Nested Schema for `admin`
166+
167+
Read-Only:
168+
169+
- `password` (String) Service admin password.
170+
- `url` (String) Service admin URL.
171+
- `user` (String) Service admin user.
172+
173+
174+
<a id="nestedatt--database_admin"></a>
175+
### Nested Schema for `database_admin`
176+
177+
Read-Only:
178+
179+
- `command` (String) Service database admin command.
180+
- `host` (String) Service database admin host.
181+
- `password` (String) Service database admin password.
182+
- `port` (String) Service database admin port.
183+
- `user` (String) Service database admin user.
184+
185+
186+
<a id="nestedatt--firewall_tool_rules"></a>
187+
### Nested Schema for `firewall_tool_rules`
188+
189+
Read-Only:
190+
191+
- `name` (String) The tool name.
192+
- `port` (String) Port number.
193+
- `protocol` (String) The protocol.
194+
- `targets` (Set of String) CIDR blocks allowed to access this port.
195+
- `type` (String) The firewall rule type.
196+
197+
## Import
198+
199+
Import is supported using the following syntax:
200+
201+
```shell
202+
# Import a Cryptomator service by specifying the Project ID it belongs to, and the Cryptomator service ID (spaced by a comma).
203+
terraform import elestio_cryptomator.my_cryptomator project_id,cryptomator_service_id
204+
```

docs/resources/getateam.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,6 @@ resource "elestio_getateam" "example" {
4747
"port" = "443"
4848
"protocol" = "tcp"
4949
"targets" = ["0.0.0.0/0", "::/0"]
50-
},
51-
{
52-
"type" = "input"
53-
"port" = "4444"
54-
"protocol" = "tcp"
55-
"targets" = ["0.0.0.0/0", "::/0"]
5650
}
5751
]
5852
}
@@ -78,7 +72,7 @@ resource "elestio_getateam" "example" {
7872
- `default_password` (String) Set the default password used by you services at **CREATION** time.</br>The password can only contain alphanumeric characters or hyphens `-`. Require at least 10 characters, one uppercase letter, one lowercase letter and one number.</br>If you don't set a password, a random one will be generated by the API.</br>This attribute will **not be synced** after the creation. Use `admin.password` or `database_admin.password` to get the current password after the creation.
7973
- `firewall_enabled` (Boolean) Service firewall state. **Default** `true`.
8074
- `firewall_remove_tool_ports` (Boolean) When `true`, removes API-managed tool ports (VS Code, Terminal, etc.) that are not explicitly defined in `firewall_user_rules`. Tool ports explicitly included in `firewall_user_rules` are user-managed and will always be preserved. **Default** `false`. Use temporarily for cleanup, then reset to `false`.
81-
- `firewall_user_rules` (Attributes Set) Firewall rules for the service. **Required ports (must use exactly `["0.0.0.0/0", "::/0"]`):** `22/tcp` (SSH), `4242/udp` (Nebula VPN), `80/tcp` (Let's Encrypt for custom domains). When `firewall_enabled` is `false`, set to `[]`. **Software default ports:** `80/tcp`, `443/tcp`, `4444/tcp`. (see [below for nested schema](#nestedatt--firewall_user_rules))
75+
- `firewall_user_rules` (Attributes Set) Firewall rules for the service. **Required ports (must use exactly `["0.0.0.0/0", "::/0"]`):** `22/tcp` (SSH), `4242/udp` (Nebula VPN), `80/tcp` (Let's Encrypt for custom domains). When `firewall_enabled` is `false`, set to `[]`. **Software default ports:** `80/tcp`, `443/tcp`. (see [below for nested schema](#nestedatt--firewall_user_rules))
8276
- `keep_backups_on_delete_enabled` (Boolean) Creates a backup and keeps all existing ones after deleting the service. If the project is deleted, the backups will be lost. **Default** `true`.
8377
- `local_field` (Dynamic) This field is dynamic and can be used to store any custom data that you want to retrieve later in your configuration. It is not used by the provider.
8478
- `local_field_sensitive` (Dynamic, Sensitive) Same as `local_field` but the value is sensitive.

0 commit comments

Comments
 (0)