Discuss a workflow and the tooling for FreeBSD engineers to develop locally on their laptop (OS-X, Windows, or FreeBSD), and push applications to bare metal or the cloud. The tooling required to provide good automation from a developer laptop to production takes time to evolve, however this lecture will jumpstart a series of best practices for FreeBSD engineers who want to see their business applications run on FreeBSD.
Production Readiness Strategies in an Automated WorldSean Chittenden
This document discusses strategies for making a software service production ready. It begins by outlining the typical software life cycle from idea to production. It then discusses some of the organizational prerequisites needed for a production service, including standardized terminology, naming conventions, and rules for incident response. The document also provides examples of what to include in a production readiness checklist, such as an overview of the service, its consumers, release process, health metrics, and quality metrics.
The document discusses using Vagrant and cloud platforms like GCP to develop and deploy applications from development to production. It introduces Vagrant as a tool for setting up and managing development environments and shows how to use Vagrant with FreeBSD. It then demonstrates provisioning a FreeBSD VM on GCP and discusses identity and access management on the cloud platform. The document aims to provide an overview of using Vagrant for development and cloud platforms like GCP for production deployments.
Description of some of the elements that go in to creating a PostgreSQL-as-a-Service for organizations with many teams and a diverse ecosystem of applications and teams.
PostgreSQL High-Availability and Geographic Locality using consulSean Chittenden
Virtual IPs or floating IPs have long been the workhorse mechanism for providing high-availability for database systems, however floating IP addresses have several limitations that make it problematic in modern data centers and cloud environments, notably that it requires all members be in the same Layer-2 domain. consul is a strongly consistent way of providing high-availability services in Layer-3 environments and provides fail-over across different geographic regions. In this talk we will discuss the benefits, setup, and use of consul for fail-over of PostgreSQL, both in a local data center scenario and a geographic redundancy scenario where databases are split across multiple data centers.
In a dynamic infrastructure world, let's stop pretending credentials aren't public knowledge in an organization and just assume that they have already been leaked, now what?
This document discusses codifying PostgreSQL database schemas using Terraform. It begins by explaining how to bootstrap a database by hand and then introduces Terraform as a way to automate and version the database schema. Key concepts covered include using Terraform providers and resources to define database schemas, importing existing databases into Terraform, and iterating on schema designs in a declarative way. The document aims to help users avoid issues with Terraform by following best practices.
Production Readiness Strategies in an Automated WorldSean Chittenden
This document discusses strategies for making a software service production ready. It begins by outlining the typical software life cycle from idea to production. It then discusses some of the organizational prerequisites needed for a production service, including standardized terminology, naming conventions, and rules for incident response. The document also provides examples of what to include in a production readiness checklist, such as an overview of the service, its consumers, release process, health metrics, and quality metrics.
The document discusses using Vagrant and cloud platforms like GCP to develop and deploy applications from development to production. It introduces Vagrant as a tool for setting up and managing development environments and shows how to use Vagrant with FreeBSD. It then demonstrates provisioning a FreeBSD VM on GCP and discusses identity and access management on the cloud platform. The document aims to provide an overview of using Vagrant for development and cloud platforms like GCP for production deployments.
Description of some of the elements that go in to creating a PostgreSQL-as-a-Service for organizations with many teams and a diverse ecosystem of applications and teams.
PostgreSQL High-Availability and Geographic Locality using consulSean Chittenden
Virtual IPs or floating IPs have long been the workhorse mechanism for providing high-availability for database systems, however floating IP addresses have several limitations that make it problematic in modern data centers and cloud environments, notably that it requires all members be in the same Layer-2 domain. consul is a strongly consistent way of providing high-availability services in Layer-3 environments and provides fail-over across different geographic regions. In this talk we will discuss the benefits, setup, and use of consul for fail-over of PostgreSQL, both in a local data center scenario and a geographic redundancy scenario where databases are split across multiple data centers.
In a dynamic infrastructure world, let's stop pretending credentials aren't public knowledge in an organization and just assume that they have already been leaked, now what?
This document discusses codifying PostgreSQL database schemas using Terraform. It begins by explaining how to bootstrap a database by hand and then introduces Terraform as a way to automate and version the database schema. Key concepts covered include using Terraform providers and resources to define database schemas, importing existing databases into Terraform, and iterating on schema designs in a declarative way. The document aims to help users avoid issues with Terraform by following best practices.
A review of the webshells used by bad guys. How they are protected but also mistakes in their implementation. This talk was presented at the OWASP Belgium Chapter Meeting in May 2017.
Regex Considered Harmful: Use Rosie Pattern Language InsteadAll Things Open
The document discusses using the Rosie Pattern Language (RPL) instead of regular expressions for parsing log and data files. RPL aims to address issues with regex like readability, maintainability, and performance. It describes how RPL is designed like a programming language with common patterns. RPL patterns are loaded into the Rosie Pattern Engine which can parse files and annotate text with semantic tags.
This document discusses key metrics to monitor for Node.js applications, including event loop latency, garbage collection cycles and time, process memory usage, HTTP request and error rates, and correlating metrics across worker processes. It provides examples of metric thresholds and issues that could be detected, such as high garbage collection times indicating a problem or an event loop blocking issue leading to high latency.
Altitude SF 2017: Advanced VCL: Shielding and ClusteringFastly
1. Shielding and clustering help improve performance by distributing requests across multiple POPs and collapsing duplicate requests.
2. Shielding offloads requests to "shield" POPs to avoid bottlenecks and beat the speed of light, while clustering collapses requests within each POP.
3. Implementing shielding and clustering in VCL requires care to avoid issues like requests being processed differently on edge and shield POPs.
Describes in detail the security architecture of Apache Cassandra. We discuss encryption at rest, encryption on the wire, authentication and authorization and securing JMX and management tools
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015Fastly
Fastly Altitude - June 25, 2015. Joe Williams, Computer Operator at GitHub discusses using a CDN to mitigate security threats.
Video of the talk: http://fastly.us/Altitude2015_Mitigating-Security-Threats-2
Joe's bio: Joe Williams is a Computer Operator at GitHub, and joined their infrastructure team in August 2013. Joe's passion for distributed systems, queuing theory and automation help keep the lights on. When not behind a computer you can generally find him riding a bicycle around Marin, CA.
Malware Detection with OSSEC HIDS - OSSECCON 2014Santiago Bassett
My presentation on how to use malware indicators of compromise to create rootcheck signatures for OSSEC. Explains different malware collection and analysis techniques.
This document discusses various homebrew defensive security techniques, including:
1. Code reviews, linting, and bug bounty programs to improve application security.
2. Techniques like URI signing, AJAX request tokens, and the Origin header to detect "untrusted requests" or potential security bugs.
3. The use of response headers like X-Frame-Options and X-XSS-Protection to block framing attacks and cross-site scripting.
The overall goal is to demonstrate deployable, real-world solutions that developers can implement using code to improve both application security and corporate security. Code and rapid iteration are seen as providing security benefits when used to detect and block unintended actions initiated
Valerie Parham-Thompson
Lead Database Consultant with Pythian
Find more by Valerie Parham-Thompson: https://speakerdeck.com/dataindataout
All Things Open
October 26-27, 2016
Raleigh, North Carolina
LinkRest (http://linkrest.io) is a small HTTP-based protocol and a Java framework that rethinks how REST APIs should be built and consumed. It turns each API endpoint into a graph query engine, giving the client full control over the shape and contents of the requested data sets, while the server controls query strategy and security. The talk will start with the easy parts – how to reuse an existing Apache Cayenne ORM model for the REST service and write simple Java one-liners to get it up and running. Then we will delve into alternative backends, graph access security and parallel data processing.
NGINX Can Do That? Test Drive Your Config File!Jeff Anderson
I have had countless conversations with developers, projects managers, and even executives that end up being about nginx and what it can do. Usually, the phrase "nginx can do that?" comes up. More often than not, the answer is YES. What happens though, is the nginx config file can get unwieldy. How can we assert that it will behave how it needs to over time? How can we avoid introducing inadvertent regressions?
Content Caching with NGINX and NGINX PlusKevin Jones
This document discusses content caching with NGINX and NGINX Plus. It provides an overview of basic caching directives like proxy_cache_path and proxy_cache. It then discusses high availability caching architectures like consistent hash, active/passive, and active/active clusters. It also covers byte range request caching and advanced cache control features in NGINX Plus like cache purging and restricting purge API access.
This document discusses caching strategies for Rails applications, including:
1. Using Rails caching for queries, pages, assets, and fragments to improve performance.
2. Configuring Cache-Control headers, compression, and CDNs like Fastly for efficient caching.
3. Techniques for caching dynamic content at the edge using surrogate keys and purging cached responses.
На сегодняшний день такие популярные анализаторы, как OWASP ZAP и Burp Suite, не всегда хорошо справляются с задачей автоматического сканирования приложений. Нередко они не могут найти какие-то специфические директории, автоматически отправить запрос без участия человека. И чаще данные инструменты запускаются локально. При этом, если в компании хорошо работает команда по автоматизации тестирования, их работу можно взять за основу динамического анализа и фазинга.
Как бонус, обсудим разницу Burp Suite Professional и Burp Suite Enterprise с точки зрения CI/CD и подключения автоматизированных тестов.
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Doug Turnbull
Search & Big Data Architect for OpenSource Connections
Databases
Stop Worrying & Love the SQL - A Case Study
Learn from Fastly veteran Cassandra Dixon on some of the most common customer issues we see — such as why things aren’t caching, misconfigured origins, issues with intermediary proxies, and VCL snafus — and the best ways to resolve them. We’ll also discuss our unique approach to debugging — using seemingly mundane tools to diagnose issues in creative ways — and how you can apply these methods to your own organization to get the most out of Fastly’s offerings.
Design & Performance - Steve Souders at Fastly Altitude 2015Fastly
Fastly Altitude - June 25, 2015. Chief SpeedCurver Steve Souders explains how design and web performance are more interconnected than ever before. Users want a fast website with a rich design, but sometimes the interplay between design and performance feels like a fixed sum game: one side's gain is the other side's loss. Design and performance are indeed connected, but it's more like the yin and yang. They aren't opposing forces, but instead complement each other. Bringing these processes together produces experiences that are rich and fast.
Video from the talk: http://fastly.us/Altitude2015_Design-Performance
Steve's bio: Steve Souders is a co-founder at SpeedCurve, where he develops web performance services. His book, High Performance Web Sites, explains his best practices for performance; it was #1 in Amazon's Computer and Internet bestsellers. His follow-up book, Even Faster Web Sites, provides performance tips for today's Web 2.0 applications. Steve is the creator of many performance tools and services including YSlow, the HTTP Archive, Cuzillion, Jdrop, SpriteMe, ControlJS, and Browserscope. He serves as co-chair of Velocity, the web performance and operations conference from O'Reilly, and is co-founder of the Firebug Working Group.
Andrew Betts Web Developer, The Financial Times at Fastly Altitude 2016
Running custom code at the Edge using a standard language is one of the biggest advantages of working with Fastly’s CDN. Andrew gives you a tour of all the problems the Financial Times and Nikkei solve in VCL and how their solutions work.
- Just Eat is a leading digital marketplace for takeaway food delivery founded in 2001 operating in 13 markets globally. It has processed up to 2,500 orders per minute at peak times.
- Just Eat migrated to AWS 5 years ago and runs hundreds of EC2 instances at peak dinner times using scheduled scaling, CloudFormation, and other AWS services.
- AWS Lambda was introduced in 2014 and Just Eat started using it for micro tasks like resetting delivery times, publishing SNS messages, and provisioning instance access to reduce infrastructure costs and management compared to running EC2 fleets.
A review of the webshells used by bad guys. How they are protected but also mistakes in their implementation. This talk was presented at the OWASP Belgium Chapter Meeting in May 2017.
Regex Considered Harmful: Use Rosie Pattern Language InsteadAll Things Open
The document discusses using the Rosie Pattern Language (RPL) instead of regular expressions for parsing log and data files. RPL aims to address issues with regex like readability, maintainability, and performance. It describes how RPL is designed like a programming language with common patterns. RPL patterns are loaded into the Rosie Pattern Engine which can parse files and annotate text with semantic tags.
This document discusses key metrics to monitor for Node.js applications, including event loop latency, garbage collection cycles and time, process memory usage, HTTP request and error rates, and correlating metrics across worker processes. It provides examples of metric thresholds and issues that could be detected, such as high garbage collection times indicating a problem or an event loop blocking issue leading to high latency.
Altitude SF 2017: Advanced VCL: Shielding and ClusteringFastly
1. Shielding and clustering help improve performance by distributing requests across multiple POPs and collapsing duplicate requests.
2. Shielding offloads requests to "shield" POPs to avoid bottlenecks and beat the speed of light, while clustering collapses requests within each POP.
3. Implementing shielding and clustering in VCL requires care to avoid issues like requests being processed differently on edge and shield POPs.
Describes in detail the security architecture of Apache Cassandra. We discuss encryption at rest, encryption on the wire, authentication and authorization and securing JMX and management tools
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015Fastly
Fastly Altitude - June 25, 2015. Joe Williams, Computer Operator at GitHub discusses using a CDN to mitigate security threats.
Video of the talk: http://fastly.us/Altitude2015_Mitigating-Security-Threats-2
Joe's bio: Joe Williams is a Computer Operator at GitHub, and joined their infrastructure team in August 2013. Joe's passion for distributed systems, queuing theory and automation help keep the lights on. When not behind a computer you can generally find him riding a bicycle around Marin, CA.
Malware Detection with OSSEC HIDS - OSSECCON 2014Santiago Bassett
My presentation on how to use malware indicators of compromise to create rootcheck signatures for OSSEC. Explains different malware collection and analysis techniques.
This document discusses various homebrew defensive security techniques, including:
1. Code reviews, linting, and bug bounty programs to improve application security.
2. Techniques like URI signing, AJAX request tokens, and the Origin header to detect "untrusted requests" or potential security bugs.
3. The use of response headers like X-Frame-Options and X-XSS-Protection to block framing attacks and cross-site scripting.
The overall goal is to demonstrate deployable, real-world solutions that developers can implement using code to improve both application security and corporate security. Code and rapid iteration are seen as providing security benefits when used to detect and block unintended actions initiated
Valerie Parham-Thompson
Lead Database Consultant with Pythian
Find more by Valerie Parham-Thompson: https://speakerdeck.com/dataindataout
All Things Open
October 26-27, 2016
Raleigh, North Carolina
LinkRest (http://linkrest.io) is a small HTTP-based protocol and a Java framework that rethinks how REST APIs should be built and consumed. It turns each API endpoint into a graph query engine, giving the client full control over the shape and contents of the requested data sets, while the server controls query strategy and security. The talk will start with the easy parts – how to reuse an existing Apache Cayenne ORM model for the REST service and write simple Java one-liners to get it up and running. Then we will delve into alternative backends, graph access security and parallel data processing.
NGINX Can Do That? Test Drive Your Config File!Jeff Anderson
I have had countless conversations with developers, projects managers, and even executives that end up being about nginx and what it can do. Usually, the phrase "nginx can do that?" comes up. More often than not, the answer is YES. What happens though, is the nginx config file can get unwieldy. How can we assert that it will behave how it needs to over time? How can we avoid introducing inadvertent regressions?
Content Caching with NGINX and NGINX PlusKevin Jones
This document discusses content caching with NGINX and NGINX Plus. It provides an overview of basic caching directives like proxy_cache_path and proxy_cache. It then discusses high availability caching architectures like consistent hash, active/passive, and active/active clusters. It also covers byte range request caching and advanced cache control features in NGINX Plus like cache purging and restricting purge API access.
This document discusses caching strategies for Rails applications, including:
1. Using Rails caching for queries, pages, assets, and fragments to improve performance.
2. Configuring Cache-Control headers, compression, and CDNs like Fastly for efficient caching.
3. Techniques for caching dynamic content at the edge using surrogate keys and purging cached responses.
На сегодняшний день такие популярные анализаторы, как OWASP ZAP и Burp Suite, не всегда хорошо справляются с задачей автоматического сканирования приложений. Нередко они не могут найти какие-то специфические директории, автоматически отправить запрос без участия человека. И чаще данные инструменты запускаются локально. При этом, если в компании хорошо работает команда по автоматизации тестирования, их работу можно взять за основу динамического анализа и фазинга.
Как бонус, обсудим разницу Burp Suite Professional и Burp Suite Enterprise с точки зрения CI/CD и подключения автоматизированных тестов.
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Doug Turnbull
Search & Big Data Architect for OpenSource Connections
Databases
Stop Worrying & Love the SQL - A Case Study
Learn from Fastly veteran Cassandra Dixon on some of the most common customer issues we see — such as why things aren’t caching, misconfigured origins, issues with intermediary proxies, and VCL snafus — and the best ways to resolve them. We’ll also discuss our unique approach to debugging — using seemingly mundane tools to diagnose issues in creative ways — and how you can apply these methods to your own organization to get the most out of Fastly’s offerings.
Design & Performance - Steve Souders at Fastly Altitude 2015Fastly
Fastly Altitude - June 25, 2015. Chief SpeedCurver Steve Souders explains how design and web performance are more interconnected than ever before. Users want a fast website with a rich design, but sometimes the interplay between design and performance feels like a fixed sum game: one side's gain is the other side's loss. Design and performance are indeed connected, but it's more like the yin and yang. They aren't opposing forces, but instead complement each other. Bringing these processes together produces experiences that are rich and fast.
Video from the talk: http://fastly.us/Altitude2015_Design-Performance
Steve's bio: Steve Souders is a co-founder at SpeedCurve, where he develops web performance services. His book, High Performance Web Sites, explains his best practices for performance; it was #1 in Amazon's Computer and Internet bestsellers. His follow-up book, Even Faster Web Sites, provides performance tips for today's Web 2.0 applications. Steve is the creator of many performance tools and services including YSlow, the HTTP Archive, Cuzillion, Jdrop, SpriteMe, ControlJS, and Browserscope. He serves as co-chair of Velocity, the web performance and operations conference from O'Reilly, and is co-founder of the Firebug Working Group.
Andrew Betts Web Developer, The Financial Times at Fastly Altitude 2016
Running custom code at the Edge using a standard language is one of the biggest advantages of working with Fastly’s CDN. Andrew gives you a tour of all the problems the Financial Times and Nikkei solve in VCL and how their solutions work.
- Just Eat is a leading digital marketplace for takeaway food delivery founded in 2001 operating in 13 markets globally. It has processed up to 2,500 orders per minute at peak times.
- Just Eat migrated to AWS 5 years ago and runs hundreds of EC2 instances at peak dinner times using scheduled scaling, CloudFormation, and other AWS services.
- AWS Lambda was introduced in 2014 and Just Eat started using it for micro tasks like resetting delivery times, publishing SNS messages, and provisioning instance access to reduce infrastructure costs and management compared to running EC2 fleets.
Using ansible vault to protect your secretsExcella
This document discusses how Ansible Vault can be used to encrypt sensitive data like passwords and private keys to protect secrets when committing infrastructure as code to source control on GitHub. It recommends encrypting only sensitive information, not all files, and splitting encrypted variable files into directories. It also provides tips for using a password script and Jenkins to automate running plays with encrypted data without exposing passwords in plain text. The document aims to help balance the security of encrypting secrets with the usability of infrastructure as code workflows.
MeetBSDCA 2014 Performance Analysis for BSD, by Brendan Gregg. A tour of five relevant topics: observability tools, methodologies, benchmarking, profiling, and tracing. Tools summarized include pmcstat and DTrace.
Neil Saunders (Beamly) - Securing your AWS Infrastructure with Hashicorp Vault Outlyer
A review of AWS security concepts, leaks at Beamly, an Introduction to Hashicorp Vault and how we use use Vault at Beamly.
Watch YouTube video here: http://bit.ly/25ytNAD
Join DevOps Exchange London Meetup: http://bit.ly/22y4Var
Follow DOXLON on Twitter: http://bit.ly/1ZdugEJ
This session walks through the mechanics of AWS bill computation and consolidated billing to help you understand your bill. AWS billing has many features to help you manage and control your costs in the AWS cloud environment including detailed billing reports, programmatic access, cost allocation, billing alerts, and IAM access. We provide an overview of these features and then demonstrate how to use and incorporate them into your own account setup.
ZFS provides several advantages over traditional block-based filesystems when used with PostgreSQL, including preventing bitrot, improved compression ratios, and write locality. ZFS uses copy-on-write and transactional semantics to ensure data integrity and allow for snapshots and clones. Proper configuration such as enabling compression and using ZFS features like intent logging can optimize performance when used with PostgreSQL's workloads.
introduction-infra-as-a-code using terraformniyof97
This document provides a summary of the challenges faced when manually configuring and deploying infrastructure and applications without using infrastructure as code tools. It describes issues that arose when installing dependencies for a Ruby on Rails application locally and on Amazon EC2 instances. It then introduces infrastructure as code using Docker to containerize applications and define environments as code. Docker images for a Sinatra backend and Rails frontend are built and linked together using Docker Compose. The document advocates for using infrastructure as code tools like Docker and Terraform to avoid manual configuration issues and facilitate consistent deployments across environments.
Nordstrom has been using Chef to automate Windows environments. Come by this talk to get some tips and tricks for managing your Windows-based environment with Chef.
Tips such as:
Using Mixlib::Shellout and PowershellOut to execute Windows tools and scripts as a Domain user.
Windows cookbook improvements, including Printer LWRP
Diskpart cookbook
Chef-keypass for better one-way encryption of data-bag secrets, including certs and passwords
How to use Windows cookbook helpers
Using the new Windows Registry resource in Chef 11
Windows Sysnative for correctly locating Windows programs
Perf improvement numbers for Ruby 1.9.3 in Chef 11 for Windows
Recommended Ohai plugins to disable
This document provides an overview of IT automation using Ansible. It discusses using Ansible to automate tasks across multiple servers like installing packages and copying files without needing to login to each server individually. It also covers Ansible concepts like playbooks, variables, modules, and vault for securely storing passwords. Playbooks allow defining automation jobs as code that can be run on multiple servers simultaneously in a consistent and repeatable way.
The document discusses the modern developer toolbox and outlines various tools that developers can use for development environments, testing, debugging, profiling, deployment, logging, and monitoring of applications. It provides recommendations for setting up development environments on different operating systems and with tools like Vagrant, Docker, Ansible, and Homebrew. It also discusses PHP installation and editors/IDEs to use. Testing with PHPUnit, Behat, and Jenkins is covered as well as debugging with XDebug, profiling with XHProf, and deployment with Ansible, Capistrano and other options. Logging with Monolog, Logstash and Kibana is also summarized along with monitoring metrics with StatsD, Graphite and Grafana.
Bryan McLellan discusses moving from VMware virtualization to KVM/libvirt virtualization. He found that using tools like ubuntu-vm-builder, Puppet, and libvirt provided a more homogeneous, automated, and well-documented virtual infrastructure compared to his previous manual VMware configuration. While early versions of KVM/libvirt lacked some enterprise features, the technologies continue to improve and provide capabilities like live migration and hotplugging.
This document discusses testing principles and tools for infrastructure as code using Chef. It covers test-driven development (TDD) principles like writing tests first to define desired behavior. Chef testing tools covered include ChefSpec for unit testing cookbooks, ServerSpec for integration/black-box testing, and Foodcritic for linting cookbooks. It also discusses Test Kitchen for testing cookbooks across platforms and continuous integration (CI) using these tools.
Assembling an Open Source Toolchain to Manage Public, Private and Hybrid Clou...POSSCON
This document discusses assembling an open source tool chain for hybrid cloud environments using tools like Packer, Vagrant, Ansible, and BoxCutter. It provides examples of using Packer to build machine images for multiple platforms from a single blueprint and using Vagrant and Ansible to provision virtual machines across different cloud providers in a standardized way. Overall, the document promotes the use of these open source automation tools to help manage infrastructure across hybrid cloud environments.
Create your very own Development Environment with Vagrant and Packerfrastel
Vagrant, Packer, and Puppet can be used together to create a development environment. Packer is used to build custom base boxes that include only the operating system. Vagrant uses these base boxes to create isolated virtual machines. Puppet then provisions the virtual machines by installing additional software, configuring applications, and defining infrastructure as code. This allows for consistent, reproducible development environments that match production.
Terraform is used to manage infrastructure as code. InSpec is a powerful framework for validating that infrastructure. In combination they allow for fast, safe infrastructure automation.
This document discusses how to set up a Vagrant development system. Vagrant allows you to run development environments in isolated virtual machines on your local machine. It ensures that your development environment matches production. The document explains how to install Vagrant and VirtualBox. It provides an overview of common Vagrant commands and configurations. It also demonstrates how to use Vagrant for WordPress development, including running unit tests and the makepot tool.
DevOps (Continuous Integrations, Continuous Delivery & Continuous deployment using Jenkins and Visual studio team services, setting up VTST build Agents, Integrating VSTS with SonarQube, NDepend,) , Complete automation of pushing code into VSTS from Visual Studio, Building Code by a Jenkin Server hosted on Azure and pushing that successful build on to Azure Web App via Release Pipeline or directly from Jenkins,VSTS Default agents, Setting up local agent from scratch, Setting up agents for code build, VSTS, Visual Studio Online Agents, Agent Pools, Hosted Agents, Hosted VS2017. Hosted Linux Agents, Setting up agent on VS Dev Test Labs, Setting up Template Parameters for Continuos Pipeline, Build Agent Creation Dynamically, Random Machine Name, Random Passwords, Dynamic Agent creation in VS Dev Test labs, Sonarcube, Code quality, Code Analysis, MSBuild, Integrate VSTS Build with NDepend, Package manager, Monolithic Architecture, Nuget, Package management, Npm js.com, Semantic versioning, Creating a nuget package, nuspec file, GitVersion Plugin, FeedURL, Chocolatey for package management, Chocolatey, chocolatey workflow,
This document discusses assembling an open source tool chain for a hybrid cloud environment. It describes using Packer to build machine images for multiple platforms like AWS, VMware, and VirtualBox from a single blueprint. It also discusses using Vagrant and Ansible for automation, configuration management, and provisioning virtual machines across different cloud providers in a standardized way.
Create Development and Production Environments with VagrantBrian Hogan
Need a Linux box to test a Wordpress site or a Windows VM to test a web site on IE 10? Creating a virtual machine to test or deploy your software doesn’t have to be a manual process. Bring one up in seconds with Vagrant, software for creating and managing virtual machines. With Vagrant, you can bring up a new virtual machine with the software you need, share directories, copy files, and configure networking using a friendly DSL. You can even use shell scripts or more powerful provisioning tools to set up your software and install your apps. Whether you need a Windows machine for testing an app, or a full-blown production environment for your apps, Vagrant has you covered.
In this talk you’ll learn to script the creation of multiple local virtual machines. Then you’ll use the same strategy to provision production servers in the cloud.
I work with Vagrant, Terraform, Docker, and other provisioning systems daily and am excited to show others how to bring this into their own workflows.
EC2 AMI Factory with Chef, Berkshelf, and PackerGeorge Miranda
Presentation accompanying a Live Demo at the AWS Pop-Up Loft in San Francisco on using Chef + Berks + Packer to create an AWS EC2 AMI Factory.
Demo Repo available here -- https://github.com/gmiranda23/chef-ami-factory
Vagrant is a tool that allows users to build and distribute development environments. It simplifies the process of creating and configuring virtual machine environments and allows development environments to be identical across different machines. Vagrant uses a file called the Vagrantfile to configure virtual machines and provision them automatically using tools like Puppet, Chef or Ansible.
This document provides instructions for setting up a hack environment using Docker containers. It discusses pros and cons of different options like using a real server, cloud services, or virtual machines. Docker is recommended for its ease of use, templates, and ability to run on multiple platforms. Example Dockerfiles and Docker Compose files are provided to set up environments like IIS, Nginx, LEMP stacks, and vulnerable apps. Specific vulnerabilities like Heartbleed and DHClient RCE are demonstrated using Docker images. Finally, Docker images for security tools like Kali Linux and REMnux are mentioned.
The document discusses using Phing, an XML-based build tool written in PHP, to automate the deployment of PHP applications to various platforms including Linux, Windows, and Windows Azure. It provides examples of using Phing tasks to export code from version control, deploy via SCP, FTP, or cloud services, and set up continuous integration and continuous deployment workflows. The key message is that Phing allows for easy, automated deployment of PHP code to any environment.
This is a presentation I prepared for a local meetup. The audience is a mix of web designers and developers who have a wide range of development experience.
Get hands-on with security features and best practices to protect your containerized services. Learn to push and verify signed images with Docker Content Trust, and collaborate with delegation roles. Intermediate to advanced level Docker experience recommended, participants will be building and pushing with Docker during the workshop.
Led By Docker Security Experts:
Riyaz Faizullabhoy
David Lawrence
Viktor Stanchev
Experience Level: Intermediate to advanced level Docker experience recommended
FreeBSD Core Team Update at BSDCan '19. Topics covered include: community survey results, working group updates (release engineering, documentation, and git).
Pg_prefaulter is a tool that helps eliminate replication lag and reduce startup times. It works by prefaulting WAL files on the follower nodes before the regular replication process applies the WAL. This is done by parsing the WAL files on the primary using pg_xlogdump to determine which database relations (tables, indexes) need to be prefaulted. Pg_prefaulter then issues prefetch system calls in parallel to warm the OS caches and disk buffers for those relations, improving performance of the downstream replication and recovery processes.
The document provides an overview of the FreeBSD/VPC virtual private cloud solution. Key points include:
- VPC uses the bhyve hypervisor for virtualization with good CPU and memory isolation between guests.
- Network isolation between guests is challenging with existing FreeBSD networking approaches like tap/bridge/vxlan due to performance issues.
- A new VPC subsystem is proposed to provide dedicated virtual network interfaces (vmnic, vpcp) for guests with improved performance.
- The VPC solution uses VXLAN encapsulation and unique VXLAN network identifiers (VNIs) to provide overlay network isolation between guests on different hosts in a multi-host deployment.
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
A neural network is a machine learning program, or model, that makes decisions in a manner similar to the human brain, by using processes that mimic the way biological neurons work together to identify phenomena, weigh options and arrive at conclusions.
Superpower Your Apache Kafka Applications Development with Complementary Open...Paul Brebner
Kafka Summit talk (Bangalore, India, May 2, 2024, https://events.bizzabo.com/573863/agenda/session/1300469 )
Many Apache Kafka use cases take advantage of Kafka’s ability to integrate multiple heterogeneous systems for stream processing and real-time machine learning scenarios. But Kafka also exists in a rich ecosystem of related but complementary stream processing technologies and tools, particularly from the open-source community. In this talk, we’ll take you on a tour of a selection of complementary tools that can make Kafka even more powerful. We’ll focus on tools for stream processing and querying, streaming machine learning, stream visibility and observation, stream meta-data, stream visualisation, stream development including testing and the use of Generative AI and LLMs, and stream performance and scalability. By the end you will have a good idea of the types of Kafka “superhero” tools that exist, which are my favourites (and what superpowers they have), and how they combine to save your Kafka applications development universe from swamploads of data stagnation monsters!
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
🏎️Tech Transformation: DevOps Insights from the Experts 👩💻campbellclarkson
Connect with fellow Trailblazers, learn from industry experts Glenda Thomson (Salesforce, Principal Technical Architect) and Will Dinn (Judo Bank, Salesforce Development Lead), and discover how to harness DevOps tools with Salesforce.
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...kalichargn70th171
Visual testing plays a vital role in ensuring that software products meet the aesthetic requirements specified by clients in functional and non-functional specifications. In today's highly competitive digital landscape, users expect a seamless and visually appealing online experience. Visual testing, also known as automated UI testing or visual regression testing, verifies the accuracy of the visual elements that users interact with.
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...Luigi Fugaro
Vector databases are transforming how we handle data, allowing us to search through text, images, and audio by converting them into vectors. Today, we'll dive into the basics of this exciting technology and discuss its potential to revolutionize our next-generation AI applications. We'll examine typical uses for these databases and the essential tools
developers need. Plus, we'll zoom in on the advanced capabilities of vector search and semantic caching in Java, showcasing these through a live demo with Redis libraries. Get ready to see how these powerful tools can change the game!
Enhanced Screen Flows UI/UX using SLDS with Tom KittPeter Caitens
Join us for an engaging session led by Flow Champion, Tom Kitt. This session will dive into a technique of enhancing the user interfaces and user experiences within Screen Flows using the Salesforce Lightning Design System (SLDS). This technique uses Native functionality, with No Apex Code, No Custom Components and No Managed Packages required.
Odoo releases a new update every year. The latest version, Odoo 17, came out in October 2023. It brought many improvements to the user interface and user experience, along with new features in modules like accounting, marketing, manufacturing, websites, and more.
The Odoo 17 update has been a hot topic among startups, mid-sized businesses, large enterprises, and Odoo developers aiming to grow their businesses. Since it is now already the first quarter of 2024, you must have a clear idea of what Odoo 17 entails and what it can offer your business if you are still not aware of it.
This blog covers the features and functionalities. Explore the entire blog and get in touch with expert Odoo ERP consultants to leverage Odoo 17 and its features for your business too.
An Overview of Odoo ERP
Odoo ERP was first released as OpenERP software in February 2005. It is a suite of business applications used for ERP, CRM, eCommerce, websites, and project management. Ten years ago, the Odoo Enterprise edition was launched to help fund the Odoo Community version.
When you compare Odoo Community and Enterprise, the Enterprise edition offers exclusive features like mobile app access, Odoo Studio customisation, Odoo hosting, and unlimited functional support.
Today, Odoo is a well-known name used by companies of all sizes across various industries, including manufacturing, retail, accounting, marketing, healthcare, IT consulting, and R&D.
The latest version, Odoo 17, has been available since October 2023. Key highlights of this update include:
Enhanced user experience with improvements to the command bar, faster backend page loading, and multiple dashboard views.
Instant report generation, credit limit alerts for sales and invoices, separate OCR settings for invoice creation, and an auto-complete feature for forms in the accounting module.
Improved image handling and global attribute changes for mailing lists in email marketing.
A default auto-signature option and a refuse-to-sign option in HR modules.
Options to divide and merge manufacturing orders, track the status of manufacturing orders, and more in the MRP module.
Dark mode in Odoo 17.
Now that the Odoo 17 announcement is official, let’s look at what’s new in Odoo 17!
What is Odoo ERP 17?
Odoo 17 is the latest version of one of the world’s leading open-source enterprise ERPs. This version has come up with significant improvements explained here in this blog. Also, this new version aims to introduce features that enhance time-saving, efficiency, and productivity for users across various organisations.
Odoo 17, released at the Odoo Experience 2023, brought notable improvements to the user interface and added new functionalities with enhancements in performance, accessibility, data analysis, and management, further expanding its reach in the market.
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
10. Problem: Stable
• Affinity for uptime
• Time required to install amortized over
life of the server
• Artisanal configuration acceptable
• 900d uptimes are bragged about
24. Problems: Embeddable
• Appliance Vendors: stable, long lived branching
• Userland not exposed to customers
• Stripped down Kernel "just works, forever"
• Product life-cycles measured in years
(vs software which is measured in months)
26. Problems: Pride
noun ˈprīd:
1. a high or inordinate opinion of one's own dignity, importance, merit,
or superiority, whether as cherished in the mind or as displayed in
bearing, conduct, etc.
3. a becoming or dignified sense of what is due to oneself or one's
position or character; self-respect; self-esteem.
4. pleasure or satisfaction taken in something done by or belonging to
oneself or believed to reflect credit upon oneself: civic pride.
http://www.dictionary.com/browse/pride
27. Problems: Pride
noun, van·i·ty ˈva-nə-tē:
• the quality of people who have too much pride in their own
appearance, abilities, achievements, etc. : the quality of being
vain
• something (such as a belief or a way of behaving) which
shows that you have too much pride in yourself, your social
status, etc.
"Vanity - definitely my favorite sin." -Satan
https://www.youtube.com/watch?v=Cv9zXUd55Sw
http://www.merriam-webster.com/dictionary/vanity
31. Problems: KPIs
• Stable = Maximized Mean Time Between
"Incident"
• Debuggable = Number of Unknowns
• Knowledgable Administrators = Number of
servers per administrator
32. Problems: KPIs
• Performance = Maximal number of Bits
Chucked Per Server
• Performance = Bytes read/written per Server
• Secure = Mean Time Between Security Incident
• Secure = Average Severity of Security Incidents
33. Problems: KPIs
• Manageable = Mean Time Between Fresh
Installs (MTTBFI?)
• Manageable = Maximize ROI per Server
• Embeddable = Maximize the number of random
corners of the physical nether-verse BSD can
be installed (small footprint and control)
34. Problems: KPIs
Pride = Emotional investment or impact per
server installed in production.
37. Cloud KPIs
• Friction: Effort required to spin up a new
instance
• Street cred: Number of blog posts/Stack
Overflow questions referring about ${TOPIC}
on ${AWS,GCP,DigitalOcean,etc}
38. Cloud KPI: Friction
• Number of steps required to create a new
image
• Maximize Reliability of the build process for
creating a new golden image
• Minimal number of differences between
development and production
45. Vagrant: Config VMware (2/3)
Vagrant.configure(VAGRANTFILE_API_VERSION) do |
config|
# Insert VM configs from 1/3 here
config.vm.provider :vmware_fusion do |v|
v.vmx["memsize"] = "4096"
v.vmx["numvcpus"] = "8"
end
end
46. Vagrant: Config VirtualBox (3/3)
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Insert VM configs from 1/3 here
config.vm.provider :virtualbox do |vb|
vb.gui = false
vb.memory = "4096"
vb.cpus = 8
vb.customize ["modifyvm", :id, "--ioapic", "on"]
vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
vb.customize ["modifyvm", :id, "--usb", "off"]
vb.customize ["modifyvm", :id, "--usbehci", "off"]
vb.customize ["modifyvm", :id, "--audio", "none"]
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
end
end
47. $ vagrant up
$ vagrant up
Bringing machine 'default' up with 'vmware_fusion' provider...
==> default: Cloning VMware VM: 'freebsd/FreeBSD-11.0-CURRENT'. This can take some
time...
==> default: Checking if box 'freebsd/FreeBSD-11.0-CURRENT' is up to date...
==> default: A newer version of the box 'freebsd/FreeBSD-11.0-CURRENT' is available! You
currently
==> default: have version '2016.03.08'. The latest is version '2016.04.30'. Run
==> default: `vagrant box update` to update.
==> default: Verifying vmnet devices are healthy...
==> default: Preparing network adapters...
==> default: Starting the VMware VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 172.16.139.158:22
default: SSH username: vagrant
default: SSH auth method: private key
48. $ vagrant up
$ vagrant help up
Usage: vagrant up [options] [name]
Options:
--[no-]provision Enable or disable provisioning
--provision-with x,y,z Enable only certain provisioners, by type.
--[no-]destroy-on-error Destroy machine if any fatal error happens
(default to true)
--[no-]parallel Enable or disable parallelism if provider
supports it
--provider PROVIDER Back the machine with a specific provider
-h, --help Print this help
49. $ vagrant up
$ vagrant up --provider=vmware_fusion
or
$ vagrant up --provider=virtualbox
…
50. $ vagrant up
$ vagrant up
[snip]
default: Warning: Connection refused. Retrying...
default: Warning: Connection refused. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Connection refused. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Connection refused. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
51. $ vagrant up
$ vagrant up
[snip]
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Forwarding ports...
default: -- 22 => 2222
==> default: Configuring network adapters within the VM...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
sed -i '' -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/rc.conf
Stdout from the command:
52. $ vagrant up
$ vagrant up
[snip]
Stderr from the command:
sudo: error in /usr/local/etc/sudo.conf, line 0 while
loading plugin `sudoers_policy'
sudo: unable to load /usr/local/libexec/sudo/sudoers.so:
Shared object "libpam.so.6" not found, required by
"sudoers.so"
sudo: fatal error, unable to load plugins
53. $ vagrant up
$ vagrant box update
==> default: Checking for updates to 'freebsd/FreeBSD-11.0-CURRENT'
default: Latest installed version: 2016.03.08
default: Version constraints:
default: Provider: vmware_desktop
==> default: Updating 'freebsd/FreeBSD-11.0-CURRENT' with provider 'vmware_desktop' from version
==> default: '2016.03.08' to '2016.04.30'...
==> default: Loading metadata for box 'https://atlas.hashicorp.com/freebsd/FreeBSD-11.0-CURRENT?
access_token=62kMYhn6H0ZNBQ.atlasv1.XfHqcMrbfCd7HNFQoT7HVZ6rmICYI3lXx99nJr013yEJ1UsdxQGuXzE79ZFi
qd04I4o'
==> default: Adding box 'freebsd/FreeBSD-11.0-CURRENT' (v2016.04.30) for provider:
vmware_desktop
default: Downloading: https://atlas.hashicorp.com/freebsd/boxes/FreeBSD-11.0-CURRENT/
versions/2016.04.30/providers/vmware_desktop.box
[snip]
default: Downloading: https://atlas.hashicorp.com/freebsd/boxes/FreeBSD-11.0-CURRENT/
versions/2016.04.30/providers/vmware_desktop.box
==> default: Successfully added box 'freebsd/FreeBSD-11.0-CURRENT' (v2016.04.30) for
'vmware_desktop'!
54. $ vagrant up
$ vagrant up
Bringing machine 'default' up with 'vmware_fusion' provider...
==> default: Checking if box 'freebsd/FreeBSD-11.0-CURRENT' is up to date...
==> default: Machine is already running.
$ vagrant status
Current machine states:
default running (vmware_fusion)
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down, or you can run `vagrant suspend` to simply suspend
the virtual machine. In either case, to restart it again, run
`vagrant up`.
55. $ vagrant ssh
$ vagrant ssh
FreeBSD 11.0-CURRENT (GENERIC) #0 r296485: Tue Mar 8 07:04:36
UTC 2016
Welcome to FreeBSD!
[snip]
vagrant@:~ % uname -a
FreeBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r296485: Tue Mar
8 07:04:36 UTC 2016 root@releng2.nyi.freebsd.org:/usr/obj/
usr/src/sys/GENERIC amd64
57. $ vagrant destroy
$ vagrant destroy
default: Are you sure you want to destroy the 'default'
VM? [y/N] y
==> default: Stopping the VMware VM...
Connection to 172.16.139.158 closed by remote host.
==> default: Deleting the VM…
$
58. $ vagrant up
$ vagrant up
Bringing machine 'default' up with 'vmware_fusion' provider...
==> default: Cloning VMware VM: 'freebsd/FreeBSD-11.0-CURRENT'. This can take some time...
==> default: Checking if box 'freebsd/FreeBSD-11.0-CURRENT' is up to date...
==> default: Verifying vmnet devices are healthy...
==> default: Preparing network adapters...
==> default: Starting the VMware VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 172.16.139.159:22
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection refused. Retrying…
[snip]
59. $ vagrant up
$ vagrant up
[snip]
==> default: Configuring network adapters within the VM...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
sed -i '' -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/rc.conf
Stdout from the command:
Stderr from the command:
sudo: error in /usr/local/etc/sudo.conf, line 0 while loading plugin `sudoers_policy'
sudo: unable to load /usr/local/libexec/sudo/sudoers.so: Shared object "libpam.so.6" not found, required by "sudoers.so"
sudo: fatal error, unable to load plugins
60. $ vagrant up
$ vagrant ssh
$ vagrant@:~ % sudo tcsh
sudo: error in /usr/local/etc/sudo.conf, line 0 while loading plugin
`sudoers_policy'
sudo: unable to load /usr/local/libexec/sudo/sudoers.so: Shared object "libpam.so.
6" not found, required by "sudoers.so"
sudo: fatal error, unable to load plugins
vagrant@:~ % su
Password:
root@:/home/vagrant # pkg delete sudo
root@:/home/vagrant # pkg install -y sudo
$ vagrant reload
[blows up again]
63. $ vagrant reload
$ vagrant reload
==> default: Attempting graceful shutdown of VM...
Connection to 172.16.139.159 closed by remote host.
==> default: Checking if box 'freebsd/FreeBSD-11.0-CURRENT' is up to date...
==> default: Verifying vmnet devices are healthy...
==> default: Preparing network adapters...
==> default: Starting the VMware VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 172.16.139.159:22
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Host appears down. Retrying...
default: Warning: Connection refused. Retrying...
==> default: Machine booted and ready!
==> default: Forwarding ports...
default: -- 22 => 2222
==> default: Configuring network adapters within the VM...
==> default: Exporting NFS shared folders...
==> default: Preparing to edit /etc/exports. Administrator privileges will be required...
==> default: Mounting NFS shared folders...
64. Make Development Great Again
my-laptop$ ls -lA
total 8
drwxr-xr-x 3 sean staff 102 Jun 11 13:12 .vagrant
-rw-r--r-- 1 sean staff 867 Jun 11 13:11 Vagrantfile
my-laptop$ vagrant ssh
vagrant@:~ % ll /vagrant/
total 8
drwxr-xr-x 3 501 staff 102 Jun 11 17:12 .vagrant/
-rw-r--r-- 1 501 staff 867 Jun 11 17:11 Vagrantfile
vagrant@:~ % mount
/dev/gpt/rootfs on / (ufs, local, soft-updates)
devfs on /dev (devfs, local, multilabel)
172.16.139.1:/Users/sean/src/FreeBSD/vagrant/vm-nfs on /vagrant (nfs)
65. $ vagrant suspend
vagrant@:~ % echo goozfraba > /vagrant/foo
vagrant@:~ % logout
Shared connection to 172.16.139.159 closed.
my-laptop $ cat foo
goozfraba
my-laptop $ vagrant suspend
==> default: Suspending the VMware VM…
my-laptop $ vagrant status
Current machine states:
default suspended (vmware_fusion)
The VM is suspended. To resume this VM, run `vagrant up`.
78. Packer Templates
# Hat tip to brd@ for doing the initial heavy lifting!
$ git clone https://github.com/brd/packer-freebsd.git
$ cd packer-freebsd
$ ./automatic-11.0-current-ufs.sh —only=vmware-iso
[snip]
$ vagrant up
$ vagrant ssh
79. Packer Templates
$ ./automatic-11.0-current-ufs.sh --only=vmware-iso
Looking for latest -CURRENT from ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/ISO-IMAGES/11.0/ ...
Using FreeBSD-11.0-CURRENT-amd64-20160518-r300097-disc1.iso (checksum
8b5c9a9240962a497507f374dcf3839744c63f271fe2b2d36a4fd4d46eb966a3a697684f3379dcb87816b92b44f443e5fa4a71ec713fc408c
1ac60990d73817e) ...
vmware-iso output will be in this color.
==> vmware-iso: Downloading or copying ISO
vmware-iso: Downloading or copying: http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/11.0/
FreeBSD-11.0-CURRENT-amd64-20160518-r300097-disc1.iso
==> vmware-iso: Creating virtual machine disk
==> vmware-iso: Building and writing VMX file
==> vmware-iso: Starting virtual machine...
vmware-iso: The VM will be run headless, without a GUI. If you want to
vmware-iso: view the screen of the VM, connect via VNC without a password to
vmware-iso: 127.0.0.1:5997
==> vmware-iso: Waiting 45s for boot...
==> vmware-iso: Connecting to VM via VNC
==> vmware-iso: Error connecting to VNC: dial tcp 127.0.0.1:5965: getsockopt: connection refused
==> vmware-iso: Typing the boot command over VNC...
81. Packer Templates
$ ./automatic-11.0-current-ufs.sh --only=vmware-iso
Looking for latest -CURRENT from ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/ISO-IMAGES/11.0/ ...
Using FreeBSD-11.0-CURRENT-amd64-20160518-r300097-disc1.iso (checksum
8b5c9a9240962a497507f374dcf3839744c63f271fe2b2d36a4fd4d46eb966a3a697684f3379dcb87816b92b44f443e5fa4a71ec713fc408c
1ac60990d73817e) ...
vmware-iso output will be in this color.
==> vmware-iso: Downloading or copying ISO
vmware-iso: Downloading or copying: http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/11.0/
FreeBSD-11.0-CURRENT-amd64-20160518-r300097-disc1.iso
==> vmware-iso: Creating virtual machine disk
==> vmware-iso: Building and writing VMX file
==> vmware-iso: Starting virtual machine...
vmware-iso: The VM will be run headless, without a GUI. If you want to
vmware-iso: view the screen of the VM, connect via VNC without a password to
vmware-iso: 127.0.0.1:5997
==> vmware-iso: Waiting 45s for boot...
==> vmware-iso: Connecting to VM via VNC
==> vmware-iso: Error connecting to VNC: dial tcp 127.0.0.1:5965: getsockopt: connection refused
==> vmware-iso: Typing the boot command over VNC...