pulumi-zerops 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_zerops-0.1.1/PKG-INFO +133 -0
- pulumi_zerops-0.1.1/README.md +118 -0
- pulumi_zerops-0.1.1/pulumi_zerops/__init__.py +215 -0
- pulumi_zerops-0.1.1/pulumi_zerops/_inputs.py +3154 -0
- pulumi_zerops-0.1.1/pulumi_zerops/_utilities.py +328 -0
- pulumi_zerops-0.1.1/pulumi_zerops/config/__init__.py +9 -0
- pulumi_zerops-0.1.1/pulumi_zerops/config/__init__.pyi +41 -0
- pulumi_zerops-0.1.1/pulumi_zerops/config/vars.py +57 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_locations.py +131 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_organization.py +130 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_project.py +310 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_project_export.py +152 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_projects.py +173 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_regions.py +107 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_service.py +247 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_service_env_vars.py +132 -0
- pulumi_zerops-0.1.1/pulumi_zerops/get_service_types.py +131 -0
- pulumi_zerops-0.1.1/pulumi_zerops/integration_token.py +582 -0
- pulumi_zerops-0.1.1/pulumi_zerops/object_storage.py +624 -0
- pulumi_zerops-0.1.1/pulumi_zerops/outputs.py +2889 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project.py +822 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project_dedicated_ipv4.py +283 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project_env.py +406 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project_import.py +380 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project_l7_balancer_config.py +322 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project_prometheus_config.py +328 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project_remote_logging.py +362 -0
- pulumi_zerops-0.1.1/pulumi_zerops/project_vpn_peer.py +395 -0
- pulumi_zerops-0.1.1/pulumi_zerops/provider.py +233 -0
- pulumi_zerops-0.1.1/pulumi_zerops/public_http_routing.py +686 -0
- pulumi_zerops-0.1.1/pulumi_zerops/public_port_routing.py +632 -0
- pulumi_zerops-0.1.1/pulumi_zerops/pulumi-plugin.json +6 -0
- pulumi_zerops-0.1.1/pulumi_zerops/py.typed +0 -0
- pulumi_zerops-0.1.1/pulumi_zerops/service.py +805 -0
- pulumi_zerops-0.1.1/pulumi_zerops/service_backup_config.py +371 -0
- pulumi_zerops-0.1.1/pulumi_zerops/service_deploy.py +747 -0
- pulumi_zerops-0.1.1/pulumi_zerops/service_env.py +400 -0
- pulumi_zerops-0.1.1/pulumi_zerops/service_git_integration.py +559 -0
- pulumi_zerops-0.1.1/pulumi_zerops/service_restart.py +285 -0
- pulumi_zerops-0.1.1/pulumi_zerops/service_subdomain_access.py +303 -0
- pulumi_zerops-0.1.1/pulumi_zerops.egg-info/PKG-INFO +133 -0
- pulumi_zerops-0.1.1/pulumi_zerops.egg-info/SOURCES.txt +45 -0
- pulumi_zerops-0.1.1/pulumi_zerops.egg-info/dependency_links.txt +1 -0
- pulumi_zerops-0.1.1/pulumi_zerops.egg-info/requires.txt +6 -0
- pulumi_zerops-0.1.1/pulumi_zerops.egg-info/top_level.txt +1 -0
- pulumi_zerops-0.1.1/pyproject.toml +21 -0
- pulumi_zerops-0.1.1/setup.cfg +4 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pulumi-zerops
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Manage Zerops projects, services, deployments and networking with Pulumi.
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
Project-URL: Homepage, https://zerops.io
|
|
7
|
+
Project-URL: Repository, https://github.com/zeropsio/pulumi-zerops
|
|
8
|
+
Keywords: zerops,category/cloud
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: packaging>=24.0
|
|
12
|
+
Requires-Dist: pulumi<4.0.0,>=3.231.0
|
|
13
|
+
Requires-Dist: semver>=2.8.1
|
|
14
|
+
Requires-Dist: typing-extensions<5,>=4.11; python_version < "3.11"
|
|
15
|
+
|
|
16
|
+
# Zerops for Pulumi
|
|
17
|
+
|
|
18
|
+
Deploy your application to [Zerops](https://zerops.io) using Python, Go, C#, Java, TypeScript or YAML. Keep application infrastructure alongside your code, preview changes, and deploy with `pulumi up`.
|
|
19
|
+
|
|
20
|
+
Start with **`zerops-app` / `WebApp`**: one component creates a project, an application service, an optional PostgreSQL database, a deployment and a public URL. Use **`zerops`** primitives when you need direct control over services, storage or networking. The primitive provider bridges the [Zerops Terraform provider](https://github.com/zeropsio/terraform-provider-zerops); you do not need Terraform installed.
|
|
21
|
+
|
|
22
|
+
## Start in your language
|
|
23
|
+
|
|
24
|
+
[Python](docs/quickstart-python.md) · [Go](docs/quickstart-go.md) · [C#/.NET](docs/quickstart-csharp.md) · [Java](docs/quickstart-java.md) · [TypeScript](docs/quickstart-typescript.md) · [YAML](docs/quickstart-yaml.md)
|
|
25
|
+
|
|
26
|
+
Each starter deploys the same small Python web application. The language you use to describe infrastructure does not dictate your application's runtime. Only your chosen infrastructure language and the Pulumi CLI are needed locally; Zerops builds and runs the application.
|
|
27
|
+
|
|
28
|
+
For example, after [choosing a state backend](docs/installation-configuration.md#choose-your-state-backend):
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
pulumi new https://github.com/zeropsio/pulumi-zerops/tree/v0.1.1/templates/zerops-python
|
|
32
|
+
pulumi config set --secret zerops:token
|
|
33
|
+
pulumi up
|
|
34
|
+
pulumi stack output url
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The template also prompts for a secret Zerops token and an explicit `appName`. PostgreSQL is off initially; enable it with `pulumi config set database true`, then run `pulumi up` again. Review costs before deploying; resources run until you remove them. Run `pulumi destroy` when finished (this deletes application and database data).
|
|
38
|
+
|
|
39
|
+
## Packages and compatibility
|
|
40
|
+
|
|
41
|
+
Both packages are version **0.1.1**. The component SDK brings in the primitive SDK as a dependency.
|
|
42
|
+
|
|
43
|
+
| Language | `zerops` primitives | `zerops-app` component |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| Python | PyPI `pulumi-zerops`; import `pulumi_zerops` | PyPI `pulumi-zerops-app`; import `pulumi_zerops_app` |
|
|
46
|
+
| Go | module `github.com/zeropsio/pulumi-zerops/sdk`; import `github.com/zeropsio/pulumi-zerops/sdk/go/zerops` | module `github.com/zeropsio/pulumi-zerops/sdk-app`; import `github.com/zeropsio/pulumi-zerops/sdk-app/go/zeropsapp` |
|
|
47
|
+
| C# | NuGet and namespace `Zerops.Pulumi` | NuGet and namespace `Zerops.Pulumi.App` |
|
|
48
|
+
| Java | Maven `io.zerops:pulumi`; package `io.zerops.zerops` | Maven `io.zerops:pulumi-app`; package `io.zerops.zeropsapp` |
|
|
49
|
+
| TypeScript / Node.js | npm `@zerops/pulumi` | npm `@zerops/pulumi-app` |
|
|
50
|
+
| YAML | plugin `zerops`; e.g. `zerops:index:Project` | plugin `zerops-app`; `zerops-app:index:WebApp` |
|
|
51
|
+
|
|
52
|
+
Go modules use release tags **`sdk/v0.1.1`** and **`sdk-app/v0.1.1`**; use `@v0.1.1` in `go get`, not the tag's directory prefix. The `replace` directives in `components/go.mod` and `sdk-app/go.mod` are for monorepo development. Go ignores dependency modules' replacements, so consumers never inherit them.
|
|
53
|
+
|
|
54
|
+
| Pulumi provider | Terraform provider | Terraform bridge | Pulumi CLI |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| `pulumi-zerops` 0.1.1 | `terraform-provider-zerops` v0.1.2 | v3.142.0 | >= 3.x; tested with 3.273.0 |
|
|
57
|
+
|
|
58
|
+
Python requires >= 3.10. Go modules currently require Go >= 1.26.6. The .NET SDK targets `net6.0` and works with .NET 8 and 10; templates target .NET 8. Java SDKs compile with JDK 21 and emit Java 11-compatible bytecode; examples and templates target Java 17. Node.js 22 LTS is the tested Node runtime.
|
|
59
|
+
|
|
60
|
+
## What WebApp creates
|
|
61
|
+
|
|
62
|
+
A `LIGHT` project with an explicit name, a single-container runtime service, optional PostgreSQL, environment variables, a directory deployment, and public subdomain access after deployment. It does **not** allocate dedicated IPv4. The optional default database is **`postgresql:single@16`**, with a **2 GB minimum disk**. This is a small, non-HA starting point, not a free tier or a production availability promise. For HA, explicitly set `databaseType` to `postgresql:ha@16`; availability and price differ. See [Zerops pricing](https://zerops.io/pricing).
|
|
63
|
+
|
|
64
|
+
Database connections use server-side references: `DATABASE_URL`, `DB_HOST`, `DB_USER`, `DB_PASSWORD`, and `DB_NAME` reference database service values; `DB_PORT` is the literal `5432`. The component never reads resolved credentials back. It exports connection variable **names**, not passwords. See the [component reference](docs/app/_index.md).
|
|
65
|
+
|
|
66
|
+
## Deployment and secrets
|
|
67
|
+
|
|
68
|
+
- `WebApp.source` and primitive `ServiceDeploy.sourceDir` are directory paths, not Pulumi archives. Relative paths resolve from the Pulumi program directory.
|
|
69
|
+
- The directory is uploaded **as-is except every `.git` directory**. Curate `app/`: do not include secrets, `.env`, `node_modules`, `.venv`, or build caches. `.gitignore` is not an upload filter.
|
|
70
|
+
- Source changes replace `ServiceDeploy`, meaning **a new deployment**. Destroying only that resource does not roll back the app. Destroying its service/project cleans up the environment.
|
|
71
|
+
- Secret configuration and secret resource values are encrypted in Pulumi state, not omitted from it. Protect state backups and your backend's encryption keys/passphrase. Do not export secrets as ordinary stack outputs.
|
|
72
|
+
- Zerops builds asynchronously. If deployment fails, open the service's build log in the Zerops GUI for the actual build error.
|
|
73
|
+
|
|
74
|
+
## Primitive resource map
|
|
75
|
+
|
|
76
|
+
The schema contains **19 resources**. The short YAML forms below correspond to canonical tokens such as `zerops:index/project:Project`.
|
|
77
|
+
|
|
78
|
+
| Resource | Short token |
|
|
79
|
+
|---|---|
|
|
80
|
+
| Integration token | `zerops:index:IntegrationToken` |
|
|
81
|
+
| Object storage | `zerops:index:ObjectStorage` |
|
|
82
|
+
| Project | `zerops:index:Project` |
|
|
83
|
+
| Dedicated IPv4 | `zerops:index:ProjectDedicatedIpv4` |
|
|
84
|
+
| Project environment variable | `zerops:index:ProjectEnv` |
|
|
85
|
+
| Project import | `zerops:index:ProjectImport` |
|
|
86
|
+
| L7 balancer configuration | `zerops:index:ProjectL7BalancerConfig` |
|
|
87
|
+
| Prometheus configuration | `zerops:index:ProjectPrometheusConfig` |
|
|
88
|
+
| Remote logging | `zerops:index:ProjectRemoteLogging` |
|
|
89
|
+
| VPN peer | `zerops:index:ProjectVpnPeer` |
|
|
90
|
+
| Public HTTP routing | `zerops:index:PublicHttpRouting` |
|
|
91
|
+
| Public port routing | `zerops:index:PublicPortRouting` |
|
|
92
|
+
| Service | `zerops:index:Service` |
|
|
93
|
+
| Backup configuration | `zerops:index:ServiceBackupConfig` |
|
|
94
|
+
| Deployment | `zerops:index:ServiceDeploy` |
|
|
95
|
+
| Service environment variable | `zerops:index:ServiceEnv` |
|
|
96
|
+
| Git integration | `zerops:index:ServiceGitIntegration` |
|
|
97
|
+
| Restart | `zerops:index:ServiceRestart` |
|
|
98
|
+
| Subdomain access | `zerops:index:ServiceSubdomainAccess` |
|
|
99
|
+
|
|
100
|
+
There are **9 data functions**, plus the bridge's provider-bound `terraformConfig` method (not a Zerops lookup).
|
|
101
|
+
|
|
102
|
+
| Lookup | Canonical function token |
|
|
103
|
+
|---|---|
|
|
104
|
+
| Locations | `zerops:index/getLocations:getLocations` |
|
|
105
|
+
| Organization | `zerops:index/getOrganization:getOrganization` |
|
|
106
|
+
| Project | `zerops:index/getProject:getProject` |
|
|
107
|
+
| Project export | `zerops:index/getProjectExport:getProjectExport` |
|
|
108
|
+
| Projects | `zerops:index/getProjects:getProjects` |
|
|
109
|
+
| Regions | `zerops:index/getRegions:getRegions` |
|
|
110
|
+
| Service | `zerops:index/getService:getService` |
|
|
111
|
+
| Service environment variables | `zerops:index/getServiceEnvVars:getServiceEnvVars` |
|
|
112
|
+
| Service types | `zerops:index/getServiceTypes:getServiceTypes` |
|
|
113
|
+
|
|
114
|
+
## Provider configuration
|
|
115
|
+
|
|
116
|
+
| Pulumi key | Environment fallback | Default |
|
|
117
|
+
|---|---|---|
|
|
118
|
+
| `zerops:token` (secret) | `ZEROPS_TOKEN` | Required |
|
|
119
|
+
| `zerops:endpoint` | `ZEROPS_ENDPOINT` | Production Prague API |
|
|
120
|
+
| `zerops:organizationId` | `ZEROPS_ORGANIZATION_ID` | Discovered for a single membership |
|
|
121
|
+
| `zerops:postgresqlMinDiskGb` | `ZEROPS_POSTGRESQL_MIN_DISK_GB` | `2` GB |
|
|
122
|
+
| `zerops:routingForceSync` | `ZEROPS_ROUTING_FORCE_SYNC` | `false` |
|
|
123
|
+
| Environment only (no Pulumi key) | `ZEROPS_CLICKHOUSE_MIN_RAM_GB` | `0.375` GB |
|
|
124
|
+
| Environment only (no Pulumi key) | `ZEROPS_ELASTICSEARCH_MIN_RAM_GB` | `2` GB |
|
|
125
|
+
|
|
126
|
+
Managed-service floors are applied at preview and reject smaller configured values. RAM overrides must be finite positive numbers with at most three decimal places. Dual-mode managed types require an explicit `:single@` or `:ha@` mode. When upgrading existing shorthand state, set `type` to the qualified value already recorded in `base` to avoid replacement; choosing the other mode replaces the service.
|
|
127
|
+
|
|
128
|
+
## More information
|
|
129
|
+
|
|
130
|
+
- [Installation, authentication and provider configuration](docs/installation-configuration.md)
|
|
131
|
+
- [Primitive package overview](docs/_index.md) and [WebApp component overview](docs/app/_index.md)
|
|
132
|
+
- [Working primitive examples](examples/) and [application starter templates](templates/)
|
|
133
|
+
- [Changelog](CHANGELOG.md), [contributing](CONTRIBUTING.md), and [private security reporting](SECURITY.md)
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Zerops for Pulumi
|
|
2
|
+
|
|
3
|
+
Deploy your application to [Zerops](https://zerops.io) using Python, Go, C#, Java, TypeScript or YAML. Keep application infrastructure alongside your code, preview changes, and deploy with `pulumi up`.
|
|
4
|
+
|
|
5
|
+
Start with **`zerops-app` / `WebApp`**: one component creates a project, an application service, an optional PostgreSQL database, a deployment and a public URL. Use **`zerops`** primitives when you need direct control over services, storage or networking. The primitive provider bridges the [Zerops Terraform provider](https://github.com/zeropsio/terraform-provider-zerops); you do not need Terraform installed.
|
|
6
|
+
|
|
7
|
+
## Start in your language
|
|
8
|
+
|
|
9
|
+
[Python](docs/quickstart-python.md) · [Go](docs/quickstart-go.md) · [C#/.NET](docs/quickstart-csharp.md) · [Java](docs/quickstart-java.md) · [TypeScript](docs/quickstart-typescript.md) · [YAML](docs/quickstart-yaml.md)
|
|
10
|
+
|
|
11
|
+
Each starter deploys the same small Python web application. The language you use to describe infrastructure does not dictate your application's runtime. Only your chosen infrastructure language and the Pulumi CLI are needed locally; Zerops builds and runs the application.
|
|
12
|
+
|
|
13
|
+
For example, after [choosing a state backend](docs/installation-configuration.md#choose-your-state-backend):
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
pulumi new https://github.com/zeropsio/pulumi-zerops/tree/v0.1.1/templates/zerops-python
|
|
17
|
+
pulumi config set --secret zerops:token
|
|
18
|
+
pulumi up
|
|
19
|
+
pulumi stack output url
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The template also prompts for a secret Zerops token and an explicit `appName`. PostgreSQL is off initially; enable it with `pulumi config set database true`, then run `pulumi up` again. Review costs before deploying; resources run until you remove them. Run `pulumi destroy` when finished (this deletes application and database data).
|
|
23
|
+
|
|
24
|
+
## Packages and compatibility
|
|
25
|
+
|
|
26
|
+
Both packages are version **0.1.1**. The component SDK brings in the primitive SDK as a dependency.
|
|
27
|
+
|
|
28
|
+
| Language | `zerops` primitives | `zerops-app` component |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Python | PyPI `pulumi-zerops`; import `pulumi_zerops` | PyPI `pulumi-zerops-app`; import `pulumi_zerops_app` |
|
|
31
|
+
| Go | module `github.com/zeropsio/pulumi-zerops/sdk`; import `github.com/zeropsio/pulumi-zerops/sdk/go/zerops` | module `github.com/zeropsio/pulumi-zerops/sdk-app`; import `github.com/zeropsio/pulumi-zerops/sdk-app/go/zeropsapp` |
|
|
32
|
+
| C# | NuGet and namespace `Zerops.Pulumi` | NuGet and namespace `Zerops.Pulumi.App` |
|
|
33
|
+
| Java | Maven `io.zerops:pulumi`; package `io.zerops.zerops` | Maven `io.zerops:pulumi-app`; package `io.zerops.zeropsapp` |
|
|
34
|
+
| TypeScript / Node.js | npm `@zerops/pulumi` | npm `@zerops/pulumi-app` |
|
|
35
|
+
| YAML | plugin `zerops`; e.g. `zerops:index:Project` | plugin `zerops-app`; `zerops-app:index:WebApp` |
|
|
36
|
+
|
|
37
|
+
Go modules use release tags **`sdk/v0.1.1`** and **`sdk-app/v0.1.1`**; use `@v0.1.1` in `go get`, not the tag's directory prefix. The `replace` directives in `components/go.mod` and `sdk-app/go.mod` are for monorepo development. Go ignores dependency modules' replacements, so consumers never inherit them.
|
|
38
|
+
|
|
39
|
+
| Pulumi provider | Terraform provider | Terraform bridge | Pulumi CLI |
|
|
40
|
+
|---|---|---|---|
|
|
41
|
+
| `pulumi-zerops` 0.1.1 | `terraform-provider-zerops` v0.1.2 | v3.142.0 | >= 3.x; tested with 3.273.0 |
|
|
42
|
+
|
|
43
|
+
Python requires >= 3.10. Go modules currently require Go >= 1.26.6. The .NET SDK targets `net6.0` and works with .NET 8 and 10; templates target .NET 8. Java SDKs compile with JDK 21 and emit Java 11-compatible bytecode; examples and templates target Java 17. Node.js 22 LTS is the tested Node runtime.
|
|
44
|
+
|
|
45
|
+
## What WebApp creates
|
|
46
|
+
|
|
47
|
+
A `LIGHT` project with an explicit name, a single-container runtime service, optional PostgreSQL, environment variables, a directory deployment, and public subdomain access after deployment. It does **not** allocate dedicated IPv4. The optional default database is **`postgresql:single@16`**, with a **2 GB minimum disk**. This is a small, non-HA starting point, not a free tier or a production availability promise. For HA, explicitly set `databaseType` to `postgresql:ha@16`; availability and price differ. See [Zerops pricing](https://zerops.io/pricing).
|
|
48
|
+
|
|
49
|
+
Database connections use server-side references: `DATABASE_URL`, `DB_HOST`, `DB_USER`, `DB_PASSWORD`, and `DB_NAME` reference database service values; `DB_PORT` is the literal `5432`. The component never reads resolved credentials back. It exports connection variable **names**, not passwords. See the [component reference](docs/app/_index.md).
|
|
50
|
+
|
|
51
|
+
## Deployment and secrets
|
|
52
|
+
|
|
53
|
+
- `WebApp.source` and primitive `ServiceDeploy.sourceDir` are directory paths, not Pulumi archives. Relative paths resolve from the Pulumi program directory.
|
|
54
|
+
- The directory is uploaded **as-is except every `.git` directory**. Curate `app/`: do not include secrets, `.env`, `node_modules`, `.venv`, or build caches. `.gitignore` is not an upload filter.
|
|
55
|
+
- Source changes replace `ServiceDeploy`, meaning **a new deployment**. Destroying only that resource does not roll back the app. Destroying its service/project cleans up the environment.
|
|
56
|
+
- Secret configuration and secret resource values are encrypted in Pulumi state, not omitted from it. Protect state backups and your backend's encryption keys/passphrase. Do not export secrets as ordinary stack outputs.
|
|
57
|
+
- Zerops builds asynchronously. If deployment fails, open the service's build log in the Zerops GUI for the actual build error.
|
|
58
|
+
|
|
59
|
+
## Primitive resource map
|
|
60
|
+
|
|
61
|
+
The schema contains **19 resources**. The short YAML forms below correspond to canonical tokens such as `zerops:index/project:Project`.
|
|
62
|
+
|
|
63
|
+
| Resource | Short token |
|
|
64
|
+
|---|---|
|
|
65
|
+
| Integration token | `zerops:index:IntegrationToken` |
|
|
66
|
+
| Object storage | `zerops:index:ObjectStorage` |
|
|
67
|
+
| Project | `zerops:index:Project` |
|
|
68
|
+
| Dedicated IPv4 | `zerops:index:ProjectDedicatedIpv4` |
|
|
69
|
+
| Project environment variable | `zerops:index:ProjectEnv` |
|
|
70
|
+
| Project import | `zerops:index:ProjectImport` |
|
|
71
|
+
| L7 balancer configuration | `zerops:index:ProjectL7BalancerConfig` |
|
|
72
|
+
| Prometheus configuration | `zerops:index:ProjectPrometheusConfig` |
|
|
73
|
+
| Remote logging | `zerops:index:ProjectRemoteLogging` |
|
|
74
|
+
| VPN peer | `zerops:index:ProjectVpnPeer` |
|
|
75
|
+
| Public HTTP routing | `zerops:index:PublicHttpRouting` |
|
|
76
|
+
| Public port routing | `zerops:index:PublicPortRouting` |
|
|
77
|
+
| Service | `zerops:index:Service` |
|
|
78
|
+
| Backup configuration | `zerops:index:ServiceBackupConfig` |
|
|
79
|
+
| Deployment | `zerops:index:ServiceDeploy` |
|
|
80
|
+
| Service environment variable | `zerops:index:ServiceEnv` |
|
|
81
|
+
| Git integration | `zerops:index:ServiceGitIntegration` |
|
|
82
|
+
| Restart | `zerops:index:ServiceRestart` |
|
|
83
|
+
| Subdomain access | `zerops:index:ServiceSubdomainAccess` |
|
|
84
|
+
|
|
85
|
+
There are **9 data functions**, plus the bridge's provider-bound `terraformConfig` method (not a Zerops lookup).
|
|
86
|
+
|
|
87
|
+
| Lookup | Canonical function token |
|
|
88
|
+
|---|---|
|
|
89
|
+
| Locations | `zerops:index/getLocations:getLocations` |
|
|
90
|
+
| Organization | `zerops:index/getOrganization:getOrganization` |
|
|
91
|
+
| Project | `zerops:index/getProject:getProject` |
|
|
92
|
+
| Project export | `zerops:index/getProjectExport:getProjectExport` |
|
|
93
|
+
| Projects | `zerops:index/getProjects:getProjects` |
|
|
94
|
+
| Regions | `zerops:index/getRegions:getRegions` |
|
|
95
|
+
| Service | `zerops:index/getService:getService` |
|
|
96
|
+
| Service environment variables | `zerops:index/getServiceEnvVars:getServiceEnvVars` |
|
|
97
|
+
| Service types | `zerops:index/getServiceTypes:getServiceTypes` |
|
|
98
|
+
|
|
99
|
+
## Provider configuration
|
|
100
|
+
|
|
101
|
+
| Pulumi key | Environment fallback | Default |
|
|
102
|
+
|---|---|---|
|
|
103
|
+
| `zerops:token` (secret) | `ZEROPS_TOKEN` | Required |
|
|
104
|
+
| `zerops:endpoint` | `ZEROPS_ENDPOINT` | Production Prague API |
|
|
105
|
+
| `zerops:organizationId` | `ZEROPS_ORGANIZATION_ID` | Discovered for a single membership |
|
|
106
|
+
| `zerops:postgresqlMinDiskGb` | `ZEROPS_POSTGRESQL_MIN_DISK_GB` | `2` GB |
|
|
107
|
+
| `zerops:routingForceSync` | `ZEROPS_ROUTING_FORCE_SYNC` | `false` |
|
|
108
|
+
| Environment only (no Pulumi key) | `ZEROPS_CLICKHOUSE_MIN_RAM_GB` | `0.375` GB |
|
|
109
|
+
| Environment only (no Pulumi key) | `ZEROPS_ELASTICSEARCH_MIN_RAM_GB` | `2` GB |
|
|
110
|
+
|
|
111
|
+
Managed-service floors are applied at preview and reject smaller configured values. RAM overrides must be finite positive numbers with at most three decimal places. Dual-mode managed types require an explicit `:single@` or `:ha@` mode. When upgrading existing shorthand state, set `type` to the qualified value already recorded in `base` to avoid replacement; choosing the other mode replaces the service.
|
|
112
|
+
|
|
113
|
+
## More information
|
|
114
|
+
|
|
115
|
+
- [Installation, authentication and provider configuration](docs/installation-configuration.md)
|
|
116
|
+
- [Primitive package overview](docs/_index.md) and [WebApp component overview](docs/app/_index.md)
|
|
117
|
+
- [Working primitive examples](examples/) and [application starter templates](templates/)
|
|
118
|
+
- [Changelog](CHANGELOG.md), [contributing](CONTRIBUTING.md), and [private security reporting](SECURITY.md)
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
from . import _utilities
|
|
7
|
+
import typing
|
|
8
|
+
# Export this package's modules as members:
|
|
9
|
+
from .get_locations import *
|
|
10
|
+
from .get_organization import *
|
|
11
|
+
from .get_project import *
|
|
12
|
+
from .get_project_export import *
|
|
13
|
+
from .get_projects import *
|
|
14
|
+
from .get_regions import *
|
|
15
|
+
from .get_service import *
|
|
16
|
+
from .get_service_env_vars import *
|
|
17
|
+
from .get_service_types import *
|
|
18
|
+
from .integration_token import *
|
|
19
|
+
from .object_storage import *
|
|
20
|
+
from .project import *
|
|
21
|
+
from .project_dedicated_ipv4 import *
|
|
22
|
+
from .project_env import *
|
|
23
|
+
from .project_import import *
|
|
24
|
+
from .project_l7_balancer_config import *
|
|
25
|
+
from .project_prometheus_config import *
|
|
26
|
+
from .project_remote_logging import *
|
|
27
|
+
from .project_vpn_peer import *
|
|
28
|
+
from .provider import *
|
|
29
|
+
from .public_http_routing import *
|
|
30
|
+
from .public_port_routing import *
|
|
31
|
+
from .service import *
|
|
32
|
+
from .service_backup_config import *
|
|
33
|
+
from .service_deploy import *
|
|
34
|
+
from .service_env import *
|
|
35
|
+
from .service_git_integration import *
|
|
36
|
+
from .service_restart import *
|
|
37
|
+
from .service_subdomain_access import *
|
|
38
|
+
from ._inputs import *
|
|
39
|
+
from . import outputs
|
|
40
|
+
|
|
41
|
+
# Make subpackages available:
|
|
42
|
+
if typing.TYPE_CHECKING:
|
|
43
|
+
import pulumi_zerops.config as __config
|
|
44
|
+
config = __config
|
|
45
|
+
else:
|
|
46
|
+
config = _utilities.lazy_import('pulumi_zerops.config')
|
|
47
|
+
|
|
48
|
+
_utilities.register(
|
|
49
|
+
resource_modules="""
|
|
50
|
+
[
|
|
51
|
+
{
|
|
52
|
+
"pkg": "zerops",
|
|
53
|
+
"mod": "index/integrationToken",
|
|
54
|
+
"fqn": "pulumi_zerops",
|
|
55
|
+
"classes": {
|
|
56
|
+
"zerops:index/integrationToken:IntegrationToken": "IntegrationToken"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"pkg": "zerops",
|
|
61
|
+
"mod": "index/objectStorage",
|
|
62
|
+
"fqn": "pulumi_zerops",
|
|
63
|
+
"classes": {
|
|
64
|
+
"zerops:index/objectStorage:ObjectStorage": "ObjectStorage"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"pkg": "zerops",
|
|
69
|
+
"mod": "index/project",
|
|
70
|
+
"fqn": "pulumi_zerops",
|
|
71
|
+
"classes": {
|
|
72
|
+
"zerops:index/project:Project": "Project"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"pkg": "zerops",
|
|
77
|
+
"mod": "index/projectDedicatedIpv4",
|
|
78
|
+
"fqn": "pulumi_zerops",
|
|
79
|
+
"classes": {
|
|
80
|
+
"zerops:index/projectDedicatedIpv4:ProjectDedicatedIpv4": "ProjectDedicatedIpv4"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"pkg": "zerops",
|
|
85
|
+
"mod": "index/projectEnv",
|
|
86
|
+
"fqn": "pulumi_zerops",
|
|
87
|
+
"classes": {
|
|
88
|
+
"zerops:index/projectEnv:ProjectEnv": "ProjectEnv"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"pkg": "zerops",
|
|
93
|
+
"mod": "index/projectImport",
|
|
94
|
+
"fqn": "pulumi_zerops",
|
|
95
|
+
"classes": {
|
|
96
|
+
"zerops:index/projectImport:ProjectImport": "ProjectImport"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"pkg": "zerops",
|
|
101
|
+
"mod": "index/projectL7BalancerConfig",
|
|
102
|
+
"fqn": "pulumi_zerops",
|
|
103
|
+
"classes": {
|
|
104
|
+
"zerops:index/projectL7BalancerConfig:ProjectL7BalancerConfig": "ProjectL7BalancerConfig"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"pkg": "zerops",
|
|
109
|
+
"mod": "index/projectPrometheusConfig",
|
|
110
|
+
"fqn": "pulumi_zerops",
|
|
111
|
+
"classes": {
|
|
112
|
+
"zerops:index/projectPrometheusConfig:ProjectPrometheusConfig": "ProjectPrometheusConfig"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"pkg": "zerops",
|
|
117
|
+
"mod": "index/projectRemoteLogging",
|
|
118
|
+
"fqn": "pulumi_zerops",
|
|
119
|
+
"classes": {
|
|
120
|
+
"zerops:index/projectRemoteLogging:ProjectRemoteLogging": "ProjectRemoteLogging"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"pkg": "zerops",
|
|
125
|
+
"mod": "index/projectVpnPeer",
|
|
126
|
+
"fqn": "pulumi_zerops",
|
|
127
|
+
"classes": {
|
|
128
|
+
"zerops:index/projectVpnPeer:ProjectVpnPeer": "ProjectVpnPeer"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"pkg": "zerops",
|
|
133
|
+
"mod": "index/publicHttpRouting",
|
|
134
|
+
"fqn": "pulumi_zerops",
|
|
135
|
+
"classes": {
|
|
136
|
+
"zerops:index/publicHttpRouting:PublicHttpRouting": "PublicHttpRouting"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"pkg": "zerops",
|
|
141
|
+
"mod": "index/publicPortRouting",
|
|
142
|
+
"fqn": "pulumi_zerops",
|
|
143
|
+
"classes": {
|
|
144
|
+
"zerops:index/publicPortRouting:PublicPortRouting": "PublicPortRouting"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"pkg": "zerops",
|
|
149
|
+
"mod": "index/service",
|
|
150
|
+
"fqn": "pulumi_zerops",
|
|
151
|
+
"classes": {
|
|
152
|
+
"zerops:index/service:Service": "Service"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"pkg": "zerops",
|
|
157
|
+
"mod": "index/serviceBackupConfig",
|
|
158
|
+
"fqn": "pulumi_zerops",
|
|
159
|
+
"classes": {
|
|
160
|
+
"zerops:index/serviceBackupConfig:ServiceBackupConfig": "ServiceBackupConfig"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"pkg": "zerops",
|
|
165
|
+
"mod": "index/serviceDeploy",
|
|
166
|
+
"fqn": "pulumi_zerops",
|
|
167
|
+
"classes": {
|
|
168
|
+
"zerops:index/serviceDeploy:ServiceDeploy": "ServiceDeploy"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"pkg": "zerops",
|
|
173
|
+
"mod": "index/serviceEnv",
|
|
174
|
+
"fqn": "pulumi_zerops",
|
|
175
|
+
"classes": {
|
|
176
|
+
"zerops:index/serviceEnv:ServiceEnv": "ServiceEnv"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"pkg": "zerops",
|
|
181
|
+
"mod": "index/serviceGitIntegration",
|
|
182
|
+
"fqn": "pulumi_zerops",
|
|
183
|
+
"classes": {
|
|
184
|
+
"zerops:index/serviceGitIntegration:ServiceGitIntegration": "ServiceGitIntegration"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"pkg": "zerops",
|
|
189
|
+
"mod": "index/serviceRestart",
|
|
190
|
+
"fqn": "pulumi_zerops",
|
|
191
|
+
"classes": {
|
|
192
|
+
"zerops:index/serviceRestart:ServiceRestart": "ServiceRestart"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"pkg": "zerops",
|
|
197
|
+
"mod": "index/serviceSubdomainAccess",
|
|
198
|
+
"fqn": "pulumi_zerops",
|
|
199
|
+
"classes": {
|
|
200
|
+
"zerops:index/serviceSubdomainAccess:ServiceSubdomainAccess": "ServiceSubdomainAccess"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
]
|
|
204
|
+
""",
|
|
205
|
+
resource_packages="""
|
|
206
|
+
[
|
|
207
|
+
{
|
|
208
|
+
"pkg": "zerops",
|
|
209
|
+
"token": "pulumi:providers:zerops",
|
|
210
|
+
"fqn": "pulumi_zerops",
|
|
211
|
+
"class": "Provider"
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
"""
|
|
215
|
+
)
|