-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugin.json
More file actions
111 lines (111 loc) · 4.43 KB
/
plugin.json
File metadata and controls
111 lines (111 loc) · 4.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
{
"name": "workflow-plugin-digitalocean",
"version": "0.10.0",
"description": "DigitalOcean IaC provider: App Platform, DOKS, databases, Redis cache, load balancers, VPC, firewall, DNS, Spaces, DOCR, certificates, Droplets, Block Storage volumes, IAM (declared), and API gateway",
"author": "GoCodeAlone",
"license": "MIT",
"type": "external",
"tier": "community",
"minEngineVersion": "0.20.1",
"keywords": ["digitalocean", "iac", "infra", "kubernetes", "database", "app-platform", "spaces", "redis"],
"homepage": "https://github.com/GoCodeAlone/workflow-plugin-digitalocean",
"repository": "https://github.com/GoCodeAlone/workflow-plugin-digitalocean",
"downloads": [
{
"os": "linux",
"arch": "amd64",
"url": "https://github.com/GoCodeAlone/workflow-plugin-digitalocean/releases/download/v0.10.0/workflow-plugin-digitalocean-linux-amd64.tar.gz"
},
{
"os": "linux",
"arch": "arm64",
"url": "https://github.com/GoCodeAlone/workflow-plugin-digitalocean/releases/download/v0.10.0/workflow-plugin-digitalocean-linux-arm64.tar.gz"
},
{
"os": "darwin",
"arch": "amd64",
"url": "https://github.com/GoCodeAlone/workflow-plugin-digitalocean/releases/download/v0.10.0/workflow-plugin-digitalocean-darwin-amd64.tar.gz"
},
{
"os": "darwin",
"arch": "arm64",
"url": "https://github.com/GoCodeAlone/workflow-plugin-digitalocean/releases/download/v0.10.0/workflow-plugin-digitalocean-darwin-arm64.tar.gz"
}
],
"iacProvider": {
"computePlanVersion": "v2"
},
"capabilities": {
"configProvider": false,
"moduleTypes": ["iac.provider"],
"stepTypes": [],
"triggerTypes": [],
"iacProvider": {
"name": "digitalocean",
"resourceTypes": [
"infra.container_service",
"infra.k8s_cluster",
"infra.database",
"infra.cache",
"infra.load_balancer",
"infra.vpc",
"infra.firewall",
"infra.dns",
"infra.storage",
"infra.registry",
"infra.certificate",
"infra.droplet",
"infra.volume",
"infra.iam_role",
"infra.api_gateway"
],
"configSchema": {
"infra.container_service": {
"expose": {
"type": "string",
"enum": ["public", "internal"],
"default": "public",
"description": "Whether the service has a public edge route (public, default) or is reachable only from sibling components via DO App Platform internal DNS (<name>.internal:<port>) (internal)."
}
},
"infra.firewall": {
"description": "DigitalOcean cloud firewall. Attaches to Droplets by ID or by tag (which auto-attaches future Droplets / DOKS pools that receive the tag). Either `droplet_ids` or `tags` is REQUIRED; `wfctl infra apply` rejects firewalls with no targets before any DO API call. NOTE: DO firewalls do not attach to App Platform apps — for App-Platform-only deployments, use `expose: internal` services plus `trusted_sources` on managed databases.",
"fields": {
"droplet_ids": {
"type": "array<int>",
"required": false,
"description": "Droplet IDs the firewall attaches to. At least one of `droplet_ids` or `tags` must be set."
},
"tags": {
"type": "array<string>",
"required": false,
"description": "Droplet/DOKS-pool tag strings. Resources receiving any listed tag auto-join the firewall. Example: [\"bmw-prod\"]."
},
"inbound_rules": {
"type": "array<object>",
"required": false,
"description": "Each rule: {protocol: tcp|udp|icmp, ports: \"<n>|<a-b>|all\", sources: [<CIDR>...]}."
},
"outbound_rules": {
"type": "array<object>",
"required": false,
"description": "Each rule: {protocol: tcp|udp|icmp, ports: \"<n>|<a-b>|all\", destinations: [<CIDR>...]}."
}
},
"examples": [
{
"name": "tag-based-firewall",
"comment": "Tag-based attachment so future Droplets / DOKS pools auto-join.",
"spec": {
"tags": ["bmw-prod"],
"inbound_rules": [
{"protocol": "tcp", "ports": "443", "sources": ["0.0.0.0/0"]}
]
}
}
]
}
}
}
}
}