free-programming-books
free-programming-books copied to clipboard
add: Add DevOps section to free programming books list
Added DevOps section with Docker and Kubernetes resources.
What does this PR do?
Add resource(s)
Description
This PR introduces a new DevOps section and adds free learning resources for Docker and Kubernetes, including the open-source repository kubernetes-fundamental, which helps readers learn Kubernetes basics using hands-on examples.
Why is this valuable?
DevOps skills—especially Docker and Kubernetes—are essential in modern software engineering, yet free curated learning resources in this category are still limited in the list. Adding this section improves topic coverage for backend, DevOps, and cloud-native learners. It also provides beginners with practical, foundational material useful for real-world development and deployment workflows.
How do we know it's really free?
All added resources are publicly accessible without payment or sign-in requirements. The Kubernetes resource links to an open GitHub repository that is freely available for anyone to read, clone, or download.
For book lists, is it a book? For course lists, is it a course?
The Kubernetes resource is a learning repository / documentation-style resource, commonly accepted in the repo when the material is structured as educational content. The DevOps section categorizes it appropriately under free programming resources, not under book/course lists.
Checklist
- [x] Searched for duplicates
- [x] Included author and platform where appropriate
- [x] Added in alphabetical order with correct formatting and spacing
- [x] Used descriptive and informative PR title
- [x] No paywall, no restricted access
Follow-up
I will monitor GitHub Actions results and resolve any warnings if necessary.
Linter failed, fix the error(s):
free-programming-books/books/free-programming-books-id.md
3:1-34:32 warning Alphabetical ordering: swap l.32 and l.31 alphabetize-lists remark-lint
Linter failed, fix the error(s):
free-programming-books/books/free-programming-books-id.md
3:1-34:24 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
55:1-56:126 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
62:1-62:97 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
Linter failed, fix the error(s):
free-programming-books/books/free-programming-books-id.md
3:1-34:24 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
38:1-39:96 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
43:1-44:147 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
48:1-48:130 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
52:1-53:126 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
59:1-59:97 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
63:1-65:136 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
69:1-71:84 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
75:1-80:106 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
84:1-87:122 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
91:1-92:165 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
96:1-101:154 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
105:1-110:73 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
114:1-115:151 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
119:1-119:190 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
123:1-123:83 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
127:1-131:101 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
135:1-135:157 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
139:1-140:71 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
144:1-145:129 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
149:1-152:108 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
156:1-156:194 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
160:1-160:157 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
164:1-164:107 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
168:1-169:128 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
173:1-183:148 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
187:1-192:76 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
196:1-197:119 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
201:1-202:121 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
206:1-215:59 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
219:1-221:82 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
Linter failed, fix the error(s):
free-programming-books/books/free-programming-books-id.md
3:1-34:24 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
37:1-38:96 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
41:1-42:147 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
45:1-45:130 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
48:1-49:126 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
54:1-54:97 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
57:1-59:136 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
62:1-64:84 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
67:1-72:106 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
75:1-78:122 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
81:1-82:165 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
85:1-90:154 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
93:1-98:73 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
101:1-102:151 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
105:1-105:190 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
108:1-108:83 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
111:1-115:101 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
118:1-118:157 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
121:1-122:71 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
125:1-126:129 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
129:1-132:108 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
135:1-135:194 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
138:1-138:157 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
141:1-141:107 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
144:1-145:128 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
148:1-158:148 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
161:1-166:76 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
169:1-170:119 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
173:1-174:121 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
177:1-186:59 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
189:1-191:82 warning Incorrect number of blank lines between last section and next heading blank-lines-1-0-2 remark-lint
why linter???
It's usually not helpful to add a category for a single resource. Try to find another category, or see if there are other books in our lists that would fit into your category. Here you have two levels of categories for a single resource. Devops is OK as a category, just omit the kubernetes subcategory