Skip to content
Permalink
Browse files

new version using hugo

  • Loading branch information
vbehar committed Dec 18, 2019
1 parent c47b87c commit 98a2e5d04bf7f435f87b23eb0a3c1aaa0f245759
Showing with 1,771 additions and 362 deletions.
  1. +40 −0 .github/workflows/publish.yml
  2. +1 −0 .gitignore
  3. +3 −0 .gitmodules
  4. +0 −10 404.html
  5. +0 −1 CNAME
  6. +0 −3 README
  7. +26 −0 README.md
  8. +0 −5 _config.yml
  9. +75 −0 config.toml
  10. +15 −0 content/_index.md
  11. +6 −0 content/projects/_index.md
  12. +7 −0 content/projects/contributions/_index.md
  13. +22 −0 content/projects/contributions/elastic4s.md
  14. +19 −0 content/projects/contributions/helm.md
  15. +26 −0 content/projects/contributions/jenkins-x.md
  16. +20 −0 content/projects/contributions/kaniko.md
  17. +23 −0 content/projects/contributions/openshift.md
  18. +16 −0 content/projects/contributions/osiris.md
  19. +7 −0 content/projects/creations/_index.md
  20. +20 −0 content/projects/creations/cascading-flapi.md
  21. +20 −0 content/projects/creations/flowdock2es.md
  22. +18 −0 content/projects/creations/jenkins-rundeck-plugin.md
  23. +70 −0 content/projects/creations/openshift-projects.md
  24. +18 −0 content/projects/creations/parisdevops.md
  25. +18 −0 content/projects/creations/rundeck-api-java-client.md
  26. +25 −0 content/publications/2011-03-meetup-paris-devops.md
  27. +22 −0 content/publications/2011-04-article-cd.md
  28. +27 −0 content/publications/2017-11-meetup-paris-api.md
  29. +21 −0 content/publications/2019-01-article-from-jenkins-to-jenkins-x.md
  30. +17 −0 content/publications/2019-02-article-osiris.md
  31. +33 −0 content/publications/2019-02-meetup-cncf.md
  32. +27 −0 content/publications/2019-03-meetup-paris-cd.md
  33. +23 −0 content/publications/2019-04-cdconference.md
  34. +27 −0 content/publications/2019-06-openrday.md
  35. +21 −0 content/publications/2019-10-interview-lmi.md
  36. +22 −0 content/publications/2019-11-scaleup360.md
  37. +29 −0 content/publications/2019-12-dwjw-lisbon.md
  38. +25 −0 content/publications/2019-12-interview-dwjw-lisbon.md
  39. +6 −0 content/publications/_index.md
  40. +51 −0 content/search.md
  41. +0 −76 css/cv.css
  42. +11 −0 cv/.gitignore
  43. +21 −0 cv/LICENSE
  44. +19 −0 cv/README.md
  45. +5 −0 cv/default.nix
  46. +0 −204 cv/index.html
  47. +16 −0 cv/shell.nix
  48. BIN cv/vincent-behar.odt
  49. BIN cv/vincent-behar.pdf
  50. +136 −0 cv/vincent-behar.tex
  51. +20 −0 data/accomplishments.json
  52. +8 −0 data/education.json
  53. +66 −0 data/experience.json
  54. +14 −0 data/skills.json
  55. BIN favicon.ico
  56. BIN images/blog.png
  57. BIN images/github.png
  58. BIN images/mail.png
  59. BIN images/pdf.png
  60. BIN images/phone.png
  61. BIN images/twitter.png
  62. BIN images/xkcd-404.gif
  63. +0 −33 index.html
  64. +58 −0 layouts/_default/baseof.html
  65. +22 −0 layouts/_default/section.html
  66. +39 −0 layouts/index.html
  67. +43 −0 layouts/partials/about.html
  68. +64 −0 layouts/partials/nav.html
  69. +28 −0 layouts/partials/portfolio/accomplishments.html
  70. +28 −0 layouts/partials/portfolio/experience.html
  71. +28 −0 layouts/partials/portfolio/skills.html
  72. +16 −0 layouts/partials/sectionSummary.html
  73. +5 −0 layouts/shortcodes/dailymotion.html
  74. +5 −0 layouts/shortcodes/slideshare.html
  75. +5 −0 layouts/shortcodes/videopress.html
  76. +0 −5 robots.txt
  77. +0 −25 sitemap.xml
  78. +1 −0 static/CNAME
  79. +155 −0 static/css/resume.css
  80. +107 −0 static/css/tweaks.css
  81. BIN static/favicon.ico
  82. BIN static/img/2011-03-meetup-paris-devops.png
  83. BIN static/img/2011-04-article-cd.png
  84. BIN static/img/2017-11-meetup-paris-api.png
  85. BIN static/img/2019-01-article-from-jenkins-to-jenkins-x.jpg
  86. BIN static/img/2019-02-article-osiris.png
  87. BIN static/img/2019-02-meetup-cncf.jpg
  88. BIN static/img/2019-03-meetup-paris-cd.jpg
  89. BIN static/img/2019-04-cdconference.png
  90. BIN static/img/2019-06-openrday.jpg
  91. BIN static/img/2019-10-interview-lmi.png
  92. BIN static/img/2019-11-scaleup360.png
  93. BIN static/img/2019-12-dwjw-lisbon.jpg
  94. BIN static/img/2019-12-interview-dwjw-lisbon.png
  95. BIN static/img/axags.png
  96. BIN static/img/dailymotion.png
  97. BIN static/img/exalead.png
  98. BIN static/img/oss-project-cascading.png
  99. BIN static/img/oss-project-elastic4s.png
  100. BIN static/img/oss-project-elasticsearch.png
  101. BIN static/img/oss-project-flowdock2es.png
  102. BIN static/img/oss-project-helm.png
  103. BIN static/img/oss-project-jenkins-x.png
  104. BIN static/img/oss-project-jenkins.png
  105. BIN static/img/oss-project-kaniko.png
  106. BIN static/img/oss-project-openshift-dashboard.png
  107. BIN static/img/oss-project-openshift.png
  108. BIN static/img/oss-project-osiris.png
  109. BIN static/img/oss-project-parisdevops.png
  110. BIN static/img/oss-project-rundeck.png
  111. BIN static/img/rtl.webp
  112. BIN static/img/vbehar.jpg
  113. +4 −0 static/robots.txt
  114. +1 −0 themes/hugo-resume
@@ -0,0 +1,40 @@
name: publish

on:
push:
branches:
- sources

jobs:
publish:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
with:
submodules: true

- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.62.0'
extended: true
- name: Build website with Hugo
run: hugo --minify

- name: Setup Nix
uses: cachix/install-nix-action@v6
- name: Build CV with lualatex in Nix
# need to run it twice to get the `LastPage`
run: |
nix-shell --command 'lualatex -interaction=nonstopmode vincent-behar.tex; lualatex -interaction=nonstopmode vincent-behar.tex'
cp vincent-behar.pdf ../_site/cv/vincent-behar.pdf
working-directory: ./cv

- name: Deploy
uses: docker://peaceiris/gh-pages:v2
with:
emptyCommits: false
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: master
PUBLISH_DIR: ./_site
@@ -1 +1,2 @@
/.cache
_site/
@@ -0,0 +1,3 @@
[submodule "themes/hugo-resume"]
path = themes/hugo-resume
url = https://github.com/eddiewebb/hugo-resume.git

This file was deleted.

1 CNAME

This file was deleted.

3 README

This file was deleted.

@@ -0,0 +1,26 @@
# vincent.behar.name

![](https://github.com/vbehar/vbehar.github.com/workflows/publish/badge.svg)

Sources for the [vincent.behar.name](https://vincent.behar.name/) website:
- created with [Hugo](https://gohugo.io/)
- using the [Resume](https://themes.gohugo.io/hugo-resume/) theme
- built with [GitHub Actions](https://github.com/features/actions)
- and deployed on [GitHub Pages](https://pages.github.com/)

See the [cv](cv/README.md) directory for the sources of the PDF version of my resume.

## Local setup

- The [hugo-resume](https://github.com/eddiewebb/hugo-resume) theme is setup as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules), so you should clone this repository with the `--recurse-submodules` flag.
- Install [Hugo](https://gohugo.io/) - see the [.github/workflows/publish.yml](.github/workflows/publish.yml) file for the supported version of Hugo to use.
- Run `hugo` to build the HTML pages in the `_site` directory - see the [config.toml](config.toml) file for the `publishDir` configuration.
- Run `hugo server` to start a server on <http://localhost:1313/>.

## Continuous Delivery

Every push to the `sources` branch will rebuild the whole website and the PDF resume, and write the result in the [master](https://github.com/vbehar/vbehar.github.com/tree/master) branch.

### About branches

The default branch is `sources` (instead of `master`) because GitHub Pages only supports reading HTML content from the `master` branch - for user's pages. This is why I'm writing the sources in the `sources` branch, and publishing the generated HTML pages to the `master` branch.

This file was deleted.

@@ -0,0 +1,75 @@
baseURL = ""
languageCode = "en-us"
title = "Vincent Behar"
theme = "hugo-resume"
publishDir = "_site"
resourceDir = ".cache/resources"
enableGitInfo = true

pygmentsCodeFences = true
pygmentsCodeFencesGuessSyntax = true

[params]
firstName = "Vincent"
lastName = "Behar"
address = "Paris, France"
phone = "00 33 6 89 85 69 80"
contactNote = "Dev Tools Engineer"
profileImage = "img/vbehar.jpg"
email = "vincent@behar.name"
description = "Software Engineer with 12+ years of experience using various languages (Go, Java, ...) with a DevOps mindset. Building CI/CD pipelines and tooling to automate delivery using public cloud. Open-source contributor and speaker/blogger."
favicon = "favicon.ico"
# what sections
showSkills = true
showProjects = true
showOpenSource = true
showPublications = true
showAccomplishments = true
showExperience = true
showEducation = true

showBlog = false
showQr = false

# do you want to show git hash on page footer and link to repo? Add commit prefix here.
gitCommitPrefix = "https://github.com/vbehar/vbehar.github.com/commit"

[[params.handles]]
name = "Download Resume"
link = "/cv/vincent-behar.pdf"
customIcon = "file-pdf"

[[params.handles]]
name = "Twitter"
link = "https://twitter.com/vbehar/"

[[params.handles]]
name = "GitHub"
link = "https://github.com/vbehar/"

[[params.handles]]
name = "Medium"
link = "https://medium.com/@vbehar"

[[params.handles]]
name = "Sourcerer"
link = "https://sourcerer.io/vbehar/"
brandIcon = "osi"

[[params.handles]]
name = "Keybase"
link = "https://keybase.io/vbehar"

[[params.handles]]
name = "Fork this repo on GitHub"
link = "https://github.com/vbehar/vbehar.github.com"
customIcon = "code-branch"

[params.google.analytics]
trackerID = "UA-23435653-1"

[outputs]
home = ["HTML", "JSON"]

[taxonomies]
tag = "tags"
@@ -0,0 +1,15 @@
---
title: "Vincent Behar"
date: 2019-12-19T18:56:13-05:00
sitemap:
priority : 1.0

aliases:
- /cv/

outputs:
- html
- rss
- json
---
Software Engineer with 12+ years of experience using various languages (Go, Java, ...) with a DevOps mindset. Building CI/CD pipelines and tooling to automate delivery using public cloud. Open-source contributor and speaker/blogger.
@@ -0,0 +1,6 @@
---
title: "Projects"
sitemap:
priority : 0.9
---
This section contains [projects I created](/projects/creations) and [projects I contributed to](/projects/contributions):
@@ -0,0 +1,7 @@
---
title: "Open Source Contributions"
sitemap:
priority : 0.5
weight: 20
---
My main contributions to existing open-source projects. See also my [GitHub account](https://github.com/vbehar) for more.
@@ -0,0 +1,22 @@
---
title: "Elastic4s"
date: 2014-01-01
featured: false
description: "In 2014, while working with Scala and Elasticsearch, I contributed a few features to the Elastic4s open-source project."
tags: ["Elasticsearch","Scala"]
image: "/img/oss-project-elastic4s.png"
link: "https://github.com/sksamuel/elastic4s"
weight: 1500
sitemap:
priority : 0.8
---

[Elastic4s](https://github.com/sksamuel/elastic4s) is an [Elasticsearch](https://github.com/elastic/elasticsearch) client for [Scala](https://www.scala-lang.org/).

In 2014, while working on a Scala-based CMS - Content Management System - with an integrated search engine based on Elasticsearch, I found myself using the Elastic4s open-source project. And as it often happens, not all our use-cases were covered by the existing features, so I contributed a few new features.

See [all my contributions](https://github.com/sksamuel/elastic4s/issues?q=author%3Avbehar).

At some point I also became [a committer on the project](https://github.com/sksamuel/elastic4s/issues/116#issuecomment-37792505).

While I don't use this project anymore, it is still alive and [used by companies](https://github.com/sksamuel/elastic4s#used-by) such as Barclays Bank, HSBC, Shazaam, Deutsche Bank, Goldman Sachs, Canal +, Soundcloud, ...
@@ -0,0 +1,19 @@
---
title: "Helm Ecosystem"
date: 2019-01-01
featured: true
description: "I contributed to various open-source projects in the Helm ecosystem: Helmfile, Helm charts, Helm Tiller plugin."
tags: ["Kubernetes","Helm","Go"]
image: "/img/oss-project-helm.png"
link: "https://helm.sh/"
weight: 600
sitemap:
priority : 0.8
---

[Helm](https://helm.sh/) is a package manager for [Kubernetes](https://kubernetes.io/). It is the tool most people use to package their applications, and then deploy on Kubernetes. It is also the core of an ecosystem growing every day: plugins, wrapper tools, charts, ...

I have been contributing to a few open-source projects in the Helm ecosystem:
- [Helmfile](https://github.com/roboll/helmfile/issues?q=author%3Avbehar) - a "*declarative spec for deploying helm charts*"
- [Helm Tiller plugin](https://github.com/rimusz/helm-tiller/issues?q=author%3Avbehar) - a plugin for running Helm in "tiller-less" mode in Helm 2
- [Helm charts](https://github.com/helm/charts/issues?q=author%3Avbehar) - various contributions to common charts I've been using
@@ -0,0 +1,26 @@
---
title: "Jenkins X"
date: 2018-09-01
featured: true
description: "I made plenty of contributions to Jenkins X and all its components, including bug reports, bug fixes, new features, and promotion through blog posts and talks."
tags: ["Jenkins X","Kubernetes","Go"]
image: "/img/oss-project-jenkins-x.png"
link: "https://jenkins-x.io/"
weight: 500
sitemap:
priority : 0.8
---

[Jenkins X](https://jenkins-x.io/) is a CI/CD platform on top of [Kubernetes](https://kubernetes.io/). I started using it while it was still a young project, in september 2018.

I made various contributions to different components of this open-source project:
- [jx](https://github.com/jenkins-x/jx/issues?q=author%3Avbehar) - the core component
- [jenkins-x-platform](https://github.com/jenkins-x/jenkins-x-platform/issues?q=author%3Avbehar) - the [Helm](https://helm.sh/) chart for Jenkins X
- [jenkins-x-builders](https://github.com/jenkins-x/jenkins-x-builders/issues?q=author%3Avbehar) - the container images definitions
- [jenkins-x-image](https://github.com/jenkins-x/jenkins-x-image/pulls?q=author%3Avbehar) - the container image definition for [Jenkins](https://jenkins.io/)
- [exposecontroller](https://github.com/jenkins-x/exposecontroller/issues?q=author%3Avbehar) - a component used to automatically exposes services to the Internet
- [updatebot](https://github.com/jenkins-x/updatebot/issues?q=author%3Avbehar) - a tool used to create Pull Requests to propagate releases when working with Gitops

I also wrote an [asdf](https://asdf-vm.com/) plugin for Jenkins X: [asdf-jx](https://github.com/vbehar/asdf-jx).

But contributing is not limited to code. I also wrote [blog posts](/tags/blog-post/) and gave [various talks](/tags/talk/) about Jenkins X, and our experience using it at [Dailymotion](https://dailymotion.com/).
@@ -0,0 +1,20 @@
---
title: "Kaniko"
date: 2018-09-01
featured: false
description: "In 2018 I fixed some bugs in Kaniko, related to multi-stage builds and container re-use."
tags: ["Kaniko","Go"]
image: "/img/oss-project-kaniko.png"
link: "https://github.com/GoogleContainerTools/kaniko"
weight: 800
sitemap:
priority : 0.8
---

[Kaniko](https://github.com/GoogleContainerTools/kaniko) is "*a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster*".

In 2018 when I started using [Jenkins X](https://jenkins-x.io/) to power our CI/CD pipelines on [Kubernetes](https://kubernetes.io/), I quickly identified Kaniko to build our container images.

Unfortunately, as explained in the [Dailymotion's journey from Jenkins to Jenkins X](/publications/2019-01-article-from-jenkins-to-jenkins-x/) blog post I wrote, I found a few bugs which [I fixed in Kaniko](https://github.com/GoogleContainerTools/kaniko/issues?q=author%3Avbehar):
- [Fix for multi-stage builds](https://github.com/GoogleContainerTools/kaniko/pull/369)
- [Fix to allow building multiple images using the same container](https://github.com/GoogleContainerTools/kaniko/pull/370)
@@ -0,0 +1,23 @@
---
title: "OpenShift"
date: 2015-07-01
featured: false
description: "In 2015-2016 I contributed to the OpenShift Origin open-source project: new features, bug fixes, bug reports and documentation."
tags: ["OpenShift","Kubernetes","Go"]
image: "/img/oss-project-openshift.png"
link: "https://github.com/openshift/origin"
weight: 1000
sitemap:
priority : 0.8
---

[OpenShift](https://www.okd.io/) is a [Kubernetes](https://kubernetes.io/) "distribution" developed by [Red Hat](https://www.redhat.com/).

In the summer of 2015 I started using this newly announced platform, and as always when working with new projects, found a lot of opportunities for improvements.

This is how I contributed new features, bug fixes, bug reports and documentation in:
- [OpenShift Origin](https://github.com/openshift/origin/issues?q=author%3Avbehar) - including [support for custom `Dockerfile` path when building Docker images](https://github.com/openshift/origin/pull/5976)
- [OpenShift source-to-image](https://github.com/openshift/source-to-image/issues?q=author%3Avbehar) - the tool used to build container images without using Dockerfiles
- [OpenShift Documentation](https://github.com/openshift/openshift-docs/issues?q=author%3Avbehar)

I also contributed to the [OpenShift completion for oh-my-zsh](https://github.com/chmouel/oh-my-zsh-openshift) plugin.
@@ -0,0 +1,16 @@
---
title: "Osiris"
date: 2018-12-01
featured: false
description: "In 2018 and 2019 I contributed multiple new features and bug fixes to Osiris - a general purpose, scale-to-zero component for Kubernetes."
tags: ["Kubernetes","Osiris","Go"]
image: "/img/oss-project-osiris.png"
link: "https://github.com/deislabs/osiris"
weight: 700
sitemap:
priority : 0.8
---

[Osiris](https://github.com/deislabs/osiris) is "*a general purpose, scale-to-zero component for Kubernetes*". As explained in the [Zero cost preview environments on Kubernetes with Jenkins X and Osiris](/publications/2019-02-article-osiris/) blog post I wrote, Osiris is an excellent tool to keep a [Jenkins X](https://jenkins-x.io/) cluster size under control.

I [contributed multiple new features and bug fixes to Osiris](https://github.com/deislabs/osiris/issues?q=author%3Avbehar).
@@ -0,0 +1,7 @@
---
title: "Creations"
sitemap:
priority : 0.5
weight: 10
---
The main open-source projects I created. See also the list of my ["source" repositories on GitHub](https://github.com/vbehar?tab=repositories&type=source) for more.
@@ -0,0 +1,20 @@
---
title: "Cascading Flapi"
date: 2013-05-22
featured: false
description: "In 2013, I wrote a wrapper on top of the Cascading project to provide a fluent API."
tags: ["Cascading","Java"]
image: "/img/oss-project-cascading.png"
link: "https://github.com/vbehar/cascading-flapi"
weight: 1000
sitemap:
priority : 0.8
---

In 2013, we were using Hadoop at [Exalead](https://www.exalead.com/), writing data processing pipelines with [Cascading](https://www.cascading.org/projects/cascading/). But Cascading's Java API was... not very friendly to use.

I wanted a more "fluent" API, so I wrote an OSS project on top of Cascading to provide a fluent API. I used [Flapi](https://github.com/UnquietCode/Flapi), which is an API generator for Java, "generating 'smart' interfaces for improved fluency in your code".

The [cascading-flapi](https://github.com/vbehar/cascading-flapi) project was used at Exalead to help write our data processing pipelines... until switching to Spark.

Note that after talking about this API with the maintainers of Cascading, they started building their own wrapper a few months later: [Fluid](https://www.cascading.org/projects/fluid/).
@@ -0,0 +1,20 @@
---
title: "Flowdock to Elasticsearch"
date: 2014-04-17
featured: false
description: "In 2014 I created a small Scala project to import data from Flowdock into Elasticsearch, so that I could play with Kibana dashboards and visualizations."
tags: ["Scala","Elasticsearch","Kibana","Flowdock"]
image: "/img/oss-project-elasticsearch.png"
link: "https://github.com/vbehar/flowdock2es"
weight: 900
sitemap:
priority : 0.8
---

In 2014, I wanted to play with [Elasticsearch](https://www.elastic.co/products/elasticsearch) and [Kibana](https://www.elastic.co/products/kibana), so I created a small project to import data from a [Flowdock](https://www.flowdock.com/) instance into Elasticsearch, and then build a Kibana dashboard to visualize the Flowdock usage.

It is written in [Scala](https://www.scala-lang.org/) and uses the Flowdock REST API to retrieve data, and the [Elastic4s](https://github.com/sksamuel/elastic4s) scala lib to populate the Elasticsearch index. I also [contributed to the Elastic4s open-source project](/projects/contributions/elastic4s/).

Here is a screenshot of the Kibana dashboard:

![Flowdock2es Screenshot](/img/oss-project-flowdock2es.png)

0 comments on commit 98a2e5d

Please sign in to comment.
You can’t perform that action at this time.