mirror of https://gitlab.com/bashrc2/epicyon
				
				
				
			
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HCL
		
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HCL
		
	
	
| resource "aws_lightsail_static_ip" "epicyon_static_ip" {
 | |
|   name = "epicyon"
 | |
| }
 | |
| resource "aws_lightsail_static_ip_attachment" "for_epicyon" {
 | |
|   static_ip_name = aws_lightsail_static_ip.epicyon_static_ip.id
 | |
|   instance_name  = aws_lightsail_instance.epicyon.id
 | |
| }
 | |
| 
 | |
| resource "aws_lightsail_key_pair" "ssh_key_pair" {
 | |
|   name       = "epicyon_key"
 | |
|   public_key = var.publickey
 | |
| }
 | |
| 
 | |
| resource "aws_lightsail_instance" "epicyon" {
 | |
|   name              = var.instance_name
 | |
|   availability_zone = "us-east-1a"
 | |
|   blueprint_id      = "ubuntu_20_04"
 | |
|   bundle_id         = "nano_2_0"
 | |
|   key_pair_name     = var.key
 | |
| 
 | |
| }
 | |
| 
 | |
| resource "aws_lightsail_domain" "epicyon_domain" {
 | |
|   domain_name = var.domain
 | |
| }
 | |
| 
 | |
| resource "aws_lightsail_domain_entry" "epicyon" {
 | |
|   depends_on = [aws_lightsail_static_ip.epicyon_static_ip]
 | |
|   domain_name = aws_lightsail_domain.epicyon_domain.domain_name
 | |
|   name        = var.epicyon_sub_domain
 | |
|   type        = "A"
 | |
|   target      = aws_lightsail_static_ip.epicyon_static_ip.ip_address
 | |
| }
 | |
| 
 | |
| resource "null_resource" "null_resource_epicyon" {
 | |
|   depends_on = [aws_lightsail_domain_entry.epicyon]
 | |
|   triggers = {
 | |
|     id = timestamp()
 | |
|   }
 | |
|    connection {
 | |
|     agent       = false
 | |
|     type        = "ssh"
 | |
|     host        = aws_lightsail_static_ip.epicyon_static_ip.ip_address
 | |
|     private_key = file(var.private_key)
 | |
|     user        = aws_lightsail_instance.epicyon.username
 | |
|   }
 | |
|   provisioner "file" {
 | |
|     source      = "./templates/startup.sh"
 | |
|     destination = "~/startup.sh"
 | |
|   }
 | |
|   provisioner "remote-exec" {
 | |
|     inline = [
 | |
|       "chmod +x ~/startup.sh",
 | |
|       "export domain=${var.epicyon_sub_domain}",
 | |
|       "export email=${var.email}",
 | |
|       "bash ~/startup.sh"
 | |
|     ]
 | |
|   }
 | |
| }
 | |
| 
 |