actions-marketplace-validations/Deploy Single VM Stackstorm to AWS EC2

Deploy a Single VM Stackstorm to an AWS Virtual Machine (EC2)

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stalelast commit Jan 28, 2025
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: actions-marketplace-validations/bitovi_github-actions-deploy-stackstorm@2afeae1d65acc53538a3c20743b62ae8160203de # no releases — HEAD as of 2026-07-10

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
checkoutSpecifies if this action should checkout the codenotrue
aws_access_key_idAWS access key IDno
aws_secret_access_keyAWS secret access keyno
aws_session_tokenAWS session tokenno
aws_default_regionAWS default regionno
aws_resource_identifierSet to override the AWS resource identifier for the deployment. Defaults to `${org}-{repo}-{branch}`. Use with destroy to destroy specific resources.no
aws_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
aws_ec2_iam_instance_profileThe AWS IAM instance profile to use for the EC2 instanceno
aws_ec2_instance_typeThe AWS Instance typenot3.medium
aws_ec2_instance_root_vol_sizeDefine the volume size (in GiB) for the root volume on the AWS Instance.no10
aws_ec2_instance_root_vol_preserveSet this to true to avoid deletion of root volume on termination. Defaults to false.no
aws_ec2_create_keypair_smCreates a Secret in AWS secret manager to store a kypairno
aws_ec2_instance_public_ipAdd a public IP to the instance or not. (Not an Elastic IP)notrue
aws_ec2_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
st2_auth_usernameUsername used by StackStorm standalone authentication. Set as a secret in GH Actions.yes
st2_auth_passwordPassword used by StackStorm standalone authentication. Set as a secret in GH Actions.yes
st2_packsComma separated list of packs to install. If you modify this option, be sure to also include `st2` in the list.st2
st2_ansible_extra_vars_fileRelative path from project root to Ansible vars file. If you'd like to adjust more advanced configuration; st2 version, st2.conf, RBAC, chatops, auth, etc. See https://github.com/stackStorm/ansible-st2#variables for the full list of settings. The Ansible vars will take higher precedence over the GHA inputs.no
st2_version_tagStackstorm Ansible release tag to use. See https://github.com/StackStorm/ansible-st2/releasesno
tf_stack_destroySet to "true" to Destroy the created AWS infrastructure for this instancefalse
tf_state_file_nameChange this to be anything you want to. Carefull to be consistent here. A missing file could trigger recreation, or stepping over destruction of non-defined objects.no
tf_state_file_name_appendAppend a string to the tf-state-file. Setting this to `unique` will generate `tf-state-aws-unique`. Can co-exist with the tf_state_file_name variable. no
tf_state_bucketAWS S3 bucket to use for Terraform state. Defaults to `${org}-${repo}-{branch}-tf-state-aws`no
tf_state_bucket_destroyForce purge and deletion of S3 tf_state_bucket defined. Any file contained there will be destroyed. `tf_stack_destroy` must also be `true`no
aws_r53_domain_nameDefine the root domain name for the application. e.g. bitovi.com. If empty, ELB URL will be provided.no
aws_r53_sub_domain_nameDefine the sub-domain part of the URL. Defaults to `${org}-${repo}-{branch}`no
aws_r53_root_domain_deployDeploy to root domain. Will generate two DNS recrods, one for root, another for wwwno
aws_r53_enable_certMakes the application use a certificate by enabling a certificate lookup.no
aws_r53_cert_arnDefine the certificate ARN to use for the applicationno
aws_r53_create_root_certGenerates and manage the root cert for the applicationno
aws_r53_create_sub_certGenerates and manage the sub-domain certificate for the applicationno
aws_r53_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
aws_vpc_createDefine if a VPC should be createdno
aws_vpc_nameSet a specific name for the VPCno
aws_vpc_cidr_blockDefine Base CIDR block which is divided into subnet CIDR blocks. Defaults to 10.0.0.0/16.no
aws_vpc_public_subnetsComma separated list of public subnets. Defaults to 10.10.110.0/24no
aws_vpc_private_subnetsComma separated list of private subnets. If none, none will be created.no
aws_vpc_availability_zonesComma separated list of availability zones. Defaults to `aws_default_region.no
aws_vpc_idAWS VPC ID. Accepts `vpc-###` values.no
aws_vpc_subnet_idSpecify a Subnet to be used with the instance. If none provided, will pick one.no
aws_vpc_enable_nat_gatewayEnables NAT gatewayno
aws_vpc_single_nat_gatewayCreates only one NAT gatewayno
aws_vpc_external_nat_ip_idsComma separated list of IP IDS to reuse in the NAT gatewaysno
aws_vpc_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
namedescription
aws_vpc_idThe selected VPC ID used.
vm_urlThe URL of the generated app
instance_endpointThe URL of the generated ec2 instance
ec2_sg_idSG ID for the EC2 instance