Compare commits
2 Commits
0d24c69e32
...
ab749f7e11
Author | SHA1 | Date | |
---|---|---|---|
ab749f7e11 | |||
3d0dce28c2 |
2
linode/.gitignore
vendored
Normal file
2
linode/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*.pyc
|
||||
venv/
|
5
linode/Pulumi.yaml
Normal file
5
linode/Pulumi.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
name: ${PROJECT}
|
||||
description: ${DESCRIPTION}
|
||||
runtime: python
|
||||
template:
|
||||
description: A Pulumi deployment with Linode cloud and Python
|
25
linode/__main__.py
Normal file
25
linode/__main__.py
Normal file
@ -0,0 +1,25 @@
|
||||
"""A Linode Python Pulumi program"""
|
||||
|
||||
import pulumi
|
||||
import pulumi_linode
|
||||
import yaml
|
||||
from dotmap import DotMap
|
||||
|
||||
conf = DotMap(yaml.safe_load(open("input.yaml").read()))
|
||||
config = pulumi.Config()
|
||||
|
||||
# Create a Linode resource (Linode Instance)
|
||||
instance = pulumi_linode.Instance('my-instance',
|
||||
type=config.linode.type,
|
||||
region=config.linode.region,
|
||||
image=config.linode.image,
|
||||
label=config.vm.name,
|
||||
root_pass=config.vm.root_password,
|
||||
authorized_keys=config.vm.sshkeys
|
||||
opts=pulumi.ResourceOptions(
|
||||
custom_timeouts=pulumi.CustomTimeouts(create="2m")
|
||||
)
|
||||
)
|
||||
|
||||
# Export the Instance label of the instance
|
||||
pulumi.export('ip_address', instance.ip_address)
|
14
linode/input.yaml
Normal file
14
linode/input.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
linode:
|
||||
type: g6-nanode-1
|
||||
region: eu-central
|
||||
image: linode/debian12
|
||||
|
||||
# Basic VM configuration
|
||||
vm:
|
||||
name: linode-test
|
||||
root_password: cicciopasticcio
|
||||
sshkeys:
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFioHkaV1NhX6NCqsJakJw8EVBOcDHm1MEbpY499CPtG syntaxerrormmm@fisso"
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILu91hBh8pNRt4eE1pug0Y4jCHZDCcMJ+vj3CiF5EQHV syntaxerrormmm@syntaxxps"
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILH5q/ObtC4VhNT88gebezP/svpvCoQLoZCh4DvUn4xq syntaxerrormmm@taz"
|
4
linode/requirements.txt
Normal file
4
linode/requirements.txt
Normal file
@ -0,0 +1,4 @@
|
||||
pulumi>=3.0.0,<4.0.0
|
||||
pulumi-linode>=4.0.0,<5.0.0
|
||||
pyyaml>=6.0
|
||||
dotmap>=1.3.30
|
@ -14,12 +14,10 @@ i.close()
|
||||
config = pulumi.Config()
|
||||
|
||||
provider = proxmox.Provider("proxmoxve",
|
||||
virtual_environment = {
|
||||
"endpoint": input_['pve']['url'],
|
||||
"insecure": input_['pve']['insecure'],
|
||||
"username": input_['pve']['username'],
|
||||
"password": config.require_secret("password")
|
||||
}
|
||||
endpoint=input_['pve']['url'],
|
||||
insecure=input_['pve']['insecure'],
|
||||
username=input_['pve']['username'],
|
||||
password=config.require_secret("password")
|
||||
)
|
||||
|
||||
vm_name = input_['vm']['name']
|
||||
@ -75,7 +73,8 @@ vm = proxmox.vm.VirtualMachine("vm",
|
||||
)
|
||||
),
|
||||
opts = pulumi.ResourceOptions(
|
||||
provider = provider
|
||||
provider = provider,
|
||||
custom_timeouts=pulumi.CustomTimeouts(create="3m")
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
"""A ProxmoxVE VM template with Python"""
|
||||
|
||||
import yaml
|
||||
from dotmap import DotMap
|
||||
import pulumi
|
||||
import pulumi_proxmoxve as proxmox
|
||||
import yaml
|
||||
from dotmap import DotMap
|
||||
|
||||
conf = DotMap(yaml.safe_load(open("input.yaml").read()))
|
||||
config = pulumi.Config()
|
||||
@ -63,7 +63,8 @@ vm = proxmox.vm.VirtualMachine(conf.vm.name,
|
||||
)
|
||||
),
|
||||
opts = pulumi.ResourceOptions(
|
||||
provider = provider
|
||||
provider = provider,
|
||||
custom_timeouts=pulumi.CustomTimeouts(create="3m")
|
||||
)
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user