diff --git a/docs/chef.md b/docs/chef.md new file mode 100644 index 00000000..546aa59f --- /dev/null +++ b/docs/chef.md @@ -0,0 +1,3 @@ +# Chef +- [chef.io](https://www.chef.io/) +- [learn.chef.io](https://learn.chef.io/) \ No newline at end of file diff --git a/docs/demos.md b/docs/demos.md index 7dc26042..f8e15b8a 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -111,6 +111,7 @@ - [openshift-pipelines-workshop](https://redhat-developer-demos.github.io/openshift-pipelines-workshop/) Workshop to demonstrate OpenShift Pipelines (featuring Tekton) - [Build a Go application using OpenShift Pipelines](https://developers.redhat.com/blog/2020/05/26/build-a-go-application-using-openshift-pipelines/) - [OpenShift Pipelines Catalog](https://github.com/openshift/pipelines-catalog) +- [systemcraftsman/lab-tekton-pipelines: OpenShift Pipelines workshop](https://github.com/systemcraftsman/lab-tekton-pipelines) ## Jenkins Demos * [kublr.com: cicd pipeline with jenkins nexus kubernetes](https://kublr.com/blog/cicd-pipeline-with-jenkins-nexus-kubernetes/) @@ -132,6 +133,7 @@ - [github.com/siamaksade/jenkins-blueocean](https://github.com/siamaksade/jenkins-blueocean) Jenkins Blue Ocean for OpenShift Jenkins S2I ### Jenkins Configuration as Code on Kubernetes +* [Demo of Jenkins Configuration-As-Code with Docker and Groovy Hook Scripts (java11-support branch) 🌟🌟](https://github.com/oleg-nenashev/demo-jenkins-config-as-code/tree/java11-support) * [Configuration as Code of Jenkins (for Kubernetes) 🌟🌟](https://github.com/figaw/configuration-as-code-jenkins-k8s) * [Jenkins Configuration as Code on Kubernetes 🌟](https://github.com/redhatspain/jenkins-CasC-kubernetes-demo) A Codecentric/Jenkins Helm 3 Sample Chart on Digital Ocean Kubernetes with Spring Petclinic Demo Pipeline @@ -148,6 +150,11 @@ * [Slides 🌟🌟🌟](https://github.com/figaw/freestyle-to-pipeline-jenkins/blob/master/from-freestyle-jobs-to-pipeline-with-jobdsl.pdf) * [Demo repository 🌟🌟🌟](https://github.com/figaw/freestyle-to-pipeline-jenkins) * Links of interest provided in the event: + * [Continuation Passing Style (CPS)](https://github.com/cloudbees/groovy-cps/blob/master/doc/cps-basics.md) is a style of programming in which the remainder of the program is passed explicitly as a parameter, as opposed to that being handled implicitly represented as call stack. + * [Jenkins Pipeline execution engine based on Continuation Passing Style (CPS) transformation of Groovy scripts. DSL Methods:](https://jenkinsci.github.io/job-dsl-plugin/#plugin/workflow-cps): + * [cps](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.workflow.WorkflowDefinitionContext.cps): WorkflowDefinitionContext + * [cpsScm](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.workflow.WorkflowDefinitionContext.cpsScm): WorkflowDefinitionContext + * [Defines a Groovy CPS DSL definition: pipelineJob definition cps script](https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob-definition-cps-script) * [Jenkins CLI](https://www.jenkins.io/doc/book/managing/cli/) * [How to create initial "seed" job](https://github.com/jenkinsci/configuration-as-code-plugin/blob/master/docs/seed-jobs.md) * [Jenkinsfile Runner Test Framework](https://github.com/jenkinsci/jenkinsfile-runner-test-framework) diff --git a/docs/devops.md b/docs/devops.md index 52491f59..96f14868 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -1,5 +1,6 @@ # DevOps - [Introduction to Digital Business Transformation](#introduction-to-digital-business-transformation) +- [Configuration Drift](#configuration-drift) - [DevOps](#devops) - [DevOps as a Service (DaaS)](#devops-as-a-service-daas) - [Blogs](#blogs) @@ -13,6 +14,10 @@ ## Introduction to Digital Business Transformation * [What Is AIOps, BizDevOps, CloudOps, DevOps, ITOps, NoOps? A Gentle Introduction to Digital Business Transformation 🌟](https://stxnext.com/blog/2019/04/25/aiops-bizdevops-cloudops-devops-itops-noops-introduction-digital-business-transformation/) +## Configuration Drift +- [Dzone: Configuration Drift 🌟](https://dzone.com/articles/configuration-drift) Configuration Drift is the phenomenon where running servers in an infrastructure become more and more different as time goes on, due to manual ad-hoc changes and updates, and general entropy. +- [What is Configuration Drift?](https://www.continuitysoftware.com/blog/it-resilience/what-is-configuration-drift/) Configuration drift is a data center environment term. At a high level, configuration drift happens when production or primary hardware and software infrastructure configurations β€œdrift” or become different in some way from a recovery or secondary configuration or visa versa. Production or primary and recovery or secondary configurations are designed to be identical in certain aspects is order for business resumption should there be a disaster or major failure in production. When these infrastructure configurations drift from another, they leave a gap between them which commonly called a configuration gap. + ## DevOps * [Wikipedia: DevOps](https://en.wikipedia.org/wiki/DevOps) * [DevOps Toolbox: Jenkins, Ansible, Chef, Puppet, Vagrant, & SaltStack](https://hostadvice.com/blog/devops-toolbox-jenkins-ansible-chef-puppet-vagrant-saltstack/) @@ -29,6 +34,7 @@ * [smartsheet.com: The Way of DevOps: A Primer on DevOps Principles and Practices](https://www.smartsheet.com/devops) * [dzone: Are You Stuck in the New DevOps Matrix From Hell? 🌟](https://dzone.com/articles/are-you-stuck-in-the-new-devops-matrix-from-hell) See how Docker solved the matrix-from-hell problem, and how DevOps techniques can help avoid the config sprawl that comes with microservices. * [kenmugrage.com 🌟](https://kenmugrage.com/2017/05/05/my-new-definition-of-devops/#more-4) DevOps: A culture where people, regardless of title or background, work together to imagine, develop, deploy and operate a system. +* [opensource.com: 10 tips for maintaining a DevOps mindset for distributed teams](https://opensource.com/article/20/6/devops-mindset) You can do DevOps while working from home; it's all about the right approach.
[![OCP 4 Pland and Deploy](images/ocp_plan_deploy.png)](https://www.openshift.com/blog/openshift-end-to-end-plan-and-deploy) diff --git a/docs/devsecops.md b/docs/devsecops.md index feddbe96..26b139e3 100644 --- a/docs/devsecops.md +++ b/docs/devsecops.md @@ -2,6 +2,7 @@ - [Introduction](#introduction) - [Multi-Level Security (MLS) vs Multi-Category Security (MCS). Make Secure Pipelines with Podman and Containers](#multi-level-security-mls-vs-multi-category-security-mcs-make-secure-pipelines-with-podman-and-containers) - [Project Calico](#project-calico) +- [keycloak](#keycloak) - [Security Patterns for Microservice Architectures](#security-patterns-for-microservice-architectures) - [Anchore Container Security Solutions for DevSecOps](#anchore-container-security-solutions-for-devsecops) - [Secure Container Based CI/CD Workflows](#secure-container-based-cicd-workflows) @@ -19,6 +20,9 @@ ## Project Calico * [Project Calico](https://www.projectcalico.org/) Secure networking for the cloud native era +## keycloak +- [keycloak.org](https://www.keycloak.org/) Open Source Identity and Access Management For Modern Applications and Services + ## Security Patterns for Microservice Architectures - [Security Patterns for Microservice Architectures](https://developer.okta.com/blog/2020/03/23/microservice-security-patterns) diff --git a/docs/git.md b/docs/git.md index ef93cd6c..14152e62 100644 --- a/docs/git.md +++ b/docs/git.md @@ -72,6 +72,11 @@ It prescribes that software designers should define formal, precise and verifiab * [martinfowler.com: Patterns for Managing Source Code Branches](https://martinfowler.com/articles/branching-patterns.html) * [Release Branch Pattern:](https://martinfowler.com/articles/branching-patterns.html#release-branch) A branch that only accepts commits accepted to stabilize a version of the product ready for release. * [medium: Which Git branching model should I select for my project?](https://medium.com/aventude/which-git-branching-model-should-i-select-73aafc503b5f) +* [speakerdeck.com: 10 Git Anti Patterns You Should be Aware of 🌟](https://speakerdeck.com/lemiorhan/10-git-anti-patterns-you-should-be-aware-of) + +
+ +
### Git Workflows * ```git help workflows``` diff --git a/docs/images/realworld-pipeline-flow.png b/docs/images/realworld-pipeline-flow.png new file mode 100644 index 00000000..c73d72c8 Binary files /dev/null and b/docs/images/realworld-pipeline-flow.png differ diff --git a/docs/index.md b/docs/index.md index c678b67a..859094bf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -73,7 +73,7 @@ A curated list of awesome references collected since 2018. Microservices archite - [Maven & Gradle](maven-gradle.md) - [SonarQube](sonarqube.md) - [Nexus & JFrog Artifactory](nexus-jfrog.md) - - [Web Servers: Apache, HAProxy & Nginx](web-servers.md) + - [Web Servers & Reverse Proxies: Apache, Nginx, HAProxy, Traefik and more](web-servers.md) - [Payara App Server](payara.md) - [Embedded Servlet Containers in SpringBoot: Jetty, Tomcat, Undertow and more](embedded-servlet-containers.md) - [Selenium, Appium & Zephyr Jira plugin](selenium-appium-zephyr.md) @@ -85,6 +85,7 @@ A curated list of awesome references collected since 2018. Microservices archite 14. [Monitoring and Performance. Prometheus, Grafana, APMs and more 🌟](monitoring.md) 15. Configuration Management - [Ansible](ansible.md) + - [Chef](chef.md) - [Liquibase](liquibase.md) - [Terraform & Packer](terraform.md) 16. Databases on Kubernetes diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md index 3790d350..be20ebbf 100644 --- a/docs/java-and-java-performance-optimization.md +++ b/docs/java-and-java-performance-optimization.md @@ -1,6 +1,11 @@ -# Java Memory Management +# Java and Memory Management - [Java](#java) + - [Existing Java Implementations](#existing-java-implementations) + - [Use Java 11](#use-java-11) + - [Java Frameworks](#java-frameworks) - [Java Performance Optimization](#java-performance-optimization) + - [Relevant JVM Metrics](#relevant-jvm-metrics) + - [Common JVM Errors](#common-jvm-errors) - [Tuning Jenkins GC](#tuning-jenkins-gc) - [Tuning Java Containers](#tuning-java-containers) - [Debugging java applications on OpenShift and Kubernetes](#debugging-java-applications-on-openshift-and-kubernetes) @@ -18,6 +23,29 @@ * [redhat.com: The history and future of OpenJDK](https://www.redhat.com/en/blog/history-and-future-openjdk) * [javarevisited.blogspot.com: The 2020 Java Developer RoadMap 🌟](https://javarevisited.blogspot.com/2019/10/the-java-developer-roadmap.html) +### Existing Java Implementations +- [Oracle Java](https://www.oracle.com/technetwork/java/javase/overview/index.html) +- [Oracle OpenJDK](https://jdk.java.net/11/) +- [IBM JDK](https://developer.ibm.com/javasdk/) (based on [Eclipse OpenJ9](https://www.eclipse.org/openj9/)) +- [Red Hat OpenJDK](https://developers.redhat.com/products/openjdk/download) +- [AdoptOpenJDk](https://adoptopenjdk.net/) (based on [Eclipse OpenJ9](https://www.eclipse.org/openj9/)) + +### Use Java 11 +- [It’s time! Migrating to Java 11 🌟](https://medium.com/criciumadev/its-time-migrating-to-java-11-5eb3868354f9) +- [Oracle's Java 11 trap - Use OpenJDK instead! 🌟](https://blog.joda.org/2018/09/do-not-fall-into-oracles-java-11-trap.html) +- [**AdoptOpenJDK 11** Is the New Default 🌟](https://blog.adoptopenjdk.net/2020/06/adoptopenjdk-11-new-default/) +- [All You Need To Know For Migrating To Java 11](https://blog.codefx.org/java/java-11-migration-guide/) + +### Java Frameworks + +Framework / Java Ecosystem|Technology|Cloud Native|Platform +:----|:---|:---|:--- +[Java EE](https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition)
[Java EE at a Glance](https://www.oracle.com/java/technologies/java-ee-glance.html)|Frontend + Backend
Java EE Monoliths|No|Java EE Middleware Servers (WAS, WebLogic, JBoss EAP, etc) +[Jakarta EE (Java EE renamed)](https://jakarta.ee/)|Frontend + Backend|Yes|OpenShift, Kubernetes, etc +[SpringBoot (Spring)](https://spring.io/projects/spring-boot)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc +[Spring Cloud (Spring)](https://spring.io/projects/spring-cloud)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc +[Quarkus](https://quarkus.io/)|Backend (RESTful)|Yes|OpenShift, Kubernetes, etc + ## Java Performance Optimization * [DZone refcard: java performance optimization 🌟](https://dzone.com/refcardz/java-performance-optimization) Tools and Techniques for Turbocharged Apps - [DZone: String Concatenation's Effect on Performance](https://dzone.com/articles/string-concatentions-effect-on-performance) Don’t use the string concatenation operator to combine more than a few strings unless performance is irrelevant. Use StringBuilder’s append method instead. @@ -27,8 +55,22 @@ - [DZone refcard: Java Caching](https://dzone.com/refcardz/java-caching) * [Dzone: 7 JVM Arguments of Highly Effective Applications 🌟🌟🌟](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) How to use 7 JVM arguments to help increase your application's performance and avoid common memory pitfalls. +### Relevant JVM Metrics +Metric|Details / Reference +:---|:--- +GC Throughput|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/2019/03/13/micrometrics-to-forecast-application-performance) +etc| + +### Common JVM Errors +JVM Error|Details / Reference +:----|:---- +OutOfMemoryError|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/2019/03/13/micrometrics-to-forecast-application-performance) +StackOverflowError|[ref](https://blog.fastthread.io/2018/09/24/stackoverflowerror/) +etc| + ### Tuning Jenkins GC * [jenkins.io - Tuning Jenkins GC For Responsiveness and Stability with Large Instances 🌟](https://jenkins.io/blog/2016/11/21/gc-tuning/) +* [Running Jenkins on Java 11 🌟](https://www.jenkins.io/doc/administration/requirements/jenkins-on-java-11/#:~:text=The%20easiest%20way%20to%20run,images%2C%20use%20the%20jdk11%20tag.) ### Tuning Java Containers * [blog.openshift.com: Scaling Java Containers 🌟](https://blog.openshift.com/scaling-java-containers/) diff --git a/docs/jenkins-alternatives.md b/docs/jenkins-alternatives.md index 625bb730..5c3e70e8 100644 --- a/docs/jenkins-alternatives.md +++ b/docs/jenkins-alternatives.md @@ -55,10 +55,9 @@ ## Integration with other CI/CD engines * [CloudBees Integrates Software Delivery Management Platform With Google Cloud Build and Tekton to Break Down Development Silos](https://www.previous.cloudbees.com/press/cloudbees-integrates-software-delivery-management-platform-google-cloud-build-and-tekton-break) -
-[![gitlab](images/gitlab.jpg)](https://gitlab.com/) -
- +---
+ +[![gitlab](images/gitlab.jpg)](https://gitlab.com/)
\ No newline at end of file diff --git a/docs/jenkins.md b/docs/jenkins.md index 20a966cb..43371b0b 100644 --- a/docs/jenkins.md +++ b/docs/jenkins.md @@ -3,6 +3,8 @@ - [Groovy](#groovy) - [Awesome Jenkins](#awesome-jenkins) - [Jenkins Cheat Sheet](#jenkins-cheat-sheet) +- [Jenkins Special Interest Groups (SIG)](#jenkins-special-interest-groups-sig) +- [Running Jenkins on Java 11. Use OpenJDK 11](#running-jenkins-on-java-11-use-openjdk-11) - [Online Learning](#online-learning) - [Jenkins Configuration as Code Solutions. 3 available DSLs](#jenkins-configuration-as-code-solutions-3-available-dsls) - [DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline](#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline) @@ -10,8 +12,9 @@ - [Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax](#jenkins-pipeline-syntax-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax) - [Extending with Shared Libraries](#extending-with-shared-libraries) - [Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins](#automating-service-level-indicatorsservice-level-objectives-based-build-validation-with-keptn-and-jenkins) + - [Jenkinsfile Runner. Serverless / function-as-a-service build execution](#jenkinsfile-runner-serverless--function-as-a-service-build-execution) - [DSL 3. Jenkins Configuration as Code (JCasC)](#dsl-3-jenkins-configuration-as-code-jcasc) - - [Read-only Jenkins Configuration](#read-only-jenkins-configuration) + - [Read-only Jenkins Configuration](#read-only-jenkins-configuration) - [Jenkins Architecture. Performance and Scalability](#jenkins-architecture-performance-and-scalability) - [Ansible and Jenkins. Running Ansible Playbooks From Jenkins](#ansible-and-jenkins-running-ansible-playbooks-from-jenkins) - [Jenkins Tools](#jenkins-tools) @@ -30,7 +33,7 @@ - [Feature Flags in CloudBees Enterprise On-Premise](#feature-flags-in-cloudbees-enterprise-on-premise) - [CloudBees Accelerator](#cloudbees-accelerator) - [Jervis: Jenkins as a service](#jervis-jenkins-as-a-service) -- [Jenkins X](#jenkins-x) +- [Jenkins X (Serverless)](#jenkins-x-serverless) ## Jenkins * [CloudBees](https://www.cloudbees.com/) @@ -49,6 +52,7 @@ * [jenkins.io 2020-05-06: Slave to Agent renaming. Renaming of the official Docker images for Jenkins agents](https://www.jenkins.io/blog/2020/05/06/docker-agent-image-renaming/) We would like to announce the renaming of the official Docker images for Jenkins agents. The **"slave" term is widely considered inappropriate in open source communities**. It has been **officially deprecated in Jenkins 2.0 in 2016**, but there are remaining usages in some Jenkins components. * [Windows Docker Agent Images: General Availability 🌟](https://www.jenkins.io/blog/2020/05/11/docker-windows-agents/) * [jenkinsistheway.io: Jenkins Is The Way 🌟](https://jenkinsistheway.io/) Jenkins Is The Way is a collection of experiences from all around the world showcasing how users are building, deploying, and automating great stuff with Jenkins. +* [Jenkins: Shifting Gears 🌟🌟](https://www.jenkins.io/blog/2018/08/31/shifting-gears/) **Evolutionary line from the current Jenkins 2, but with breaking changes in order to gain higher development speed.** This document lays out the key directions and approaches in a broad stroke, which I discussed with a number of you in the past. Hopefully, this gives you the big picture of how I envision where to move Jenkins forward, not just as the creator of Jenkins but as the CTO of CloudBees, who employs a number of key contributors to the Jenkins project.
[![Jenkins Is The Way](images/Jenkins-is-the-Way.png)](https://jenkinsistheway.io) @@ -66,6 +70,15 @@ ## Jenkins Cheat Sheet * [Jenkins Cheat Sheets](cheatsheets.md) +## Jenkins Special Interest Groups (SIG) +* [Jenkins SIG Platform 🌟](https://www.jenkins.io/sigs/platform/) This special interest group offers a venue for all kinds of platform support discussions: Java, Operating Systems, Architectures, Docker, Packaging, Web Containers, etc. The SIG works on defining platform support policies, coordinating platform support efforts with contributors and external communities, and reviewing proposals in the area. +* [Jenkins SIG Cloud Native 🌟](https://www.jenkins.io/sigs/cloud-native/) + +## Running Jenkins on Java 11. Use OpenJDK 11 +- [Running Jenkins on Java 11 🌟](https://www.jenkins.io/doc/administration/requirements/jenkins-on-java-11/#:~:text=The%20easiest%20way%20to%20run,images%2C%20use%20the%20jdk11%20tag.) +- [Oracle's Java 11 trap - Use OpenJDK instead! 🌟](https://blog.joda.org/2018/09/do-not-fall-into-oracles-java-11-trap.html) +- [It’s time! Migrating to Java 11 🌟](https://medium.com/criciumadev/its-time-migrating-to-java-11-5eb3868354f9) + ## Online Learning * [udemy.com: Master Jenkins CI For DevOps and Developers](https://www.udemy.com/the-complete-jenkins-course-for-developers-and-devops/) * [udemy.com: Learn DevOps: CI/CD with Jenkins using Pipelines and Docker](https://www.udemy.com/learn-devops-ci-cd-with-jenkins-using-pipelines-and-docker/) Use Jenkins the DevOps way. Automate your Jenkins jobs by using Jenkins Pipelines, Docker, and the Jenkins Job DSL @@ -83,9 +96,14 @@ * Jenkins Job DSL API used in jenkins declarative pipelines. * [Job DSL Plugin 🌟](https://plugins.jenkins.io/job-dsl/) * [github.com/jenkinsci/job-dsl-plugin](https://github.com/jenkinsci/job-dsl-plugin/wiki) - * [Jenkins Job DSL Plugin documentation](https://github.com/jenkinsci/job-dsl-plugin#documentation) A Groovy DSL for Jenkins Jobs - Sweeeeet! -* [Jenkins Job DSL API 🌟](http://jenkinsci.github.io/job-dsl-plugin/) + * [Jenkins Job DSL Plugin documentation 🌟](https://github.com/jenkinsci/job-dsl-plugin#documentation) A Groovy DSL for Jenkins Jobs - Sweeeeet! +* [Jenkins Job DSL API 🌟](https://jenkinsci.github.io/job-dsl-plugin/) * [mavenJob](https://jenkinsci.github.io/job-dsl-plugin/#path/mavenJob) + * [Continuation Passing Style (CPS)](https://github.com/cloudbees/groovy-cps/blob/master/doc/cps-basics.md) is a style of programming in which the remainder of the program is passed explicitly as a parameter, as opposed to that being handled implicitly represented as call stack. + * [Jenkins Pipeline execution engine based on Continuation Passing Style (CPS) transformation of Groovy scripts. DSL Methods:](https://jenkinsci.github.io/job-dsl-plugin/#plugin/workflow-cps): + * [cps](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.workflow.WorkflowDefinitionContext.cps): WorkflowDefinitionContext + * [cpsScm](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.workflow.WorkflowDefinitionContext.cpsScm): WorkflowDefinitionContext + * [Defines a Groovy CPS DSL definition: pipelineJob definition cps script](https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob-definition-cps-script) * [Example of a pipeline with parameters](https://github.com/polarpoint-io/groovy-jenkins-pipelines/blob/master/jobs/parameterisedPipelines.groovy) * [job-dsl **Gradle** Example](https://github.com/sheehan/job-dsl-gradle-example) * [Jenkins DSL for **Nexus**](https://accenture.github.io/adop-cartridges-cookbook/docs/recipes/archiving-artefact-to-nexus/) @@ -93,9 +111,16 @@ * [ref 1](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.step.StepContext.maven) * [ref 2](https://deors.wordpress.com/2019/04/25/jenkins-ci-pipeline-java-spring-boot-maven-docker/) * [Pipeline Global Library for ci.jenkins.io](https://github.com/jenkins-infra/pipeline-library) Collection of custom steps and variables for our Jenkins instance(s) +* [medium: Jenkins Jobs as Code with Groovy DSL (Job DSL plugin) 🌟](https://tech.gogoair.com/jenkins-jobs-as-code-with-groovy-dsl-c8143837593a) ### DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins * [Pipeline as Code with Jenkins 🌟](https://www.jenkins.io/solutions/pipeline/) + * [**Why Pipeline?**](https://www.jenkins.io/doc/book/pipeline/#why) Jenkins is, fundamentally, an automation engine which supports a number of automation patterns. Pipeline adds a powerful set of automation tools onto Jenkins, supporting use cases that span from simple continuous integration to comprehensive CD pipelines. By modeling a series of related tasks, users can take advantage of the many features of Pipeline: + * **Code**: Pipelines are implemented in code and typically checked into source control, giving teams the ability to edit, review, and iterate upon their delivery pipeline. + * **Durable**: Pipelines can survive both planned and unplanned restarts of the Jenkins master. + * **Pausable**: Pipelines can optionally stop and wait for human input or approval before continuing the Pipeline run. + * **Versatile**: Pipelines support complex real-world CD requirements, including the ability to fork/join, loop, and perform work in parallel. + * **Extensible**: The Pipeline plugin supports custom extensions to its [DSL](https://en.wikipedia.org/wiki/Domain-specific_language) and multiple options for integration with other plugins. * [jenkins.io - doc/book/pipeline 🌟](https://jenkins.io/doc/book/pipeline/) * [jenkins.io - **Jenkinsfile** 🌟](https://jenkins.io/doc/book/pipeline/jenkinsfile/) With **version 2** of the Jenkins Continuous Integration/Continuous Delivery (CI/CD) server, **a new job definition file has been introduced, called Jenkinsfile**. The initial Jenkinsfile format was based on Groovy. As groovy knowledge is not that widespread, a new and more straight forward was published in spring 2017. **This format is called Declarative Pipeline**. [This visual studio code extension](https://marketplace.visualstudio.com/items?itemName=jmMeessen.jenkins-declarative-support) is aimed at making the manipulation of this file type easier. * [Dzone refcard: **Continuous Delivery with Jenkins Workflow** 🌟](https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow) @@ -116,6 +141,10 @@ * [opensource.com - Introduction to writing pipelines-as-code and implementing DevOps with Jenkins 2](https://opensource.com/article/18/8/devops-jenkins-2) * [thoughtworks.com: Modernizing your build pipelines 🌟](https://www.thoughtworks.com/es/insights/blog/modernizing-your-build-pipelines) +
+[![real world pipeline flow](images/realworld-pipeline-flow.png)](https://www.jenkins.io/solutions/pipeline/) +
+ #### Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax * [Jenkins Pipeline Syntax: Scripted Syntax (Groovy DSL syntax) & Declarative Syntax 🌟](https://www.jenkins.io/doc/book/pipeline/syntax/): * **Version 2.5 of the "Pipeline plugin" released in 2016/05/16 introduces support for Declarative Pipeline syntax**. @@ -137,6 +166,16 @@ - In this session you learn the basics of picking good **SLIs & SLOs** and how to extract them from your monitoring tools. After this session you will be able to start implementing this integration yourself with Jenkins. To give you a jump start you will be introduced to the open source project [Keptn](https://www.keptn.sh) which provides **automated SLI/SLO-based quality gates**. Then we'll talk about [Keptn Jenkins Shared Library](https://github.com/keptn-sandbox/keptn-jenkins-library) which **integrates Jenkins and Keptn** with just a couple of function calls. - [youtube: Level-Up your Jenkins-based Delivery with Keptn](https://www.youtube.com/watch?v=VYRdirdjOAg&t=5s) +#### Jenkinsfile Runner. Serverless / function-as-a-service build execution +- [Jenkinsfile Runner](https://github.com/jenkinsci/jenkinsfile-runner) Jenkinsfile Runner is an experiment to package Jenkins pipeline execution as a command line tool. The intend use cases include: + - Use Jenkins in Function-as-a-Service context + - Assist editing Jenkinsfile locally + - Integration test shared libraries + +
+ +
+ ### DSL 3. Jenkins Configuration as Code (JCasC) * [Jenkins Configuration as Code Plugin](https://www.jenkins.io/projects/jcasc/) * [plugins.jenkins.io/configuration-as-code](https://plugins.jenkins.io/configuration-as-code/) @@ -152,7 +191,7 @@ * [Example of Configuration as Code of Jenkins (for Kubernetes) 🌟](https://github.com/figaw/configuration-as-code-jenkins-k8s) * [JEP-224: System Read permission: Improve experience of Jenkins Configuration-as-Code users](https://www.jenkins.io/events/online-hackfest/2020-uiux/) It improves the modifying Web UI configuration controls to support the read-only mode. -### Read-only Jenkins Configuration +#### Read-only Jenkins Configuration - [Read-only Jenkins Configuration 🌟](https://www.jenkins.io/blog/2020/05/25/read-only-jenkins-announcement/) This feature allows restricting configuration UIs and APIs while providing access to essential Jenkins system configuration, diagnostics, and self-monitoring tools through Web UI. Such mode is critical for instances managed as code, e.g. with Jenkins [Configuration-as-Code plugin](https://plugins.jenkins.io/configuration-as-code). It is delivered as a part of the [JEP-224: Read-only system configuration](https://github.com/jenkinsci/jep/blob/master/jep/224/README.adoc) effort. ## Jenkins Architecture. Performance and Scalability @@ -315,10 +354,12 @@ * [Jervis](https://github.com/samrocketman/jervis/wiki) is [Sam Gleske](https://github.com/samrocketman)'s vision of a good way to roll out Jenkins as a service in very large organizations. * [SCM Filter Jervis YAML Plugin](https://plugins.jenkins.io/scm-filter-jervis/) This plugin is intended for Jenkins infrastructure relying on [jervis](https://github.com/samrocketman/jervis/wiki) to deliver software in a self-service manner. This plugin can also be used for Travis CI YAML. -## Jenkins X -[**Jenkins X**](https://jenkins-x.io) is a specialized Jenkins for Kubernetes: This is how it works from a bird eye the CI/CD: a developer creates a branch, then Jenkins X creates a ephemeral namespace with that branch. The developer tests it and once it is ok, a PR is created, then, the branch is deployed in staging. When I merge it, it goes to QA, and with a manual command "jx promote" it goes to production. Jenkins X deletes automatically after N hours the branch namespace. +## Jenkins X (Serverless) +[Jenkins X](https://jenkins-x.io) is a specialized Jenkins for Kubernetes: This is how it works from a bird eye the CI/CD: a developer creates a branch, then Jenkins X creates a ephemeral namespace with that branch. The developer tests it and once it is ok, a PR is created, then, the branch is deployed in staging. When I merge it, it goes to QA, and with a manual command "jx promote" it goes to production. Jenkins X deletes automatically after N hours the branch namespace. -* [**jenkins-x.io**](https://jenkins-x.io/) +[Why Do We Need Jenkins X To Be Serverless?](https://jenkins-x.io/blog/2019/07/23/serverless-deployments/#:~:text=Initially%2C%20Jenkins%20X%20had%20a,a%20modern%20Kubernetes%2Dbased%20solution.) Initially, Jenkins X had a stripped-down version of Jenkins but, since the release 2, not a single line of the traditional Jenkins is left in Jenkins X. **Now it is fully serverless thanks to Tekton** and a lot of custom code written from scratch to support the need for a modern Kubernetes-based solution. + +* [jenkins-x.io](https://jenkins-x.io/) * [itnext.io/tagged/jenkins-x](https://itnext.io/tagged/jenkins-x) * [itnext.io: Jenkins X β€” Managing Jenkins](https://itnext.io/jenkins-x-managing-jenkins-926f0e0f8bcf) * Video Tutorials: diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 07fea5e8..599ba16a 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -31,11 +31,14 @@ - [Cluster Autoscaler and DockerHub](#cluster-autoscaler-and-dockerhub) - [Cluster Autoscaler in GKE, EKS, AKS and DOKS](#cluster-autoscaler-in-gke-eks-aks-and-doks) - [Cluster Autoscaler in OpenShift](#cluster-autoscaler-in-openshift) -- [Kubernetes Special Interest Groups (SIGs). Kubernetes Community](#kubernetes-special-interest-groups-sigs-kubernetes-community) - - [Kubectl Plugins](#kubectl-plugins) - - [Kubectl Plugins and Tools](#kubectl-plugins-and-tools) +- [Kubernetes Community](#kubernetes-community) + - [Community Forums](#community-forums) + - [Kubernetes Special Interest Groups (SIGs)](#kubernetes-special-interest-groups-sigs) + - [Kubectl Plugins](#kubectl-plugins) + - [Kubectl Plugins and Tools](#kubectl-plugins-and-tools) - [Kubernetes Troubleshooting](#kubernetes-troubleshooting) - [Kubernetes Tutorials](#kubernetes-tutorials) + - [Online Training](#online-training) - [Famous Kubernetes resources of 2019](#famous-kubernetes-resources-of-2019) - [Famous Kubernetes resources of 2020](#famous-kubernetes-resources-of-2020) - [Kubernetes Patterns](#kubernetes-patterns) @@ -91,6 +94,7 @@ - [Ubuntu Charmed Kubernetes](#ubuntu-charmed-kubernetes) - [VMware Kubernetes Tanzu and Project Pacific](#vmware-kubernetes-tanzu-and-project-pacific) - [Rancher: Enterprise management for Kubernetes](#rancher-enterprise-management-for-kubernetes) + - [Rancher Academy (online training)](#rancher-academy-online-training) - [Rancher 2](#rancher-2) - [Rancher 2 RKE](#rancher-2-rke) - [K3S](#k3s) @@ -345,12 +349,16 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [OpenShift 3.11: Configuring the cluster auto-scaler in AWS](https://docs.openshift.com/container-platform/3.11/admin_guide/cluster-autoscaler.html) * [OpenShift 4.4: Applying autoscaling to an OpenShift Container Platform cluster](https://docs.openshift.com/container-platform/4.4/machine_management/applying-autoscaling.html) -## Kubernetes Special Interest Groups (SIGs). Kubernetes Community +## Kubernetes Community +### Community Forums +- [Community Forums 🌟🌟](https://discuss.kubernetes.io/) + +### Kubernetes Special Interest Groups (SIGs) - [Kubernetes Special Interest Groups (SIGs)](https://github.com/kubernetes/community/blob/master/README.md#special-interest-groups-sig) have been around to support the community of developers and operators since around the 1.0 release. People organized around networking, storage, scaling and other operational areas. - [SIG Apps: build apps for and operate them in Kubernetes](https://kubernetes.io/blog/2016/08/sig-apps-running-apps-in-kubernetes/) - [Kubernetes SIGs 🌟](https://github.com/kubernetes-sigs) -### Kubectl Plugins +#### Kubectl Plugins * [Available kubectl plugins 🌟](https://github.com/kubernetes-sigs/krew-index/blob/master/plugins.md) * [Extend kubectl with plugins](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/) * [youtube: Welcome to the world of kubectl plugins](https://www.youtube.com/watch?v=_W2qZvQT6XY) @@ -360,7 +368,7 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names

-#### Kubectl Plugins and Tools +##### Kubectl Plugins and Tools * [ramitsurana/awesome-kubernetes: Tools 🌟](https://github.com/ramitsurana/awesome-kubernetes#configuration) * [VMware octant](https://github.com/vmware/octant) A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters. * [octant.dev](https://octant.dev/) Visualize your Kubernetes workloads. Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications. @@ -411,9 +419,6 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [managedkube.com: Troubleshooting a Kubernetes ingress](https://managedkube.com/kubernetes/trace/ingress/service/port/not/matching/pod/k8sbot/2019/02/13/trace-ingress.html) ## Kubernetes Tutorials -* [katacoda.com 🌟](https://www.katacoda.com/) Interactive Learning and Training Platform for Software Engineers -* [kubernetesbyexample.com 🌟](http://kubernetesbyexample.com/) -* [Play with Kubernetes 🌟](https://labs.play-with-k8s.com/) A simple, interactive and fun playground to learn Kubernetes * [devopscube.com: Kubernetes Tutorials For Beginners: Getting Started Guide 🌟](https://devopscube.com/kubernetes-tutorials-beginners/) * [Intoduction to Kubernetes (slides, beginners and advanced) 🌟](https://docs.google.com/presentation/d/1zrfVlE5r61ZNQrmXKx5gJmBcXnoa_WerHEnTxu5SMco) * [medium.com: Kubernetes 101: Pods, Nodes, Containers, and Clusters](https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16) @@ -428,15 +433,20 @@ kubectl get secret --namespace=β€Š-o yaml | sed β€˜s/names * [apkplz.net: Learn Kubernetes 1 APK](https://apkplz.net/app/com.LearningSolution.LearnKubernetes) * [Google Play Search](https://play.google.com/store/search?q=learn+kubernetes) * [Dzone refcard: Getting Started with Kubernetes](https://dzone.com/refcardz/kubernetes-essentials) -* [udemy.com: Learn DevOps: The Complete Kubernetes Course 🌟](https://www.udemy.com/learn-devops-the-complete-kubernetes-course) -* [udemy.com: Learn DevOps: Advanced Kubernetes Usage 🌟](https://www.udemy.com/learn-devops-advanced-kubernetes-usage) -* [wardviaene/kubernetes-course 🌟](https://github.com/wardviaene/kubernetes-course) -* [wardviaene/advanced-kubernetes-course 🌟](https://github.com/wardviaene/advanced-kubernetes-course) * [dzone: The complete kubernetes collection tutorials and tools 🌟](https://dzone.com/articles/the-complete-kubernetes-collection-tutorials-and-tools) * [dzone: kubernetes in 10 minutes a complete guide to look](https://dzone.com/articles/kubernetes-in-10-minutes-a-complete-guide-to-look) * [magalix.com: The Best Kubernetes Tutorials 🌟](https://www.magalix.com/blog/the-best-kubernetes-tutorials) * [35 Advanced Tutorials to Learn Kubernetes 🌟](https://medium.com/faun/35-advanced-tutorials-to-learn-kubernetes-dae5695b1f18) +### Online Training +* [katacoda.com 🌟](https://www.katacoda.com/) Interactive Learning and Training Platform for Software Engineers +* [kubernetesbyexample.com 🌟](http://kubernetesbyexample.com/) +* [Play with Kubernetes 🌟](https://labs.play-with-k8s.com/) A simple, interactive and fun playground to learn Kubernetes +* [udemy.com: Learn DevOps: The Complete Kubernetes Course 🌟](https://www.udemy.com/learn-devops-the-complete-kubernetes-course) + * [wardviaene/kubernetes-course 🌟](https://github.com/wardviaene/kubernetes-course) +* [udemy.com: Learn DevOps: Advanced Kubernetes Usage 🌟](https://www.udemy.com/learn-devops-advanced-kubernetes-usage) + * [wardviaene/advanced-kubernetes-course 🌟](https://github.com/wardviaene/advanced-kubernetes-course) + ### Famous Kubernetes resources of 2019 * [Kubernetes for developers](https://www.udemy.com/course/kubernetes-for-developers/) * [Kubernetes for the Absolute Beginners](https://www.udemy.com/course/learn-kubernetes/) @@ -757,6 +767,10 @@ $ sudo mv kops-linux-amd64 /usr/local/bin/kops

+##### Rancher Academy (online training) +- [Rancher Academy 🌟](https://academy.rancher.com/) +- [Rancher Labs launches free training course to meet surging demand for Kubernetes skills](https://www.computing.co.uk/news/4015423/rancher-labs-launches-free-training-course-meet-surging-demand-kubernetes) Five-week course covers how to deploy Rancher and manage Kubernetes + ##### Rancher 2 - [**Rancher 2**](https://rancher.com/docs/rancher/v2.x/en/) diff --git a/docs/linux.md b/docs/linux.md index b302a025..1017c945 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -60,6 +60,7 @@ - [**watchman command**: A File and Directory Watching Tool for Changes](https://www.tecmint.com/watchman-monitor-file-changes-in-linux/) - [**ip command**: How to use IP Command in Linux with Examples](https://linoxide.com/linux-command/use-ip-command-linux/) - [**curl command**: Understanding the Hidden Powers of curl](https://nordicapis.com/understanding-the-hidden-powers-of-curl/) +- [How To Use grep Command In Linux / UNIX 🌟](https://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/) ### Systemd - [Start using systemd as a troubleshooting tool](https://opensource.com/article/20/5/systemd-troubleshooting-tool) While systemd is not really a troubleshooting tool, the information in its output points the way toward solving problems. diff --git a/docs/message-queue.md b/docs/message-queue.md index d936e78d..0bad810a 100644 --- a/docs/message-queue.md +++ b/docs/message-queue.md @@ -120,8 +120,11 @@ - [Understanding Red Hat AMQ Streams components for OpenShift and Kubernetes 🌟](https://developers.redhat.com/blog/2019/12/04/understanding-red-hat-amq-streams-components-for-openshift-and-kubernetes-part-1/) - [Red Hat **AMQ streams** (kafka): Simplify Apache Kafka on Red Hat OpenShift](https://www.redhat.com/en/resources/amq-streams-datasheet) - [Set up **Red Hat AMQ Streams** custom certificates on OpenShift](https://developers.redhat.com/blog/2020/04/01/set-up-red-hat-amq-streams-custom-certificates-on-openshift-update/) +- [speakerdeck.com: Apache Kafka with Red Hat AMQ Streams 🌟](https://speakerdeck.com/mabulgu/apache-kafka-with-red-hat-amq-streams) +
[![AMQ in a nutshell](images/AMQ.png)](https://developers.redhat.com/products/amq/overview) +
Product|Also Known As|Components|URL :------|:----|:--------|:---- @@ -130,6 +133,10 @@ Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|AMQ Broker + AMQ Strea Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|JBoss AMQ 7 (Broker) + Apache Kafka|[Ref](https://access.redhat.com/documentation/en-us/red_hat_amq/6.3/) Red Hat AMQ 7|JBoss AMQ 7 (Broker) or Red Hat AMQ 7 Suite|Apache ActiveMQ Artemis + Apache Kafka|[Ref](https://access.redhat.com/documentation/en-us/red_hat_amq/6.3/) +
+ +
+ ## eBooks - [O'Really: Streaming data](http://streamingsystems.net/) diff --git a/docs/openshift-pipelines.md b/docs/openshift-pipelines.md index fc1958d4..c67857d1 100644 --- a/docs/openshift-pipelines.md +++ b/docs/openshift-pipelines.md @@ -128,4 +128,8 @@
CI/CD with Openshift and Jenkins von Ari LiVigni
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy from Natale Vinto
+ + + + \ No newline at end of file diff --git a/docs/openshift.md b/docs/openshift.md index b6802eb5..38148b92 100644 --- a/docs/openshift.md +++ b/docs/openshift.md @@ -730,6 +730,7 @@ oc login * [udemy.com: Red Hat OpenShift With Jenkins: DevOps For Beginners](https://www.udemy.com/red-hat-openshift) * [udemy.com: OpenShift Enterprise v3.2 Installation and Configuration](https://www.udemy.com/openshift-enterprise-installation-and-configuration/learn/v4/overview) * [udemy.com: Ultimate Openshift (2018) Bootcamp by School of Devops 🌟](https://www.udemy.com/ultimate-openshift-bootcamp-by-school-of-devops/) With Openshift Origin 3.10 / OKD 2018, Kubernetes, Jenkins Pipelines, Prometheus, Istio, Micro Services, PaaS +* [Udemy: OpenShift 4 desde cero 🌟](https://www.udemy.com/course/openshift-4-desde-cero) ## Local Installers * [developers.redhat.com: **Red Hat Container Development Kit**](https://developers.redhat.com/products/cdk/overview/) diff --git a/docs/web-servers.md b/docs/web-servers.md index 13143480..43eae13e 100644 --- a/docs/web-servers.md +++ b/docs/web-servers.md @@ -1,24 +1,44 @@ -# Web Servers +# Web Servers & Reverse Proxies: Apache, Nginx, HAProxy, Traefik and more +- [Introduction](#introduction) - [Apache](#apache) - [Apache Configuration Samples](#apache-configuration-samples) -- [HAProxy](#haproxy) - [Nginx](#nginx) +- [HAProxy](#haproxy) +- [Traefik](#traefik) + +## Introduction +- [Reverse Proxy: What, When, How](https://dzone.com/articles/reverse-proxy-what-when-how) Look at a tutorial that explains reverse proxies. ## Apache +- [Apache](https://httpd.apache.org/) +- [Dzone Refcard: Essential Apache HTTP Server](https://dzone.com/refcardz/essential-apache-http-server) - [nixCraft: How to secure Apache with Let’s Encrypt Certificates on RHEL 8](https://www.cyberciti.biz/faq/how-to-secure-apache-with-lets-encrypt-certificates-on-rhel-8/) +- [Apache Reverse Proxy Guide](https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html) + ### Apache Configuration Samples - [Apache Reverse Proxy for Jenkins](https://github.com/redhatspain/apache-reverse-proxy-jenkins) Reverse Proxy configuration with HTTPS for Jenkins, Sonarqube and Nexus. Based on RHEL 7 Apache config. +## Nginx +- [Nginx](https://www.nginx.com/) +- [Dzone: NGINX: Load Balancing Your Application Made Easy](https://dzone.com/articles/nginx-load-balancing-your-application-made-easy-1) +- [Dzone: Nginx Reverse Proxy Ubuntu 18.04](https://dzone.com/articles/nginx-reverse-proxy-ubuntu-1804) In this post, we will show you how to install Nginx Web Server and configure it as a reverse proxy on Ubuntu Server 18.04 +- [Dzone: DevOps 101: Set Up Nginx in Front of Your Spring Boot Application [Video]](https://dzone.com/articles/devops-101-setup-nginx-in-front-of-your-spring-boo) + +
+ +
+ ## HAProxy -* [https://en.wikipedia.org/wiki/HAProxy](https://en.wikipedia.org/wiki/HAProxy) +* [Wikipedia: HAProxy](https://en.wikipedia.org/wiki/HAProxy) * [haproxy.org](http://www.haproxy.org/) * [dzone.com: How to Configure HAProxy as a Proxy and Load Balancer](https://dzone.com/articles/how-to-configure-ha-proxy-as-a-proxy-and-loadbalan) * [tecmint.com: How to Setup High-Availability Load Balancer with β€˜HAProxy’ to Control Web Server Traffic](https://www.tecmint.com/install-haproxy-load-balancer-in-linux/) * [Tecmint.com: How to Setup HAProxy as Load Balancer for Nginx on CentOS 8](https://www.tecmint.com/setup-nginx-haproxy-load-balancer-in-centos-8/) * [nixCraft: 9 Awesome Open Source Web Performance Software For Linux and Unix-like Systems](https://www.cyberciti.biz/open-source/http-web-performance-proxy-load-balancer-accelerator-software/) -## Nginx -- [Nginx](https://www.nginx.com/) +## Traefik +- [Traefik](http://traefik.io/) +- [Dzone: How to Use the Open Source Tool Traefik to Direct Kubernetes Traffic](https://dzone.com/articles/how-to-use-the-open-source-tool-traefik-to-direct) diff --git a/docs/workfromhome.md b/docs/workfromhome.md index 214cf436..6ee6b366 100644 --- a/docs/workfromhome.md +++ b/docs/workfromhome.md @@ -13,3 +13,6 @@ - [Google meet](https://meet.google.com/) Alternative to Zoom - [Rocket Chat](https://rocket.chat/) Alternative to Slack - [Microsoft Teams](https://www.microsoft.com/microsoft-365/microsoft-teams/group-chat-software) + +## Tips +* [opensource.com: 10 tips for maintaining a DevOps mindset for distributed teams](https://opensource.com/article/20/6/devops-mindset) You can do DevOps while working from home; it's all about the right approach. diff --git a/mkdocs-readthedocs.yml b/mkdocs-readthedocs.yml index a74f2ff9..5ada0f58 100644 --- a/mkdocs-readthedocs.yml +++ b/mkdocs-readthedocs.yml @@ -67,7 +67,7 @@ nav: - Maven & Gradle: maven-gradle.md - SonarQube: sonarqube.md - Nexus & JFrog Artifactory: nexus-jfrog.md - - Web Servers - Apache, HAProxy & Nginx: web-servers.md + - Web Servers & Reverse Proxies: Apache, Nginx, HAProxy, Traefik and more: web-servers.md - Payara App Server: payara.md - Embedded Servlet Containers in SpringBoot: embedded-servlet-containers.md - Selenium, Appium & Zephyr Jira plugin: selenium-appium-zephyr.md @@ -80,6 +80,7 @@ nav: - Monitoring and Performance. Prometheus, Grafana, APMs and more: monitoring.md - Configuration Management: - Ansible: ansible.md + - Chef: chef.md - Liquibase: liquibase.md - Terraform & Packer: terraform.md - Databases on Kubernetes: diff --git a/mkdocs.yml b/mkdocs.yml index 9dd84b27..417a27cf 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,7 +67,7 @@ nav: - Maven & Gradle: maven-gradle.md - SonarQube: sonarqube.md - Nexus & JFrog Artifactory: nexus-jfrog.md - - Web Servers - Apache, HAProxy & Nginx: web-servers.md + - Web Servers & Reverse Proxies: Apache, Nginx, HAProxy, Traefik and more: web-servers.md - Payara App Server: payara.md - Embedded Servlet Containers in SpringBoot: embedded-servlet-containers.md - Selenium, Appium & Zephyr Jira plugin: selenium-appium-zephyr.md @@ -80,6 +80,7 @@ nav: - Monitoring and Performance. Prometheus, Grafana, APMs and more: monitoring.md - Configuration Management: - Ansible: ansible.md + - Chef: chef.md - Liquibase: liquibase.md - Terraform & Packer: terraform.md - Databases on Kubernetes: diff --git a/requirements-readthedocs.txt b/requirements-readthedocs.txt index 0a4f5e3f..6d2f0772 100644 --- a/requirements-readthedocs.txt +++ b/requirements-readthedocs.txt @@ -1,2 +1,2 @@ mkdocs==1.1.2 - +sphinx-rtd-theme==0.4.3