Skip to content

Commit

Permalink
Merge branch 'main' into fharper/reaction
Browse files Browse the repository at this point in the history
  • Loading branch information
fharper authored May 28, 2024
2 parents df1972c + aa41d0c commit dcbb6e2
Show file tree
Hide file tree
Showing 19 changed files with 540 additions and 11 deletions.
6 changes: 6 additions & 0 deletions .commitlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parserPreset": "conventional-changelog-conventionalcommits",
"rules": {
"header-max-length": [2, "always", 72]
}
}
19 changes: 19 additions & 0 deletions .github/workflows/check-commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Check Commit Messages
on: push

jobs:
commitlint:
runs-on: ubuntu-latest
steps:

- name: Checkout the code
uses: actions/[email protected]
with:
fetch-depth: 0

- name: Lint the commits
uses: wagoid/[email protected]
with:
configFile: .commitlint.json
failOnWarnings: true
21 changes: 21 additions & 0 deletions .github/workflows/check-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Markdown Links Validation

on: [push, workflow_dispatch]

jobs:
markdown-link-check:

runs-on: ubuntu-latest
steps:

- name: Checkout this repository
uses: actions/[email protected]

- name: Validate Links Markdown
if: always()
uses: gaurav-nelson/[email protected]
with:
config-file: '.markdownlinkcheck.json'
use-quiet-mode: 'yes'
file-extension: .md
20 changes: 20 additions & 0 deletions .github/workflows/check-markdown.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Markdown Syntax Validation

on: [push, workflow_dispatch]

jobs:
markdown-check:

runs-on: ubuntu-latest
steps:
- name: Checkout this repository
uses: actions/[email protected]

- name: Validate Markdown
uses: DavidAnson/[email protected]
with:
command: config
globs: |
.markdownlint.json
**.md
14 changes: 14 additions & 0 deletions .github/workflows/check-signed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Validate if commits in PR are signed
on: pull_request

jobs:
signed-commits-check:
runs-on: ubuntu-latest
steps:

- name: Check out code
uses: actions/[email protected]

- name: Check signed commits in PR
uses: 1Password/check-signed-commits-action@v1
26 changes: 26 additions & 0 deletions .github/workflows/check-syntax.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Syntax Validation
on: [push, workflow_dispatch]

jobs:
syntax-check:
name: vale
runs-on: ubuntu-latest
steps:
- name: Checkout this repository
uses: actions/[email protected]

- name: Get latest version of Vale
id: lastversion
uses: dvershinin/[email protected]
with:
repository: errata-ai/vale

- name: Install Vale
run: |
wget https://github.com/errata-ai/vale/releases/download/v${{ steps.lastversion.outputs.last_version }}/vale_${{ steps.lastversion.outputs.last_version }}_Linux_64-bit.tar.gz -O vale.tar.gz
tar -xvzf vale.tar.gz vale
rm vale.tar.gz
- name: Validate the syntax
run: ./vale --config=.vale.ini *.md
19 changes: 19 additions & 0 deletions .github/workflows/check-yaml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: YAML Validation
on: [push, workflow_dispatch]

jobs:
yaml-check:
runs-on: ubuntu-latest
steps:

- name: Checkout this repository
uses: actions/[email protected]

- name: Lint YAML files
uses: karancode/[email protected]
with:
yamllint_config_datapath: .yamllint.yml
yamllint_strict: true
env:
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45 changes: 45 additions & 0 deletions .github/workflows/optimize-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Optimize the Images
on:
push:
branches:
- main
paths:
- "**.png"
- "**.jpe?g"
- "**.svg"
- "**.gif"
workflow_dispatch:

jobs:
optimize-images:
runs-on: ubuntu-latest

steps:
- name: Checkout the docs repo
uses: actions/[email protected]

- name: Optimize images
id: optimize-images
uses: Doist/optimize-images-action@v2

- name: Import the kube1st GPG key
id: import-gpg
uses: crazy-max/[email protected]
with:
git_committer_name: "kube1st"
git_committer_email: "${{ secrets.GPG_EMAIL }}"
gpg_private_key: "${{ secrets.GPG_PRIVATE_KEY }}"
passphrase: "${{ secrets.GPG_PASSPHRASE }}"
git_user_signingkey: true
git_commit_gpgsign: true

- name: Create a PR for the new version
uses: peter-evans/[email protected]
with:
token: ${{ secrets.DOCS_PERMISSIONS_TOKEN }}
committer: "kube1st <${{ secrets.GPG_EMAIL }}>"
branch: "optimize/images"
title: "chore: optimize new images with lossless compression"
body: ""
commit-message: "docs: create v${{ github.event.inputs.version }} documentation\n\n${{ steps.optimize-images.outputs.summary }}"
70 changes: 70 additions & 0 deletions .markdownlinkcheck.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"ignorePatterns": [
{
"pattern": "^https://www.linkedin.com.*"
},
{
"pattern": ".*\\]$"
},
{
"pattern": "https://www.enterprisetimes.co.uk*"
},
{
"pattern": "https://www.pexels.com*"
},
{
"pattern": "https://www.pngrepo.com"
},
{
"pattern": "https://tdwi.org*"
},
{
"pattern": "https://www.fakepersongenerator.com*"
},
{
"pattern": "https://dash.readme.com*"
},
{
"pattern": "https://cfpland.com*"
},
{
"pattern": "https://n8n.io*"
},
{
"pattern": "https://confs.tech*"
},
{
"pattern": "https://businesswire.com*"
},
{
"pattern": "https://www.tmcnet.com*"
},
{
"pattern": "https://.*kubefirst.dev*"
},
{
"pattern": "http://localhost*"
},
{
"pattern": "https://gitlab.com*"
},
{
"pattern": "https://.*vultr.com*"
}
],
"replacementPatterns": [
{
"pattern": "{require(\"(*)\").default}",
"replacement": "*"
},
{
"pattern": "^/img/*",
"replacement": "/static/img/*"
}
],
"timeout": "30s",
"retryOn429": true,
"retryCount": 2,
"fallbackRetryDelay": "1m",
"aliveStatusCodes": [200, 429]
}
12 changes: 12 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"MD013": false,
"MD024": false,
"MD025": false,
"MD033": false,
"MD049": {
"style": "underscore"
},
"MD050": {
"style": "asterisk"
}
}
13 changes: 13 additions & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
StylesPath = styles
Vocab = base

[formats]
mdx = md

[*.md]
BasedOnStyles = Custom
Packages = alex
IgnoredScopes = code
BlockIgnores = (?s) *(import.*?\n), \
(?s) *(### gitops\n)
TokenIgnores = (?s) *(export.*?\n)
10 changes: 10 additions & 0 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
extends: default

rules:
line-length: disable
truthy:
check-keys: false

ignore: |
charts/*
36 changes: 25 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Kubefirst Live
# kubefirst Live

![Kubefirst Logo](img/kubefirst-light.svg#gh-dark-mode-only)![Kubefirst Logo](img/kubefirst-dark.svg#gh-light-mode-only)
![kubefirst Logo](img/kubefirst-light.svg#gh-dark-mode-only)![kubefirst Logo](img/kubefirst-dark.svg#gh-light-mode-only)

We have a [biweekly livestream](https://www.youtube.com/@kubefirst) named Kubefirst Live, where we are discussing not only kubefirst but anything cloud native.
We have a [biweekly livestream](https://www.youtube.com/@kubefirst) named kubefirst Live, where we are discussing not only kubefirst but anything cloud native.

Here are some guidelines for our guests.

Expand All @@ -26,7 +26,7 @@ The goal of the livestream is simple: we want to create valuable, fun, and educa

### Ambiance

If you don't know us much yet, we are a bunch of happy people doing something we love. We are tackling serious problems in the cloud native space, without taking ourselves seriously. Kubefirst Live is no different: we are laid back. Do not stress out, it will be a fun discussion between friends. Demos may go wrong; that's OK. Internet connections may be flaky: that's OK. You may forget to say something important: that's OK. That's real life, so again, let's have fun, and things will be good.
If you don't know us much yet, we are a bunch of happy people doing something we love. We are tackling serious problems in the cloud native space, without taking ourselves seriously. kubefirst Live is no different: we are laid back. Do not stress out, it will be a fun discussion between friends. Demos may go wrong; that's OK. Internet connections may be flaky: that's OK. You may forget to say something important: that's OK. That's real life, so again, let's have fun, and things will be good.

### Format

Expand Down Expand Up @@ -58,19 +58,19 @@ To ensure the preparation and the livestream go well, we'll need some things fro

### Platform

We use [StreamYard](https://streamyard.com) as our livestream platform. The platform will stream the show on Kubefirst [YouTube channel](https://www.youtube.com/@kubefirst), [Twitter](https://twitter.com/kubefirst) account, [LinkedIn](https://www.linkedin.com/company/kubefirst/) page, [Twitch](https://www.twitch.tv/kubefirst) channel, and on [Kubeshop YouTube channel](https://www.youtube.com/@thekubeshop) (our parent company). You'll receive the link a couple of days before the livestream: you should open it to test everything is working. You'll need to give permission access to your webcam and microphone.
We use [StreamYard](https://streamyard.com) as our livestream platform. The platform will stream the show on kubefirst [YouTube channel](https://www.youtube.com/@kubefirst), [Twitter](https://twitter.com/kubefirst) account, [LinkedIn](https://www.linkedin.com/company/kubefirst/) page, [Twitch](https://www.twitch.tv/kubefirst) channel, and on [Kubeshop YouTube channel](https://www.youtube.com/@thekubeshop) (our parent company). You'll receive the link a couple of days before the livestream: you should open it to test everything is working. You'll need to give permission access to your webcam and microphone.

All [you need](https://support.streamyard.com/hc/en-us/articles/360043291612-Guest-instructions) is a modern browser, with a proper internet connection, a microphone, webcam, and headphones. We highly suggest you use headphones/earphones so there's no echo happening due to the microphone picking audio from the livestream.

[![Screenshot of StreamYard configurations](img/streamyard.png)](https://youtu.be/H6YXleBZVRU)

_Click on the image for [a small video](https://youtu.be/H6YXleBZVRU) showing how to configure StreamYard_

When asked to enter your name: you can either add your full name or just your first one, whatever floats your boat. We only ask that if you are using Twitter, to add ` | @username` after your name. Lastly, be sure that in `Settings` > `Camera`, the `Camera resolution` combobox has `Full High Definition (1080p)` selected, for best video quality.
When asked to enter your name: you can either add your full name or just your first one, whatever floats your boat. We only ask that if you are using Twitter, to add `| @username` after your name. Lastly, be sure that in `Settings` > `Camera`, the `Camera resolution` combobox has `Full High Definition (1080p)` selected, for best video quality.

### Promotion

A couple of days before the stream, we will share on our [Twitter account](https://twitter.com/kubefirst), [LinkedIn page](https://www.linkedin.com/company/kubefirst/), [Slack community](https://kubefirst.io/slack), and in other related communities. We will tag your company. To help us spread the words, a retweet and reshare with your company's social media or even your personal ones are more than welcome.
A couple of days before the stream, we will share on our [Twitter account](https://twitter.com/kubefirst), [LinkedIn page](https://www.linkedin.com/company/kubefirst/), [Slack community](https://kubefirst.io/slack), and in other related communities. We will tag your company. To help us spread the words, a retweet and repost with your company's social media or even your personal ones are more than welcome.

### During the Show

Expand All @@ -90,23 +90,37 @@ Lastly, we try to keep things fun, and one way to do that is by using some audio

The previous items were specific to your participation to our livestream. We also want to share with you generic tips which could help you, and the audience to have a better experience when you are participating to any livestream, including ours.

### Prepare your computer

- Reboot your machine: it ensures things will run smoothly.
- Close all unneeded applications: it frees up some memory, and CPU, which will be needed for the video, and may make any demos faster.
- If you will use the browser for showing or demo something, close all unneeded the tabs: it ensures the viewers are focusing on the right thing, and free up resources.
- Zoom your browser tabs as when the page is text heavy, it may not show well (i.e.: viewing a GitHub repository content in the browser).
- Zoom the font in your IDE, terminal, and anything text-based so it shows well on any viewers' screen.
- As mentioned in the [Platform section](#platform), use earphones or headphones to prevent audio feedback. To check the audio quality of your microphone, use this [free tool from Adobe](https://podcast.adobe.com/miccheck).
- Ensure the lightning is good which may mean to close the blinds so there's no sun reflections on the webcam, open your ceiling lights even if it's daytime or anything else that can help you see your face properly.
- Activate the Do Not Disturb / Focus mode so there's no notification popups while you share your screen, nor any sound from notifications. There are tools that do this automatically for you, like the free [Muzzle application](https://muzzleapp.com) for macOS.
- Do the same with your phone, or at a minimum, put it on vibration. If you do the latter, don't leave it on the desk to prevent vibrations noises.

### Prepare your environment

- As mentioned in the [Platform section](#platform), use earphones or headphones to prevent audio feedback. To check the audio quality of your microphone, use this [free tool from Adobe](https://podcast.adobe.com/miccheck).
- Ensure the lightning is good which may mean to close the blinds so there's no sun reflections on the webcam, open your ceiling lights even if it's daytime or anything else that can help you see your face properly.
- If you are not living alone or are at the office, find a room where you can be alone, and close the door if possible. It will also be better for them. With that said, if your kids or animals want to be on the show, we're good with that!

### Prepare your demonstration

- If your demo is complicated, require multiple steps, is too long, or if you think something could go wrong, for whatever reasons, prepare a final version with the end result as a safeguard. An example, when we want to show how to create an AWS cluster with kubefirst, we will show how to get started, but because the full process is about 25 minutes (multiple resources are needed on AWS to create a production-ready Kubernetes cluster), we will have another cluster already created.
- If you are using macOS Sonoma or later version, you should [deactivate the reactions feature](https://support.apple.com/en-ca/105117#reactions).

### During the show

- If you have multiple monitors, ensure that the one you use to do your demonstration and the one you use for the StreamYard interface is the one where the webcam is, so you look like you talk to us, and the audience, and not someone else.
- If there are noises you can't control, mute yourself when you're not speaking. Same goes if you type on your keyboard when you are not doing a demonstration at the moment.
- When you share your screen, StreamYard (or your browser) will show a window overlay at the bottom of your screen written something along the lines of "streamyard.com is sharing your screen". If you have multiple monitors, move it to the monitor you aren't sharing in the stream. You also have the option to hide it: if you do, you can stop sharing within the StreamYard interface or Fred can do it for you.

## Anything else?

If at any moments you need help with your slides, wants some feedback, have questions about kubefirst or the livestream itself, contact [Fred](mailtohttps://fred.dev@kubeshop.io).
If at any moments you need help with your slides, wants some feedback, have questions about kubefirst or the livestream itself, contact [Fred](mailto:fred@kubeefirst.io).

Looking forward to discussing your technology, and dropping some knowledge bomb to our audience with you.

— The Kubefirst team
— The kubefirst team
Binary file added styles/.DS_Store
Binary file not shown.
Loading

0 comments on commit dcbb6e2

Please sign in to comment.