Skip to content

marcossilvestrini/terraform-protheus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Provision ERP Protheus With Terraform and Ansible

terraform-protheus

Project for provisioning ERP Protheus development environment for code, build and test.

This projetc use VMWare VSphere ESXi bare-metal Hypervisor
This project use Oracle Linux 8 for provisioning environment
This project use Windos Server 2019 for provisioning environment
This project user Jinja Templates for configure environment
Pay attention to download the artifacts to not have problems in provisioning

Philosophy

This project aims to automate the provisioning of the ERP Protheus stack for development purposes.

Getting Started

Fork the project and enjoy.
Atention for pre requisites and License!!!

Authors

Marcos Silvestrini
marcos.silvestrini@gmail.com

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Pre-Requisites

References

Stack Resources

Hypervisor

Hosts

Bare-Metal: VMWare VSphere ESXi 7
vCPU: 8
RAM: 12gb
DISK1: 200GB DISK2: 400GB

Appliance

Appliance: VMware Vcenter 7
vCPU: 6
RAM: 12gb
DISK1: 200GB

Virtual Machines

SO: Oracle Linux 8
vCPU: 4
RAM: 4GB

SO: Windows 2019
CPU: 4 vcpus
RAM: 4GB

Stack Version

Database: PostgreSQL 10.15
Protheus: 12.1.27

Setup Vsphere ESXi

Enable SSH

  • Log directly in to the ESXi host.
  • Open the DCUI on the host.
  • Press F2 for Initial Setup.
  • Troubleshooting, Enable SSH

Disable Lockdown and Add SSH User Exception

  • Browse to the host in the vSphere Web Client inventory.
  • Click the Manage tab and click Settings. (with 6.7, Click the Configure tab)
  • Under System, select Security Profile.
  • In the Lockdown Mode panel, click Edit.
  • Click Lockdown Mode and select one of the lockdown mode options.
  • Create user and add in role Administrator for terraform
  • Add User exception
  • Validate ssh connection with this user
  • Done!

Create a VM Template for Provisioning

  • Create a Virtual Machine for stack app
  • Executing setup in this Virtual Machine(updates,ssh,packages,shares,etc)
  • Create a Template Virtual Machine for terraform clone after

Install Terraform(In your devops machine our desktop)

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install terraform
sudo terraform -install-autocomplete

Setup Server Devops\Terraform\Ansible

  • Create user terraform
  • Add user in sudoers
  • Create ssh for user terraform
  • Add this key in authorized_keys in template
  • Test ansible ping in template

Up Stack

  1. clone this reposotory
  2. Generate your ssh pub key and copy to security/ folder
  3. Download artefacts of ERP(license,rpo,appserver,etc)
  4. Copy artefacts for relative folders(license,rpo,appserver,etc)
  5. cd terrafor-protheus\linux_or_windows
  6. foo
  7. foo
  8. foo

Provisioning Database Tasks

  • Install and configure database
  • Create database for app
  • Create user and pass

Provisioning App Tasks

  • Instal and configure lockserver
  • Instal and configure licenserver
  • Install and configure dbaccess
  • Install and configure appserver_boker
  • Install and configure appserver_slaves
  • Install and configure appserver_rest
  • Install and configure appserver_soap

Roles Short Explanations

postgresql

Read the README file in the role folder for more details

commom

This roles install commons libs,packages and create defaults paths.
Libs and packages are described in defaults

rpo

Role for configure rpo

dictionay

Role for configure dictionary files, web files and portal files.

license

Role for configure license server.

dbaccess

Role for configure dbaccess,UnixODBC and postgresql-odbc

appserver

Role for configure appservers.
This role configure binaries for:\

  • lockserver
  • broker
  • slaves
  • soap
  • rest

Bugs

Error in the initialization enviroment in windows

Error:
THREAD ERROR ([3728], marcos.silvestrini, SILVESTRINI) 11/02/2021 21:31:57
TC_Open - NO CONNECTION on FWTABLEDDL:OPENTABLE(FWTABLEDDL.PRX) 13/10/2020 16:57:59\

Solution:
Alter the odbc param UnknownSizes for longest or maximum in System DSN, restart all services and try it again

About

Project for Provisioning Stack ERP Protheus with Terraform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published