Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
HashiCorp Packer in Production

You're reading from   HashiCorp Packer in Production Efficiently manage sets of images for your digital transformation or cloud adoption journey

Arrow left icon
Product type Paperback
Published in Jul 2023
Publisher Packt
ISBN-13 9781803246857
Length 190 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
John Boero John Boero
Author Profile Icon John Boero
John Boero
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Packer’s Beginnings
2. Chapter 1: Packer Fundamentals FREE CHAPTER 3. Chapter 2: Creating Your First Template 4. Chapter 3: Configuring Builders and Sources 5. Chapter 4: The Power of Provisioners 6. Chapter 5: Logging and Troubleshooting 7. Part 2: Managing Large Environments
8. Chapter 6: Working with Builders 9. Chapter 7: Building an Image Hierarchy 10. Chapter 8: Scaling Large Builds 11. Part 3: Advanced Customized Packer
12. Chapter 9: Managing the Image Lifecycle 13. Chapter 10: Using HCP Packer 14. Chapter 11: Automating Packer Builds 15. Chapter 12: Developing Packer Plugins 16. Index 17. Other Books You May Enjoy

Developing Packer Plugins

In the previous chapter, we covered basic automation for Packer builds. Up until now, most of Packer’s existing builder use cases should be familiar, but what about the functionalities Packer lacks? Since Packer is open source, you could fork and edit the code base, but it’s much easier to write a plugin. HashiCorp’s projects use Go and Remote Procedure Call (RPC) for plugin development, which allows plugins to be developed as standalone Go binaries or to be built into the project itself. Plugins come in four flavors: builders, provisioners, post-processors, and data sources. Each function is defined by an interface that must be implemented. Packer makes this easy to do by providing templates. We’ll explore the templates by implementing two plugins in this chapter. First, we’ll implement a basic data source and then a more complex builder. Before any of that, we will cover the basics of Go in the context of Packer. This is...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image