Six new resources from terraform-provider-dokploy v0.2.0 -- Network, DnsProvider, VaultProvider, Schedule, VolumeBackup and Libsql -- plus the new properties on Domain (`enabled`), Compose (`serviceNetworks`, `createEnvFile`, `icon`) and Application. Verified with `pulumi up` against a live v0.30.2 instance: create, preview-clean, and destroy. The upstream provider also now refuses a volume Mount with no `volumeName`, which Dokploy would otherwise turn into an anonymous Docker volume recreated on every deploy. That surfaces here at preview time, before anything exists. Two things made that fix nearly invisible to Pulumi users, so this commit fixes the second one: the bridge resolves the upstream `docs/` through the Go module cache, where a locally `replace`d dependency never lands, so tfgen was emitting every resource with no description at all. UpstreamRepoPath now points at the checkout and all 445 inputs carry documentation -- with names rendered per language, so Python readers see `volume_name` where TypeScript readers see `volumeName`.
1734 lines
81 KiB
Python
Generated
1734 lines
81 KiB
Python
Generated
# coding=utf-8
|
|
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
|
|
import builtins as _builtins
|
|
import warnings
|
|
import sys
|
|
import pulumi
|
|
import pulumi.runtime
|
|
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
if sys.version_info >= (3, 11):
|
|
from typing import NotRequired, TypedDict, TypeAlias
|
|
else:
|
|
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
from . import _utilities
|
|
|
|
__all__ = ['LibsqlArgs', 'Libsql']
|
|
|
|
@pulumi.input_type
|
|
class LibsqlArgs:
|
|
def __init__(__self__, *,
|
|
database_password: pulumi.Input[_builtins.str],
|
|
database_user: pulumi.Input[_builtins.str],
|
|
docker_image: pulumi.Input[_builtins.str],
|
|
environment_id: pulumi.Input[_builtins.str],
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
command: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
description: pulumi.Input[Optional[_builtins.str]] = None,
|
|
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
env: pulumi.Input[Optional[_builtins.str]] = None,
|
|
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
replicas: pulumi.Input[Optional[_builtins.int]] = None,
|
|
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
|
|
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
The set of arguments for constructing a Libsql resource.
|
|
|
|
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
|
|
:param pulumi.Input[_builtins.str] database_user: Database user to create.
|
|
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
|
|
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
|
|
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
|
|
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
|
|
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
|
|
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
|
|
:param pulumi.Input[_builtins.str] description: Free-form description.
|
|
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
|
|
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
|
|
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
|
|
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
|
|
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
|
|
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
|
|
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
|
|
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
|
|
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the database.
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
|
|
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
|
|
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
|
|
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
|
|
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
|
|
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
|
|
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
|
|
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
|
|
"""
|
|
pulumi.set(__self__, "database_password", database_password)
|
|
pulumi.set(__self__, "database_user", database_user)
|
|
pulumi.set(__self__, "docker_image", docker_image)
|
|
pulumi.set(__self__, "environment_id", environment_id)
|
|
if app_name is not None:
|
|
pulumi.set(__self__, "app_name", app_name)
|
|
if command is not None:
|
|
pulumi.set(__self__, "command", command)
|
|
if cpu_limit is not None:
|
|
pulumi.set(__self__, "cpu_limit", cpu_limit)
|
|
if cpu_reservation is not None:
|
|
pulumi.set(__self__, "cpu_reservation", cpu_reservation)
|
|
if description is not None:
|
|
pulumi.set(__self__, "description", description)
|
|
if detach_dokploy_network is not None:
|
|
pulumi.set(__self__, "detach_dokploy_network", detach_dokploy_network)
|
|
if enable_namespaces is not None:
|
|
pulumi.set(__self__, "enable_namespaces", enable_namespaces)
|
|
if endpoint_spec_swarm is not None:
|
|
pulumi.set(__self__, "endpoint_spec_swarm", endpoint_spec_swarm)
|
|
if env is not None:
|
|
pulumi.set(__self__, "env", env)
|
|
if external_admin_port is not None:
|
|
pulumi.set(__self__, "external_admin_port", external_admin_port)
|
|
if external_grpc_port is not None:
|
|
pulumi.set(__self__, "external_grpc_port", external_grpc_port)
|
|
if external_port is not None:
|
|
pulumi.set(__self__, "external_port", external_port)
|
|
if health_check_swarm is not None:
|
|
pulumi.set(__self__, "health_check_swarm", health_check_swarm)
|
|
if labels_swarm is not None:
|
|
pulumi.set(__self__, "labels_swarm", labels_swarm)
|
|
if memory_limit is not None:
|
|
pulumi.set(__self__, "memory_limit", memory_limit)
|
|
if memory_reservation is not None:
|
|
pulumi.set(__self__, "memory_reservation", memory_reservation)
|
|
if mode_swarm is not None:
|
|
pulumi.set(__self__, "mode_swarm", mode_swarm)
|
|
if name is not None:
|
|
pulumi.set(__self__, "name", name)
|
|
if network_ids is not None:
|
|
pulumi.set(__self__, "network_ids", network_ids)
|
|
if network_swarm is not None:
|
|
pulumi.set(__self__, "network_swarm", network_swarm)
|
|
if placement_swarm is not None:
|
|
pulumi.set(__self__, "placement_swarm", placement_swarm)
|
|
if replicas is not None:
|
|
pulumi.set(__self__, "replicas", replicas)
|
|
if restart_policy_swarm is not None:
|
|
pulumi.set(__self__, "restart_policy_swarm", restart_policy_swarm)
|
|
if rollback_config_swarm is not None:
|
|
pulumi.set(__self__, "rollback_config_swarm", rollback_config_swarm)
|
|
if server_id is not None:
|
|
pulumi.set(__self__, "server_id", server_id)
|
|
if sqld_node is not None:
|
|
pulumi.set(__self__, "sqld_node", sqld_node)
|
|
if sqld_primary_url is not None:
|
|
pulumi.set(__self__, "sqld_primary_url", sqld_primary_url)
|
|
if stop_grace_period_swarm is not None:
|
|
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
|
|
if update_config_swarm is not None:
|
|
pulumi.set(__self__, "update_config_swarm", update_config_swarm)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="databasePassword")
|
|
def database_password(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Password for the database user.
|
|
"""
|
|
return pulumi.get(self, "database_password")
|
|
|
|
@database_password.setter
|
|
def database_password(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "database_password", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="databaseUser")
|
|
def database_user(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Database user to create.
|
|
"""
|
|
return pulumi.get(self, "database_user")
|
|
|
|
@database_user.setter
|
|
def database_user(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "database_user", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="dockerImage")
|
|
def docker_image(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
|
|
"""
|
|
return pulumi.get(self, "docker_image")
|
|
|
|
@docker_image.setter
|
|
def docker_image(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "docker_image", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="environmentId")
|
|
def environment_id(self) -> pulumi.Input[_builtins.str]:
|
|
"""
|
|
Environment this database belongs to.
|
|
"""
|
|
return pulumi.get(self, "environment_id")
|
|
|
|
@environment_id.setter
|
|
def environment_id(self, value: pulumi.Input[_builtins.str]):
|
|
pulumi.set(self, "environment_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="appName")
|
|
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
|
|
"""
|
|
return pulumi.get(self, "app_name")
|
|
|
|
@app_name.setter
|
|
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "app_name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def command(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Override the container entrypoint command.
|
|
"""
|
|
return pulumi.get(self, "command")
|
|
|
|
@command.setter
|
|
def command(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "command", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cpuLimit")
|
|
def cpu_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Hard CPU limit, for example `1`.
|
|
"""
|
|
return pulumi.get(self, "cpu_limit")
|
|
|
|
@cpu_limit.setter
|
|
def cpu_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "cpu_limit", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cpuReservation")
|
|
def cpu_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Soft CPU reservation, for example `0.5`.
|
|
"""
|
|
return pulumi.get(self, "cpu_reservation")
|
|
|
|
@cpu_reservation.setter
|
|
def cpu_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "cpu_reservation", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Free-form description.
|
|
"""
|
|
return pulumi.get(self, "description")
|
|
|
|
@description.setter
|
|
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "description", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="detachDokployNetwork")
|
|
def detach_dokploy_network(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Detach the service from the shared `dokploy-network`.
|
|
"""
|
|
return pulumi.get(self, "detach_dokploy_network")
|
|
|
|
@detach_dokploy_network.setter
|
|
def detach_dokploy_network(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "detach_dokploy_network", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="enableNamespaces")
|
|
def enable_namespaces(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Serve multiple logical databases from one instance through libSQL namespaces.
|
|
"""
|
|
return pulumi.get(self, "enable_namespaces")
|
|
|
|
@enable_namespaces.setter
|
|
def enable_namespaces(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "enable_namespaces", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="endpointSpecSwarm")
|
|
def endpoint_spec_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm endpoint specification, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "endpoint_spec_swarm")
|
|
|
|
@endpoint_spec_swarm.setter
|
|
def endpoint_spec_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "endpoint_spec_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Environment variables in `KEY=value` format, one per line.
|
|
"""
|
|
return pulumi.get(self, "env")
|
|
|
|
@env.setter
|
|
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "env", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalAdminPort")
|
|
def external_admin_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the admin API.
|
|
"""
|
|
return pulumi.get(self, "external_admin_port")
|
|
|
|
@external_admin_port.setter
|
|
def external_admin_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "external_admin_port", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalGrpcPort")
|
|
def external_grpc_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the gRPC replication endpoint.
|
|
"""
|
|
return pulumi.get(self, "external_grpc_port")
|
|
|
|
@external_grpc_port.setter
|
|
def external_grpc_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "external_grpc_port", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalPort")
|
|
def external_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the HTTP API.
|
|
"""
|
|
return pulumi.get(self, "external_port")
|
|
|
|
@external_port.setter
|
|
def external_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "external_port", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="healthCheckSwarm")
|
|
def health_check_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm health check configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "health_check_swarm")
|
|
|
|
@health_check_swarm.setter
|
|
def health_check_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "health_check_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="labelsSwarm")
|
|
def labels_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm service labels, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "labels_swarm")
|
|
|
|
@labels_swarm.setter
|
|
def labels_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "labels_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="memoryLimit")
|
|
def memory_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Hard memory limit, for example `512m`.
|
|
"""
|
|
return pulumi.get(self, "memory_limit")
|
|
|
|
@memory_limit.setter
|
|
def memory_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "memory_limit", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="memoryReservation")
|
|
def memory_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Soft memory reservation, for example `256m`.
|
|
"""
|
|
return pulumi.get(self, "memory_reservation")
|
|
|
|
@memory_reservation.setter
|
|
def memory_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "memory_reservation", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="modeSwarm")
|
|
def mode_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm service mode, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "mode_swarm")
|
|
|
|
@mode_swarm.setter
|
|
def mode_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mode_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Display name of the database.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@name.setter
|
|
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="networkIds")
|
|
def network_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
IDs of additional Docker networks to attach.
|
|
"""
|
|
return pulumi.get(self, "network_ids")
|
|
|
|
@network_ids.setter
|
|
def network_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "network_ids", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="networkSwarm")
|
|
def network_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm network attachments, as a JSON array.
|
|
"""
|
|
return pulumi.get(self, "network_swarm")
|
|
|
|
@network_swarm.setter
|
|
def network_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "network_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="placementSwarm")
|
|
def placement_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm placement constraints, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "placement_swarm")
|
|
|
|
@placement_swarm.setter
|
|
def placement_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "placement_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def replicas(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Number of replicas to run.
|
|
"""
|
|
return pulumi.get(self, "replicas")
|
|
|
|
@replicas.setter
|
|
def replicas(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "replicas", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="restartPolicySwarm")
|
|
def restart_policy_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm restart policy, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "restart_policy_swarm")
|
|
|
|
@restart_policy_swarm.setter
|
|
def restart_policy_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "restart_policy_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="rollbackConfigSwarm")
|
|
def rollback_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm rollback configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "rollback_config_swarm")
|
|
|
|
@rollback_config_swarm.setter
|
|
def rollback_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "rollback_config_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serverId")
|
|
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
"""
|
|
return pulumi.get(self, "server_id")
|
|
|
|
@server_id.setter
|
|
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "server_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sqldNode")
|
|
def sqld_node(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
|
|
"""
|
|
return pulumi.get(self, "sqld_node")
|
|
|
|
@sqld_node.setter
|
|
def sqld_node(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "sqld_node", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sqldPrimaryUrl")
|
|
def sqld_primary_url(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
URL of the primary node, when `sqld_node` is `replica`.
|
|
"""
|
|
return pulumi.get(self, "sqld_primary_url")
|
|
|
|
@sqld_primary_url.setter
|
|
def sqld_primary_url(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "sqld_primary_url", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="stopGracePeriodSwarm")
|
|
def stop_grace_period_swarm(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Grace period in nanoseconds before a container is killed.
|
|
"""
|
|
return pulumi.get(self, "stop_grace_period_swarm")
|
|
|
|
@stop_grace_period_swarm.setter
|
|
def stop_grace_period_swarm(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "stop_grace_period_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="updateConfigSwarm")
|
|
def update_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm rolling update configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "update_config_swarm")
|
|
|
|
@update_config_swarm.setter
|
|
def update_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "update_config_swarm", value)
|
|
|
|
|
|
@pulumi.input_type
|
|
class _LibsqlState:
|
|
def __init__(__self__, *,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
application_status: pulumi.Input[Optional[_builtins.str]] = None,
|
|
command: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_password: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_user: pulumi.Input[Optional[_builtins.str]] = None,
|
|
description: pulumi.Input[Optional[_builtins.str]] = None,
|
|
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
env: pulumi.Input[Optional[_builtins.str]] = None,
|
|
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
replicas: pulumi.Input[Optional[_builtins.int]] = None,
|
|
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
|
|
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None):
|
|
"""
|
|
Input properties used for looking up and filtering Libsql resources.
|
|
|
|
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
|
|
:param pulumi.Input[_builtins.str] application_status: Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
|
|
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
|
|
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
|
|
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the database was created.
|
|
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
|
|
:param pulumi.Input[_builtins.str] database_user: Database user to create.
|
|
:param pulumi.Input[_builtins.str] description: Free-form description.
|
|
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
|
|
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
|
|
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
|
|
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
|
|
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
|
|
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
|
|
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
|
|
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
|
|
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
|
|
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
|
|
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the database.
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
|
|
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
|
|
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
|
|
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
|
|
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
|
|
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
|
|
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
|
|
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
|
|
"""
|
|
if app_name is not None:
|
|
pulumi.set(__self__, "app_name", app_name)
|
|
if application_status is not None:
|
|
pulumi.set(__self__, "application_status", application_status)
|
|
if command is not None:
|
|
pulumi.set(__self__, "command", command)
|
|
if cpu_limit is not None:
|
|
pulumi.set(__self__, "cpu_limit", cpu_limit)
|
|
if cpu_reservation is not None:
|
|
pulumi.set(__self__, "cpu_reservation", cpu_reservation)
|
|
if created_at is not None:
|
|
pulumi.set(__self__, "created_at", created_at)
|
|
if database_password is not None:
|
|
pulumi.set(__self__, "database_password", database_password)
|
|
if database_user is not None:
|
|
pulumi.set(__self__, "database_user", database_user)
|
|
if description is not None:
|
|
pulumi.set(__self__, "description", description)
|
|
if detach_dokploy_network is not None:
|
|
pulumi.set(__self__, "detach_dokploy_network", detach_dokploy_network)
|
|
if docker_image is not None:
|
|
pulumi.set(__self__, "docker_image", docker_image)
|
|
if enable_namespaces is not None:
|
|
pulumi.set(__self__, "enable_namespaces", enable_namespaces)
|
|
if endpoint_spec_swarm is not None:
|
|
pulumi.set(__self__, "endpoint_spec_swarm", endpoint_spec_swarm)
|
|
if env is not None:
|
|
pulumi.set(__self__, "env", env)
|
|
if environment_id is not None:
|
|
pulumi.set(__self__, "environment_id", environment_id)
|
|
if external_admin_port is not None:
|
|
pulumi.set(__self__, "external_admin_port", external_admin_port)
|
|
if external_grpc_port is not None:
|
|
pulumi.set(__self__, "external_grpc_port", external_grpc_port)
|
|
if external_port is not None:
|
|
pulumi.set(__self__, "external_port", external_port)
|
|
if health_check_swarm is not None:
|
|
pulumi.set(__self__, "health_check_swarm", health_check_swarm)
|
|
if labels_swarm is not None:
|
|
pulumi.set(__self__, "labels_swarm", labels_swarm)
|
|
if memory_limit is not None:
|
|
pulumi.set(__self__, "memory_limit", memory_limit)
|
|
if memory_reservation is not None:
|
|
pulumi.set(__self__, "memory_reservation", memory_reservation)
|
|
if mode_swarm is not None:
|
|
pulumi.set(__self__, "mode_swarm", mode_swarm)
|
|
if name is not None:
|
|
pulumi.set(__self__, "name", name)
|
|
if network_ids is not None:
|
|
pulumi.set(__self__, "network_ids", network_ids)
|
|
if network_swarm is not None:
|
|
pulumi.set(__self__, "network_swarm", network_swarm)
|
|
if placement_swarm is not None:
|
|
pulumi.set(__self__, "placement_swarm", placement_swarm)
|
|
if replicas is not None:
|
|
pulumi.set(__self__, "replicas", replicas)
|
|
if restart_policy_swarm is not None:
|
|
pulumi.set(__self__, "restart_policy_swarm", restart_policy_swarm)
|
|
if rollback_config_swarm is not None:
|
|
pulumi.set(__self__, "rollback_config_swarm", rollback_config_swarm)
|
|
if server_id is not None:
|
|
pulumi.set(__self__, "server_id", server_id)
|
|
if sqld_node is not None:
|
|
pulumi.set(__self__, "sqld_node", sqld_node)
|
|
if sqld_primary_url is not None:
|
|
pulumi.set(__self__, "sqld_primary_url", sqld_primary_url)
|
|
if stop_grace_period_swarm is not None:
|
|
pulumi.set(__self__, "stop_grace_period_swarm", stop_grace_period_swarm)
|
|
if update_config_swarm is not None:
|
|
pulumi.set(__self__, "update_config_swarm", update_config_swarm)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="appName")
|
|
def app_name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
|
|
"""
|
|
return pulumi.get(self, "app_name")
|
|
|
|
@app_name.setter
|
|
def app_name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "app_name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="applicationStatus")
|
|
def application_status(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
"""
|
|
return pulumi.get(self, "application_status")
|
|
|
|
@application_status.setter
|
|
def application_status(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "application_status", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def command(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Override the container entrypoint command.
|
|
"""
|
|
return pulumi.get(self, "command")
|
|
|
|
@command.setter
|
|
def command(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "command", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cpuLimit")
|
|
def cpu_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Hard CPU limit, for example `1`.
|
|
"""
|
|
return pulumi.get(self, "cpu_limit")
|
|
|
|
@cpu_limit.setter
|
|
def cpu_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "cpu_limit", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cpuReservation")
|
|
def cpu_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Soft CPU reservation, for example `0.5`.
|
|
"""
|
|
return pulumi.get(self, "cpu_reservation")
|
|
|
|
@cpu_reservation.setter
|
|
def cpu_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "cpu_reservation", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="createdAt")
|
|
def created_at(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
RFC 3339 timestamp of when the database was created.
|
|
"""
|
|
return pulumi.get(self, "created_at")
|
|
|
|
@created_at.setter
|
|
def created_at(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "created_at", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="databasePassword")
|
|
def database_password(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Password for the database user.
|
|
"""
|
|
return pulumi.get(self, "database_password")
|
|
|
|
@database_password.setter
|
|
def database_password(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "database_password", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="databaseUser")
|
|
def database_user(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Database user to create.
|
|
"""
|
|
return pulumi.get(self, "database_user")
|
|
|
|
@database_user.setter
|
|
def database_user(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "database_user", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def description(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Free-form description.
|
|
"""
|
|
return pulumi.get(self, "description")
|
|
|
|
@description.setter
|
|
def description(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "description", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="detachDokployNetwork")
|
|
def detach_dokploy_network(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Detach the service from the shared `dokploy-network`.
|
|
"""
|
|
return pulumi.get(self, "detach_dokploy_network")
|
|
|
|
@detach_dokploy_network.setter
|
|
def detach_dokploy_network(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "detach_dokploy_network", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="dockerImage")
|
|
def docker_image(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
|
|
"""
|
|
return pulumi.get(self, "docker_image")
|
|
|
|
@docker_image.setter
|
|
def docker_image(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "docker_image", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="enableNamespaces")
|
|
def enable_namespaces(self) -> pulumi.Input[Optional[_builtins.bool]]:
|
|
"""
|
|
Serve multiple logical databases from one instance through libSQL namespaces.
|
|
"""
|
|
return pulumi.get(self, "enable_namespaces")
|
|
|
|
@enable_namespaces.setter
|
|
def enable_namespaces(self, value: pulumi.Input[Optional[_builtins.bool]]):
|
|
pulumi.set(self, "enable_namespaces", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="endpointSpecSwarm")
|
|
def endpoint_spec_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm endpoint specification, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "endpoint_spec_swarm")
|
|
|
|
@endpoint_spec_swarm.setter
|
|
def endpoint_spec_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "endpoint_spec_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def env(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Environment variables in `KEY=value` format, one per line.
|
|
"""
|
|
return pulumi.get(self, "env")
|
|
|
|
@env.setter
|
|
def env(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "env", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="environmentId")
|
|
def environment_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Environment this database belongs to.
|
|
"""
|
|
return pulumi.get(self, "environment_id")
|
|
|
|
@environment_id.setter
|
|
def environment_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "environment_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalAdminPort")
|
|
def external_admin_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the admin API.
|
|
"""
|
|
return pulumi.get(self, "external_admin_port")
|
|
|
|
@external_admin_port.setter
|
|
def external_admin_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "external_admin_port", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalGrpcPort")
|
|
def external_grpc_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the gRPC replication endpoint.
|
|
"""
|
|
return pulumi.get(self, "external_grpc_port")
|
|
|
|
@external_grpc_port.setter
|
|
def external_grpc_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "external_grpc_port", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalPort")
|
|
def external_port(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the HTTP API.
|
|
"""
|
|
return pulumi.get(self, "external_port")
|
|
|
|
@external_port.setter
|
|
def external_port(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "external_port", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="healthCheckSwarm")
|
|
def health_check_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm health check configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "health_check_swarm")
|
|
|
|
@health_check_swarm.setter
|
|
def health_check_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "health_check_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="labelsSwarm")
|
|
def labels_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm service labels, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "labels_swarm")
|
|
|
|
@labels_swarm.setter
|
|
def labels_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "labels_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="memoryLimit")
|
|
def memory_limit(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Hard memory limit, for example `512m`.
|
|
"""
|
|
return pulumi.get(self, "memory_limit")
|
|
|
|
@memory_limit.setter
|
|
def memory_limit(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "memory_limit", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="memoryReservation")
|
|
def memory_reservation(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Soft memory reservation, for example `256m`.
|
|
"""
|
|
return pulumi.get(self, "memory_reservation")
|
|
|
|
@memory_reservation.setter
|
|
def memory_reservation(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "memory_reservation", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="modeSwarm")
|
|
def mode_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm service mode, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "mode_swarm")
|
|
|
|
@mode_swarm.setter
|
|
def mode_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "mode_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Display name of the database.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@name.setter
|
|
def name(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "name", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="networkIds")
|
|
def network_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
"""
|
|
IDs of additional Docker networks to attach.
|
|
"""
|
|
return pulumi.get(self, "network_ids")
|
|
|
|
@network_ids.setter
|
|
def network_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
pulumi.set(self, "network_ids", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="networkSwarm")
|
|
def network_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm network attachments, as a JSON array.
|
|
"""
|
|
return pulumi.get(self, "network_swarm")
|
|
|
|
@network_swarm.setter
|
|
def network_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "network_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="placementSwarm")
|
|
def placement_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm placement constraints, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "placement_swarm")
|
|
|
|
@placement_swarm.setter
|
|
def placement_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "placement_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def replicas(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Number of replicas to run.
|
|
"""
|
|
return pulumi.get(self, "replicas")
|
|
|
|
@replicas.setter
|
|
def replicas(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "replicas", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="restartPolicySwarm")
|
|
def restart_policy_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm restart policy, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "restart_policy_swarm")
|
|
|
|
@restart_policy_swarm.setter
|
|
def restart_policy_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "restart_policy_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="rollbackConfigSwarm")
|
|
def rollback_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm rollback configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "rollback_config_swarm")
|
|
|
|
@rollback_config_swarm.setter
|
|
def rollback_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "rollback_config_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serverId")
|
|
def server_id(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
"""
|
|
return pulumi.get(self, "server_id")
|
|
|
|
@server_id.setter
|
|
def server_id(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "server_id", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sqldNode")
|
|
def sqld_node(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
|
|
"""
|
|
return pulumi.get(self, "sqld_node")
|
|
|
|
@sqld_node.setter
|
|
def sqld_node(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "sqld_node", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sqldPrimaryUrl")
|
|
def sqld_primary_url(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
URL of the primary node, when `sqld_node` is `replica`.
|
|
"""
|
|
return pulumi.get(self, "sqld_primary_url")
|
|
|
|
@sqld_primary_url.setter
|
|
def sqld_primary_url(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "sqld_primary_url", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="stopGracePeriodSwarm")
|
|
def stop_grace_period_swarm(self) -> pulumi.Input[Optional[_builtins.int]]:
|
|
"""
|
|
Grace period in nanoseconds before a container is killed.
|
|
"""
|
|
return pulumi.get(self, "stop_grace_period_swarm")
|
|
|
|
@stop_grace_period_swarm.setter
|
|
def stop_grace_period_swarm(self, value: pulumi.Input[Optional[_builtins.int]]):
|
|
pulumi.set(self, "stop_grace_period_swarm", value)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="updateConfigSwarm")
|
|
def update_config_swarm(self) -> pulumi.Input[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm rolling update configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "update_config_swarm")
|
|
|
|
@update_config_swarm.setter
|
|
def update_config_swarm(self, value: pulumi.Input[Optional[_builtins.str]]):
|
|
pulumi.set(self, "update_config_swarm", value)
|
|
|
|
|
|
@pulumi.type_token("dokploy:index/libsql:Libsql")
|
|
class Libsql(pulumi.CustomResource):
|
|
@overload
|
|
def __init__(__self__,
|
|
resource_name: str,
|
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
command: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_password: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_user: pulumi.Input[Optional[_builtins.str]] = None,
|
|
description: pulumi.Input[Optional[_builtins.str]] = None,
|
|
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
env: pulumi.Input[Optional[_builtins.str]] = None,
|
|
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
replicas: pulumi.Input[Optional[_builtins.int]] = None,
|
|
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
|
|
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
__props__=None):
|
|
"""
|
|
A managed libSQL instance running on Dokploy.
|
|
|
|
> Creating this resource provisions the service definition but does **not** start a deployment. Deploy it from the Dokploy UI or CLI.
|
|
|
|
> Credentials are stored in Terraform state. Use a state backend with encryption at rest.
|
|
|
|
libSQL runs as a `sqld` server. A `primary` node owns the data; a `replica` node follows a primary named by `sqld_primary_url`.
|
|
|
|
|
|
:param str resource_name: The name of the resource.
|
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
|
|
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
|
|
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
|
|
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
|
|
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
|
|
:param pulumi.Input[_builtins.str] database_user: Database user to create.
|
|
:param pulumi.Input[_builtins.str] description: Free-form description.
|
|
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
|
|
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
|
|
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
|
|
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
|
|
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
|
|
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
|
|
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
|
|
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
|
|
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
|
|
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
|
|
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the database.
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
|
|
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
|
|
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
|
|
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
|
|
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
|
|
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
|
|
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
|
|
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
|
|
"""
|
|
...
|
|
@overload
|
|
def __init__(__self__,
|
|
resource_name: str,
|
|
args: LibsqlArgs,
|
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
"""
|
|
A managed libSQL instance running on Dokploy.
|
|
|
|
> Creating this resource provisions the service definition but does **not** start a deployment. Deploy it from the Dokploy UI or CLI.
|
|
|
|
> Credentials are stored in Terraform state. Use a state backend with encryption at rest.
|
|
|
|
libSQL runs as a `sqld` server. A `primary` node owns the data; a `replica` node follows a primary named by `sqld_primary_url`.
|
|
|
|
|
|
:param str resource_name: The name of the resource.
|
|
:param LibsqlArgs args: The arguments to use to populate this resource's properties.
|
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
"""
|
|
...
|
|
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
resource_args, opts = _utilities.get_resource_args_opts(LibsqlArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
if resource_args is not None:
|
|
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
else:
|
|
__self__._internal_init(resource_name, *args, **kwargs)
|
|
|
|
def _internal_init(__self__,
|
|
resource_name: str,
|
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
command: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_password: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_user: pulumi.Input[Optional[_builtins.str]] = None,
|
|
description: pulumi.Input[Optional[_builtins.str]] = None,
|
|
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
env: pulumi.Input[Optional[_builtins.str]] = None,
|
|
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
replicas: pulumi.Input[Optional[_builtins.int]] = None,
|
|
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
|
|
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
__props__=None):
|
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
if opts.id is None:
|
|
if __props__ is not None:
|
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
__props__ = LibsqlArgs.__new__(LibsqlArgs)
|
|
|
|
__props__.__dict__["app_name"] = app_name
|
|
__props__.__dict__["command"] = command
|
|
__props__.__dict__["cpu_limit"] = cpu_limit
|
|
__props__.__dict__["cpu_reservation"] = cpu_reservation
|
|
if database_password is None and not opts.urn:
|
|
raise TypeError("Missing required property 'database_password'")
|
|
__props__.__dict__["database_password"] = None if database_password is None else pulumi.Output.secret(database_password)
|
|
if database_user is None and not opts.urn:
|
|
raise TypeError("Missing required property 'database_user'")
|
|
__props__.__dict__["database_user"] = database_user
|
|
__props__.__dict__["description"] = description
|
|
__props__.__dict__["detach_dokploy_network"] = detach_dokploy_network
|
|
if docker_image is None and not opts.urn:
|
|
raise TypeError("Missing required property 'docker_image'")
|
|
__props__.__dict__["docker_image"] = docker_image
|
|
__props__.__dict__["enable_namespaces"] = enable_namespaces
|
|
__props__.__dict__["endpoint_spec_swarm"] = endpoint_spec_swarm
|
|
__props__.__dict__["env"] = env
|
|
if environment_id is None and not opts.urn:
|
|
raise TypeError("Missing required property 'environment_id'")
|
|
__props__.__dict__["environment_id"] = environment_id
|
|
__props__.__dict__["external_admin_port"] = external_admin_port
|
|
__props__.__dict__["external_grpc_port"] = external_grpc_port
|
|
__props__.__dict__["external_port"] = external_port
|
|
__props__.__dict__["health_check_swarm"] = health_check_swarm
|
|
__props__.__dict__["labels_swarm"] = labels_swarm
|
|
__props__.__dict__["memory_limit"] = memory_limit
|
|
__props__.__dict__["memory_reservation"] = memory_reservation
|
|
__props__.__dict__["mode_swarm"] = mode_swarm
|
|
__props__.__dict__["name"] = name
|
|
__props__.__dict__["network_ids"] = network_ids
|
|
__props__.__dict__["network_swarm"] = network_swarm
|
|
__props__.__dict__["placement_swarm"] = placement_swarm
|
|
__props__.__dict__["replicas"] = replicas
|
|
__props__.__dict__["restart_policy_swarm"] = restart_policy_swarm
|
|
__props__.__dict__["rollback_config_swarm"] = rollback_config_swarm
|
|
__props__.__dict__["server_id"] = server_id
|
|
__props__.__dict__["sqld_node"] = sqld_node
|
|
__props__.__dict__["sqld_primary_url"] = sqld_primary_url
|
|
__props__.__dict__["stop_grace_period_swarm"] = stop_grace_period_swarm
|
|
__props__.__dict__["update_config_swarm"] = update_config_swarm
|
|
__props__.__dict__["application_status"] = None
|
|
__props__.__dict__["created_at"] = None
|
|
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["databasePassword"])
|
|
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
|
super(Libsql, __self__).__init__(
|
|
'dokploy:index/libsql:Libsql',
|
|
resource_name,
|
|
__props__,
|
|
opts)
|
|
|
|
@staticmethod
|
|
def get(resource_name: str,
|
|
id: pulumi.Input[str],
|
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
app_name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
application_status: pulumi.Input[Optional[_builtins.str]] = None,
|
|
command: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
cpu_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
created_at: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_password: pulumi.Input[Optional[_builtins.str]] = None,
|
|
database_user: pulumi.Input[Optional[_builtins.str]] = None,
|
|
description: pulumi.Input[Optional[_builtins.str]] = None,
|
|
detach_dokploy_network: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
docker_image: pulumi.Input[Optional[_builtins.str]] = None,
|
|
enable_namespaces: pulumi.Input[Optional[_builtins.bool]] = None,
|
|
endpoint_spec_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
env: pulumi.Input[Optional[_builtins.str]] = None,
|
|
environment_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
external_admin_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_grpc_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
external_port: pulumi.Input[Optional[_builtins.int]] = None,
|
|
health_check_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
labels_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_limit: pulumi.Input[Optional[_builtins.str]] = None,
|
|
memory_reservation: pulumi.Input[Optional[_builtins.str]] = None,
|
|
mode_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
name: pulumi.Input[Optional[_builtins.str]] = None,
|
|
network_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
network_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
placement_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
replicas: pulumi.Input[Optional[_builtins.int]] = None,
|
|
restart_policy_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
rollback_config_swarm: pulumi.Input[Optional[_builtins.str]] = None,
|
|
server_id: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_node: pulumi.Input[Optional[_builtins.str]] = None,
|
|
sqld_primary_url: pulumi.Input[Optional[_builtins.str]] = None,
|
|
stop_grace_period_swarm: pulumi.Input[Optional[_builtins.int]] = None,
|
|
update_config_swarm: pulumi.Input[Optional[_builtins.str]] = None) -> 'Libsql':
|
|
"""
|
|
Get an existing Libsql resource's state with the given name, id, and optional extra
|
|
properties used to qualify the lookup.
|
|
|
|
:param str resource_name: The unique name of the resulting resource.
|
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
:param pulumi.Input[_builtins.str] app_name: Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
|
|
:param pulumi.Input[_builtins.str] application_status: Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
:param pulumi.Input[_builtins.str] command: Override the container entrypoint command.
|
|
:param pulumi.Input[_builtins.str] cpu_limit: Hard CPU limit, for example `1`.
|
|
:param pulumi.Input[_builtins.str] cpu_reservation: Soft CPU reservation, for example `0.5`.
|
|
:param pulumi.Input[_builtins.str] created_at: RFC 3339 timestamp of when the database was created.
|
|
:param pulumi.Input[_builtins.str] database_password: Password for the database user.
|
|
:param pulumi.Input[_builtins.str] database_user: Database user to create.
|
|
:param pulumi.Input[_builtins.str] description: Free-form description.
|
|
:param pulumi.Input[_builtins.bool] detach_dokploy_network: Detach the service from the shared `dokploy-network`.
|
|
:param pulumi.Input[_builtins.str] docker_image: libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
|
|
:param pulumi.Input[_builtins.bool] enable_namespaces: Serve multiple logical databases from one instance through libSQL namespaces.
|
|
:param pulumi.Input[_builtins.str] endpoint_spec_swarm: Docker Swarm endpoint specification, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] env: Environment variables in `KEY=value` format, one per line.
|
|
:param pulumi.Input[_builtins.str] environment_id: Environment this database belongs to.
|
|
:param pulumi.Input[_builtins.int] external_admin_port: Host port exposing the admin API.
|
|
:param pulumi.Input[_builtins.int] external_grpc_port: Host port exposing the gRPC replication endpoint.
|
|
:param pulumi.Input[_builtins.int] external_port: Host port exposing the HTTP API.
|
|
:param pulumi.Input[_builtins.str] health_check_swarm: Docker Swarm health check configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] labels_swarm: Docker Swarm service labels, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] memory_limit: Hard memory limit, for example `512m`.
|
|
:param pulumi.Input[_builtins.str] memory_reservation: Soft memory reservation, for example `256m`.
|
|
:param pulumi.Input[_builtins.str] mode_swarm: Docker Swarm service mode, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] name: Display name of the database.
|
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_ids: IDs of additional Docker networks to attach.
|
|
:param pulumi.Input[_builtins.str] network_swarm: Docker Swarm network attachments, as a JSON array.
|
|
:param pulumi.Input[_builtins.str] placement_swarm: Docker Swarm placement constraints, as a JSON object.
|
|
:param pulumi.Input[_builtins.int] replicas: Number of replicas to run.
|
|
:param pulumi.Input[_builtins.str] restart_policy_swarm: Docker Swarm restart policy, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] rollback_config_swarm: Docker Swarm rollback configuration, as a JSON object.
|
|
:param pulumi.Input[_builtins.str] server_id: Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
:param pulumi.Input[_builtins.str] sqld_node: Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
|
|
:param pulumi.Input[_builtins.str] sqld_primary_url: URL of the primary node, when `sqld_node` is `replica`.
|
|
:param pulumi.Input[_builtins.int] stop_grace_period_swarm: Grace period in nanoseconds before a container is killed.
|
|
:param pulumi.Input[_builtins.str] update_config_swarm: Docker Swarm rolling update configuration, as a JSON object.
|
|
"""
|
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
|
|
__props__ = _LibsqlState.__new__(_LibsqlState)
|
|
|
|
__props__.__dict__["app_name"] = app_name
|
|
__props__.__dict__["application_status"] = application_status
|
|
__props__.__dict__["command"] = command
|
|
__props__.__dict__["cpu_limit"] = cpu_limit
|
|
__props__.__dict__["cpu_reservation"] = cpu_reservation
|
|
__props__.__dict__["created_at"] = created_at
|
|
__props__.__dict__["database_password"] = database_password
|
|
__props__.__dict__["database_user"] = database_user
|
|
__props__.__dict__["description"] = description
|
|
__props__.__dict__["detach_dokploy_network"] = detach_dokploy_network
|
|
__props__.__dict__["docker_image"] = docker_image
|
|
__props__.__dict__["enable_namespaces"] = enable_namespaces
|
|
__props__.__dict__["endpoint_spec_swarm"] = endpoint_spec_swarm
|
|
__props__.__dict__["env"] = env
|
|
__props__.__dict__["environment_id"] = environment_id
|
|
__props__.__dict__["external_admin_port"] = external_admin_port
|
|
__props__.__dict__["external_grpc_port"] = external_grpc_port
|
|
__props__.__dict__["external_port"] = external_port
|
|
__props__.__dict__["health_check_swarm"] = health_check_swarm
|
|
__props__.__dict__["labels_swarm"] = labels_swarm
|
|
__props__.__dict__["memory_limit"] = memory_limit
|
|
__props__.__dict__["memory_reservation"] = memory_reservation
|
|
__props__.__dict__["mode_swarm"] = mode_swarm
|
|
__props__.__dict__["name"] = name
|
|
__props__.__dict__["network_ids"] = network_ids
|
|
__props__.__dict__["network_swarm"] = network_swarm
|
|
__props__.__dict__["placement_swarm"] = placement_swarm
|
|
__props__.__dict__["replicas"] = replicas
|
|
__props__.__dict__["restart_policy_swarm"] = restart_policy_swarm
|
|
__props__.__dict__["rollback_config_swarm"] = rollback_config_swarm
|
|
__props__.__dict__["server_id"] = server_id
|
|
__props__.__dict__["sqld_node"] = sqld_node
|
|
__props__.__dict__["sqld_primary_url"] = sqld_primary_url
|
|
__props__.__dict__["stop_grace_period_swarm"] = stop_grace_period_swarm
|
|
__props__.__dict__["update_config_swarm"] = update_config_swarm
|
|
return Libsql(resource_name, opts=opts, __props__=__props__)
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="appName")
|
|
def app_name(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Unique Docker service name. Generated from `name` when omitted, because Dokploy's libSQL endpoint does not generate one. Changing it forces a new database.
|
|
"""
|
|
return pulumi.get(self, "app_name")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="applicationStatus")
|
|
def application_status(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
"""
|
|
return pulumi.get(self, "application_status")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def command(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Override the container entrypoint command.
|
|
"""
|
|
return pulumi.get(self, "command")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cpuLimit")
|
|
def cpu_limit(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Hard CPU limit, for example `1`.
|
|
"""
|
|
return pulumi.get(self, "cpu_limit")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="cpuReservation")
|
|
def cpu_reservation(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Soft CPU reservation, for example `0.5`.
|
|
"""
|
|
return pulumi.get(self, "cpu_reservation")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="createdAt")
|
|
def created_at(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
RFC 3339 timestamp of when the database was created.
|
|
"""
|
|
return pulumi.get(self, "created_at")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="databasePassword")
|
|
def database_password(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Password for the database user.
|
|
"""
|
|
return pulumi.get(self, "database_password")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="databaseUser")
|
|
def database_user(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Database user to create.
|
|
"""
|
|
return pulumi.get(self, "database_user")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def description(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Free-form description.
|
|
"""
|
|
return pulumi.get(self, "description")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="detachDokployNetwork")
|
|
def detach_dokploy_network(self) -> pulumi.Output[_builtins.bool]:
|
|
"""
|
|
Detach the service from the shared `dokploy-network`.
|
|
"""
|
|
return pulumi.get(self, "detach_dokploy_network")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="dockerImage")
|
|
def docker_image(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
libSQL server image to run, for example `ghcr.io/tursodatabase/libsql-server:latest`.
|
|
"""
|
|
return pulumi.get(self, "docker_image")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="enableNamespaces")
|
|
def enable_namespaces(self) -> pulumi.Output[_builtins.bool]:
|
|
"""
|
|
Serve multiple logical databases from one instance through libSQL namespaces.
|
|
"""
|
|
return pulumi.get(self, "enable_namespaces")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="endpointSpecSwarm")
|
|
def endpoint_spec_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm endpoint specification, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "endpoint_spec_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def env(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Environment variables in `KEY=value` format, one per line.
|
|
"""
|
|
return pulumi.get(self, "env")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="environmentId")
|
|
def environment_id(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Environment this database belongs to.
|
|
"""
|
|
return pulumi.get(self, "environment_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalAdminPort")
|
|
def external_admin_port(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the admin API.
|
|
"""
|
|
return pulumi.get(self, "external_admin_port")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalGrpcPort")
|
|
def external_grpc_port(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the gRPC replication endpoint.
|
|
"""
|
|
return pulumi.get(self, "external_grpc_port")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="externalPort")
|
|
def external_port(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
"""
|
|
Host port exposing the HTTP API.
|
|
"""
|
|
return pulumi.get(self, "external_port")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="healthCheckSwarm")
|
|
def health_check_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm health check configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "health_check_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="labelsSwarm")
|
|
def labels_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm service labels, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "labels_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="memoryLimit")
|
|
def memory_limit(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Hard memory limit, for example `512m`.
|
|
"""
|
|
return pulumi.get(self, "memory_limit")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="memoryReservation")
|
|
def memory_reservation(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Soft memory reservation, for example `256m`.
|
|
"""
|
|
return pulumi.get(self, "memory_reservation")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="modeSwarm")
|
|
def mode_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm service mode, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "mode_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def name(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Display name of the database.
|
|
"""
|
|
return pulumi.get(self, "name")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="networkIds")
|
|
def network_ids(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
"""
|
|
IDs of additional Docker networks to attach.
|
|
"""
|
|
return pulumi.get(self, "network_ids")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="networkSwarm")
|
|
def network_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm network attachments, as a JSON array.
|
|
"""
|
|
return pulumi.get(self, "network_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="placementSwarm")
|
|
def placement_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm placement constraints, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "placement_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter
|
|
def replicas(self) -> pulumi.Output[_builtins.int]:
|
|
"""
|
|
Number of replicas to run.
|
|
"""
|
|
return pulumi.get(self, "replicas")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="restartPolicySwarm")
|
|
def restart_policy_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm restart policy, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "restart_policy_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="rollbackConfigSwarm")
|
|
def rollback_config_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm rollback configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "rollback_config_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="serverId")
|
|
def server_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
"""
|
|
return pulumi.get(self, "server_id")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sqldNode")
|
|
def sqld_node(self) -> pulumi.Output[_builtins.str]:
|
|
"""
|
|
Role this node plays in a libSQL cluster. Valid values: `primary`, `replica`. Defaults to `primary`.
|
|
"""
|
|
return pulumi.get(self, "sqld_node")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="sqldPrimaryUrl")
|
|
def sqld_primary_url(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
URL of the primary node, when `sqld_node` is `replica`.
|
|
"""
|
|
return pulumi.get(self, "sqld_primary_url")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="stopGracePeriodSwarm")
|
|
def stop_grace_period_swarm(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
"""
|
|
Grace period in nanoseconds before a container is killed.
|
|
"""
|
|
return pulumi.get(self, "stop_grace_period_swarm")
|
|
|
|
@_builtins.property
|
|
@pulumi.getter(name="updateConfigSwarm")
|
|
def update_config_swarm(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
"""
|
|
Docker Swarm rolling update configuration, as a JSON object.
|
|
"""
|
|
return pulumi.get(self, "update_config_swarm")
|
|
|