ripe-room-94618
05/11/2021, 8:24 AMimport * as aws from "@pulumi/aws";
import {ENV, instanceName} from "../tools/naming";
import {EC2_AMI, EC2_SIZE} from "../ec2";
import {masterCloudInit} from "./cloudinit";
import {Egress, Ingress} from "../security/security_group";
import {Instance} from "@pulumi/aws/ec2";
export interface SaltBuildResult {
saltmaster: Instance;
}
export function buildSalt(): SaltBuildResult {
const saltGroup = new aws.ec2.SecurityGroup("salt-secgrp", {
ingress: [
Ingress.ssh,
Ingress.salt,
Ingress.http,
Ingress.https
],
egress: [
Egress.salt,
Egress.http,
Egress.https
]
});
const saltmasterName = instanceName("saltmaster")
const saltMasterInstance = new aws.ec2.Instance(
saltmasterName,
{
instanceType: EC2_SIZE.MICRO,
vpcSecurityGroupIds: [saltGroup.id],
ami: EC2_AMI.UBUNTU_18_04_HVM,
userData: masterCloudInit({
hostID: saltmasterName,
environment: ENV.SHARED_SERVICES,
})
}
)
return {saltmaster: saltMasterInstance}
}
prehistoric-nail-50687
05/11/2021, 8:29 AMName
on the EC2, thats how AWS worksripe-room-94618
05/11/2021, 8:43 AM