Task
Packer temporary virtual machine:
- Must be placed in pre-defined Azure VNet’s Subnet (instead of default temporary VNet and Subnet created by Packer)
- Must have Private IP only (instead of defaults with Public IP)
Packer temporary virtual machine:
There could be a situation when PowerShell modules have to be used on machine without internet access so here’s quick instruction how to deal with “donor” and “donee” machines:
[pastacode lang=”markdown” manual=”%23%20%22Donor%22%20machine%20%0A%23%23%20Install%20%22custom%22%20module%0AInstall-Module%20-Name%20Az%20-RequiredVersion%203.7.0%20-Scope%20CurrentUser%20-Force%0A%0A%23%23%20Export%20%22custom%22%20module%0ASave-Module%20-Name%20Az%20-Path%20’C%3A%5CUsers%5Ckag%5CDocuments%5Cps_modules’%20-RequiredVersion%203.7.0%20-Force%0A%0A%23%20%22donee%22%20machine%0A%23%23%20Add%20custom%20path%20with%20%22custom%22%20modules%20to%20PSModulePath%20%0A%23%23%20..AND%20keep%20only%20%22system%22%20path%20from%20defaults%2C%20%0A%23%23..%20%60C%3A%5CUsers%5Cuser%5CDocuments%5CWindowsPowerShell%5CModules%60%20and%20%60C%3A%5CProgram%20Files%5CWindowsPowerShell%5CModules%60%20%0A%23%23%20..have%20to%20be%20removed%20in%20order%20to%20avoid%20conflicts%20between%20installed%20and%20%22custom%22%20modules%0A%24env%3APSModulePath%20%3D%20%24env%3APSModulePath%20%2B%20%22C%3A%5CUsers%5Ckag%5CDocuments%5Cps_modules%3BC%3A%5CWindows%5Csystem32%5CWindowsPowerShell%5Cv1.0%5CModules%22%0A%0A%23%23%20Unblock%20all%20files%20because%20some%20dll’s%20could%20be%20locked%20%0AGet-ChildItem%20%22C%3A%5CUsers%5Ckag%5CDocuments%5Cps_modules%5C*%22%20-Recurse%20%7C%20Unblock-File%0A%0A%23%23%20Import%20%22custom%22%20module%20and%20check%20that%20it’s%20listed%20in%20usable%20but%20not%20installed%20list%0AImport-Module%20-name%20%22C%3A%5CUsers%5Ckag%5CDocuments%5Cps_modules%5CAz%22%20-Verbose%0A%0A%23%23%20Check%20that%20module%20is%20ready%20to%20be%20used%0AGet-Module%20-Name%20Az%0A%0A%23%23%20Check%20that%20module%20isn’t%20really%20installed%0AGet-InstalledModule%20-Name%20Az%20-AllVersions%0A” message=”” highlight=”” provider=”manual”/]
Make FreeRADIUS installation highly available
https://github.com/kagarlickij/aws-cloudformation-ec2-win-ad-servers
When API specification is updated in git (master branch only) it must be updated on Confluence automatically.
https://github.com/kagarlickij/aws-cloudformation-s3-basic-auth
If you’ve been working with both AWS and Azure you should have noticed that each of them has some advantages.
Tools like Terraform might be very helpful if you’re not familiar with both CloudFormation and Azure RM.
However don’t consider Terraform as a nonpareil (this is not true at all), it is simple tool for simple tasks.
So in this post I’ll tell you about Terraform terms and concepts and show example with AWS & Azure.
For a bit more complicated infrastructure you’ll have to use CloudFormation and Azure RM
When you’re working on CI/CD security is always important and certificates are quite useful.
Azure Service Fabric management with certificates is very easy, but creating certificate might be a bit confusing.
However, like most everything it can be easily automated with PowerShell and here’s example for you:
It’s quite common practice to keep databases on dedicated servers nowdays, especially if you use AWS RDS or Azure.
Relational databases performance is always painful and you might want to split data across at least a few databases. But if data is divided you still to have to do some logical operations across the whole amount and it’s quite simple, so let me show how it can be done using bot SQL Server Management Studio and CLI.
If you interested in Tableau installation on AWS you should have a look at CloudFormation templates from Tableau.
Single server installation suits well for trial, but it has a number of limitations including link to default VPC. But what if you want to deploy it in dedicated VPC or you don’t have default one?
Not a big deal, I’ve updated template and you can use it:
If you have MS SQL server in your environment and have to do some actions (execute migrations, change data, etc.) with it during your CI/CD it might be quite inconvenient to use Windows machine.
Fortunately we have sqlcmd for Linux, and Microsoft provides some instructions for popular Linux distributions – https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools
But what if you have AWS Linux? If you try to use instructions from MS you will fail and there’s not much information across the Internet about this topic. The only useful link is here.
Since my env is highly automated I decided to create simple script to install sqlcmd on AWS Linux and share it with you:
When you do some CI/CD jobs you might want to mark some builds with name of the current (active) Jira sprint.
We have a dozen components in the project with dedicated Jira projects and sprint names are like “Backend sprint 12”, so you probably don’t want to add useless information to the build and need only number to identify build.
Jira has a nice REST, so you can get what you want in a very simple way: