generated from pulumi/pulumi-component-provider-go-boilerplate
-
Notifications
You must be signed in to change notification settings - Fork 1
/
schema.yaml
204 lines (204 loc) · 6.25 KB
/
schema.yaml
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# yaml-language-server: $schema=https://raw.githubusercontent.com/pulumi/pulumi/master/pkg/codegen/schema/pulumi.json
---
name: tailscale-bastion
pluginDownloadUrl: "github://api.github.com/lbrlabs"
description: "A Pulumi package for creating a tailscale bastion in AWS."
repository: "https://github.com/lbrlabs/pulumi-tailscale-bastion"
publisher: "lbrlabs"
displayname: "tailscale-bastion"
keywords:
- aws
- tailscale
- lbrlabs
- kind/component
- category/network
resources:
tailscale-bastion:azure:Bastion:
isComponent: true
inputProperties:
enableSSH:
type: boolean
description: "Whether to enable SSH access to the bastion."
default: true
resourceGroupName:
type: string
description: "The Azure resource group to create the bastion in."
subnetId:
type: string
description: "The subnet Ids to launch instances in."
routes:
type: array
items:
type: string
description: "The routes you'd like to advertise via tailscale."
location:
type: string
description: "The Azure region you're using."
instanceSku:
type: string
description: "The Azure instance SKU to use for the bastion."
highAvailability:
type: boolean
description: "Whether the bastion should be highly available."
default: false
public:
type: boolean
description: "Whether the bastion should have a public IP."
default: false
tailscaleTags:
type: array
items:
type: string
description: "The tags to apply to the tailnet device andauth key. This tag should be added to your oauth key and ACL."
requiredInputs:
- highAvailability
- resourceGroupName
- subnetId
- routes
- location
- tailscaleTags
properties:
scaleSetName:
type: string
description: "The name of the Scaleset that managed the bastion instances"
privateKey:
type: string
description: "The SSH private key to access your bastion"
required:
- scaleSetName
- privateKey
tailscale-bastion:aws:Bastion:
isComponent: true
inputProperties:
hostname:
type: string
description: "The hostname of the bastion."
public:
type: boolean
description: "Whether the bastion is going in public subnets."
default: false
enableSSH:
type: boolean
description: "Whether to enable SSH access to the bastion."
default: true
enableAppConnector:
type: boolean
description: "Whether the bastion advertises itself as an app connector."
default: false
enableExitNode:
type: boolean
description: "Whether the subnet router can advertise itself as an exit node."
default: false
highAvailability:
type: boolean
description: "Whether the bastion should be highly available."
default: false
vpcId:
type: string
description: "The VPC the Bastion should be created in."
tailscaleTags:
type: array
items:
type: string
description: "The tags to apply to the tailnet device andauth key. This tag should be added to your oauth key and ACL."
subnetIds:
type: array
items:
type: string
description: "The subnet Ids to launch instances in."
routes:
type: array
items:
type: string
description: "The routes you'd like to advertise via tailscale."
region:
type: string
description: "The AWS region you're using."
instanceType:
type: string
description: "The EC2 instance type to use for the bastion."
requiredInputs:
- highAvailability
- vpcId
- subnetIds
- region
- tailscaleTags
properties:
asgName:
type: string
description: "The name of the ASG that managed the bastion instances"
privateKey:
type: string
description: "The SSH private key to access your bastion"
required:
- asgName
- privateKey
tailscale-bastion:kubernetes:Bastion:
isComponent: true
inputProperties:
highAvailability:
type: boolean
description: "Whether the bastion should be highly available."
default: false
tailscaleTags:
type: array
items:
type: string
description: "The tags to apply to the tailnet device andauth key. This tag should be added to your oauth key and ACL."
createNamespace:
type: boolean
description: "Whether we should create a new namespace."
plain: true
namespace:
"$ref": "/kubernetes/v3.22.1/schema.json#/resources/kubernetes:core%2Fv1:Namespace"
description: The bucket resource.
routes:
type: array
items:
type: string
description: "The routes to advertise to tailscale. This is likely the Pod and Service CIDR."
requiredInputs:
- highAvailability
- createNamespace
- routes
- tailscaleTags
properties:
deploymentName:
type: string
description: "The name of the kubernetes deployment that contains the tailscale bastion"
required:
- deploymentName
language:
csharp:
packageReferences:
Pulumi: 3.*
Pulumi.Aws: 6.*
Pulumi.Azure: 5.*
Pulumi.Kubernetes: 3.*
Pulumi.Tls: 4.*
Pulumi.Tailscale: 0.*
rootNamespace: "Lbrlabs.PulumiPackage"
go:
generateResourceContainerTypes: true
importBasePath: github.com/lbrlabs/pulumi-tailscale-bastion/sdk/go/bastion
nodejs:
dependencies:
"@pulumi/aws": "^6.0.0"
"@pulumi/azure": "^5.0.0"
"@pulumi/tls": "^4.0.0"
"@pulumi/kubernetes": "^3.0.0"
"@pulumi/tailscale": "^0.11.0"
devDependencies:
typescript: "^3.7.0"
glob: "^9.0.0"
minimatch: "^5.0.0"
packageName: "@lbrlabs/pulumi-tailscalebastion"
python:
packageName: "lbrlabs_pulumi_tailscalebastion"
requires:
pulumi: ">=3.0.0,<4.0.0"
pulumi-kubernetes: ">=3.0.0,<4.0.0"
pulumi-aws: ">=6.0.0,<7.0.0"
pulumi-azure: ">=5.0.0,<6.0.0"
pulumi-tls: ">=4.0.0,<5.0.0"
pulumi-tailscale: ">=0.0.0,<1.0.0"