Info

All eyes for OS with Linux, Windows and moreover. Practice and learn new thing 🀭🀭🀭

Handheld notebook

Cheatsheet

General

Manual

  • Manned.org : The archive for man pages 🌟 (Recommended)
  • Linux - Man Page: Manual page for Linux OS 🌟 (Recommended)
  • Packages for Linux and Unix : Find and retrieve the official package base on your os, linux or unix, fix your case when missing or dependencies package

Tools

Linux

Articles

Awesome Repositories

  • Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.

Documentations

Window

Articles

Awesome Repositories

Documentations

Cloud Packer

Info

The collections about provisioning script to build virtual machine in Cloud environment, e.g: Azure, AWS by Packer

Windows Server 2019

The packer script which provide and implementation the windows server in Azure Cloud, access via winrm and self configuration for powershell script

More information about Packer:

You can took the script to put on provisioner in Build Azure Agent with .NET Core by Powershell

packer {
  required_plugins {
    azure = {
      source  = "github.com/hashicorp/azure"
      version = "~> 1"
    }
  }
}
 
variable "os_type" {
  type        = string
  description = "Type of VM to be used for Provisioning Image"
  default     = "Windows"
}
 
variable "image_publisher" {
  type        = string
  description = "Which Image Publisher to use for provisioning Image"
  default     = "MicrosoftWindowsServer"
}
 
variable "image_offer" {
  type        = string
  description = "Which Image Offer to use for Provisioning Image"
  default     = "WindowsServer"
}
 
variable "image_sku" {
  type        = string
  description = "Which Image SKU to use for provisioning Image"
  default     = "2019-Datacenter"
}
 
variable "image_version" {
  type        = string
  description = "Which Image Version to use for provisioning Image"
  default     = "latest"
}
 
variable "managed_image_name" {
  type        = string
  description = "Name of the image"
}
 
variable "managed_image_resource_group_name" {
  type        = string
  description = "Resource Group Which stores the image"
}
 
variable "location" {
  type        = string
  description = "Location of the image"
}
 
variable "vm_size" {
  type        = string
  description = "Size of the VM using for provisioning Image"
  default     = "Standard_B2ms"
}
 
variable "azure_tags" {
  type        = map(string)
  description = "Tags of image"
  default = {
    managed     = "packer"
    environment = "dev"
  }
}
 
variable "communicator" {
  type        = string
  description = "Which Communication Type to use for connection into VM"
  default     = "winrm"
}
 
variable "winrm_configuration" {
  type = object({
    winrm_insecure = bool
    winrm_timeout  = string
    winrm_use_ssl  = bool
    winrm_username = string
  })
  description = "Configuration for winrm to use"
  default = {
    winrm_insecure = true
    winrm_timeout  = "5m"
    winrm_use_ssl  = true
    winrm_username = "infrauser"
  }
}
 
variable "url_org" {
  type        = string
  description = "URL of organization where give access for pool"
  sensitive   = true
}
 
variable "auth_type" {
  type        = string
  description = "authentication type for pool"
  default     = "pat"
}
 
variable "azure_pat" {
  type        = string
  description = "Azure PAT"
  sensitive   = true
}
 
variable "pool_name" {
  type        = string
  description = "Name of agent pool"
}
 
variable "workdir" {
  type        = string
  description = "work directory for pool"
  default     = "C:\\agent\\"
}
 
variable "agent_name" {
    type = string
    description = "Name of agent"
}
 
locals {
  script_content = "${templatefile("${abspath(path.root)}/data/setup-automation-agent.tpl", {
    url      = var.url_org,
    auth     = var.auth_type,
    token    = var.azure_pat,
    pool     = var.pool_name,
    agent    = var.agent_name,
    workdir  = var.workdir
  })}"
}
 
source "azure-arm" "windows-machine" {
  use_azure_cli_auth                = true
  os_type                           = var.os_type
  image_publisher                   = var.image_publisher
  image_offer                       = var.image_offer
  image_sku                         = var.image_sku
  image_version                     = var.image_version
  managed_image_name                = var.managed_image_name
  managed_image_resource_group_name = var.managed_image_resource_group_name
  location                          = var.location
  vm_size                           = var.vm_size
  azure_tags                        = var.azure_tags
  communicator                      = var.communicator
  winrm_insecure                    = var.winrm_configuration.winrm_insecure
  winrm_timeout                     = var.winrm_configuration.winrm_timeout
  winrm_use_ssl                     = var.winrm_configuration.winrm_use_ssl
  winrm_username                    = var.winrm_configuration.winrm_username
}
 
build {
  sources = ["sources.azure-arm.windows-machine"]
 
  provisioner "powershell" {
    inline = [local.script_content]
  }
}