mirror of
				https://github.com/telekom-security/tpotce.git
				synced 2025-10-31 04:22:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			93 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| - name: Create T-Pot name
 | |
|   shell: echo t-pot-ansible-$(pwgen -ns 6 -1)
 | |
|   register: tpot_name
 | |
| 
 | |
| - name: Import OpenStack authentication variables
 | |
|   include_vars:
 | |
|     file: roles/deploy/vars/os_auth.yaml
 | |
| 
 | |
| - name: Create security group
 | |
|   os_security_group:
 | |
|     auth:
 | |
|       auth_url: "{{ auth_url }}"
 | |
|       username: "{{ username }}"
 | |
|       password: "{{ password }}"
 | |
|       project_name: "{{ project_name }}"
 | |
|       os_user_domain_name: "{{ os_user_domain_name }}"
 | |
|     name: sg-tpot-any
 | |
|     description: tpot any-any
 | |
| 
 | |
| - name: Add rules to security group
 | |
|   os_security_group_rule:
 | |
|     auth:
 | |
|       auth_url: "{{ auth_url }}"
 | |
|       username: "{{ username }}"
 | |
|       password: "{{ password }}"
 | |
|       project_name: "{{ project_name }}"
 | |
|       os_user_domain_name: "{{ os_user_domain_name }}"
 | |
|     security_group: sg-tpot-any
 | |
|     remote_ip_prefix: 0.0.0.0/0
 | |
| 
 | |
| - name: Create network
 | |
|   os_network:
 | |
|     auth:
 | |
|       auth_url: "{{ auth_url }}"
 | |
|       username: "{{ username }}"
 | |
|       password: "{{ password }}"
 | |
|       project_name: "{{ project_name }}"
 | |
|       os_user_domain_name: "{{ os_user_domain_name }}"
 | |
|     name: network-tpot
 | |
| 
 | |
| - name: Create subnet
 | |
|   os_subnet:
 | |
|     auth:
 | |
|       auth_url: "{{ auth_url }}"
 | |
|       username: "{{ username }}"
 | |
|       password: "{{ password }}"
 | |
|       project_name: "{{ project_name }}"
 | |
|       os_user_domain_name: "{{ os_user_domain_name }}"
 | |
|     network_name: network-tpot
 | |
|     name: subnet-tpot
 | |
|     cidr: 192.168.0.0/24
 | |
|     dns_nameservers:
 | |
|       - 1.1.1.1
 | |
|       - 8.8.8.8
 | |
| 
 | |
| - name: Create router
 | |
|   os_router:
 | |
|     auth:
 | |
|       auth_url: "{{ auth_url }}"
 | |
|       username: "{{ username }}"
 | |
|       password: "{{ password }}"
 | |
|       project_name: "{{ project_name }}"
 | |
|       os_user_domain_name: "{{ os_user_domain_name }}"
 | |
|     name: router-tpot
 | |
|     interfaces:
 | |
|       - subnet-tpot
 | |
| 
 | |
| - name: Launch an instance
 | |
|   os_server:
 | |
|     auth:
 | |
|       auth_url: "{{ auth_url }}"
 | |
|       username: "{{ username }}"
 | |
|       password: "{{ password }}"
 | |
|       project_name: "{{ project_name }}"
 | |
|       os_user_domain_name: "{{ os_user_domain_name }}"
 | |
|     name: "{{ tpot_name.stdout }}"
 | |
|     region_name: "{{ region_name }}"
 | |
|     availability_zone: "{{ availability_zone }}"
 | |
|     image: "{{ image }}"
 | |
|     boot_from_volume: yes
 | |
|     volume_size: "{{ volume_size }}"
 | |
|     key_name: "{{ key_name }}"
 | |
|     timeout: 200
 | |
|     flavor: "{{ flavor }}"
 | |
|     security_groups: sg-tpot-any
 | |
|     network: network-tpot
 | |
|   register: tpot
 | |
| 
 | |
| - name: Add instance to inventory
 | |
|   add_host:
 | |
|     hostname: "{{ tpot_name.stdout }}"
 | |
|     ansible_host: "{{ tpot.server.public_v4 }}"
 | |
|     groups: TPOT
 | 
