diff --git a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield-byo-bastion.json b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield-byo-bastion.json index efb6856ae..87c90c92a 100644 --- a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield-byo-bastion.json +++ b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield-byo-bastion.json @@ -44,6 +44,9 @@ "Type": "String", "Default": "25" }, + "MasterUserData": { + "Type": "String" + }, "MasterEtcdVolSize": { "Type": "String", "Default": "25" @@ -96,6 +99,9 @@ "Type": "String", "Default": "gp2" }, + "NodeUserData": { + "Type": "String" + }, "NodeEmptyVolSize": { "Type": "String", "Default": "25" diff --git a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield.json b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield.json index 6501cd801..a78b6bcda 100644 --- a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield.json +++ b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/brownfield.json @@ -48,6 +48,9 @@ "Type": "String", "Default": "gp2" }, + "BastionUserData": { + "Type": "String" + }, "MasterRootVolSize": { "Type": "String", "Default": "10" @@ -64,6 +67,9 @@ "Type": "String", "Default": "gp2" }, + "MasterUserData": { + "Type": "String" + }, "MasterDockerVolType": { "Type": "String", "Default": "gp2" @@ -100,6 +106,9 @@ "Type": "String", "Default": "30" }, + "NodeUserData": { + "Type": "String" + }, "NodeDockerVolSize": { "Type": "String", "Default": "25" @@ -714,6 +723,7 @@ "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : {"Ref": "AmiId"}, + "UserData": {"Ref": "BastionUserData"}, "KeyName" : {"Ref": "KeyName"}, "InstanceType": {"Ref": "BastionInstanceType"}, "SecurityGroupIds": [{ "Fn::GetAtt" : ["BastionSg", "GroupId"] }], diff --git a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/greenfield.json b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/greenfield.json index 4ba58a766..f76323427 100644 --- a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/greenfield.json +++ b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/greenfield.json @@ -60,6 +60,9 @@ "Type": "String", "Default": "gp2" }, + "BastionUserData": { + "Type": "String" + }, "MasterRootVolSize": { "Type": "String", "Default": "10" @@ -917,6 +920,7 @@ "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : {"Ref": "AmiId"}, + "UserData": {"Ref": "BastionUserData"}, "KeyName" : {"Ref": "KeyName"}, "InstanceType": {"Ref": "BastionInstanceType"}, "SecurityGroupIds": [{ "Fn::GetAtt" : ["BastionSg", "GroupId"] }], diff --git a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_bastion.yml b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_bastion.yml new file mode 100644 index 000000000..750a4ade9 --- /dev/null +++ b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_bastion.yml @@ -0,0 +1,7 @@ +#cloud-config +users: +- default + +system_info: + default_user: + name: ec2-user diff --git a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_master.yml b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_master.yml index ce8a6724a..8490c60bd 100644 --- a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_master.yml +++ b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_master.yml @@ -23,3 +23,10 @@ write_files: EXTRA_DOCKER_STORAGE_OPTIONS="--storage-opt dm.basesize=3G" path: /etc/sysconfig/docker-storage-setup owner: root:root + +users: +- default + +system_info: + default_user: + name: ec2-user diff --git a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_node.yml b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_node.yml index 863a968be..2711d037b 100644 --- a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_node.yml +++ b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/files/user_data_node.yml @@ -23,3 +23,11 @@ write_files: EXTRA_DOCKER_STORAGE_OPTIONS="--storage-opt dm.basesize=3G" path: /etc/sysconfig/docker-storage-setup owner: root:root + +users: +- default + +system_info: + default_user: + name: ec2-user + diff --git a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/tasks/main.yaml b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/tasks/main.yaml index 276fdadc8..28242601e 100644 --- a/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/tasks/main.yaml +++ b/reference-architecture/aws-ansible/playbooks/roles/cloudformation-infra/tasks/main.yaml @@ -22,6 +22,7 @@ MasterInstanceType: "{{ master_instance_type }}" AmiId: "{{ ami }}" BastionInstanceType: "{{ node_instance_type }}" + BastionUserData: "{{ lookup('file', 'user_data_bastion.yml') | b64encode }}" MasterRootVolSize: 10 BastionRootVolType: gp2 MasterRootVolType: gp2 @@ -29,7 +30,7 @@ MasterDockerVolType: gp2 MasterEtcdVolSize: "{{ etcd_storage }}" MasterEtcdVolType: gp2 - MasterUserData: "{{ lookup('template', 'files/user_data_master.yml') | b64encode }}" + MasterUserData: "{{ lookup('file', 'user_data_master.yml') | b64encode }}" InfraInstanceType: "{{ node_instance_type }}" InfraRootVolSize: 25 InfraRootVolType: gp2 @@ -37,7 +38,7 @@ InfraDockerVolType: gp2 NodeEmptyVolSize: "{{ emptydir_storage }}" NodeEmptyVolType: gp2 - NodeUserData: "{{ lookup('template', 'files/user_data_node.yml') | b64encode }}" + NodeUserData: "{{ lookup('file', 'user_data_node.yml') | b64encode }}" AppNodeInstanceType: "{{ node_instance_type }}" NodeRootVolSize: 25 NodeRootVolType: gp2 @@ -70,6 +71,7 @@ MasterInstanceType: "{{ master_instance_type }}" AmiId: "{{ ami }}" BastionInstanceType: "{{ node_instance_type }}" + BastionUserData: "{{ lookup('file', 'user_data_bastion.yml') | b64encode }}" MasterRootVolSize: 10 BastionRootVolType: gp2 MasterRootVolType: gp2 @@ -77,7 +79,7 @@ MasterDockerVolType: gp2 MasterEtcdVolSize: "{{ etcd_storage }}" MasterEtcdVolType: gp2 - MasterUserData: "{{ lookup('template', 'files/user_data_master.yml') | b64encode }}" + MasterUserData: "{{ lookup('file', 'user_data_master.yml') | b64encode }}" InfraInstanceType: "{{ node_instance_type }}" InfraRootVolSize: 25 InfraRootVolType: gp2 @@ -85,7 +87,7 @@ InfraDockerVolType: gp2 NodeEmptyVolSize: "{{ emptydir_storage }}" NodeEmptyVolType: gp2 - NodeUserData: "{{ lookup('template', 'files/user_data_node.yml') | b64encode }}" + NodeUserData: "{{ lookup('file', 'user_data_node.yml') | b64encode }}" AppNodeInstanceType: "{{ node_instance_type }}" NodeRootVolSize: 25 NodeRootVolType: gp2 @@ -124,7 +126,7 @@ MasterDockerVolType: gp2 MasterEtcdVolSize: "{{ etcd_storage }}" MasterEtcdVolType: gp2 - MasterUserData: "{{ lookup('template', 'files/user_data_master.yml') | b64encode }}" + MasterUserData: "{{ lookup('file', 'user_data_master.yml') | b64encode }}" InfraInstanceType: "{{ node_instance_type }}" InfraRootVolSize: 25 InfraRootVolType: gp2 @@ -132,7 +134,7 @@ InfraDockerVolType: gp2 NodeEmptyVolSize: "{{ emptydir_storage }}" NodeEmptyVolType: gp2 - NodeUserData: "{{ lookup('template', 'files/user_data_node.yml') | b64encode }}" + NodeUserData: "{{ lookup('file', 'user_data_node.yml') | b64encode }}" AppNodeInstanceType: "{{ node_instance_type }}" NodeRootVolSize: 25 NodeRootVolType: gp2