-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat/add/packer/steps #2412
base: dev
Are you sure you want to change the base?
feat/add/packer/steps #2412
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,43 @@ | ||||||||||||||||||||||||||||
name: Packer build AWS AMI's | ||||||||||||||||||||||||||||
on: | ||||||||||||||||||||||||||||
workflow_dispatch: | ||||||||||||||||||||||||||||
branches: | ||||||||||||||||||||||||||||
- prod | ||||||||||||||||||||||||||||
Comment on lines
+4
to
+5
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Parameterize the branch name for flexibility. To allow triggering the workflow on different branches, consider parameterizing the branch name using a GitHub secret. Apply this diff: - - prod
+ - ${{ secrets.BRANCH_NAME }} Ensure that the Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
jobs: | ||||||||||||||||||||||||||||
plan: | ||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix the YAML syntax error. The static analysis tool Toolsactionlint
|
||||||||||||||||||||||||||||
environment: Terraform | ||||||||||||||||||||||||||||
defaults: | ||||||||||||||||||||||||||||
run: | ||||||||||||||||||||||||||||
working-directory: /home/runner/work/ballerine/deploy/aws_ami | ||||||||||||||||||||||||||||
runs-on: ubuntu-latest | ||||||||||||||||||||||||||||
name: Packer build Artifacts | ||||||||||||||||||||||||||||
steps: | ||||||||||||||||||||||||||||
- name: Checkout to Git | ||||||||||||||||||||||||||||
uses: actions/checkout@v2 | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
- name: Assume Role | ||||||||||||||||||||||||||||
uses: ./ | ||||||||||||||||||||||||||||
env: | ||||||||||||||||||||||||||||
ROLE_ARN: ${{ secrets.AWS_PACKER_ROLE }} | ||||||||||||||||||||||||||||
ROLE_SESSION_NAME: packersession | ||||||||||||||||||||||||||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||||||||||||||||||||||||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||||||||||||||||||||||||||||
DURATION_SECONDS: 900 | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Comment on lines
+19
to
+27
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use the AWS Assume Role Action for better security. Instead of using a custom action and hardcoding AWS credentials, it's recommended to use the official AWS Assume Role Action for assuming an AWS role. This approach is more secure and maintainable. Apply this diff to switch to the AWS Assume Role Action: - - name: Assume Role
- uses: ./
- env:
- ROLE_ARN: ${{ secrets.AWS_PACKER_ROLE }}
- ROLE_SESSION_NAME: packersession
- AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
- AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- DURATION_SECONDS: 900
+ - name: Assume Role
+ uses: aws-actions/configure-aws-credentials@v1
+ with:
+ role-to-assume: ${{ secrets.AWS_PACKER_ROLE }}
+ aws-region: ${{ secrets.AWS_REGION }} Ensure that the Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||
- name: Setup `packer` | ||||||||||||||||||||||||||||
uses: hashicorp/setup-packer@main | ||||||||||||||||||||||||||||
id: setup | ||||||||||||||||||||||||||||
with: | ||||||||||||||||||||||||||||
version: 1.8.7 | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
- name: Run `packer init` | ||||||||||||||||||||||||||||
id: init | ||||||||||||||||||||||||||||
run: "packer init template.json.pkr.hcl" | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
- name: Run `packer validate` | ||||||||||||||||||||||||||||
id: validate | ||||||||||||||||||||||||||||
run: "packer validate template.json.pkr.hcl" | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
- name: Build AWS AMIs | ||||||||||||||||||||||||||||
run: "packer build template.json.pkr.hcl" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
- name: Remove sensitive credential (1) | ||
shell: find / -name "authorized_keys" -exec rm -f {} \; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not fully understand how is it work... does it connect using ssh? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So packer works like this
|
||
become: true | ||
|
||
- name: Remove sensitive credential (2) | ||
shell: find /root/ /home/*/ -name .cvspass -exec rm -f {} \; | ||
become: true | ||
|
||
- name: Restart rsyslog | ||
shell: service rsyslog restart | ||
become: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
- name: Clone Ballerine | ||
git: | ||
repo: https://github.com/ballerine-io/ballerine.git | ||
dest: "{{ install_dir }}" | ||
version: dev | ||
clone: yes | ||
update: yes | ||
ignore_errors: yes |
Original file line number | Diff line number | Diff line change | ||||||
---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,11 @@ | ||||||||
- name: Deploy Ballerine with localhost | ||||||||
shell: sudo docker-compose -f docker-compose-build.yml up -d | ||||||||
args: | ||||||||
chdir: "{{ install_dir }}/deploy" | ||||||||
when: vite_api_url == "" | ||||||||
|
||||||||
- name: Deploy Ballerine with custom Domain | ||||||||
shell: sudo docker-compose -f docker-compose-build-https.yml up -d | ||||||||
args: | ||||||||
chdir: "{{ install_dir }}/deploy" | ||||||||
when: vite_api_url != "" | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a newline character at the end of the file. YAML files should end with a newline character to avoid issues with certain parsers. when: vite_api_url != ""
+ Committable suggestion
Suggested change
Toolsyamllint
Comment on lines
+1
to
+11
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggestion: npm run deploy::docker There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I wish to use devops tools as it will be easy for any devops engineers to understand how we are building packer image |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -3,8 +3,25 @@ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
package_facts: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
manager: auto | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- include_tasks: install-docker.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: install-docker.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: start-docker.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: clone-ballerine.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: setup-init-config.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags: packer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: setup-ballerine.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: setup-ballerine-runtime.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags: packer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: deploy-ballerine.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags: deploy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: setup-user-data.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags: packer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- import_tasks: cleanup-packer-build.yml | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags: packer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+6
to
+27
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a new line at the end of the file. A new line at the end of the file is missing. This is a best practice for readability and to avoid potential issues with some tools. - tags: packer
+ tags: packer
+ Committable suggestion
Suggested change
Toolsyamllint
|
Original file line number | Diff line number | Diff line change | ||||||
---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,39 @@ | ||||||||
- name: create runtime path folder | ||||||||
file: | ||||||||
dest: "{{ install_dir }}/scripts" | ||||||||
mode: 0755 | ||||||||
recurse: yes | ||||||||
owner: "{{ cloud_user }}" | ||||||||
group: "{{ cloud_group }}" | ||||||||
state: directory | ||||||||
|
||||||||
- name: create boot script | ||||||||
template: | ||||||||
src: templates/boot.sh | ||||||||
dest: "{{ install_dir }}/scripts/boot.sh" | ||||||||
mode: 0755 | ||||||||
|
||||||||
- name: create reboot entry job | ||||||||
cron: | ||||||||
name: "ballerine job" | ||||||||
special_time: reboot | ||||||||
user: "{{ cloud_user }}" | ||||||||
job: "{{ install_dir }}/scripts/boot.sh" | ||||||||
|
||||||||
- name: setup ssh key for ballerine user | ||||||||
copy: | ||||||||
src: templates/init-ssh.sh | ||||||||
dest: /var/lib/cloud/scripts/per-instance | ||||||||
mode: 0755 | ||||||||
owner: "{{ cloud_user }}" | ||||||||
group: "{{ cloud_group }}" | ||||||||
become: true | ||||||||
|
||||||||
- name: setup ssh key for {{ default_user }} user | ||||||||
copy: | ||||||||
src: templates/init-ssh.sh | ||||||||
dest: /var/lib/cloud/scripts/per-instance | ||||||||
mode: 0755 | ||||||||
owner: "{{ default_user }}" | ||||||||
group: "{{ cloud_group }}" | ||||||||
become: true | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a newline at the end of the file. The file is missing a newline at the end, which is a best practice for UNIX files. - become: true
+ become: true
+ Committable suggestion
Suggested change
Toolsyamllint
|
Original file line number | Diff line number | Diff line change | ||||||
---|---|---|---|---|---|---|---|---|
@@ -1,4 +1,5 @@ | ||||||||
--- | ||||||||
|
||||||||
- name: Replace VITE URL for backoffice | ||||||||
lineinfile: | ||||||||
path: '~/ballerine/apps/backoffice-v2/.env.example' | ||||||||
|
@@ -33,16 +34,4 @@ | |||||||
ansible.builtin.template: | ||||||||
src: templates/Caddyfile.j2 | ||||||||
dest: "{{ install_dir }}/deploy/caddy/Caddyfile" | ||||||||
when: vite_api_url != "" | ||||||||
|
||||||||
- name: Deploy Ballerine up locally | ||||||||
shell: docker-compose -f docker-compose-build.yml up -d | ||||||||
args: | ||||||||
chdir: "{{ install_dir }}/deploy" | ||||||||
when: vite_api_url == "" | ||||||||
|
||||||||
- name: Deploy Ballerine up remote | ||||||||
shell: docker-compose -f docker-compose-build-https.yml up -d | ||||||||
args: | ||||||||
chdir: "{{ install_dir }}/deploy" | ||||||||
when: vite_api_url != "" | ||||||||
when: vite_api_url != "" | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a newline at the end of the file. The file is missing a newline at the end, which is a best practice for UNIX files. - when: vite_api_url != ""
+ when: vite_api_url != ""
+ Committable suggestion
Suggested change
Toolsyamllint
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
- name: deploy cloud init config file | ||
template: src=templates/cloud-config.cfg dest=/etc/cloud/cloud.cfg.d/defaults.cfg | ||
become: true | ||
|
||
- name: create group ballerine | ||
group: name={{ cloud_user }} state=present | ||
become: true | ||
|
||
- name: create user ballerine | ||
user: name={{ cloud_user }} groups={{ cloud_group }} | ||
become: true | ||
|
||
- name: create user {{ default_user }} | ||
user: name={{ default_user }} groups={{ cloud_group }} | ||
become: true | ||
|
||
- name: add sudoers group for user {{ cloud_user }} | ||
copy: | ||
content: 'ballerine ALL=(ALL) NOPASSWD: ALL' | ||
dest: /etc/sudoers.d/ballerine | ||
mode: 0440 | ||
owner: root | ||
group: root | ||
become: true | ||
Comment on lines
+1
to
+25
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add error handling to tasks. Consider adding error handling to ensure that tasks succeed and handle failures gracefully. - user: name={{ default_user }} groups={{ cloud_group }}
+ user: name={{ default_user }} groups={{ cloud_group }} state=present
|
Original file line number | Diff line number | Diff line change | ||||||
---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,9 @@ | ||||||||
--- | ||||||||
- name: setup runtime user data | ||||||||
copy: | ||||||||
src: ../templates/user-data.sh | ||||||||
dest: /var/lib/cloud/scripts/per-instance | ||||||||
mode: 0755 | ||||||||
owner: "{{ cloud_user }}" | ||||||||
group: "{{ cloud_group }}" | ||||||||
become: true | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a newline character at the end of the file. YAML files should end with a newline character to avoid issues with certain parsers. become: true
+ Committable suggestion
Suggested change
Toolsyamllint
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,11 @@ | ||||||
#!/bin/bash | ||||||
|
||||||
cd /home/ballerine/ballerine | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add error handling to the - cd /home/ballerine/ballerine
+ cd /home/ballerine/ballerine || exit Committable suggestion
Suggested change
ToolsShellcheck
|
||||||
|
||||||
git checkout dev ; git pull | ||||||
|
||||||
cd /home/ballerine/ballerine/deploy | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ensure the script exits if the directory change fails. - cd /home/ballerine/ballerine/deploy
+ cd /home/ballerine/ballerine/deploy || exit Committable suggestion
Suggested change
ToolsShellcheck
|
||||||
|
||||||
sudo docker-compose -f docker-compose-build.yml pull | ||||||
|
||||||
sudo docker-compose -f docker-compose-build.yml up -d |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#cloud-config | ||
system_info: | ||
default_user: | ||
name: ballerine | ||
lock_passwd: false |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/bash | ||
|
||
authorized_keys_path=/home/ballerine/.ssh/authorized_keys | ||
if [[ ! -e "$authorized_keys_path" ]]; then | ||
echo "Setting SSH key" | ||
sudo cp ~/.ssh/authorized_keys "$authorized_keys_path" | ||
sudo chown ballerine:ballerine "$authorized_keys_path" | ||
fi | ||
|
||
authorized_keys_ubuntu_path=/home/ubuntu/.ssh/authorized_keys | ||
if [[ ! -e "$authorized_keys_ubuntu_path" ]]; then | ||
echo "Setting SSH key for ubuntu user" | ||
sudo mkdir -p /home/ubuntu/.ssh/ | ||
sudo chmod -R 700 /home/ubuntu/.ssh/ | ||
sudo cp ~/.ssh/authorized_keys "$authorized_keys_ubuntu_path" | ||
sudo chown -R ubuntu:ballerine /home/ubuntu/.ssh/ | ||
fi | ||
Comment on lines
+1
to
+17
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Security Concern: Use caution with sudo and SSH keys. Using sudo to handle SSH keys can be a security risk. Ensure that this is necessary and consider alternatives if possible. Best Practice: Check for errors. Add error checking to ensure that commands succeed. - sudo cp ~/.ssh/authorized_keys "$authorized_keys_path"
+ if ! sudo cp ~/.ssh/authorized_keys "$authorized_keys_path"; then
+ echo "Failed to copy authorized_keys" >&2
+ exit 1
+ fi
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,8 @@ | ||||||
#!/bin/bash | ||||||
|
||||||
default_user_name="[email protected]" | ||||||
default_user_password=admin | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Security Concern: Quote the password assignment. Use quotes to assign the password to avoid potential issues. - default_user_password=admin
+ default_user_password="admin" Committable suggestion
Suggested change
ToolsShellcheck
|
||||||
|
||||||
echo "${default_user_name}:${default_user_password}" > /home/ballerine/ballerine/credential | ||||||
|
||||||
echo -e "\n***************************************************\n* Default username : $default_user_name *\n* Default password : $default_user_password *\n***************************************************\n" >/dev/console | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Security Concern: Avoid displaying credentials on the console. Displaying credentials on the console is a security risk. Consider removing this or using secure methods to handle credentials. - echo -e "\n***************************************************\n* Default username : $default_user_name *\n* Default password : $default_user_password *\n***************************************************\n" >/dev/console
+ # echo -e "\n***************************************************\n* Default username : $default_user_name *\n* Default password : $default_user_password *\n***************************************************\n" >/dev/console Committable suggestion
Suggested change
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#cloud-config | ||
system_info: | ||
default_user: | ||
name: ballerine | ||
lock_passwd: false |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Configuration - AWS base image | ||
variable "base_ami" { | ||
type = string | ||
default = "ami-01e444924a2233b07" # Ubuntu 22.04.2 LTS | ||
} | ||
|
||
# Configuration - AWS provisioning instance type | ||
variable "instance_type" { | ||
type = string | ||
default = "t2.micro" | ||
} | ||
|
||
# Configuration - AWS subnet | ||
variable "subnet_id" { | ||
type = string | ||
default = "subnet-01d1b883a41235506" | ||
} | ||
|
||
# Configuration - AWS VPC | ||
variable "vpc_id" { | ||
type = string | ||
default = "vpc-0ed0113663b1fbf40" | ||
} | ||
|
||
|
||
# "timestamp" template function replacement | ||
locals { timestamp = regex_replace(timestamp(), "[- TZ:]", "") } | ||
|
||
# Variable - AMI naming | ||
locals { | ||
image_name = "ballerine-marketplace-snapshot-${local.timestamp}" | ||
} | ||
|
||
# Builder - Provision AWS instance | ||
source "amazon-ebs" "ballerine-aws-ami" { | ||
ami_name = "ballerine-ami-${local.timestamp}" | ||
instance_type = "${var.instance_type}" | ||
launch_block_device_mappings { | ||
delete_on_termination = true | ||
device_name = "/dev/sda1" | ||
volume_size = 25 | ||
volume_type = "gp2" | ||
} | ||
region = "eu-central-1" | ||
source_ami = "${var.base_ami}" | ||
ssh_username = "ballerine" | ||
subnet_id = "${var.subnet_id}" | ||
vpc_id = "${var.vpc_id}" | ||
skip_create_ami = false | ||
user_data_file = "./defaults.cfg" | ||
} | ||
|
||
# Provisioning - Setup Ballerine | ||
build { | ||
sources = ["source.amazon-ebs.ballerine-aws-ami"] | ||
|
||
provisioner "ansible" { | ||
user = "ballerine" | ||
playbook_file = "../ansible/ballerine_playbook/ballerine-playbook.yml" | ||
extra_arguments = ["--skip-tags", "deploy"] | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider parameterizing the branch name.
For flexibility, consider parameterizing the branch name to allow triggering the workflow on different branches.
Committable suggestion