About the Author xiii
About the Technical Reviewer xv
Acknowledgments xvii
Introduction xix
Part I: System Programming 1
Chapter 1: System Calls 3
Chapter 2: System Calls Using Go 15
Chapter 3: Accessing proc File System 33
Part II: Containers 49
Chapter 4: Simple Containers 51
Chapter 5: Containers with Networking 71
Chapter 6: Docker Security 89
Part III: Application Security 109
Chapter 7: Gosec and AST 111
Chapter 8: Scorecard 131
Chapter 9: Simple Networking 163
Chapter 10: System Networking 181
Chapter 11: Google gopacket 199
Chapter 12: Epoll Library 223
Part V: Securing Linux 239
Chapter 13: Vulnerability Scanner 239
Chapter 14: CrowdSec 265
Part VI: Terminal User Interface 293
Chapter 15: ANSI and UI 293
Chapter 16: TUI Framework 307
Chapter 17: systemd 325
Chapter 18: cadvisor 347
Index 377
Gain insights into the different challenges that can be solved using Go, with a focus on containers, Linux, security, networking, user interfaces and other relevant cloud based topics. This book reviews the necessary tools to create container-based cloud solutions with Go, a programming language that was born out of the need to address scalable, high availability cloud computing architecture needs inside Google.
Go, also known as Golang, has been adopted across different industries and products with many popular Open Source projects that power cloud computing technologies such as Docker and Kubernetes being written with Go. As the complexity of cloud technology increases, so does the need for people to understand how things work under-the-hood and to fix them when they’re broken.
Developers and Engineers familiar with Go who want to know how different parts of the system work and who want to write command line tools. It will also be beneficial to programmers who already have a system-level understanding and want to use Go to build tools for existing projects and applications.