├── .hugo_build.lock ├── themes └── archie │ ├── layouts │ ├── 404.html │ ├── partials │ │ ├── pagedescription.html │ │ ├── paginator.html │ │ ├── footer.html │ │ ├── head.html │ │ └── disqus.html │ ├── _default │ │ ├── baseof.html │ │ ├── list.html │ │ ├── term.html │ │ ├── terms.html │ │ └── single.html │ ├── shortcodes │ │ └── callout.html │ └── index.html │ ├── static │ ├── js │ │ ├── main.js │ │ └── themetoggle.js │ ├── fonts │ │ ├── SimpleIcons.woff2 │ │ ├── fira-sans-v10-latin-regular.eot │ │ ├── fira-sans-v10-latin-regular.ttf │ │ ├── fira-sans-v10-latin-regular.woff │ │ ├── fira-sans-v10-latin-regular.woff2 │ │ ├── roboto-mono-v12-latin-regular.eot │ │ ├── roboto-mono-v12-latin-regular.ttf │ │ ├── roboto-mono-v12-latin-regular.woff │ │ ├── ibm-plex-mono-v6-latin-500italic.eot │ │ ├── ibm-plex-mono-v6-latin-500italic.ttf │ │ ├── ibm-plex-mono-v6-latin-500italic.woff │ │ ├── roboto-mono-v12-latin-regular.woff2 │ │ └── ibm-plex-mono-v6-latin-500italic.woff2 │ └── katex │ │ └── auto-render.min.js │ ├── archetypes │ └── default.md │ ├── exampleSite │ ├── content │ │ ├── homepage │ │ │ ├── index.md │ │ │ ├── about.md │ │ │ └── work.md │ │ ├── _index.md │ │ ├── archives.md │ │ ├── posts │ │ │ ├── post-7.md │ │ │ ├── post-6.md │ │ │ ├── post-3.md │ │ │ ├── post-2.md │ │ │ ├── post-4.md │ │ │ └── post-5.md │ │ └── about.md │ ├── archetypes │ │ └── default.md │ └── config.toml │ ├── images │ ├── tn.png │ ├── theme.png │ ├── archie-dark.png │ └── screenshot.png │ ├── .github │ ├── FUNDING.yml │ └── workflows │ │ └── static.yml │ ├── theme.toml │ ├── LICENSE │ └── assets │ └── css │ ├── fonts.css │ └── dark.css ├── static ├── favicon.ico ├── favicon-16x16.png ├── favicon-32x32.png ├── apple-touch-icon.png ├── fonts │ ├── Outfit-Black.ttf │ ├── Outfit-Bold.ttf │ ├── Outfit-Light.ttf │ ├── Outfit-Thin.ttf │ ├── Outfit-Medium.ttf │ ├── Outfit-Regular.ttf │ ├── Outfit-ExtraBold.ttf │ ├── Outfit-ExtraLight.ttf │ └── Outfit-SemiBold.ttf ├── blog │ ├── 2019-02-19 │ │ └── main.jpg │ ├── 2019-07-09 │ │ └── main.jpg │ ├── 2019-07-19 │ │ └── main.jpg │ ├── 2020-02-19 │ │ └── main.jpg │ ├── 2020-09-21 │ │ └── main.jpg │ ├── 2020-11-05 │ │ ├── main.png │ │ └── img-01.png │ ├── 2022-02-16 │ │ ├── main.png │ │ └── logo-change.png │ ├── crew-story-mike.jpg │ ├── 2020-10-01 │ │ └── img-01.png │ ├── crew-q-and-a-jacob.jpg │ ├── crew-story-lauri.jpg │ ├── it-takes-a-village.png │ ├── abhi-work-experience.jpg │ ├── 2021-11-23 │ │ └── hug-blog-3.png │ ├── 2021-03-30 │ │ ├── listen-on-spotify.png │ │ ├── podcast_ep01_920-1080.png │ │ ├── listen-on-apple-podcasts.png │ │ └── listen-on-google-podcasts.png │ ├── 2021-07-13 │ │ └── hug-helsinki-16_9.png │ ├── 2021-12-08 │ │ └── blog-eks_aws_iam.png │ ├── 2022-01-11 │ │ └── lauri-and-lempi_b.png │ ├── jobs │ │ ├── open-application-image.png │ │ └── job-cloud-architect-azure.png │ ├── keep-your-pipelines-simple.png │ ├── verifa-hashicorp-chip-vault.png │ ├── 2021-09-27 │ │ ├── vericonf-wordcloud.png │ │ └── vericonf2021_team_web2.png │ ├── 2021-12-20 │ │ ├── hug-3-summary-blog.png │ │ └── helsinki-hug-membership-growth-2021.png │ ├── automate-artifactory-clean-up.png │ ├── 2021-05-05 │ │ └── ep02_podcast_9201080.png │ ├── 2021-09-28 │ │ └── vericonf_archery-web2.png │ ├── helsinki-hug-4 │ │ ├── hug-blog-event-4.png │ │ └── hug-blog-summary-4.png │ ├── helsinki-hug-5 │ │ ├── hug-blog-event-5.png │ │ └── hug-blog-summary-5.png │ ├── helsinki-hug-6 │ │ ├── hug-blog-event-6.png │ │ └── hug-summary-blog-6.png │ ├── verifa-hashicorp-chip-terraform.png │ ├── 2021-02-24 │ │ └── verifa__2020__review-02.png │ ├── 2022-01-26 │ │ ├── blog_k8s_jenkins_secrets.png │ │ └── secrets_jenkins_kubernetes_diagram.png │ ├── bag-of-git-tricks │ │ ├── bag-of-git-tricks.png │ │ └── bag-of-git-tricks-example.png │ ├── how-to-secure-terraform-code-trivy.png │ ├── vericonf-2023-blog │ │ ├── pub-quiz-winners.jpg │ │ ├── pptkaraoke-collage.jpg │ │ ├── vericonf-2023-barcelona.png │ │ └── vericonf-2023-winery-crew.jpg │ ├── 2021-01-29 │ │ └── verifa-insights-release-01.jpg │ ├── 2021-06-28 │ │ └── ep03_-podcast_9201080_small.png │ ├── remove-rancher-from-kubernetes-cluster.png │ ├── vericonf-2022-blog │ │ ├── anoop-making-pizza.png │ │ ├── vericonf-2022-crew.png │ │ ├── vericonf-giant-chess.png │ │ └── vericonf-2022-wine-tasting.png │ ├── vericonf-2024-blog │ │ ├── vericonf-2024-notes.png │ │ ├── vericonf-2024-finland.jpg │ │ ├── vericonf-2024-sweden.jpg │ │ └── vericonf-2024-blog-cover.png │ ├── 2021-06-14 │ │ ├── all-you-need-is-git-image-01.png │ │ ├── gitops-blog-diagram-1-white-04.png │ │ └── gitops-blog-diagram-2-white-05.png │ ├── exploring-oras-oci-registries-as-storage.png │ ├── 2021-05-06 │ │ └── hashicrop-partner-illo-verifa-02.png │ ├── demystifying-service-level-acronyms │ │ ├── slamath.png │ │ ├── slaconcepts.png │ │ └── demystifying-service-level-acronyms2.png │ ├── ngc-talk-may23-game-dev-guide-to-automation.png │ ├── open-salary-policy │ │ └── open-salary-policy-blog.png │ ├── webinar-221122-hashicorp-vault-kubernetes.png │ ├── automate-hashicorp-vault-oss-backups-aws-eks.png │ ├── unlock-continuous-delivery-potential-vsm │ │ ├── mock-vsm.png │ │ └── unlock-your-continuous-delivery-vsm.png │ ├── finnish-vowels-for-swedes │ │ └── finnish-vowels-for-swedes.png │ ├── power-of-infrastructure-as-code-iac │ │ ├── 4-upcloud-servers.png │ │ ├── 1-upcloud-deploy-servers.png │ │ ├── 6-upcloud-select-resources.png │ │ ├── 7-upcloud-export-to-terraform.png │ │ ├── 3-upcloud-initialization-script.png │ │ ├── power-of-infrastructure-as-code.png │ │ ├── 5-upcloud-export-my-infrastructure.png │ │ └── 2-upcloud-deploy-new-server-location.png │ ├── what-is-developer-experience │ │ ├── devex-concenpt-def-2012.png │ │ └── cover-what-is-developer-experience.png │ ├── podcast-ep04-a-sneak-peek-into-upcloud-kubernetes-service.png │ ├── elastic-cloud-kubernetes-how-to-fix-a-corrupt-index-exception.png │ ├── 2021-07-05 │ │ └── how-to-debug-failing-build-agent-pods-kubernetes-jenkins.png │ ├── automatically-package-tools-gitlab-container-registry │ │ ├── failed_pipeline.png │ │ ├── passed_pipeline.png │ │ ├── passed_pipeline2.png │ │ └── how-to-optimise-gitlab-ci-runtime-environments-using-custom-docker-images.png │ ├── comparing-methods-for-accessing-secrets-in-vault-from-kubernetes │ │ ├── k8s-goal.png │ │ ├── k8s-use-case.png │ │ ├── k8s-vault-rest-api.png │ │ ├── k8s-argocd-vault-plugin.png │ │ ├── k8s-use-case-problems.png │ │ ├── k8s-vault-csi-provider.png │ │ ├── k8s-vault-sidecar-injector.png │ │ ├── k8s-external-secrets-operator.png │ │ └── comparing-methods-for-accessing-secrets-in-vault-from-kubernetes.png │ ├── nodeless-aws-eks-clusters-with-karpenter │ │ ├── karpenter-how-it-works-diagram.png │ │ └── nodeless-aws-eks-clusters-with-karpenter.png │ ├── aws-load-balancer-controller-with-existing-alb │ │ ├── aws-load-balancer-diagram-1.png │ │ ├── aws-load-balancer-diagram-2.png │ │ └── aws-load-balancer-controller-with-existing-alb.png │ ├── quickstart-jenkins-jcasc-in-kubernetes │ │ ├── quickstart-jenkins-jcasc-in-kubernetes.png │ │ ├── jenkins-jcasc-in-kubernetes-illustration-1.png │ │ └── jenkins-jcasc-in-kubernetes-illustration-2.png │ ├── how-to-scale-kubernetes-with-any-metric-using-keda │ │ ├── how-to-scale-k8s-any-metric-keda.png │ │ └── how-to-scale-k8s-any-metric-keda-diagram-2.png │ ├── gitlab-ci-with-custom-tools-in-containers │ │ └── supporting-gitlab-ci-with-custom-tools-in-containers.png │ ├── secrets-handling-in-kubernetes-using-hashicorp-vault │ │ ├── decision-tree-integrate-jenkins-with-vault.png │ │ └── secrets-handling-in-kubernetes-using-hashicorp-vault.png │ ├── devops-malmo-from-platform-teams-to-devops-teams │ │ └── devops-malmo-from-platform-teams-to-devops-teams.pdf │ ├── how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe │ │ ├── steampipe-kubernetes-dashboard-1.png │ │ ├── steampipe-kubernetes-dashboard-2.png │ │ ├── steampipe-kubernetes-dashboard-3.png │ │ └── how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe-blog.png │ ├── service-levels-error-budgets-devops-finland-meetup │ │ ├── service-levels-error-budgets-lauri-devops-finland-meetup.png │ │ └── service-levels-error-budgets-and-why-your-dev-teams-should-care.pdf │ └── devops-finland-meetup-practical-software-supply-chain-security-talk │ │ ├── devops-finland-practical-software-supply-chain-security.pdf │ │ └── devops-finland-practical-software-supply-chain-security.png ├── clients │ ├── kommuninvest.png │ └── visma.svg ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── cases │ ├── cover-jabra_case_study.png │ ├── visma-vsm-case-study.png │ └── elasticsearch-workshop-case-study-2.png ├── _redirects ├── site.webmanifest ├── .htaccess ├── favicon.svg ├── prism-ghcolors.css └── verifa-logo.svg ├── .gitmodules ├── run-dev.sh ├── .gitignore ├── README.md ├── layouts ├── index.html ├── _default │ ├── list.html │ └── single.html └── 404.html ├── content ├── blog │ ├── 2019-02-19.md │ ├── 2019-07-19.md │ ├── 2019-07-09.md │ ├── 2020-02-19.md │ ├── lazy-game-devs-guide-to-automation-nordic-games-may2023.md │ ├── 2019-01-10.md │ ├── verifa-hashicorp-chip-terraform.md │ ├── helsinki-hashicorp-user-group-meetup-6.md │ ├── elasticsearch-workshop-software-dev-company-case-study.md │ ├── helsinki-hashicorp-user-group-meetup-5.md │ ├── verifa-announces-partnership-with-hashicorp.md │ ├── webinar-accessing-vault-credentials-in-kubernetes.md │ ├── verifa-hashicorp-chip-vault-blog.md │ ├── we-have-a-fresh-new-look.md │ ├── helsinki-hashicorp-user-group-meetup-4.md │ ├── 2020-08-31.md │ ├── 2018-11-26.md │ ├── architectural-risk-assessment-with-kommuninvest.md │ ├── devops-malmo-from-platform-teams-to-devops-teams.md │ ├── helsinki-hashicorp-user-group-meetup-3.md │ ├── employee-story-mike.md │ ├── devops-finland-practical-software-supply-chain-security.md │ ├── job-open-application-2022-06.md │ ├── jabra-devops-case-study.md │ ├── helsinki-hashicorp-user-group-meetup-6-summary.md │ ├── employee-story-lauri.md │ ├── a-guide-to-finnish-vowels-for-swedes-in-english.md │ ├── 2018-08-02.md │ ├── helsinki-hashicorp-user-group-meetup-5-summary.md │ ├── service-levels-error-budgets-devops-finland-talk.md │ ├── crew-q-and-a-with-Jacob.md │ ├── helsinki-hashicorp-user-group-meetup-2.md │ ├── helsinki-hashicorp-user-group-meetup-4-summary.md │ ├── 2018-08-20.md │ └── helsinki-hashicorp-user-group-meetup-1.md └── _index.md ├── .github └── workflows │ └── deploy.yml ├── hugo.toml └── assets └── css └── custom.css /.hugo_build.lock: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/archie/layouts/404.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/archie/static/js/main.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/archie/archetypes/default.md: -------------------------------------------------------------------------------- 1 | +++ 2 | +++ 3 | -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/favicon.ico -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/homepage/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | headless : true 3 | --- 4 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | +++ 4 | 5 | -------------------------------------------------------------------------------- /static/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/favicon-16x16.png -------------------------------------------------------------------------------- /static/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/favicon-32x32.png -------------------------------------------------------------------------------- /static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/apple-touch-icon.png -------------------------------------------------------------------------------- /static/fonts/Outfit-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-Black.ttf -------------------------------------------------------------------------------- /static/fonts/Outfit-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/Outfit-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-Light.ttf -------------------------------------------------------------------------------- /static/fonts/Outfit-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-Thin.ttf -------------------------------------------------------------------------------- /themes/archie/images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/images/tn.png -------------------------------------------------------------------------------- /static/blog/2019-02-19/main.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2019-02-19/main.jpg -------------------------------------------------------------------------------- /static/blog/2019-07-09/main.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2019-07-09/main.jpg -------------------------------------------------------------------------------- /static/blog/2019-07-19/main.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2019-07-19/main.jpg -------------------------------------------------------------------------------- /static/blog/2020-02-19/main.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2020-02-19/main.jpg -------------------------------------------------------------------------------- /static/blog/2020-09-21/main.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2020-09-21/main.jpg -------------------------------------------------------------------------------- /static/blog/2020-11-05/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2020-11-05/main.png -------------------------------------------------------------------------------- /static/blog/2022-02-16/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2022-02-16/main.png -------------------------------------------------------------------------------- /static/blog/crew-story-mike.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/crew-story-mike.jpg -------------------------------------------------------------------------------- /static/clients/kommuninvest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/clients/kommuninvest.png -------------------------------------------------------------------------------- /static/fonts/Outfit-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-Medium.ttf -------------------------------------------------------------------------------- /static/fonts/Outfit-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-Regular.ttf -------------------------------------------------------------------------------- /themes/archie/images/theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/images/theme.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "themes/archie"] 2 | path = themes/archie 3 | url = https://github.com/athul/archie.git 4 | -------------------------------------------------------------------------------- /static/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/android-chrome-192x192.png -------------------------------------------------------------------------------- /static/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/android-chrome-512x512.png -------------------------------------------------------------------------------- /static/blog/2020-10-01/img-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2020-10-01/img-01.png -------------------------------------------------------------------------------- /static/blog/2020-11-05/img-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2020-11-05/img-01.png -------------------------------------------------------------------------------- /static/blog/crew-q-and-a-jacob.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/crew-q-and-a-jacob.jpg -------------------------------------------------------------------------------- /static/blog/crew-story-lauri.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/crew-story-lauri.jpg -------------------------------------------------------------------------------- /static/blog/it-takes-a-village.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/it-takes-a-village.png -------------------------------------------------------------------------------- /static/fonts/Outfit-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-ExtraBold.ttf -------------------------------------------------------------------------------- /static/fonts/Outfit-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-ExtraLight.ttf -------------------------------------------------------------------------------- /static/fonts/Outfit-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/fonts/Outfit-SemiBold.ttf -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/archives.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2019-05-28 3 | type: section 4 | layout: "archives" 5 | --- -------------------------------------------------------------------------------- /static/blog/abhi-work-experience.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/abhi-work-experience.jpg -------------------------------------------------------------------------------- /themes/archie/images/archie-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/images/archie-dark.png -------------------------------------------------------------------------------- /themes/archie/images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/images/screenshot.png -------------------------------------------------------------------------------- /static/blog/2021-11-23/hug-blog-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-11-23/hug-blog-3.png -------------------------------------------------------------------------------- /static/blog/2022-02-16/logo-change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2022-02-16/logo-change.png -------------------------------------------------------------------------------- /static/cases/cover-jabra_case_study.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/cases/cover-jabra_case_study.png -------------------------------------------------------------------------------- /static/cases/visma-vsm-case-study.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/cases/visma-vsm-case-study.png -------------------------------------------------------------------------------- /static/blog/2021-03-30/listen-on-spotify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-03-30/listen-on-spotify.png -------------------------------------------------------------------------------- /static/blog/2021-07-13/hug-helsinki-16_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-07-13/hug-helsinki-16_9.png -------------------------------------------------------------------------------- /static/blog/2021-12-08/blog-eks_aws_iam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-12-08/blog-eks_aws_iam.png -------------------------------------------------------------------------------- /static/blog/2022-01-11/lauri-and-lempi_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2022-01-11/lauri-and-lempi_b.png -------------------------------------------------------------------------------- /static/blog/jobs/open-application-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/jobs/open-application-image.png -------------------------------------------------------------------------------- /static/blog/keep-your-pipelines-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/keep-your-pipelines-simple.png -------------------------------------------------------------------------------- /static/blog/verifa-hashicorp-chip-vault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/verifa-hashicorp-chip-vault.png -------------------------------------------------------------------------------- /themes/archie/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | custom: https://www.buymeacoffee.com/athulca 4 | -------------------------------------------------------------------------------- /themes/archie/static/fonts/SimpleIcons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/SimpleIcons.woff2 -------------------------------------------------------------------------------- /static/blog/2021-09-27/vericonf-wordcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-09-27/vericonf-wordcloud.png -------------------------------------------------------------------------------- /static/blog/2021-12-20/hug-3-summary-blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-12-20/hug-3-summary-blog.png -------------------------------------------------------------------------------- /static/blog/automate-artifactory-clean-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/automate-artifactory-clean-up.png -------------------------------------------------------------------------------- /static/blog/jobs/job-cloud-architect-azure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/jobs/job-cloud-architect-azure.png -------------------------------------------------------------------------------- /static/blog/2021-03-30/podcast_ep01_920-1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-03-30/podcast_ep01_920-1080.png -------------------------------------------------------------------------------- /static/blog/2021-05-05/ep02_podcast_9201080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-05-05/ep02_podcast_9201080.png -------------------------------------------------------------------------------- /static/blog/2021-09-27/vericonf2021_team_web2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-09-27/vericonf2021_team_web2.png -------------------------------------------------------------------------------- /static/blog/2021-09-28/vericonf_archery-web2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-09-28/vericonf_archery-web2.png -------------------------------------------------------------------------------- /static/blog/helsinki-hug-4/hug-blog-event-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/helsinki-hug-4/hug-blog-event-4.png -------------------------------------------------------------------------------- /static/blog/helsinki-hug-4/hug-blog-summary-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/helsinki-hug-4/hug-blog-summary-4.png -------------------------------------------------------------------------------- /static/blog/helsinki-hug-5/hug-blog-event-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/helsinki-hug-5/hug-blog-event-5.png -------------------------------------------------------------------------------- /static/blog/helsinki-hug-5/hug-blog-summary-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/helsinki-hug-5/hug-blog-summary-5.png -------------------------------------------------------------------------------- /static/blog/helsinki-hug-6/hug-blog-event-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/helsinki-hug-6/hug-blog-event-6.png -------------------------------------------------------------------------------- /static/blog/helsinki-hug-6/hug-summary-blog-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/helsinki-hug-6/hug-summary-blog-6.png -------------------------------------------------------------------------------- /static/blog/verifa-hashicorp-chip-terraform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/verifa-hashicorp-chip-terraform.png -------------------------------------------------------------------------------- /static/blog/2021-02-24/verifa__2020__review-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-02-24/verifa__2020__review-02.png -------------------------------------------------------------------------------- /static/blog/2021-03-30/listen-on-apple-podcasts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-03-30/listen-on-apple-podcasts.png -------------------------------------------------------------------------------- /static/blog/2022-01-26/blog_k8s_jenkins_secrets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2022-01-26/blog_k8s_jenkins_secrets.png -------------------------------------------------------------------------------- /static/blog/bag-of-git-tricks/bag-of-git-tricks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/bag-of-git-tricks/bag-of-git-tricks.png -------------------------------------------------------------------------------- /static/blog/how-to-secure-terraform-code-trivy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/how-to-secure-terraform-code-trivy.png -------------------------------------------------------------------------------- /static/blog/vericonf-2023-blog/pub-quiz-winners.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2023-blog/pub-quiz-winners.jpg -------------------------------------------------------------------------------- /themes/archie/exampleSite/archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | date: {{ .Date }} 4 | draft: true 5 | --- 6 | -------------------------------------------------------------------------------- /static/blog/2021-01-29/verifa-insights-release-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-01-29/verifa-insights-release-01.jpg -------------------------------------------------------------------------------- /static/blog/2021-03-30/listen-on-google-podcasts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-03-30/listen-on-google-podcasts.png -------------------------------------------------------------------------------- /static/blog/2021-06-28/ep03_-podcast_9201080_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-06-28/ep03_-podcast_9201080_small.png -------------------------------------------------------------------------------- /static/blog/remove-rancher-from-kubernetes-cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/remove-rancher-from-kubernetes-cluster.png -------------------------------------------------------------------------------- /static/blog/vericonf-2022-blog/anoop-making-pizza.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2022-blog/anoop-making-pizza.png -------------------------------------------------------------------------------- /static/blog/vericonf-2022-blog/vericonf-2022-crew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2022-blog/vericonf-2022-crew.png -------------------------------------------------------------------------------- /static/blog/vericonf-2023-blog/pptkaraoke-collage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2023-blog/pptkaraoke-collage.jpg -------------------------------------------------------------------------------- /static/blog/vericonf-2024-blog/vericonf-2024-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2024-blog/vericonf-2024-notes.png -------------------------------------------------------------------------------- /static/cases/elasticsearch-workshop-case-study-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/cases/elasticsearch-workshop-case-study-2.png -------------------------------------------------------------------------------- /static/blog/2021-06-14/all-you-need-is-git-image-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-06-14/all-you-need-is-git-image-01.png -------------------------------------------------------------------------------- /static/blog/exploring-oras-oci-registries-as-storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/exploring-oras-oci-registries-as-storage.png -------------------------------------------------------------------------------- /static/blog/vericonf-2022-blog/vericonf-giant-chess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2022-blog/vericonf-giant-chess.png -------------------------------------------------------------------------------- /static/blog/vericonf-2024-blog/vericonf-2024-finland.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2024-blog/vericonf-2024-finland.jpg -------------------------------------------------------------------------------- /static/blog/vericonf-2024-blog/vericonf-2024-sweden.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2024-blog/vericonf-2024-sweden.jpg -------------------------------------------------------------------------------- /static/blog/2021-05-06/hashicrop-partner-illo-verifa-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-05-06/hashicrop-partner-illo-verifa-02.png -------------------------------------------------------------------------------- /static/blog/2021-06-14/gitops-blog-diagram-1-white-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-06-14/gitops-blog-diagram-1-white-04.png -------------------------------------------------------------------------------- /static/blog/2021-06-14/gitops-blog-diagram-2-white-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-06-14/gitops-blog-diagram-2-white-05.png -------------------------------------------------------------------------------- /static/blog/bag-of-git-tricks/bag-of-git-tricks-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/bag-of-git-tricks/bag-of-git-tricks-example.png -------------------------------------------------------------------------------- /static/blog/demystifying-service-level-acronyms/slamath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/demystifying-service-level-acronyms/slamath.png -------------------------------------------------------------------------------- /static/blog/ngc-talk-may23-game-dev-guide-to-automation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/ngc-talk-may23-game-dev-guide-to-automation.png -------------------------------------------------------------------------------- /static/blog/open-salary-policy/open-salary-policy-blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/open-salary-policy/open-salary-policy-blog.png -------------------------------------------------------------------------------- /static/blog/vericonf-2023-blog/vericonf-2023-barcelona.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2023-blog/vericonf-2023-barcelona.png -------------------------------------------------------------------------------- /static/blog/vericonf-2024-blog/vericonf-2024-blog-cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2024-blog/vericonf-2024-blog-cover.png -------------------------------------------------------------------------------- /static/blog/webinar-221122-hashicorp-vault-kubernetes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/webinar-221122-hashicorp-vault-kubernetes.png -------------------------------------------------------------------------------- /themes/archie/static/fonts/fira-sans-v10-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/fira-sans-v10-latin-regular.eot -------------------------------------------------------------------------------- /themes/archie/static/fonts/fira-sans-v10-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/fira-sans-v10-latin-regular.ttf -------------------------------------------------------------------------------- /themes/archie/static/fonts/fira-sans-v10-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/fira-sans-v10-latin-regular.woff -------------------------------------------------------------------------------- /static/blog/2022-01-26/secrets_jenkins_kubernetes_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2022-01-26/secrets_jenkins_kubernetes_diagram.png -------------------------------------------------------------------------------- /static/blog/automate-hashicorp-vault-oss-backups-aws-eks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/automate-hashicorp-vault-oss-backups-aws-eks.png -------------------------------------------------------------------------------- /static/blog/vericonf-2022-blog/vericonf-2022-wine-tasting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2022-blog/vericonf-2022-wine-tasting.png -------------------------------------------------------------------------------- /static/blog/vericonf-2023-blog/vericonf-2023-winery-crew.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/vericonf-2023-blog/vericonf-2023-winery-crew.jpg -------------------------------------------------------------------------------- /themes/archie/static/fonts/fira-sans-v10-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/fira-sans-v10-latin-regular.woff2 -------------------------------------------------------------------------------- /themes/archie/static/fonts/roboto-mono-v12-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/roboto-mono-v12-latin-regular.eot -------------------------------------------------------------------------------- /themes/archie/static/fonts/roboto-mono-v12-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/roboto-mono-v12-latin-regular.ttf -------------------------------------------------------------------------------- /themes/archie/static/fonts/roboto-mono-v12-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/roboto-mono-v12-latin-regular.woff -------------------------------------------------------------------------------- /static/blog/2021-12-20/helsinki-hug-membership-growth-2021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-12-20/helsinki-hug-membership-growth-2021.png -------------------------------------------------------------------------------- /static/blog/demystifying-service-level-acronyms/slaconcepts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/demystifying-service-level-acronyms/slaconcepts.png -------------------------------------------------------------------------------- /themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.eot -------------------------------------------------------------------------------- /themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.ttf -------------------------------------------------------------------------------- /themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.woff -------------------------------------------------------------------------------- /themes/archie/static/fonts/roboto-mono-v12-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/roboto-mono-v12-latin-regular.woff2 -------------------------------------------------------------------------------- /static/blog/unlock-continuous-delivery-potential-vsm/mock-vsm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/unlock-continuous-delivery-potential-vsm/mock-vsm.png -------------------------------------------------------------------------------- /themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/themes/archie/static/fonts/ibm-plex-mono-v6-latin-500italic.woff2 -------------------------------------------------------------------------------- /static/blog/finnish-vowels-for-swedes/finnish-vowels-for-swedes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/finnish-vowels-for-swedes/finnish-vowels-for-swedes.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/4-upcloud-servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/4-upcloud-servers.png -------------------------------------------------------------------------------- /static/blog/what-is-developer-experience/devex-concenpt-def-2012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/what-is-developer-experience/devex-concenpt-def-2012.png -------------------------------------------------------------------------------- /static/blog/podcast-ep04-a-sneak-peek-into-upcloud-kubernetes-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/podcast-ep04-a-sneak-peek-into-upcloud-kubernetes-service.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/1-upcloud-deploy-servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/1-upcloud-deploy-servers.png -------------------------------------------------------------------------------- /static/blog/elastic-cloud-kubernetes-how-to-fix-a-corrupt-index-exception.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/elastic-cloud-kubernetes-how-to-fix-a-corrupt-index-exception.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/6-upcloud-select-resources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/6-upcloud-select-resources.png -------------------------------------------------------------------------------- /static/blog/what-is-developer-experience/cover-what-is-developer-experience.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/what-is-developer-experience/cover-what-is-developer-experience.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/7-upcloud-export-to-terraform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/7-upcloud-export-to-terraform.png -------------------------------------------------------------------------------- /themes/archie/layouts/partials/pagedescription.html: -------------------------------------------------------------------------------- 1 |
2 | {{ if isset .Params "description" }} 3 | {{ .Description }} 4 | {{ else }} 5 | {{ .Summary }}… 6 | {{ end }} 7 |
-------------------------------------------------------------------------------- /static/blog/2021-07-05/how-to-debug-failing-build-agent-pods-kubernetes-jenkins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/2021-07-05/how-to-debug-failing-build-agent-pods-kubernetes-jenkins.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/3-upcloud-initialization-script.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/3-upcloud-initialization-script.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/power-of-infrastructure-as-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/power-of-infrastructure-as-code.png -------------------------------------------------------------------------------- /run-dev.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Starting Hugo development server..." 3 | echo "Site will be available at: http://localhost:1313" 4 | echo "Press Ctrl+C to stop the server" 5 | hugo server --bind 0.0.0.0 --port 1313 6 | -------------------------------------------------------------------------------- /static/blog/automatically-package-tools-gitlab-container-registry/failed_pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/automatically-package-tools-gitlab-container-registry/failed_pipeline.png -------------------------------------------------------------------------------- /static/blog/automatically-package-tools-gitlab-container-registry/passed_pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/automatically-package-tools-gitlab-container-registry/passed_pipeline.png -------------------------------------------------------------------------------- /static/blog/automatically-package-tools-gitlab-container-registry/passed_pipeline2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/automatically-package-tools-gitlab-container-registry/passed_pipeline2.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/5-upcloud-export-my-infrastructure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/5-upcloud-export-my-infrastructure.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-goal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-goal.png -------------------------------------------------------------------------------- /static/blog/demystifying-service-level-acronyms/demystifying-service-level-acronyms2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/demystifying-service-level-acronyms/demystifying-service-level-acronyms2.png -------------------------------------------------------------------------------- /static/blog/nodeless-aws-eks-clusters-with-karpenter/karpenter-how-it-works-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/nodeless-aws-eks-clusters-with-karpenter/karpenter-how-it-works-diagram.png -------------------------------------------------------------------------------- /static/blog/power-of-infrastructure-as-code-iac/2-upcloud-deploy-new-server-location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/power-of-infrastructure-as-code-iac/2-upcloud-deploy-new-server-location.png -------------------------------------------------------------------------------- /static/blog/aws-load-balancer-controller-with-existing-alb/aws-load-balancer-diagram-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/aws-load-balancer-controller-with-existing-alb/aws-load-balancer-diagram-1.png -------------------------------------------------------------------------------- /static/blog/aws-load-balancer-controller-with-existing-alb/aws-load-balancer-diagram-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/aws-load-balancer-controller-with-existing-alb/aws-load-balancer-diagram-2.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-use-case.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-use-case.png -------------------------------------------------------------------------------- /static/blog/quickstart-jenkins-jcasc-in-kubernetes/quickstart-jenkins-jcasc-in-kubernetes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/quickstart-jenkins-jcasc-in-kubernetes/quickstart-jenkins-jcasc-in-kubernetes.png -------------------------------------------------------------------------------- /static/blog/unlock-continuous-delivery-potential-vsm/unlock-your-continuous-delivery-vsm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/unlock-continuous-delivery-potential-vsm/unlock-your-continuous-delivery-vsm.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-vault-rest-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-vault-rest-api.png -------------------------------------------------------------------------------- /static/blog/how-to-scale-kubernetes-with-any-metric-using-keda/how-to-scale-k8s-any-metric-keda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/how-to-scale-kubernetes-with-any-metric-using-keda/how-to-scale-k8s-any-metric-keda.png -------------------------------------------------------------------------------- /static/blog/nodeless-aws-eks-clusters-with-karpenter/nodeless-aws-eks-clusters-with-karpenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/nodeless-aws-eks-clusters-with-karpenter/nodeless-aws-eks-clusters-with-karpenter.png -------------------------------------------------------------------------------- /static/blog/quickstart-jenkins-jcasc-in-kubernetes/jenkins-jcasc-in-kubernetes-illustration-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/quickstart-jenkins-jcasc-in-kubernetes/jenkins-jcasc-in-kubernetes-illustration-1.png -------------------------------------------------------------------------------- /static/blog/quickstart-jenkins-jcasc-in-kubernetes/jenkins-jcasc-in-kubernetes-illustration-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/quickstart-jenkins-jcasc-in-kubernetes/jenkins-jcasc-in-kubernetes-illustration-2.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-argocd-vault-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-argocd-vault-plugin.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-use-case-problems.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-use-case-problems.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-vault-csi-provider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-vault-csi-provider.png -------------------------------------------------------------------------------- /static/blog/aws-load-balancer-controller-with-existing-alb/aws-load-balancer-controller-with-existing-alb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/aws-load-balancer-controller-with-existing-alb/aws-load-balancer-controller-with-existing-alb.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-vault-sidecar-injector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-vault-sidecar-injector.png -------------------------------------------------------------------------------- /static/blog/how-to-scale-kubernetes-with-any-metric-using-keda/how-to-scale-k8s-any-metric-keda-diagram-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/how-to-scale-kubernetes-with-any-metric-using-keda/how-to-scale-k8s-any-metric-keda-diagram-2.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-external-secrets-operator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/k8s-external-secrets-operator.png -------------------------------------------------------------------------------- /static/blog/gitlab-ci-with-custom-tools-in-containers/supporting-gitlab-ci-with-custom-tools-in-containers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/gitlab-ci-with-custom-tools-in-containers/supporting-gitlab-ci-with-custom-tools-in-containers.png -------------------------------------------------------------------------------- /static/blog/secrets-handling-in-kubernetes-using-hashicorp-vault/decision-tree-integrate-jenkins-with-vault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/secrets-handling-in-kubernetes-using-hashicorp-vault/decision-tree-integrate-jenkins-with-vault.png -------------------------------------------------------------------------------- /static/blog/devops-malmo-from-platform-teams-to-devops-teams/devops-malmo-from-platform-teams-to-devops-teams.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/devops-malmo-from-platform-teams-to-devops-teams/devops-malmo-from-platform-teams-to-devops-teams.pdf -------------------------------------------------------------------------------- /static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/steampipe-kubernetes-dashboard-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/steampipe-kubernetes-dashboard-1.png -------------------------------------------------------------------------------- /static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/steampipe-kubernetes-dashboard-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/steampipe-kubernetes-dashboard-2.png -------------------------------------------------------------------------------- /static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/steampipe-kubernetes-dashboard-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/steampipe-kubernetes-dashboard-3.png -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/homepage/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Our Difference' 3 | button: 'About us' 4 | weight: 2 5 | --- 6 | 7 | Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. ipsum dolor sit amet, et essent mediocritatem quo, -------------------------------------------------------------------------------- /static/blog/secrets-handling-in-kubernetes-using-hashicorp-vault/secrets-handling-in-kubernetes-using-hashicorp-vault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/secrets-handling-in-kubernetes-using-hashicorp-vault/secrets-handling-in-kubernetes-using-hashicorp-vault.png -------------------------------------------------------------------------------- /static/blog/service-levels-error-budgets-devops-finland-meetup/service-levels-error-budgets-lauri-devops-finland-meetup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/service-levels-error-budgets-devops-finland-meetup/service-levels-error-budgets-lauri-devops-finland-meetup.png -------------------------------------------------------------------------------- /static/blog/service-levels-error-budgets-devops-finland-meetup/service-levels-error-budgets-and-why-your-dev-teams-should-care.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/service-levels-error-budgets-devops-finland-meetup/service-levels-error-budgets-and-why-your-dev-teams-should-care.pdf -------------------------------------------------------------------------------- /static/blog/devops-finland-meetup-practical-software-supply-chain-security-talk/devops-finland-practical-software-supply-chain-security.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/devops-finland-meetup-practical-software-supply-chain-security-talk/devops-finland-practical-software-supply-chain-security.pdf -------------------------------------------------------------------------------- /static/blog/devops-finland-meetup-practical-software-supply-chain-security-talk/devops-finland-practical-software-supply-chain-security.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/devops-finland-meetup-practical-software-supply-chain-security-talk/devops-finland-practical-software-supply-chain-security.png -------------------------------------------------------------------------------- /static/blog/automatically-package-tools-gitlab-container-registry/how-to-optimise-gitlab-ci-runtime-environments-using-custom-docker-images.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/automatically-package-tools-gitlab-container-registry/how-to-optimise-gitlab-ci-runtime-environments-using-custom-docker-images.png -------------------------------------------------------------------------------- /static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes/comparing-methods-for-accessing-secrets-in-vault-from-kubernetes.png -------------------------------------------------------------------------------- /themes/archie/layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{- partial "header.html" . -}} 4 | 5 |
6 | {{- partial "head.html" . -}} 7 | {{- block "main" . }}{{- end }} 8 | {{- partial "footer.html" . -}} 9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /static/_redirects: -------------------------------------------------------------------------------- 1 | # Redirect all non-existent pages to 404 2 | /* /404.html 404 3 | 4 | # Common redirects for old URLs that might exist 5 | /about / 6 | /contact / 7 | /services / 8 | /team / 9 | /careers / 10 | /jobs /blog/ 11 | 12 | # Redirect old blog paths if they don't exist 13 | /posts/* /blog/:splat 14 | /articles/* /blog/:splat 15 | -------------------------------------------------------------------------------- /static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe-blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/verifa/website/HEAD/static/blog/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe/how-to-build-dashboards-of-your-kubernetes-cluster-with-steampipe-blog.png -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/homepage/work.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'We Help Business Grow' 3 | button: 'Our Work' 4 | weight: 1 5 | --- 6 | 7 | Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Numquam dolores mel eu, mea docendi omittantur et, mea ea duis erat. Elit melius cu ius. Per ex novum tantas putant, ei his nullam aliquam apeirian. Aeterno quaestio constituto sea an, no eum intellegat assueverit. -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Hugo build output 2 | public/ 3 | 4 | # Hugo cache 5 | .hugo_build.lock 6 | 7 | # Node modules (if using npm/yarn for theme development) 8 | node_modules/ 9 | 10 | # OS generated files 11 | .DS_Store 12 | .DS_Store? 13 | ._* 14 | .Spotlight-V100 15 | .Trashes 16 | ehthumbs.db 17 | Thumbs.db 18 | 19 | # Editor files 20 | .vscode/ 21 | .idea/ 22 | *.swp 23 | *.swo 24 | *~ 25 | 26 | # Temporary files 27 | *.tmp 28 | *.temp 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Verifa Website 2 | 3 | This repository contains Verifa's website. 4 | 5 | ## Development 6 | 7 | To run the development server: 8 | 9 | ```bash 10 | ./run-dev.sh 11 | ``` 12 | 13 | The site will be available at http://localhost:1313 14 | 15 | ## Building for Production 16 | 17 | To build the static site: 18 | 19 | ```bash 20 | ./build.sh 21 | ``` 22 | 23 | This creates a `public/` directory with all static files ready for deployment. 24 | 25 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "header.html" . }} 4 | 5 |
6 | {{ partial "head.html" . }} 7 | 8 |
9 |
10 |
11 |

{{ .Title }}

12 |
13 |
14 | {{ .Content }} 15 |
16 |
17 |
18 | {{ partial "footer.html" . }} 19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /static/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "verifa", 3 | "short_name": "verifa", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-512x512.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#f9fafb", 17 | "background_color": "#f9fafb", 18 | "display": "standalone" 19 | } -------------------------------------------------------------------------------- /themes/archie/layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ if isset .Data "Term" }} 3 |

Entries tagged - "{{ .Data.Term }}"

4 | {{ else }} 5 |

All articles

6 | {{ end }} 7 | 8 | 17 | {{ end }} 18 | -------------------------------------------------------------------------------- /themes/archie/layouts/_default/term.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ if isset .Data "Term" }} 3 |

Entries tagged - "{{ .Data.Term }}"

4 | {{ else }} 5 |

All articles

6 | {{ end }} 7 | 8 | 17 | {{ end }} 18 | -------------------------------------------------------------------------------- /themes/archie/layouts/partials/paginator.html: -------------------------------------------------------------------------------- 1 | {{ $pag := $.Paginator }} 2 | {{ if gt $pag.TotalPages 1 }} 3 | 15 | {{ end }} 16 | -------------------------------------------------------------------------------- /themes/archie/theme.toml: -------------------------------------------------------------------------------- 1 | # theme.toml template for a Hugo theme 2 | # See https://github.com/gohugoio/hugoThemes#themetoml for an example 3 | 4 | name = "Archie" 5 | license = "MIT" 6 | licenselink = "https://github.com/athul/archie/blob/master/LICENSE" 7 | description = "Archie is a minimal and clean theme for hugo with a markdown-ish UI." 8 | homepage = "https://github.com/athul/archie" 9 | tags = ["blog","simple","responsive","minimal","tags","personal","clean","shortcodes"] 10 | features = ["blog", "Clean and minimal", "Responsive", "Syntax highlighting",] 11 | min_version = "0.41" 12 | 13 | [author] 14 | name = "Athul Cyriac Ajay" 15 | homepage = "https://github.com/athul" 16 | -------------------------------------------------------------------------------- /static/.htaccess: -------------------------------------------------------------------------------- 1 | # Custom 404 error page 2 | ErrorDocument 404 /404.html 3 | 4 | # Redirect common old paths 5 | RedirectMatch 301 ^/about/?$ / 6 | RedirectMatch 301 ^/contact/?$ / 7 | RedirectMatch 301 ^/services/?$ / 8 | RedirectMatch 301 ^/team/?$ / 9 | RedirectMatch 301 ^/careers/?$ / 10 | RedirectMatch 301 ^/jobs/?$ /blog/ 11 | 12 | # Redirect old blog paths 13 | RedirectMatch 301 ^/posts/(.*)$ /blog/$1 14 | RedirectMatch 301 ^/articles/(.*)$ /blog/$1 15 | 16 | # Security headers 17 | 18 | Header always set X-Content-Type-Options nosniff 19 | Header always set X-Frame-Options DENY 20 | Header always set X-XSS-Protection "1; mode=block" 21 | 22 | -------------------------------------------------------------------------------- /themes/archie/layouts/_default/terms.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |

All tags

3 | 4 | {{ $biggest := 1 }} 5 | {{ $smallest := 1 }} 6 | {{ $max := 3 }} 7 | {{ $min := 1 }} 8 | {{ $size := $min }} 9 | 10 | {{ $data := .Data }} 11 |
12 | 19 |
20 | {{ end }} 21 | -------------------------------------------------------------------------------- /themes/archie/layouts/shortcodes/callout.html: -------------------------------------------------------------------------------- 1 | {{ $type := .Get "type" }} 2 |
3 |
4 | {{ if eq $type "alert" }} 5 | 🚨 Alert 6 |
7 | {{ .Get "text" }} 8 | {{ else if eq $type "custom" }} 9 | {{ .Get "emoji" }} {{ .Get "title" }} 10 |
11 | {{ .Get "text" }} 12 | {{ else if eq $type "tip" }} 13 | 🔎 Tip 14 |
15 | {{ .Get "text" }} 16 | {{ else if eq $type "warning" }} 17 | ⚠️ Warning 18 |
19 | {{ .Get "text" }} 20 | {{ else}} 21 | 💡 {{ .Get "text" }} 22 | {{ end }} 23 |
24 |
25 | -------------------------------------------------------------------------------- /content/blog/2019-02-19.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: "Implementing Modern CI in an Embedded Medical Project" 4 | subheading: "Verifa is proud to be invited to present at DevOps World 2019 in Lisbon, Portugal this year" 5 | authors: 6 | - jlarfors 7 | tags: 8 | - Continuous Delivery 9 | - DevOps 10 | - Jenkins 11 | date: 2019-02-19 12 | image: /blog/2019-02-19/main.jpg 13 | --- 14 | 15 | DevOps World / Jenkins World is an awesome event for all DevOps and Jenkins enthusiasts... 16 | 17 | On the Wednesday, our CTO Jacob Larfors, will present his work together with Siemens Healthcare Diagnostics on how they implemented modern CI to enable faster release cycles. 18 | 19 | For details about the [presentation](https://sched.co/UavO) 20 | 21 | For [more details about the event](https://www.cloudbees.com/devops-world/lisbon/agenda) 22 | -------------------------------------------------------------------------------- /themes/archie/static/js/themetoggle.js: -------------------------------------------------------------------------------- 1 | function setTheme(mode) { 2 | localStorage.setItem("theme-storage", mode); 3 | var e = document.querySelector("#dark-mode-toggle > .feather > use") 4 | if (mode === "dark") { 5 | document.getElementById("darkModeStyle").disabled=false; 6 | e.href.baseVal = e.href.baseVal.replace(/#.*$/, "#sun") 7 | } else if (mode === "light") { 8 | document.getElementById("darkModeStyle").disabled=true; 9 | e.href.baseVal = e.href.baseVal.replace(/#.*$/, "#moon") 10 | } 11 | } 12 | 13 | function toggleTheme() { 14 | if (localStorage.getItem("theme-storage") === "light") { 15 | setTheme("dark"); 16 | } else if (localStorage.getItem("theme-storage") === "dark") { 17 | setTheme("light"); 18 | } 19 | } 20 | 21 | var savedTheme = localStorage.getItem("theme-storage") || "light"; 22 | setTheme(savedTheme); 23 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/posts/post-7.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "How to test dark mode?" 3 | summary: "Here is how you can setup dark mode for Ink and test on various OS like iOS, Android, macOS and Windows 10." 4 | date: 2018-03-18T12:13:38+05:30 5 | tldr: "Wubba lubba dub dub" 6 | --- 7 | 8 | You can set dark mode as default by setting `params.mode` to `dark` in `config.toml` or set it to `auto` which will detect based on your OS and switch to dark mode. For more details [refer documentation](https://github.com/knadh/hugo-ink#configuration) 9 | 10 | Here is how you can switch based on your OS 11 | 12 | * [iOS](https://www.howtogeek.com/440078/how-to-enable-dark-mode-on-your-iphone-and-ipad/) 13 | * [Android](https://9to5google.com/2018/12/17/android-dark-mode-theme-pie/) 14 | * [macOS](https://support.apple.com/en-in/HT208976) 15 | * [Windows 10](https://www.cnet.com/how-to/turn-on-the-dark-mode-in-windows-10/) 16 | -------------------------------------------------------------------------------- /static/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /themes/archie/layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | 17 | {{ if not hugo.IsServer }} 18 | {{ template "_internal/google_analytics.html" . }} 19 | {{ end }} 20 | -------------------------------------------------------------------------------- /themes/archie/layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | {{- define "feathericon" -}} 2 | {{- $featherURL := "https://unpkg.com/feather-icons@4.29.2/dist/feather-sprite.svg" -}} 3 | {{ if not (.UseCDN | default false) -}} 4 | {{- $featherURL = (resources.Get "svg/feather-sprite.svg" | fingerprint).RelPermalink -}} 5 | {{- end -}} 6 | 7 | 8 | 9 | {{- end -}} 10 | 11 |
12 |
13 | {{ .Site.Title }} 14 |
15 | 24 |
25 | -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ if isset .Data "Term" }} 3 |

Entries tagged - "{{ .Data.Term }}"

4 | {{ else }} 5 |

All articles

6 | {{ end }} 7 | 8 | 23 | {{ end }} 24 | -------------------------------------------------------------------------------- /content/blog/2019-07-19.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: "JFrog User Conference" 4 | subheading: "Become a Lean, Mean Dev Machine" 5 | authors: 6 | - verifa 7 | tags: 8 | - Continuous Delivery 9 | - DevOps 10 | - JFrog 11 | date: 2019-07-19 12 | image: /blog/2019-07-19/main.jpg 13 | --- 14 | 15 | Verifa is proud to be invited to present at swampUP later this year. 16 | 17 | swampUP is the premier DevOps event that brings technologists and thought leaders together with a shared passion for best practices in building software in a secure and scalable manner. Learn from the experts, hear from top companies across a variety of industries, and come back with the knowledge to transform your DevOps experience. With an immersive 3 days of live hands-on training, labs, technical sessions, keynotes, and expo, swampUP is the must-attend event you can't miss! 18 | 19 | Follow the link below to find out more about this exciting event. 20 | 21 | For details about the [presentation](https://swampup.jfrog.com/agenda/) 22 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |

404 - Page Not Found

5 |

Sorry, the page you are looking for doesn't exist or has been moved.

6 | 7 |
8 |

What happened?

9 |

The page you requested could not be found. This might be because:

10 |
    11 |
  • The URL was typed incorrectly
  • 12 |
  • The page has been moved or deleted
  • 13 |
  • You followed an outdated link
  • 14 |
15 | 16 |

What can you do?

17 |

Here are some helpful links:

18 | 24 |
25 |
26 |
27 | {{ end }} 28 | -------------------------------------------------------------------------------- /content/blog/2019-07-09.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: "DevOps World" 4 | subheading: "Verifa is proud to be invited to present and exhibit at DevOps World 2019 in San Francisco this year." 5 | authors: 6 | - jlarfors 7 | tags: 8 | - Continuous Delivery 9 | - DevOps 10 | - Conference 11 | date: 2019-07-10 12 | image: /blog/2019-07-09/main.jpg 13 | --- 14 | 15 | Verifa is proud to be invited to present and exhibit at DevOps World 2019 in San Francisco this year. 16 | 17 | DevOps World | Jenkins World is the #1 event for all DevOps and Jenkins enthusiasts. This year Verifa will be exhibiting with DevOps Super Heroes on-site to demo our services and answer any questions. 18 | 19 | On the Wednesday, our CTO Jacob Larfors, will present his work together with Siemens Healthcare Diagnostics on how they implemented modern CI to enable faster release cycles. 20 | 21 | For details about the [presentation](https://sched.co/S6eD) 22 | 23 | For [more details about the event](https://www.cloudbees.com/devops-world/san-francisco) 24 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/config.toml: -------------------------------------------------------------------------------- 1 | baseURL = "https://example.com" 2 | languageCode = "en-us" 3 | title = "Archie" 4 | theme="archie" 5 | copyright = "© Athul" 6 | pygmentsstyle = "monokai" 7 | pygmentscodefences = true 8 | pygmentscodefencesguesssyntax = true 9 | [params] 10 | mode="auto" 11 | useCDN=false 12 | subtitle = "Minimal and Clean [blog theme for Hugo](https://github.com/athul/archie)" 13 | 14 | [[params.social]] 15 | name = "GitHub" 16 | icon = "github" 17 | url = "https://github.com/athul/archie" 18 | 19 | [[params.social]] 20 | name = "Twitter" 21 | icon = "twitter" 22 | url = "https://twitter.com/athulcajay/" 23 | 24 | [[params.social]] 25 | name = "GitLab" 26 | icon = "gitlab" 27 | url = "https://gitlab.com/athul/" 28 | 29 | [[menu.main]] 30 | name = "Home" 31 | url = "/" 32 | weight = 1 33 | 34 | [[menu.main]] 35 | name = "All posts" 36 | url = "/posts" 37 | weight = 2 38 | 39 | [[menu.main]] 40 | name = "About" 41 | url = "/about" 42 | weight = 3 43 | 44 | [[menu.main]] 45 | name = "Tags" 46 | url = "/tags" 47 | weight = 4 48 | -------------------------------------------------------------------------------- /themes/archie/layouts/partials/disqus.html: -------------------------------------------------------------------------------- 1 |
2 | 17 | 19 | comments powered by Disqus 20 | -------------------------------------------------------------------------------- /content/blog/2020-02-19.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: "The first ever ConanDays 2020 in Madrid!" 4 | subheading: "Verifa will be hosting a 3-hour hands-on basic training course in Conan." 5 | authors: 6 | - jlarfors 7 | tags: 8 | - Continuous Delivery 9 | - DevOps 10 | - Conan 11 | - Verifa Culture 12 | date: 2020-02-19 13 | image: /blog/2020-02-19/main.jpg 14 | --- 15 | 16 | Interested in Conan? Want to learn more and get some hands-on training? **Come to ConanDays 2020!** 17 | 18 | Verifa will be hosting a 3-hour hands-on basic training course in Conan. After several successful projects helping companies adopt Conan we are happy to share our practical experience with all participants and the community! 19 | 20 | Also, if you are using Git submodules and considering Conan, we have a 10-min lightning talk on Conan and Git Submodules: Friend or Foe, where we will share our experience on how they can be used together in harmony instead of being considered alternatives, as is the typical view. 21 | 22 | Learn more about [Conan Days](https://conandays.conan.io/) 23 | -------------------------------------------------------------------------------- /themes/archie/layouts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "header.html" . }} 4 | 5 |
6 | {{ partial "head.html" . }} 7 | 8 |
9 |
10 | {{- if isset .Site.Params "subtitle" -}} 11 |

{{ .Site.Params.Subtitle | .Page.RenderString }}

12 | {{- end -}} 13 |
14 | {{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }} 15 | {{ $paginator := .Paginate (where $pages "Params.hidden" "ne" true) }} 16 | {{ range $paginator.Pages }} 17 |
18 |

{{.Title}}

19 | 20 |
{{ template "partials/pagedescription.html" . }} 21 | Read more ⟶ 22 |
23 | {{ end }} 24 | {{ template "partials/paginator.html" . }} 25 |
26 | {{ partial "footer.html" . }} 27 |
28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /themes/archie/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 ATHUL CYRIAC AJAY 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /content/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Verifa Has Closed Its Doors" 3 | date: 2025-06-23 4 | --- 5 | 6 | After years of helping organisations, **Verifa has officially closed its operations**. 7 | 8 | From 2017-2025 Verifa provided consultancy services in the area of Continuous Delivery, DevOps, Platform Engineering and Developer Experience. 9 | We want to thank all our clients, partners, and the broader community for their trust and collaboration throughout our journey. It has been an honour to work alongside so many international teams and talented engineers. 10 | 11 | ## What This Means 12 | 13 | - **Our consulting services** have ended 14 | - **This website** will remain online in a limited capacity 15 | - **Our blog content** remains available for the community to reference and learn from 16 | 17 | ## Our Blog Archive 18 | 19 | Our blog posts covering platform engineering, DevOps, cloud infrastructure, and developer experience topics remain available. These resources represent years of insights and learnings that we hope will continue to benefit the community. 20 | 21 | [Browse our blog archive →](/blog/) 22 | 23 | ## Thank You 24 | 25 | Thank you for being part of the Verifa story. It has truly been a blast. 26 | -------------------------------------------------------------------------------- /content/blog/lazy-game-devs-guide-to-automation-nordic-games-may2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: The Lazy Game Dev's Guide to Automation 4 | subheading: Recorded session at the Nordic Game conference, Malmö, May 2023 5 | authors: 6 | - zlaster 7 | tags: 8 | - Containers 9 | - Continuous Integration 10 | date: 2023-05-30 11 | image: "/blog/ngc-talk-may23-game-dev-guide-to-automation.png" 12 | featured: false 13 | --- 14 | 15 | **The Nordic Game Conference is Europe's leading games conference, held twice a year in Malmö and Helsinki. It was great to be invited to record a session for the Malmö event on May 23-26, 2023, on one of my favorite subjects - automation in games development.** 16 | 17 | Push a change, see it live on [Itch.io](http://itch.io/) in minutes, using free services. A non-technical guide to automating builds, deploying to users and eliminating other drudgery. Spend less time on tedious tasks, and spend more time actually developing your game by invisibly incorporating modern CI/CD techniques into your workflows. 18 | 19 | 20 | 21 | If you need any help with automating game builds [get in touch!](/contact/) 22 | -------------------------------------------------------------------------------- /themes/archie/.github/workflows/static.yml: -------------------------------------------------------------------------------- 1 | # Simple workflow for deploying static content to GitHub Pages 2 | name: Deploy static content to Pages 3 | 4 | on: 5 | # Runs on pushes targeting the default branch 6 | push: 7 | branches: ["gh-pages"] 8 | 9 | # Allows you to run this workflow manually from the Actions tab 10 | workflow_dispatch: 11 | 12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13 | permissions: 14 | contents: read 15 | pages: write 16 | id-token: write 17 | 18 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. 19 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. 20 | concurrency: 21 | group: "pages" 22 | cancel-in-progress: false 23 | 24 | jobs: 25 | # Single deploy job since we're just deploying 26 | deploy: 27 | environment: 28 | name: github-pages 29 | url: ${{ steps.deployment.outputs.page_url }} 30 | runs-on: ubuntu-latest 31 | steps: 32 | - name: Checkout 33 | uses: actions/checkout@v4 34 | - name: Setup Pages 35 | uses: actions/configure-pages@v5 36 | - name: Upload artifact 37 | uses: actions/upload-pages-artifact@v3 38 | with: 39 | # Upload entire repository 40 | path: '.' 41 | - name: Deploy to GitHub Pages 42 | id: deployment 43 | uses: actions/deploy-pages@v4 44 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/posts/post-6.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Hugo shortcodes" 3 | date: 2018-03-18T12:13:36+05:30 4 | description: Here is a demo of all shortcodes available in Hugo. 5 | --- 6 | 7 | ## Images 8 | 9 | {{< figure src="https://images.unsplash.com/photo-1560032779-0a8809186efd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80" title="Dave Herring" >}} 10 | 11 | {{< figure src="https://images.unsplash.com/photo-1560032779-0a8809186efd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=80" title="Dave Herring" >}} 12 | 13 | ## Github Gist 14 | 15 | {{< gist spf13 7896402 >}} 16 | 17 | ## Youtube video 18 | 19 | {{< youtube w7Ft2ymGmfc >}} 20 | 21 | ## Tweet 22 | 23 | {{< tweet user="GoHugoIO" id="877500564405444608" >}} 24 | 25 | ## Vimeo 26 | 27 | {{< vimeo id="146022717" >}} 28 | 29 | ## Instagram 30 | 31 | {{< instagram BWNjjyYFxVx >}} 32 | 33 | ## Callouts 34 | 35 | ### Original 36 | 37 | {{< callout emoji="⚡️" text="Original callout." >}} 38 | 39 | ### Alert 40 | 41 | {{< callout type="alert" text="This is an alert callout." >}} 42 | 43 | ### Custom 44 | 45 | {{< callout type="custom" emoji="⚡️" title="Custom callout" text="This is custom text for a custom callout." style="background-color: transparent; border: 3px solid #d340e0;" >}} 46 | 47 | ### Tip 48 | 49 | {{< callout type="tip" text="This is a tip callout." >}} 50 | 51 | ### Warning 52 | 53 | {{< callout type="warning" text="This is a warning callout." >}} 54 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/about.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "About" 3 | description = "Hugo, the world’s fastest framework for building websites" 4 | date = "2019-02-28" 5 | aliases = ["about-us","about-hugo","contact"] 6 | author = "Hugo Authors" 7 | +++ 8 | 9 | Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows. 10 | 11 | Hugo makes use of a variety of open source projects including: 12 | 13 | * https://github.com/yuin/goldmark 14 | * https://github.com/alecthomas/chroma 15 | * https://github.com/muesli/smartcrop 16 | * https://github.com/spf13/cobra 17 | * https://github.com/spf13/viper 18 | 19 | Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages. 20 | 21 | Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases. 22 | 23 | Websites built with Hugo are extremelly fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider. 24 | 25 | Learn more and contribute on [GitHub](https://github.com/gohugoio). 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /content/blog/2019-01-10.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: "Deep Dive into a Modern CI Pipeline" 4 | subheading: "Join Our Live Webinar! " 5 | authors: 6 | - verifa 7 | tags: 8 | - Continuous Delivery 9 | - DevOps 10 | date: 2019-01-10 11 | image: /blog/2019-02-19/main.jpg 12 | --- 13 | 14 | We help companies adopt and mature their Continuous Integration (CI) practices. 15 | 16 | This webinar will briefly introduce a common CI evolution and its common pitfalls with tools like Jenkins. We will then take a hands-on approach and show a demo environment that Verifa has setup using the Google Kubernetes Engine (GKE), with a typical CI stack all running in Docker-based environments with all configurations stored as code. 17 | 18 | The demo will be based around some open source projects which we have Dockerized and CI-enabled, illustrating how you can transform any of your existing projects, following best practices (such as infrastructure and configuration as code) for a scalable, maintainable and resilient CI environment. 19 | 20 | The demo will simulate a Null Release workflow; going from a developer change to a release candidate by using automatically assessing all code changes. Unlike more traditional CI setups where static analysis and unit testing is performed, we also considered aspects such as: architectural compliance, architectural erosion and open source software compliance. 21 | 22 | Whether you are already practicing CI, or looking for ways to improve your current setup, then please sign up! 23 | 24 | [Sign Up for the Demo](https://register.gotowebinar.com/register/366335681574985995) 25 | -------------------------------------------------------------------------------- /content/blog/verifa-hashicorp-chip-terraform.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: Verifa is now a Certified HashiCorp Implementation Partner for Terraform! 4 | subheading: We're officially certified to help with all your HashiCorp Terraform needs. 5 | authors: 6 | - ckurowski 7 | tags: 8 | - HashiCorp 9 | - Terraform 10 | date: 2022-10-25 11 | image: "/blog/verifa-hashicorp-chip-terraform.png" 12 | featured: false 13 | 14 | --- 15 | 16 | Back in June this year we got [our badge for Vault](/blog/verifa-hashicorp-chip-vault-blog/). And now you’ll be pleased to hear that we’re also a Certified HashiCorp Implementation Partner for Terraform! 17 | 18 | The HashiCorp software suite including Vault, Terraform, Consul, Vagrant, Packer, and Nomad, helps organisations deliver consistent workflows to provision, secure, connect, and run any infrastructure for any application. 19 | 20 | [Terraform](https://www.terraform.io/) is an open-source infrastructure as code tool that enables you to safely and predictably create, change, and improve infrastructure. It lets you define both cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share. You can then use a consistent workflow to provision and manage all of your infrastructure throughout its lifecycle. 21 | 22 | >‘We’re delighted to now be Certified HashiCorp Implementation Partners for both Vault and Terraform. We use the Hashi-stack tools on a daily basis to solve problems for our customers. It’s nice to get this recognition, and continue to work together with HashiCorp to help our customers with all things Continuous and Cloud.’ 23 | > 24 | > Jacob Lärfors, CEO, Verifa 25 | 26 | [Get in touch](/contact/) to get expert help with the HashiCorp stack from the Verifa crew. 27 | -------------------------------------------------------------------------------- /themes/archie/layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 | 6 |
7 |
8 |

{{ .Title }}

9 |
Posted on {{ dateFormat ":date_medium" .Date }}{{ if .Draft }} DRAFT {{ end }}
10 |
11 | {{ if isset .Params "tldr" }} 12 |
13 | tl;dr: 14 | {{ .Params.tldr }} 15 |
{{ end }} 16 |
17 | {{ .Content }} 18 |
19 | 32 |
33 | 34 | 35 | {{ if isset .Params "toc" }} 36 |
37 | Table of contents: 38 | {{ .TableOfContents }} 39 |
40 | {{ end }} 41 |
42 | 43 | 44 | {{- $.Scratch.Set "isDisqus" true -}} 45 | {{ if not .Site.Config.Services.Disqus.Shortname }} 46 | {{- $.Scratch.Set "isDisqus" false -}} 47 | {{ end }} 48 | 49 | {{- if eq ($.Scratch.Get "isDisqus") true -}} 50 | {{- partial "disqus.html" . -}} 51 | {{- end -}} 52 |
53 |
54 | {{ end }} 55 | -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-6.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #6' 4 | subheading: Join us on 19 April at 18:00 for the sixth Helsinki HashiCorp User Group meetup! 5 | authors: 6 | - ckurowski 7 | tags: 8 | - HashiCorp 9 | date: 2023-03-28 10 | image: "/blog/helsinki-hug-6/hug-blog-event-6.png" 11 | featured: false 12 | 13 | --- 14 | 15 | **Helsinki HashiCorp User Group (HUG) is a meetup full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 16 | 17 | **Time:** Wednesday, 19 April, 18:00-21.00 EET 18 | 19 | **Place:** Siili Solutions, Ruoholahdenkatu 21, Helsinki 20 | 21 | [Register here](https://www.meetup.com/helsinki-hashicorp-user-group/events/291534034/) 22 | 23 | The next Helsinki HashiCorp User Group is hosted by [Siili Solutions](https://www.siili.com/fi/) at their offices in Ruoholahti, Helsinki. The agenda is taking shape with what promises to be some pretty interesting topics. So, join us for an evening of talks, networking, and snacks! The talks will also be live streamed and recorded for those who prefer to join online. 24 | 25 | Speaker reveals are ongoing, and so far we can confirm: 26 | 27 | [Ruslan Gainutdinov](https://www.linkedin.com/in/ruslanfg/), Co-founder and CTO at Valosan talking about Early-stage startups: When to use Terraform and where to draw a line 28 | 29 | Ruslan is a full-stack developer and all-hands CTO in Valosan - a media relationship management platform, with previous experience working in the mobility app Whim and consultancy Futurice. 30 | 31 | [Marko Ruotsalainen](https://www.linkedin.com/in/marko-ruotsalainen-31958361/), Cloud Architect at Siili Solutions talking about Azure Landing Zone. 32 | 33 | See you at the sixth Helsinki HUG! 34 | 35 | [Register here](https://www.meetup.com/helsinki-hashicorp-user-group/events/291534034/) 36 | -------------------------------------------------------------------------------- /content/blog/elasticsearch-workshop-software-dev-company-case-study.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Case 3 | title: Elasticsearch workshop for a Nordic software company 4 | subheading: During a one day workshop, Verifa helped a Nordic software development company design a reliable High Available Elasticsearch cluster for improved debugging and regulatory compliance. 5 | authors: 6 | - ckurowski 7 | - avijayan 8 | - mvainio 9 | tags: 10 | - Elastic 11 | - Continuous Delivery 12 | - Workshop 13 | date: 2024-06-13 14 | previewImage: /cases/elastic-horizontal-dark-ink.svg 15 | image: /cases/elasticsearch-workshop-case-study-2.png 16 | featured: true 17 | 18 | --- 19 | 20 | **During a one day workshop, Verifa helped a Nordic software development company design a reliable High Available Elasticsearch cluster for improved debugging and regulatory compliance.** 21 | 22 | *** 23 | 24 | ## The challenge 25 | 26 | The company is a leading provider of business software solutions. They needed a way to retain and maintain logs for longer periods for debugging and regulatory purposes. They decided to deploy an Elastic Stack within their private cloud for this purpose and needed additional expertise to ensure a successful implementation. 27 | 28 | ## The solution 29 | 30 | After an initial consultation to identify the scope and focus areas, Verifa delivered a short training session followed by a 1 day workshop. In the workshop we explored, planned and designed a reliable and highly available Elasticsearch cluster together. The aim of the sessions was knowledge transfer so that future maintenance of the cluster can be carried out by the company’s own engineers. 31 | 32 | ## Results 33 | 34 | Following the workshop, the team was able to provision new clusters and expand the cluster size based on their needs. In the longer term, they feel confident in monitoring the cluster, and performing upgrades when necessary. 35 | 36 | Can we help you with your Continuous Delivery journey? Whether it's a long term or short term project, [get in touch](/contact/) and let's chat! 37 | -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-5.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #5' 4 | subheading: Join us on 30 November at 17:00 for the fifth Helsinki HashiCorp User Group meetup! 5 | authors: 6 | - ckurowski 7 | tags: 8 | - HashiCorp 9 | date: 2022-10-28 10 | image: "/blog/helsinki-hug-5/hug-blog-event-5.png" 11 | featured: false 12 | 13 | --- 14 | 15 | **Helsinki HashiCorp User Group (HUG) is a meetup full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 16 | 17 | **Time:** Wednesday, 30 November, 17:00-22.00 EET 18 | 19 | **Place:** UpCloud, Aleksanterinkatu 15 B, Helsinki 20 | 21 | [Register here](https://www.meetup.com/helsinki-hashicorp-user-group/events/288940115/) 22 | 23 | The next Helsinki HashiCorp User Group is hosted by [UpCloud](https://upcloud.com/) at their offices in downtown Helsinki. This time round there’ll be a packed agenda with three presentations and some very special guests. Join for an evening of talks, networking, and snacks! The talks will also be live streamed and recorded for those who prefer to join online. 24 | 25 | Speaker lineup: 26 | 27 | [Toni Kangas](https://www.linkedin.com/in/tonikangas/), Senior Engineer at UpCloud: How to codify your cloud infra using UpCloud CDK for Terraform provider 28 | 29 | [Jacob Lärfors](https://www.linkedin.com/in/jlarfors/), CEO & [Mike Vainio](https://www.linkedin.com/in/mikevainio/), Technical Consultant at Verifa: Accessing secrets on Vault in Kubernetes 30 | 31 | [DevOps Rob](https://www.devopsrob.com/): Event driven access control with HashiCorp Rift 32 | 33 | Plus some welcoming words from [Amir Altamimi](https://www.linkedin.com/in/amir-altamimi-33bb262/), Partner Sales Manager, HashiCorp 34 | 35 | See you at the fifth Helsinki HUG! 36 | 37 | [Register here](https://www.meetup.com/helsinki-hashicorp-user-group/events/288940115/) 38 | 39 | **IMPORTANT NOTE:** Face masks are not required. However, please practice good hand hygiene and only attend in person if you are well. If you have any COVID-19 symptoms please join us online. 40 | -------------------------------------------------------------------------------- /content/blog/verifa-announces-partnership-with-hashicorp.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: Verifa announces partnership with HashiCorp 4 | subheading: We're Verifa delighted to announce our partnership with HashiCorp, the 5 | leader in multi-cloud infrastructure automation software. 6 | authors: 7 | - verifa 8 | tags: 9 | - HashiCorp 10 | date: 2021-05-03 11 | image: "/blog/2021-05-06/hashicrop-partner-illo-verifa-02.png" 12 | featured: false 13 | --- 14 | 15 | **Verifa announces partnership with HashiCorp** 16 | 17 | Verifa, your continuous delivery and DevOps partner, is delighted to announce its partnership with HashiCorp, the leader in multi-cloud infrastructure automation software. 18 | 19 | The HashiCorp software suite including VagrantTM, PackerTM, Terraform®, VaultTM, Consul®, and NomadTM, is helping organizations to adopt consistent workflows to provision, secure, connect, and run any infrastructure for any application. 20 | 21 | At Verifa we are big fans of the HashiCorp stack. So we are very excited to join Hashicorp's Partner Network, a worldwide ecosystem of specialised partners, in delivering expert services to our customers. 22 | 23 | > 'We're delighted to partner with HashiCorp. At Verifa, we regularly utilize HashiCorp products to solve challenges faced by our customers during their digital transformation. We look forward to working alongside HashiCorp to help our customers with all things Continuous, Cloud and DevOps.' 24 | > 25 | > Mika Rosenlund, CEO, Verifa 26 | 27 | > 'As more companies make the shift to DevOps and multi-cloud operating models for their IT infrastructures, they are asking for help and expertise to get them there. Verifa is a skilled and specialised partner that excels in helping customers in their transformation projects regardless of the complexity or size. We look forward to working closely with the Verifa team enabling organizations to benefit from a cloud operating model.' 28 | > 29 | > Mark Mason, Senior Director Partners, EMEA, HashiCorp 30 | 31 | To learn more about how Verifa and HashiCorp can help your company transition to a cloud operating model book your free consultation. 32 | -------------------------------------------------------------------------------- /content/blog/webinar-accessing-vault-credentials-in-kubernetes.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: Accessing HashiCorp Vault credentials in Kubernetes [webinar] 4 | subheading: Join us and HashiCorp to learn how HashiCorp Vault can keep your secrets in Kubernetes secure. 5 | authors: 6 | - verifa 7 | tags: 8 | - HashiCorp 9 | - Vault 10 | - Kubernetes 11 | date: 2022-11-22 12 | image: "/blog/webinar-221122-hashicorp-vault-kubernetes.png" 13 | featured: true 14 | 15 | --- 16 | 17 | ## Watch the playback 18 | 19 | 20 | 21 | [Download Erkan’s presentation](https://drive.google.com/file/d/1j9z2xiKtNKvr3KVDooY2U5iDe6Kz8mnw/view?usp=share_link) 22 | 23 | [Download Jacob’s presentation](https://drive.google.com/file/d/1PuNf0UInrwK0JJ3a5xhim4nS3TaO4JHk/view?usp=share_link) 24 | 25 | With the ever rising security threats, organizations should be striving to keep their secrets a secret. HashiCorp Vault provides centralized and auditable secrets management using short-lived access tokens to prevent secrets sprawl and reduce the attack surface for your applications and multi-cloud infrastructure. 26 | 27 | Join Jacob Lärfors, CEO of Verifa and Erkan Djafer, Senior Solutions Engineer at HashiCorp, to learn about: 28 | 29 | - An overview of HashiCorp Vault and its use cases 30 | - How HashiCorp Vault can keep your secrets in Kubernetes secure 31 | - An overview of different methods for getting secrets into Kubernetes workloads 32 | 33 | ## Speakers 34 | 35 | Jacob Lärfors is CEO and co-founder of Verifa. He’s a HashiCorp aficionado, with years of experience with cloud technologies and continuous practices. 36 | 37 | Erkan Djafer has a decade of experience with networking, security and infrastructure. He’s Senior Solutions Engineer at HashiCorp, and an experienced professional with a strong public speaking background and holds a number of speaking awards, including Distinguished Speaker at Cisco Live. His main-expertise is Cloud-Based security. 38 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 | 6 |
7 |
8 |

{{ .Title }}

9 |
10 | Posted on {{ dateFormat ":date_medium" .Date }}{{ if .Draft }} DRAFT {{ end }} 11 | {{ if .Params.authors }} 12 |
13 | 14 | By {{ range $index, $authorId := .Params.authors }}{{ if gt $index 0 }}, {{ end }}{{ $author := index $.Site.Params.authors $authorId }}{{ if $author }}{{ $author.name }}{{ else }}{{ $authorId }}{{ end }}{{ end }} 15 | 16 | {{ end }} 17 |
18 |
19 | 20 | 21 | {{ if .Params.image }} 22 | 25 | {{ end }} 26 | 27 | {{ if isset .Params "tldr" }} 28 |
29 | tl;dr: 30 | {{ .Params.tldr }} 31 |
{{ end }} 32 |
33 | {{ .Content }} 34 |
35 | 48 |
49 | 50 |
51 | 52 | 53 | {{- $.Scratch.Set "isDisqus" true -}} 54 | {{ if not .Site.Config.Services.Disqus.Shortname }} 55 | {{- $.Scratch.Set "isDisqus" false -}} 56 | {{ end }} 57 | 58 | {{- if eq ($.Scratch.Get "isDisqus") true -}} 59 | {{- partial "disqus.html" . -}} 60 | {{- end -}} 61 |
62 |
63 | {{ end }} 64 | -------------------------------------------------------------------------------- /content/blog/verifa-hashicorp-chip-vault-blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: Verifa is now a Certified HashiCorp Implementation Partner for Vault! 4 | subheading: Almost a year to the date of announcing our partnership with HashiCorp, we have gained our Certified HashiCorp Implementation Partner for Vault. 5 | authors: 6 | - ckurowski 7 | tags: 8 | - HashiCorp 9 | - Vault 10 | date: 2022-06-14 11 | image: "/blog/verifa-hashicorp-chip-vault.png" 12 | featured: false 13 | 14 | --- 15 | 16 | At Verifa, our crew of experienced DevOps and Cloud professionals are dedicated to helping our customers with Continuous practices and Cloud adoption. We’re big fans of the HashiCorp stack, which helps organisations adopt consistent workflows to provision, secure, connect, and run any infrastructure for any application. 17 | 18 | HashiCorp is the leader in multi-cloud infrastructure automation software. [HashiCorp Vault](https://www.hashicorp.com/products/vault) provides the foundation for modern multi-cloud security. It was purpose-built in the cloud era to authenticate and access different clouds, systems, and endpoints, and centrally store, access, and deploy secrets (API keys, credentials, etc.). It also provides a simple workflow to encrypt data in flight and at rest. 19 | 20 | > ‘We’re delighted to be the one of the first Certified HashiCorp Implementation Partners for Vault in the Nordics. We’re big fans of the Hashi-stack and use the tools on a daily basis to solve problems. It’s nice to get a badge to prove our skill and commitment, and we look forward to working more closely with HashiCorp to help our customers with all things Continuous and Cloud.’ Jacob Lärfors, CEO, Verifa 21 | > 22 | > Jacob Lärfors, CEO, Verifa 23 | 24 | > ‘HashiCorp’s ecosystem continues to grow in the Nordics, and Verifa is a critical player in helping our strategic customers to adopt a cloud operating model with our tools. A highly skilled and specialised partner, Verifa excels in helping customers make the shift and reap the benefits of a multi cloud operating model, regardless of the complexity or size.’ Said Mark Mason, Senior Director Partners, EMEA, HashiCorp. 25 | > 26 | > Mark Mason, Senior Director Partners, EMEA, HashiCorp 27 | 28 | Next on the roadmap is for us to become Certified HashiCorp Implementation Partners for Terraform! 29 | 30 | [Get in touch](/contact/) to get expert help with the HashiCorp stack from the Verifa crew. 31 | -------------------------------------------------------------------------------- /themes/archie/assets/css/fonts.css: -------------------------------------------------------------------------------- 1 | /* fira-sans-regular - latin */ 2 | @font-face { 3 | font-display: swap; 4 | font-family: 'Fira Sans'; 5 | font-style: normal; 6 | font-weight: 400; 7 | src: url('../fonts/fira-sans-v10-latin-regular.eot'); /* IE9 Compat Modes */ 8 | src: local('Fira Sans Regular'), local('FiraSans-Regular'), 9 | url('../fonts/fira-sans-v10-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 10 | url('../fonts/fira-sans-v10-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ 11 | url('../fonts/fira-sans-v10-latin-regular.woff') format('woff'), /* Modern Browsers */ 12 | url('../fonts/fira-sans-v10-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 13 | url('../fonts/fira-sans-v10-latin-regular.svg#FiraSans') format('svg'); /* Legacy iOS */ 14 | } 15 | /* roboto-mono-regular - latin */ 16 | @font-face { 17 | font-display: swap; 18 | font-family: 'Roboto Mono'; 19 | font-style: normal; 20 | font-weight: 400; 21 | src: url('../fonts/roboto-mono-v12-latin-regular.eot'); /* IE9 Compat Modes */ 22 | src: url('../fonts/roboto-mono-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 23 | url('../fonts/roboto-mono-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ 24 | url('../fonts/roboto-mono-v12-latin-regular.woff') format('woff'), /* Modern Browsers */ 25 | url('../fonts/roboto-mono-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 26 | url('../fonts/roboto-mono-v12-latin-regular.svg#RobotoMono') format('svg'); /* Legacy iOS */ 27 | } 28 | /* ibm-plex-mono-500italic - latin */ 29 | @font-face { 30 | font-display: swap; 31 | font-family: 'IBM Plex Mono'; 32 | font-style: italic; 33 | font-weight: 500; 34 | src: url('../fonts/ibm-plex-mono-v6-latin-500italic.eot'); /* IE9 Compat Modes */ 35 | src: local('IBM Plex Mono Medium Italic'), local('IBMPlexMono-MediumItalic'), 36 | url('../fonts/ibm-plex-mono-v6-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 37 | url('../fonts/ibm-plex-mono-v6-latin-500italic.woff2') format('woff2'), /* Super Modern Browsers */ 38 | url('../fonts/ibm-plex-mono-v6-latin-500italic.woff') format('woff'), /* Modern Browsers */ 39 | url('../fonts/ibm-plex-mono-v6-latin-500italic.ttf') format('truetype'), /* Safari, Android, iOS */ 40 | url('../fonts/ibm-plex-mono-v6-latin-500italic.svg#IBMPlexMono') format('svg'); /* Legacy iOS */ 41 | } 42 | -------------------------------------------------------------------------------- /content/blog/we-have-a-fresh-new-look.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: We've got a fresh new look 4 | subheading: After five years in business it was time to take a long hard look at ourselves, delving deep into what Verifa is today and where we're headed. 5 | authors: 6 | - ckurowski 7 | tags: 8 | - Verifa Culture 9 | date: 2022-02-16 10 | image: "/blog/2022-02-16/main.png" 11 | featured: false 12 | --- 13 | 14 | ## We've got a fresh new look 15 | 16 | Today, we're launching our fresh new look. After five years in business it was time to take a long hard look at ourselves, delving deep into what Verifa is today and where we're headed. 17 | 18 | The upshot? A renewed focus on what matters to our customers and to our crew, a new logo, a new visual identity and a new website. Yes, we've been a tad busy. 19 | 20 | ### A sleek new site 21 | 22 | We've simplified our website to make it easier for you to find the info you need. Whether you need a helping hand with your project, a hands-on blog post, or just curious about our crew, we hope our new look website delivers for you. Built in-house with [Svelte](https://svelte.dev/) and guided by the design maestro, [Emanuele Pizzolorusso](https://pizzolorusso.com/about), it's super simple and quick to make changes on our end. This means we can be more agile in delivering great content to you. 23 | 24 | ### New logo 25 | 26 | Our logo has been with us since the beginning, and the company has evolved and grown since those early days. Our new logo needed to reflect and embody what Verifa stands for today. Again going for simplicity, the logo is monochrome and incorporates the infinity symbol, highlighting our focus on continuous everything. We are also evolving a new visual identity using a pastel palette, and emphasising continuous, cloud and people. 27 | 28 | ![logo-change](/blog/2022-02-16/logo-change.png) 29 | 30 | ### Our purpose: Not your everyday consultancy 31 | 32 | At the heart of our rebrand was a deep dive into what Verifa is today, and where we want to go in the future. We focussed in on the true value we offer for our customers and what, as a team, we love to do - Continuous Delivery, Cloud and Open Source. Essentially Verifa is here to: 33 | 34 | - **Help customers define and solve problems** 35 | - **Provide a fun place to do meaningful work** 36 | - **Share knowledge freely with the community** 37 | 38 | **TL;DR:** We changed our logo, our look and our website. 39 | 40 | Cheers,
41 | The Verifa crew 42 | 43 | Thanks to [Emanuele Pizzolorusso](https://pizzolorusso.com/about) for the logo, branding and website design. 44 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Hugo site to GitHub Pages 2 | 3 | on: 4 | # Runs on pushes targeting the default branch 5 | push: 6 | branches: 7 | - main 8 | 9 | # Allows you to run this workflow manually from the Actions tab 10 | workflow_dispatch: 11 | 12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13 | permissions: 14 | contents: read 15 | pages: write 16 | id-token: write 17 | 18 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. 19 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. 20 | concurrency: 21 | group: "pages" 22 | cancel-in-progress: false 23 | 24 | # Default to bash 25 | defaults: 26 | run: 27 | shell: bash 28 | 29 | jobs: 30 | # Build job 31 | build: 32 | runs-on: ubuntu-latest 33 | env: 34 | HUGO_VERSION: 0.147.8 35 | steps: 36 | - name: Install Hugo CLI 37 | run: | 38 | wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ 39 | && sudo dpkg -i ${{ runner.temp }}/hugo.deb 40 | 41 | - name: Install Dart Sass 42 | run: sudo snap install dart-sass 43 | 44 | - name: Checkout 45 | uses: actions/checkout@v4 46 | with: 47 | submodules: recursive 48 | fetch-depth: 0 49 | 50 | - name: Setup Pages 51 | id: pages 52 | uses: actions/configure-pages@v5 53 | 54 | - name: Install Node.js dependencies 55 | run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" 56 | 57 | - name: Build with Hugo 58 | env: 59 | HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache 60 | HUGO_ENVIRONMENT: production 61 | TZ: Europe/Helsinki 62 | run: | 63 | hugo \ 64 | --gc \ 65 | --minify \ 66 | --baseURL "${{ steps.pages.outputs.base_url }}/" 67 | 68 | - name: Upload artifact 69 | uses: actions/upload-pages-artifact@v3 70 | with: 71 | path: ./public 72 | 73 | # Deployment job 74 | deploy: 75 | environment: 76 | name: github-pages 77 | url: ${{ steps.deployment.outputs.page_url }} 78 | runs-on: ubuntu-latest 79 | needs: build 80 | steps: 81 | - name: Deploy to GitHub Pages 82 | id: deployment 83 | uses: actions/deploy-pages@v4 84 | -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #4' 4 | subheading: Join us on 22 March at 17:30 for the fourth Helsinki HashiCorp User Group 5 | meetup! 6 | authors: 7 | - ckurowski 8 | tags: 9 | - HashiCorp 10 | date: 2022-03-10 11 | image: "/blog/helsinki-hug-4/hug-blog-event-4.png" 12 | featured: false 13 | --- 14 | 15 | **Helsinki HashiCorp User Group (HUG) is a quarterly meetup full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 16 | 17 | The next Helsinki HashiCorp User Group will be hosted by Supermetrics at their offices in downtown Helsinki. There will be talks, networking, snacks and sauna! Towels, shower gel and shampoo will be available at the sauna area. The talks will also be live streamed and recorded for those who prefer to join online. 18 | 19 | [Register here](https://www.meetup.com/helsinki-hashicorp-user-group/events/284399439/) 20 | 21 | ## The agenda & speaker line up goes like this 22 | 23 | **Time:** Tuesday, 22 March, 17:30-22.00 EET 24 | 25 | **Place:** Supermetrics, Kaivokatu 10 A, Helsinki 26 | 27 | 17:30 Doors open 28 | 29 | 17:55 HUG introduction 30 | 31 | 18:00 Welcome words from Supermetrics CEO, Mikael Thuneberg 32 | 33 | 18:15 **Jacob Lärfors, Verifa: Bootstrapping production-ready Kubernetes clusters using Terraform and ArgoCD.** [Jacob Lärfors](https://www.linkedin.com/in/jlarfors/) is CEO at Verifa and a HashiCorp afficiando, with years of experience with cloud technologies and continuous practices. 34 | 35 | 19:00 **Dawit Nida and Duy Nguyen, Supermetrics: Dare to manage multi- (provider, cloud, region, env) with Terraform?** [Dawit Nida](https://www.linkedin.com/in/dawitnida/) is a Senior DevOps Engineer and one of the first members of Supermetrics’ DevOps team. He’s responsible for managing and monitoring the entirety of Supermetrics’ infrastructure. [Duy Nguyen](https://www.linkedin.com/in/duy-nguyen-527ba756/) is an SRE Engineer at Supermetrics hailing originally from software development sphere and has taken part in a wide range of projects big and small on all levels of software development lifecycle. 36 | 37 | 19:45 Closing words 38 | 39 | 19:50 Socialising & Sauna 40 | 41 | **IMPORTANT NOTE:** Face masks are not required. However, please practice good hand hygiene and only attend in person if you are well. If you have any COVID-19 symptoms please join us online. 42 | 43 | See you at the fourth Helsinki HUG! 44 | 45 | [Register here](https://www.meetup.com/helsinki-hashicorp-user-group/events/284399439/) 46 | -------------------------------------------------------------------------------- /content/blog/2020-08-31.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Job 3 | title: "Senior Software Architect" 4 | subheading: "A unique opportunity to lead the development of Verifa's open source project" 5 | authors: 6 | - verifa 7 | active: false 8 | tags: 9 | - Continuous Delivery 10 | - DevOps 11 | - Software Architecture 12 | - Bubbly 13 | date: 2020-08-31 14 | image: /company/distributed.svg 15 | --- 16 | 17 | ## Possible Locations 18 | 19 | - Helsinki, Finland 20 | - Göteborg, Sweden 21 | - Other remote location 22 | 23 | ## Competitive salary and benefits 24 | 25 | ## Technologies 26 | 27 | - Golang 28 | - Google Cloud Platform (GCP) 29 | - GCP Cloud Build 30 | - GCP Cloud Run 31 | - Terraform 32 | - ArangoDB (NoSQL) 33 | 34 | ## Description 35 | 36 | We have just started developing an open source tool (currently codenamed "Bubbly") to help aggregate and query data that is produced as part of software development. The focus initially is on aggregating data produced during Continuous Integration (such as different test results) which are related to different data sources (such as source code, Docker images, 3rd party libraries, etc). 37 | 38 | We will use a declarative syntax to tell Bubbly the different data sources and how to aggregate them into a common, queryable database that will provide connectors with dashboards like Grafana. In essence, Bubbly will provide a way for software engineers to define their data in declarative syntax and Bubbly will do all the heavy lifting. 39 | 40 | We are looking for an experienced software professional who understands the domain and has faced the challenge of trying to make sense of software development data (e.g. static analysis results, automated test results, security scans, unit testing, and so on) to help drive and lead the development of Bubbly and take it into use with our customers. 41 | 42 | You should be familiar with DevOps-style practices (such as CI, Infra as Code, Test Automation) and should have strong foundational knowledge in things like Linux, VMs, Containers, Orchestrators and Networking. It will be expected that you understand industry trends and tooling, and will be able to conduct research in order to drive the direction of Bubbly. There will be plentiful research needed :) 43 | 44 | You will also get the opportunity to work alongside our consultants delivering expert services around all things Continuous, Cloud and Devops. 45 | 46 | We believe in supporting open source values and looking for like minded people to join our team. You will be working alongside our CTO, Jacob Larfors, and others in the awesome Verifa team. 47 | 48 | If this sounds interesting please get in touch and we can provide more information on Verifa, Bubbly and this truly unique position! 49 | 50 | Contact us at 51 | -------------------------------------------------------------------------------- /content/blog/2018-11-26.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: DevOps News Roundup | Deploy to Production 4 | subheading: This week Verifa released the first in a series of white papers designed to help you bring DevOps to your organization. 5 | date: 2018-11-26 6 | authors: 7 | - amackay 8 | tags: 9 | - DevOps 10 | image: /blog/2018-11-26/main.svg 11 | --- 12 | 13 | ## New White Paper Released 14 | 15 | This week Verifa released the first in a series of white papers designed to help you bring DevOps to your organization. The first in the series can be downloaded from here... DevOps white paper 16 | 17 | ## DevOps hits Mainstream Media 18 | 19 | The Telegraph ran a piece on DevOps this week. Titled 'Why DevOps should be the norm for all IT departments' the article is a well-written piece by Madeline Bennett. It covers the main business reasons behind adopting a DevOps approach to development. It is worth a read. 20 | 21 | ## What DevOps Really Means 22 | 23 | One of our blog posts got picked to feature in the Software Engineering section of Medium this week. It's a casual introduction to the concepts behind the DevOps movement. We will be building on this theme over the coming months, be sure to sign-up to our newsletter so you don't miss a post. Read the article here, An engineers take on the latest buzzword in tech. 24 | 25 | ## Survey Says: Digital Transformation is Hard 26 | 27 | I read an excellent article on devops.com this week. It looks at the realities behind transforming modern business. The survey has uncovered the uncomfortable truth that this stuff is hard. Some great reasons to bring in external expertise to help achieve your transformation goals. 28 | 29 | ## Eclipse SW360 30 | 31 | Software today is not built from scratch, but rather assembled from various prepackaged third-party software components. SW360 is an open source software project licensed under the EPL-1.0 that provides both a web application and a repository to collect, organize and make available information about software components. 32 | Verifa are pleased to be formally recognized as supporting this project, alongside industry heavyweights Siemens and Bosch. 33 | 34 | ## Embedded Sofware Engineering Kongress 35 | 36 | The ESE Kongress - Germany's Largest Congress for Professional Embedded Software Engineering takes place next week in Stuttgart. The week will see presentations from industry leaders in the embedded software space. Verifa will be presenting our work in Continuous Delivery pipelines on the 6th. If you are attending, we would be pleased to meet you. 37 | You are welcome to sign up to the Verifa newsletter... You will receive notifications of other useful DevOps content straight to your inbox. 38 | 39 | If you want to contact me directly, I can be reached here: 40 | -------------------------------------------------------------------------------- /static/prism-ghcolors.css: -------------------------------------------------------------------------------- 1 | /** 2 | * GHColors theme by Avi Aryan (http://aviaryan.in) 3 | * Inspired by Github syntax coloring 4 | */ 5 | 6 | code[class*="language-"], 7 | pre[class*="language-"] { 8 | color: #393A34; 9 | font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; 10 | direction: ltr; 11 | text-align: left; 12 | white-space: pre; 13 | word-spacing: normal; 14 | word-break: normal; 15 | font-size: .9em; 16 | line-height: 1.2em; 17 | 18 | -moz-tab-size: 4; 19 | -o-tab-size: 4; 20 | tab-size: 4; 21 | 22 | -webkit-hyphens: none; 23 | -moz-hyphens: none; 24 | -ms-hyphens: none; 25 | hyphens: none; 26 | } 27 | 28 | pre > code[class*="language-"] { 29 | font-size: 1em; 30 | } 31 | 32 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 33 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 34 | background: #b3d4fc; 35 | } 36 | 37 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 38 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 39 | background: #b3d4fc; 40 | } 41 | 42 | /* Code blocks */ 43 | pre[class*="language-"] { 44 | padding: 1em; 45 | margin: .5em 0; 46 | overflow: auto; 47 | border: 1px solid #dddddd; 48 | background-color: white; 49 | } 50 | 51 | /* Inline code */ 52 | :not(pre) > code[class*="language-"] { 53 | padding: .2em; 54 | padding-top: 1px; 55 | padding-bottom: 1px; 56 | background: #f8f8f8; 57 | border: 1px solid #dddddd; 58 | } 59 | 60 | .token.comment, 61 | .token.prolog, 62 | .token.doctype, 63 | .token.cdata { 64 | color: #999988; 65 | font-style: italic; 66 | } 67 | 68 | .token.namespace { 69 | opacity: .7; 70 | } 71 | 72 | .token.string, 73 | .token.attr-value { 74 | color: #e3116c; 75 | } 76 | 77 | .token.punctuation, 78 | .token.operator { 79 | color: #393A34; /* no highlight */ 80 | } 81 | 82 | .token.entity, 83 | .token.url, 84 | .token.symbol, 85 | .token.number, 86 | .token.boolean, 87 | .token.variable, 88 | .token.constant, 89 | .token.property, 90 | .token.regex, 91 | .token.inserted { 92 | color: #36acaa; 93 | } 94 | 95 | .token.atrule, 96 | .token.keyword, 97 | .token.attr-name, 98 | .language-autohotkey .token.selector { 99 | color: #00a4db; 100 | } 101 | 102 | .token.function, 103 | .token.deleted, 104 | .language-autohotkey .token.tag { 105 | color: #9a050f; 106 | } 107 | 108 | .token.tag, 109 | .token.selector, 110 | .language-autohotkey .token.keyword { 111 | color: #00009f; 112 | } 113 | 114 | .token.important, 115 | .token.function, 116 | .token.bold { 117 | font-weight: bold; 118 | } 119 | 120 | .token.italic { 121 | font-style: italic; 122 | } 123 | -------------------------------------------------------------------------------- /content/blog/architectural-risk-assessment-with-kommuninvest.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Case 3 | title: Architectural Risk Assessment with Kommuninvest 4 | subheading: During a three day workshop, Verifa helped assess the architecture of an application to identify the components to be refactored and perform different levels of impact analyses on relevant components and deliver a report. 5 | authors: 6 | - jlarfors 7 | 8 | tags: 9 | - Azure 10 | - Workshop 11 | 12 | date: 2019-02-11 13 | previewImage: /clients/kommuninvest.png 14 | image: /clients/kommuninvest.png 15 | featured: true 16 | 17 | --- 18 | 19 | **During a three day workshop, Verifa helped assess the architecture of an application to identify the components to be refactored and perform different levels of impact analyses on relevant components and deliver a report.** 20 | 21 | *** 22 | 23 | ## Project background 24 | 25 | Kommuninvest wants to better serve their customers by providing a web portal where customers can quickly compose quotation requests. The entered data should directly populate an online database for review and handling by automated workflows and non-technical front office teams. 26 | 27 | The existing solution requires a Kommuninvest employee to receive requests from customers, either by phone or by email, and enter the data manually into a database using an in-house desktop application. This manual process causes bottlenecks and unnecessary processing time when dealing with customer enquiries. 28 | 29 | ## Problem statement 30 | 31 | The new web-system is written in JavaScript and C# and based on a microservices architecture composed of Microsoft Azure platform-services. The existing in-house application instead uses multiple .Net languages and a legacy client-database architecture pattern. These very different applications would have to interact in handing of requests to each other, and Kommuninvest needed to implement changes to business processes in the in-house application. 32 | 33 | The challenge was understanding the impact of changes to the legacy desktop application and estimating the risk and time to make these changes. 34 | 35 | ## Solution 36 | 37 | Verifa were brought into the project for a 3-day workshop to assess the architecture of the desktop application, identify the components to be refactored and perform different levels of impact analyses on relevant components and finally deliver a report to help Kommuninvest make an informed decision. 38 | 39 | Verifa used a software architectural visualisation tool, Lattix, to produce an Architectural Dependency Structure Matrix (DSM) of the existing code base. This model allowed Verifa consultants to visualize the components and dependencies across the system and perform deep impact analysis. 40 | Verifa delivered a comprehensive collection of reports to allow Kommuninvest engineers to fully understand their software architecture. 41 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/posts/post-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "How I Learned to Stop Procrastinating, & Love Letting Go" 3 | date: 2018-03-18T12:13:32+05:30 4 | description: "The art of letting go." 5 | tags: [Procrastinating] 6 | --- 7 | 8 | The end of procrastination is the art of letting go. 9 | 10 | I’ve been a lifelong procrastinator, at least until recent years. I would put things off until deadline, because I knew I could come through. I came through on tests after cramming last minute, I turned articles in at the deadline after waiting until the last hour, I got things done. 11 | 12 | Until I didn’t. It turns out procrastinating caused me to miss deadlines, over and over. It stressed me out. My work was less-than-desirable when I did it last minute. Slowly, I started to realize that procrastination wasn’t doing me any favors. In fact, it was causing me a lot of grief. 13 | 14 | But I couldn’t quit. I tried a lot of things. I tried time boxing and goal setting and accountability and the Pomodoro Technique and Getting Things Done. All are great methods, but they only last so long. Nothing really worked over the long term. 15 | 16 | That’s because I wasn’t getting to the root problem. 17 | 18 | I hadn’t figured out the skill that would save me from the procrastination. 19 | 20 | Until I learned about letting go. 21 | 22 | Letting go first came to me when I was quitting smoking. I had to let go of the “need” to smoke, the use of my crutch of cigarettes to deal with stress and problems. 23 | 24 | Then I learned I needed to let go of other false needs that were causing me problems: sugar, junk food, meat, shopping, beer, possessions. I’m not saying I can never do these things again once I let go of these needs, but I let go of the idea that they’re really necessary. I let go of an unhealthy attachment to them. 25 | 26 | Then I learned that distractions and the false need to check my email and news and other things online … were causing me problems. They were causing my procrastination. 27 | 28 | So I learned to let go of those too. 29 | 30 | Here’s the process I used to let go of the distractions and false needs that cause procrastination: 31 | 32 | I paid attention to the pain they cause me, later, instead of only the temporary comfort/pleasure they gave me right away. 33 | I thought about the person I want to be, the life I want to live. I set my intentions to do the good work I think I should do. 34 | I watched my urges to check things, to go to the comfort of distractions. I saw that I wanted to escape discomfort of something hard, and go to the comfort of something familiar and easy. 35 | I realized I didn’t need that comfort. I could be in discomfort and nothing bad would happen. In fact, the best things happen when I’m in discomfort. 36 | And then I smile, and breathe, and let go. 37 | 38 | And one step at a time, become the person I want to be. 39 | -------------------------------------------------------------------------------- /content/blog/devops-malmo-from-platform-teams-to-devops-teams.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: From DevOps Teams to Platform Teams and what did we solve? 4 | subheading: Presenting at DevOps Malmö to share experiences on DevOps Teams and Platform Teams, and how to break the hype and become a real Platform Team (not just by name). 5 | authors: 6 | - jlarfors 7 | tags: 8 | - DevOps 9 | - Developer Experience 10 | - Platform Engineering 11 | date: 2024-04-13 12 | image: "/blog/finnish-vowels-for-swedes/finnish-vowels-for-swedes.png" 13 | featured: false 14 | --- 15 | 16 | **DevOps Mamlö is a great community meetup about all things DevOps hosted by Foo Café. In March 2024 I travelled to South Sweden for a little holiday with my family, and spent one wonderful evening talking about DevOps Teams and Platform Teams, sharing my experiences and trying to help guide Platform Teams to focus on what matters: enabling your users.** 17 | 18 | ## Abstract 19 | 20 | DevOps was never intended to be a role, and certainly not the function of a team. However, many organisations looking to implement DevOps did what they do best: create a function around it and start a team. One can argue, however, that DevOps teams did ultimately have a positive impact. Since Platform Engineering became the latest hype, many teams are being rebranded from “DevOps” to “Platform” with an apparent focus on Developer Experience. With this new buzzword, can we finally figure out what DevOps teams were supposed to do? 21 | 22 | 23 | 24 | 29 |

Oops! Your browser does not support PDFs. Download the slides instead. 30 |

31 | 32 | Download presentation. 33 | 34 | ## Links 35 | 36 | 1. [DevOps Malmö](https://www.meetup.com/devopsmalmo/) 37 | 2. [Foo Café](https://foocafe.org/) 38 | 3. [Build Abstractions Not Illusions • Gregor Hohpe • YOW! 2023](https://youtu.be/aWZFRk-w3ng?si=NNbCe1iriSMOyBbu) 39 | 40 | --- 41 | 42 | If you need any help with DevOps, Platform Engineering, Developer Experience or related topics, be sure to [get in touch!](/contact/) 43 | -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #3' 4 | subheading: Join us on 7 December at 18.00 for the third Helsinki HashiCorp User Group 5 | meetup! 6 | authors: 7 | - ckurowski 8 | tags: 9 | - HashiCorp 10 | date: 2021-11-21 11 | image: "/blog/2021-11-23/hug-blog-3.png" 12 | featured: false 13 | --- 14 | **Helsinki HashiCorp User Group (HUG) is a quarterly meetup full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 15 | 16 | The next Helsinki HashiCorp User Group will be hosted by Eficode, taking place in real life at their offices in Helsinki. There will be talks and demos, networking, snacks and sauna! This HUG is also an official Slush side event! The event will also be live streamed and recorded for those who prefer to join online. 17 | 18 | ## Here come the details and [registration](https://www.meetup.com/helsinki-hashicorp-user-group/events/282039156/) 19 | 20 | **Time:** Tuesday, 7 December, 18.00-22.00 21 | 22 | **Place:** Eficode, [Pohjoinen Rautatiekatu 25, Helsinki](https://www.google.com/maps/place/Eficode+Oy/@60.1694643,24.9261747,15z/data=!4m5!3m4!1s0x0:0xc222a1c5ddfd84fe!8m2!3d60.1694643!4d24.9261747) 23 | 24 | ## The speaker line up goes like this 25 | 26 | [**Lauri Huhta**](https://www.linkedin.com/in/ACoAACFbOuABmvaKHfNtA9Ary3EY0mjakVEqKeE) **from Eficode: "Secure infrastructure with HashiCorp - First steps into security with Vault and Boundary"** 27 | 28 | Lauri is a DevOps-consultant at Eficode specialising in building data-infrastructures. Lauri will be talking about taking the first steps into utilising HashiCorp tools to build secure infrastructures. The talk will be entry-level friendly with going over the basic functionalities of Vault and Boundary and demonstrating the process with a live demo. 29 | 30 | [**Duy Nguyen**](https://www.linkedin.com/in/ACoAAAvsQC8Bq5L-ppcZA3zkseVLmEDTObDCWRM) **and** [**Dawit Nida**](https://www.linkedin.com/in/ACoAAAbsy0ABbp6K7kWiKxvG_oi8y96GYnlSN2Y) **from Supermetrics: “Using Packer and Terraform to manage multiple compute image versions”** 31 | 32 | Duy is an SRE Engineer at Supermetrics hailing originally from software development sphere and has taken part in a wide range of projects big and small on all levels of software development lifecycle. 33 | 34 | Dawit is a Senior DevOps Engineer and one of the first members of Supermetrics' DevOps team. He's responsible for managing and monitoring the entirety of Supermetrics' infrastructure. 35 | 36 | **IMPORTANT NOTE:** Helsinki HUG follows Covid-19 best practices: You are required to present a valid EU Digital Covid Certificate, wear a mask and practice good hand hygiene. Masks and hand sanitizer are provided at the venue. 37 | 38 | See you at the third Helsinki HUG! 39 | 40 | [Register here](https://www.meetup.com/helsinki-hashicorp-user-group/events/282039156/) 41 | -------------------------------------------------------------------------------- /static/verifa-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 11 | 13 | 19 | 25 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /hugo.toml: -------------------------------------------------------------------------------- 1 | languageCode = 'en-us' 2 | title = 'Verifa' 3 | theme = 'archie' 4 | 5 | [caches] 6 | [caches.images] 7 | dir = ':cacheDir/images' 8 | 9 | [params] 10 | mode = "auto" 11 | useCDN = false 12 | subtitle = "Platform Engineering Consultancy" 13 | mathjax = false 14 | katex = false 15 | customCSS = ["css/custom.css"] 16 | 17 | [[params.social]] 18 | name = "GitHub" 19 | icon = "github" 20 | url = "https://github.com/verifa" 21 | 22 | [[params.social]] 23 | name = "LinkedIn" 24 | icon = "linkedin" 25 | url = "https://www.linkedin.com/company/verifa" 26 | 27 | # Author information from crew.go 28 | [params.authors] 29 | [params.authors.jlarfors] 30 | name = "Jacob Lärfors" 31 | position = "CEO & Consultant" 32 | [params.authors.alarfors] 33 | name = "Andreas Lärfors" 34 | position = "Partner & Consultant" 35 | [params.authors.ckurowski] 36 | name = "Carole Kurowski" 37 | position = "Growth Lead" 38 | [params.authors.tlacour] 39 | name = "Thierry Lacour" 40 | position = "Consultant" 41 | [params.authors.mvainio] 42 | name = "Mike Vainio" 43 | position = "Consultant" 44 | [params.authors.lsuomalainen] 45 | name = "Lauri Suomalainen" 46 | position = "Consultant" 47 | [params.authors.avijayan] 48 | name = "Anoop Vijayan" 49 | position = "Consultant" 50 | [params.authors.arigo] 51 | name = "Albert Rigo" 52 | position = "Consultant" 53 | [params.authors.bnystrom] 54 | name = "Bosse Nyström" 55 | position = "Consultant" 56 | [params.authors.hhirvonen] 57 | name = "Hanna Hirvonen" 58 | position = "Consultant" 59 | [params.authors.slarfors] 60 | name = "Susie Lärfors" 61 | position = "Finances" 62 | [params.authors.lsjodahl] 63 | name = "Laroy Sjödahl" 64 | position = "Consultant" 65 | [params.authors.valtintas] 66 | name = "Viktor Altintas" 67 | position = "Consultant" 68 | [params.authors.zlaster] 69 | name = "Zach Laster" 70 | position = "Consultant" 71 | [params.authors.jelderfield] 72 | name = "James Elderfield" 73 | position = "Consultant" 74 | [params.authors.amackay] 75 | name = "Adam Mackay" 76 | position = "Consultant" 77 | [params.authors.ksoranko] 78 | name = "Kalle Soranko" 79 | position = "Consultant" 80 | [params.authors.slaitinen] 81 | name = "Sakari Laitinen" 82 | position = "Consultant" 83 | [params.authors.mrosenlund] 84 | name = "Mika Rosenlund" 85 | position = "Consultant" 86 | [params.authors.akalaiyarasan] 87 | name = "Abhigita Kalaiyarasan" 88 | position = "Consultant" 89 | [params.authors.verifa] 90 | name = "Verifa" 91 | position = "Company" 92 | 93 | [menu] 94 | [[menu.main]] 95 | identifier = "blog" 96 | name = "Blog" 97 | url = "/blog/" 98 | weight = 10 99 | 100 | [markup] 101 | [markup.goldmark] 102 | [markup.goldmark.renderer] 103 | unsafe = true 104 | -------------------------------------------------------------------------------- /content/blog/employee-story-mike.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: Veri-nice to meet you, Mike 4 | subheading: Introducing Mike Vainio, one of our Cloud Architects based in Helsinki. 5 | authors: 6 | - mvainio 7 | - ckurowski 8 | tags: 9 | - Verifa Culture 10 | date: 2022-11-10 11 | image: "/blog/crew-story-mike.jpg" 12 | featured: false 13 | 14 | --- 15 | 16 | Introducing Mike Vainio, one of our Cloud Architects based in Helsinki. He’s been with Verifa since August 2021. 17 | 18 | ## How did you find your way to your current role at Verifa? 19 | 20 | I was introduced to Jacob (Co-founder) and Mika (the then CEO) about one year before actually joining Verifa. At the time Verifa wasn’t in a position to hire immediately, so I ended up taking another consultancy job. However, it turned out that the company and the project wasn’t really for me. I wasn’t enjoying the project and things weren’t improving, so after a year I made the decision that I’m just going to leave. So it was perfect timing when at that point Mika contacted me again. I still had Verifa in my mind, but was going to leave the job hunt until after summer. Anyway, the next week we talked, and after one call we signed the contract, and I started at Verifa after my summer holidays. 21 | 22 | ## How would you explain your role as Cloud Architect? 23 | 24 | I do cloud stuff! We mostly do implementation, but it depends. I mean, right now I've been doing a lot of high level architecture stuff, but other times it’s a lot more hands on. 25 | 26 | In my first year here, I’ve been learning a lot of new things and I've also been working with more customers than ever before, which is great. I think we're really flexible with our projects, in that we share what we’re doing with the rest of the crew. So I feel I know quite well what everyone's doing with their projects besides just mine. And I like being able to help out others as well if needed. 27 | 28 | When we approach the customer work itself, we’re very customer centric. We don't have strong opinions on what tools they should use. We're quite neutral and really try to see what works for them, even if the recommendation is, just do it yourself, don't get our help! So I think we're really honest with the work, and I've been very honest with customers, and I really respect that as well. 29 | 30 | ## What stands out to you about the culture at Verifa? 31 | 32 | People like working here! At some other consultancies where you work 100% with your customer project, then you don’t really get to know any of the other consultants in your own company. Even if they are on the same project, you mostly only interact in customer meetings. What’s distinctive about Verifa is the 20%, or Veri-Friday. Our full time customer work is 80%, so we have 20% of working hours, usually Friday, to work together on other interesting projects and technologies, or professional development. It also allows me to do my Masters studies in Business Informatics. 33 | 34 | ## If you really knew me you would know that… 35 | 36 | I really don’t like Jenkins! 37 | 38 | Want to join the crew? Check out our [careers page](/careers/) for openings. 39 | -------------------------------------------------------------------------------- /content/blog/devops-finland-practical-software-supply-chain-security.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: A practical take on Software Supply Chain Security 4 | subheading: A talk at DevOps Finland on the SLSA framework, SBOM (Software Bill of Materials) and the current state of software supply chain security in general. 5 | authors: 6 | - mvainio 7 | tags: 8 | - devsecops 9 | date: 2024-06-19 10 | image: "/blog/devops-finland-meetup-practical-software-supply-chain-security-talk/devops-finland-practical-software-supply-chain-security.png" 11 | featured: false 12 | --- 13 | 14 | **A talk at DevOps Finland on the SLSA framework, SBOM (Software Bill of Materials) and the current state of software supply chain security in general.** 15 | 16 | ## Abstract 17 | 18 | A practical take on the SLSA framework, SBOM (Software Bill of Materials) and the current state of software supply chain security in general. Instead of a deep dive, this talk focused on why should you care about supply chain security and what concrete steps can be taken to improve your security posture. 19 | 20 | ## What’s covered? 21 | 22 | - Current state of software supply chain security 23 | - SBOM (Software Bill of Materials) 24 | - SLSA framework (Supply-chain Levels for Software Artifacts) 25 | - Example of Provenance and Signing with GitHub Actions 26 | 27 | 32 |

Oops! Your browser does not support PDFs. Download the slides instead. 33 |

34 | 35 | Download presentation. 36 | 37 | ## Links 38 | 39 | [DevOps Finland meetup](https://www.meetup.com/devops-finland/) 40 | 41 | [Software Supply Chain Best Practices by CNCF](https://github.com/cncf/tag-security/blob/main/supply-chain-security/supply-chain-security-paper/CNCF_SSCP_v1.pdf) 42 | 43 | [9th Annual State of the Software Supply Chain by Sonatype](https://www.sonatype.com/state-of-the-software-supply-chain/Introduction) 44 | 45 | [Supply Chain Threats, SLSA](https://slsa.dev/spec/v1.0/threats-overview) 46 | 47 | [SLSA Provenance, SLSA](https://slsa.dev/spec/v1.0/provenance) 48 | 49 | [Sigstore - signing, verification and provenance checks](https://www.sigstore.dev/how-it-works) 50 | 51 | [Google Cloud Build Build Provenance](https://cloud.google.com/build/docs/securing-builds/view-build-provenance) 52 | 53 | [GUAC](https://github.com/guacsec/guac) 54 | 55 | --- 56 | 57 | If you need help optimising your software development and continuous delivery processes, don’t hesitate to [**get in contact with us!**](/contact/) 58 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/posts/post-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Fearlessness: How to Stop Running from Space" 3 | date: 2018-03-18T12:13:30+05:30 4 | tags: [Space] 5 | --- 6 | 7 | We spend our days filling in every available space, cramming in more tasks, responding to messages, checking social media and online sites, watching videos. 8 | 9 | We are afraid of empty space in our lives. 10 | 11 | The result is often a continual busyness, constant distraction and avoidance, lack of focus, lack of satisfaction with our lives. 12 | 13 | We run from silence. We run from the spaces between tasks and appointments. We run from solitude and stillness. We try to fill every second with activity, with something useful, as if silence and space are not valuable. 14 | 15 | But what are we afraid of? 16 | 17 | And who would we be if we didn’t have that fear? 18 | 19 | We’re afraid of space and stillness and silence because it highlights the uncertainty, instability, groundlessness, insecurity, shakiness that lie underneath every second of our lives. We’re afraid of having to face this instability and uncertainty, of having to feel the fear of it. 20 | 21 | Without the fear of all of the uncertainty that is highlighted by space … we become free. 22 | 23 | I know in my life, when I allow myself to have stillness, silence, solitude, simplicity and space … it leaves room to face whatever is coming up for me. It gives me room to fully feel any feelings that I’ve been avoiding. It allows me to be more honest with myself, instead of using distractions and busyness to cover up what I don’t want to see. 24 | 25 | And in the end, I develop trust that the space is not something to be feared, but rather something to be treasured. A gift, filled with learning and not knowing and shakiness and beauty. 26 | 27 | You might try allowing more space to be in your day, without filling it: 28 | 29 | * Take some time between tasks for stillness. 30 | * Sit out in nature, in silence, without technology. 31 | * When you notice yourself reaching for your phone, pause. See if you can just be still, just savor some space. 32 | * When you feel uncertainty or instability in your life (hint: it’s always there), let yourself feel it. Be present with it, without needing to run or avoid. 33 | * When you feel fear, be open-hearted with it and allow yourself fully feel it, being friendly with it. Your relationship with fear will change if you become friendly with it. 34 | * Do less, and trust that things won’t fall apart. Or if they do fall apart, you can be present with that instability. 35 | * When you’re in line, driving, eating, walking, exercising … see if you can do those things in silence, without technology, without needing to do something “useful.” Find the value in these spaces. 36 | * Notice who you are without the fear of space. 37 | 38 | Savor these spaces, their deliciousness. Savor the groundlessness, as something filled with freedom if we learn not to fear it. Be present with the fear and uncertainty, as good friends not as enemies. 39 | 40 | Let your heart be open raw tender and vulnerable, and your mind embracing the spaciousness of the vast blue sky of open awareness. 41 | -------------------------------------------------------------------------------- /content/blog/job-open-application-2022-06.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Job 3 | layout: job 4 | title: 'Open Application' 5 | subheading: We're always on the look out for talented consultants to help deliver expert services around all things Continuous, Cloud and DevOps to our customers. 6 | active: false 7 | authors: 8 | - verifa 9 | tags: 10 | - Continuous Delivery 11 | - DevOps 12 | - Software Architecture 13 | date: 2022-06-29 14 | image: "/blog/jobs/open-application-image.png" 15 | --- 16 | 17 | We're always on the look out for talented consultants to help deliver expert services around all things Continuous, Cloud and DevOps to our customers. 18 | 19 | ## Does this sound like you? 20 | 21 | - at least 5 years experience under your belt 22 | - Experienced with Cloud and/or CI/CD 23 | - Know your way around code 24 | - Gets a kick out of solving complex customer challenges 25 | - Interested in learning new stuff 26 | - Shares knowledge and helps out team mates 27 | - Eligible to work in Finland or Sweden 28 | 29 | **Maybe you also have:** 30 | 31 | - Relevant certifications 32 | - Programming experience 33 | - Project management and team lead experience 34 | 35 | ## A bit about us 36 | 37 | We’re an experienced crew of DevOps and Cloud professionals dedicated to helping our customers with Continuous practices and Cloud adoption. We're not your typical consultancy house! When it comes to our consulting, we always put the customer's interests first and use open source products as much as possible. We’re also a HashiCorp partner and regularly use their products to solve customer challenges. 38 | 39 | We're looking for people who share our values of being open, honest and providing no bulls**t consulting to our customers! We want to work with the best people, no matter their background. So if you’re passionate about all things cloud and continuous, and want to learn new things, you’ll fit right in. [Find out more about us here](/company). 40 | 41 | > I feel like I’ve found my professional home in Verifa. A place where professionals are treated with respect and have a say in their own work and the company itself. 42 | > 43 | >
Lauri Suomalainen, Cloud Architect
44 | 45 | [Read more from Lauri here](/blog/one-year-at-verifa-a-retrospective) 46 | 47 | ## Work time and salary 48 | 49 | - Salary range is €5,000 - €6,500 per month, depending on the role. 50 | - Full-time, 37.5/40 hours per week (Fin/Swe). 51 | - We have offices is in Helsinki, Gothenburg and Lund. Sometimes we work there, sometimes elsewhere. 52 | - Our working language is English. Finnish or Swedish is not expected. 53 | - We operate an open salary policy. 54 | 55 | ## Benefits 56 | 57 | - VeriFriday: 20% of working time dedicated to upskilling 58 | - [VeriConf](/blog/vericonf-2021-re-connecting-learning-and-teamwork): our annual company get together 59 | - Join or establish your own side/hobby project 60 | - Comprehensive occupational health care 61 | - Sports and Culture benefit 62 | - Lunch vouchers (Finland only) 63 | - Tools you need (laptop, phone, etc.) 64 | 65 | ## What’s next 66 | 67 | Send us your CV and a cover letter. If we think there’s a good potential match we’ll schedule a 15-30 minute discovery call to get to know each other a bit better. 68 | -------------------------------------------------------------------------------- /content/blog/jabra-devops-case-study.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Case 3 | title: Providing DevOps expertise at Jabra 4 | subheading: Verifa continues to help Jabra on their DevOps journey for their new Android-based video collaboration products. 5 | authors: 6 | - ckurowski 7 | - arigo 8 | tags: 9 | - Devops 10 | - Continuous Delivery 11 | - Developer Experience 12 | - Value Streams 13 | date: 2024-08-29 14 | previewImage: /clients/jabra.svg 15 | image: /cases/cover-jabra_case_study.png 16 | featured: true 17 | 18 | --- 19 | 20 | **Verifa continues to help Jabra on their DevOps journey for their new Android-based video collaboration products.** 21 | 22 | *** 23 | 24 | ## The challenge 25 | 26 | [Jabra](https://www.jabra.com/) is a part of [GN Group](https://www.gn.com/), a Danish company specialising in hearing, audio, video, and gaming solutions. For the last 150 years, GN has engineered technology that brings people closer to what is most important to them. 27 | 28 | Quality and user experience are always at the forefront at GN. They recognised the need for additional expertise to help with setting up a continuous integration and vendor integration process for a new video collaboration product while transitioning from small software projects to a more complex Android system. This project was a cross-site collaboration between teams in multiple countries, for instance Denmark and US, so streamlining different working methodologies was also needed. 29 | 30 | > Verifa's team is very knowledgeable, experienced and dedicated. We value and trust their work. 31 | > 32 | >
Claus Christensen, Senior Product Software Architect, Jabra
33 | 34 | ## The solution 35 | 36 | In an environment that required a blend of coaching and technical support, we took on the role of hands-on technical coach, where we focused on implementing technical improvements and improving the developer teams way-of-working. Our aim was to work with the team to understand the specific problems while at the same time providing tailored solutions. 37 | 38 | To this end, we employed methods such as [Value Stream Mapping](https://verifa.io/services/assessments/value-streams/) and later on, Wardley Maps. For instance, the implementation of SBOM (Software Bill of Materials) was a significant step towards overcoming the challenges of traceability of code changes and work items. 39 | 40 | We also focused on moving their development to adopt sound continuous delivery principles in an incremental way, while supporting this with better automation tools. 41 | 42 | ## Results 43 | 44 | The introduction of continuous delivery principles and SBOM for all produced items significantly streamlined the development process and greatly enhanced traceability. These process improvements not only expedited the workflows but also simplified them, making it easier for the team to deliver quality outputs efficiently. 45 | 46 | Following the success of this standalone project, Verifa's role expanded to cover the new Android-based video collaboration products, leading automation efforts, and introducing and implementing platform teams. 47 | 48 | Can we help you with your Continuous Delivery journey? Whether it's a long term or short term project, [**get in touch**](https://verifa.io/contact/) and let's chat! 49 | -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-6-summary.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #6 summary' 4 | subheading: A summary of the sixth Helsinki HashiCorp User Group (HUG) including presentations on Infrastructure as Code in early stage startups and Azure Landing Zone. 5 | authors: 6 | - ckurowski 7 | tags: 8 | - HashiCorp 9 | date: 2023-04-28 10 | image: "/blog/helsinki-hug-6/hug-summary-blog-6.png" 11 | featured: true 12 | --- 13 | **Helsinki HashiCorp User Group is a meetup full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 14 | 15 | Our friends over at [Siili Solutions](https://www.siili.com/fi/) very kindly hosted the sixth Helsinki HUG, held on 19th April. We gathered at their HQ to listen to talks from Valosan and Siili Solutions, plus some chat, food and drinks. The event was also live streamed for people joining online. 16 | 17 | Here’s a brief summary of the talks along with links to the presentation decks, and the full meetup recording. 18 | 19 | 20 | 21 | ## Azure Landing Zone 22 | 23 | After a warm welcome from [Frans Ojala](https://www.linkedin.com/in/frans-ojala-1093b0109/), Lead Cloud Engineer at Siili Solutions, his colleague [Marko Ruotsalainen](https://www.linkedin.com/in/marko-ruotsalainen-31958361/), Cloud Architect, took to the stage. Marko covered: 24 | 25 | - Microsoft Cloud Adoption Framework (CAF) 26 | - About Azure Landing Zones 27 | - CAF for Terraform Landing Zones 28 | - Demo: usage of CAF for Terraform Landing Zones 29 | 30 | [Download Marko’s presentation here.](https://drive.google.com/file/d/1GT3fjQF3_giFofemuz4gdPZzTU9423Dw/view?usp=share_link) 31 | 32 | ## Infrastructure as Code in the early stage startup 33 | 34 | Next up came [Ruslan Gainutdinov](https://www.linkedin.com/in/ruslanfg/), Co-founder and CTO at [Valosan](https://valosan.com/). His talk covered: 35 | 36 | - Architecture 37 | - ClickOps 38 | - Managed by Terraform 39 | - Codebase 40 | - Serverless 41 | - When to move on 42 | - ECS + CDK 43 | 44 | [Download Ruslan’s presentation here.](https://drive.google.com/file/d/1IPes5RBGruYN2ZqWVelUK2f-C7pQkYUZ/view?usp=share_link) 45 | 46 | ## **Helsinki HUG Meetup #7 coming in Autumn 2023** 47 | 48 | A big thanks to everyone who attended, to the speakers for sharing their knowledge and insights and Siili Solutions for hosting. The next Helsinki HashiCorp User Group Meetup is planned for Autumn 2023. If you haven’t already, [join the meetup group here](https://www.meetup.com/helsinki-hashicorp-user-group/) so you don’t miss the next one. Look forward to seeing you there! 49 | 50 | Helsinki HUG is always on the lookout for speakers, so if you have super cool HashiCorp tools experience that you’d like to share get in touch with the organisers, [Lauri](https://www.linkedin.com/in/lauri-suomalainen/) or [Anoop](https://www.linkedin.com/in/anoopvijayan/). Also open for sponsorships - host venue, snacks, swag! Likewise, get in touch! 51 | -------------------------------------------------------------------------------- /themes/archie/static/katex/auto-render.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},r={};function n(e){var a=r[e];if(void 0!==a)return a.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var a={};return function(){n.d(a,{default:function(){return s}});var e=n(771),t=n.n(e),r=function(e,t,r){for(var n=r,a=0,i=e.length;n0&&(a.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));var l=t.findIndex((function(t){return e.startsWith(t.left)}));if(-1===(n=r(t[l].right,e,t[l].left.length)))break;var d=e.slice(0,n+t[l].right.length),s=i.test(d)?d:e.slice(t[l].left.length,n);a.push({type:"math",data:s,rawData:d,display:t[l].display}),e=e.slice(n+t[l].right.length)}return""!==e&&a.push({type:"text",data:e}),a},l=function(e,r){var n=o(e,r.delimiters);if(1===n.length&&"text"===n[0].type)return null;for(var a=document.createDocumentFragment(),i=0;i 20 | 21 | ## How to codify your cloud infra using UpCloud CDK for Terraform provider 22 | 23 | After a warm welcome and introductions from Ilkka Sarpila, Product Owner at UpCloud and Amir Altamimi, Partner Sales Manager, HashiCorp, [Toni Kangas](https://www.linkedin.com/in/tonikangas/), Senior Engineer at UpCloud kicked of the presentations. Toni covered: 24 | 25 | - What is CDK for Terraform (CDKTF)? 26 | - How to use CDK for Terraform providers? 27 | - Demo: setting up k8s cluster and deployment with CDKTF 28 | 29 | [Download Toni’s presentation here.](https://drive.google.com/file/d/1ZM8eza5LMuUDGNN62c58pxrYxpytayzI/view?usp=share_link) 30 | 31 | ## Accessing secrets on Vault on Kubernetes 32 | 33 | Next up came [Jacob Lärfors](https://www.linkedin.com/in/jlarfors/), CEO of Verifa & [Mike Vainio](https://www.linkedin.com/in/mikevainio/), Technical Consultant at Verifa. Their talk covered: 34 | 35 | - Use cases 36 | - Secret zero 37 | - Approaches for accessing Vault secrets 38 | 39 | [Download Jacob & Mike’s presentation here.](https://drive.google.com/file/d/1IxW9qIA22qJHJs-LstZTiw1dB3OFqdwy/view?usp=share_link) 40 | 41 | ## Event driven access control with HashiCorp Rift 42 | 43 | Our final presentation of the evening came from [DevOps Rob](https://www.devopsrob.com/), who flew in from the UK, especially for Helsinki HUG. Rob’s talk covered: 44 | 45 | - Security vs Productivity 46 | - Boundary session access and workflow 47 | - Demo 48 | 49 | [Download Rob’s presentation here.](https://drive.google.com/file/d/1BeB7LVRyI24o6_zWDYzAQDqlIAD_A0OW/view?usp=share_link) 50 | 51 | ## **Helsinki HUG Meetup #6 coming in Spring 2023** 52 | 53 | We rounded off the ‘formal’ part of the meetup with some closing words. Then it was time for some zero-trust socialising! 54 | 55 | A big thanks to everyone who attended, to the speakers for sharing their knowledge and insights and UpCloud for hosting. The next Helsinki HashiCorp User Group Meetup will be in Spring 2023. If you haven’t already, [join the meetup group here](https://www.meetup.com/helsinki-hashicorp-user-group/) so you don’t miss the next one. Look forward to seeing you there! 56 | 57 | Helsinki HUG is always on the lookout for speakers, so if you have super cool HashiCorp tools experience that you’d like to share get in touch with the organisers, [Lauri](https://www.linkedin.com/in/lauri-suomalainen/) or [Anoop](https://www.linkedin.com/in/anoopvijayan/). Also open for sponsorships - host venue, snacks, swag! Likewise, get in touch! 58 | -------------------------------------------------------------------------------- /content/blog/service-levels-error-budgets-devops-finland-talk.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: Service Levels, Error budgets, and why your dev teams should care 4 | subheading: A talk at DevOps Finland on what different Service Level concepts mean and how a software development team could use them effectively in the software delivery process. 5 | authors: 6 | - lsuomalainen 7 | tags: 8 | - continuous-delivery 9 | - software-development 10 | - monitoring 11 | - sre 12 | - devops 13 | date: 2024-05-22 14 | image: "/blog/service-levels-error-budgets-devops-finland-meetup/service-levels-error-budgets-lauri-devops-finland-meetup.png" 15 | featured: false 16 | --- 17 | 18 | **A talk at DevOps Finland on what different Service Level concepts mean and how a software development team could use them effectively in the software delivery process.** 19 | 20 | ## Abstract 21 | 22 | Developer's make changes. Operations want to keep systems stable. Service Levels exists as a concept to tie these seemingly contradictory goals together. But it is mostly represented in literature and understood as an extension to monitoring, which tends to fall under the operations domain. This fundamental-level talk explains Service levels, Error Budgets and related topics through the lens of an end-user oriented developer team who want to provide their customers with the user experience they yearn for. 23 | 24 | ## What’s covered? 25 | 26 | - Service Level Agreements, Objectives and Indicators 27 | - What to measure? 28 | - Why should the development team care about measurements? 29 | - Error budgets 30 | 31 | 36 |

Oops! Your browser does not support PDFs. Download the slides instead. 37 |

38 | 39 | Download presentation. 40 | 41 | 42 | Recording from DevOps Skåne/Malmö meetup 43 | 44 | This talk was based on my blog post **[Demystifying Service Level acronyms and Error Budgets.](/blog/demystifying-service-level-acronyms/)** 45 | 46 | ## Links 47 | 48 | 1. [DevOps Finland meetup](https://www.meetup.com/devops-finland/) 49 | 2. [DevOps Skåne/Malmö meetup](https://www.meetup.com/devopsmalmo/) 50 | 3. [Availability cheatsheet](https://availability.sre.xyz/) 51 | 4. [Lifecycle cost piechart](https://www.researchgate.net/publication/340280214_Code_Readability_Management_of_High-level_Programming_Languages_A_Comparative_Study) 52 | 5. [Siemens: True cost of Downtime](https://assets.new.siemens.com/siemens/assets/api/uuid:3d606495-dbe0-43e4-80b1-d04e27ada920/dics-b10153-00-7600truecostofdowntime2022-144.pdf) 53 | 6. [Google's SRE book](https://sre.google/sre-book/service-level-objectives/) 54 | 7. [This google course goes deeply into the topic](https://www.cloudskillsboost.google/course_templates/95) 55 | 56 | --- 57 | 58 | If you need help optimising your software development and continuous delivery processes, don’t hesitate to **[get in contact with us!](/contact/)** 59 | -------------------------------------------------------------------------------- /content/blog/crew-q-and-a-with-Jacob.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: Crew Q&A with Jacob 4 | subheading: A Q&A with the Founder & CEO of Verifa, Jacob Lärfors. 5 | authors: 6 | - jlarfors 7 | - ckurowski 8 | tags: 9 | - Verifa Culture 10 | date: 2024-08-19 11 | image: "/blog/crew-q-and-a-jacob.jpg" 12 | featured: false 13 | 14 | --- 15 | 16 | Introducing Jacob Lärfors, Founder and CEO of Verifa. 17 | 18 | ## Why did you start Verifa? 19 | 20 | In the 2010s I was working as a consultant to implement and train developers how to use specialised commercial static analysis and unit testing tools, primarily for embedded C and C++ projects. The part of my work I enjoyed the most was helping developers and working with Continuous Integration (CI). At that time, not everyone was practicing CI and many did not have a CI tool being actively used so I found a gap in the market that I enjoyed working in. 21 | 22 | Over time I found that all I wanted to do was help development teams, and not be associated with specific tools. I wanted to be truly tool agnostic, free to choose the right tools for the job. Hence, I started Verifa to be tool agnostic and (as much as possible) use open source. 23 | 24 | ## What’s important to you when building and developing Verifa? 25 | 26 | The goal of Verifa was never to be a big business but to be a great place to work, where people can learn and develop themselves while solving real-world problems for our customers. Early on I found that taking care of the people at Verifa means they will take care of each other and our customers; probably the most valuable lesson I have learnt. So what is important at Verifa is the crew, and I find it the main motivator also for myself to keep working at Verifa. 27 | 28 | ## What’s one of the most interesting changes you’ve observed in the industry recently? 29 | 30 | Besides AI? :) Let’s not talk about AI, there’s enough people doing that. Probably the most interesting change for me personally, is the rising push back against YAML (and other declarative configs) and using programming languages for application deployments and infrastructure provisioning. The reason I think this is so relevant and important to me is to help develop proper “platforms” for developers to use. This is not a short discussion though, so maybe I will write a blog or give a talk about this in the near future. 31 | 32 | ## What do you expect the industry to look like in the next 5 years? 33 | 34 | Hopefully less complex and less trendy. I think people are starting to realise that all the amazing, complex environments they build are not really needed. Just because it is a CNCF project, or someone talked about how great something is, does not mean that you need it. Maybe it is just me aging and becoming cynical. But I think learning to keep things simple and using programming languages (rather than declarative languages) will be the future for anyone in the “DevOps” space. At least that is my hope. 35 | 36 | ## What do you like to do outside of work? 37 | 38 | My three favourite hobbies (in no particular order): juggling (mainly clubs), piano, and rollerblading (I recently started going to skateparks again with my daughter). I have a family so spending time with them and showing the world to my daughter is something that brings me endless joy. 39 | 40 | ## What is a fun fact about you that may surprise people? 41 | 42 | Once upon a time, when my French was even worse than it is now, I believed that “désolée” meant to be lost, deriving from the English word “desolate” (as in an empty place). So I went around the French speaking part of Switzerland when I was travelling for work going up to people and saying “Hello, I am sorry” and then proceeding to asking for directions with a map. Besides that, I prefer cats over dogs, vim over emacs, spaces over tabs and provoking people over irrelevant things. 43 | -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #2' 4 | subheading: 'A summary of the second Helsinki HashiCorp User Group (HUG) including 5 | presentations on Terragrunt and Terraform. ' 6 | authors: 7 | - ckurowski 8 | tags: 9 | - HashiCorp 10 | date: 2021-10-05 11 | image: "/blog/2021-07-13/hug-helsinki-16_9.png" 12 | featured: true 13 | --- 14 | **The newly formed Helsinki HashiCorp User Group is a quarterly meetup full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 15 | 16 | Our friends over at [Upcloud](https://upcloud.com/ "Upcloud website") were the gracious hosts for the second Helsinki HUG (HashiCorp User Group), held on 23rd September. This time HUG was held in real life, as well as online. So, as well as a couple of great presentations, in person visitors got to socialise, drink beer, eat pizza, and enjoy sauna! 17 | 18 | Here's a brief summary of the talks along with links to the presentation decks, and the full meetup recording. 19 | 20 | 21 | 22 | **Managing IaC with Terragrunt by Petri Autero, Cloud Specialist at Kooka Consulting Oy** 23 | 24 | After a welcoming introduction by Mikko Karjula, Business Development Manager at Upcloud, HUG #2 kicked off with a talk on Managing IaC with Terragrunt. [Petri](https://www.linkedin.com/in/petriautero/ "Petri on Linkedin") has helped hundreds of companies manage their infrastructure using Terragrunt, and covered the following topics: 25 | 26 | * What is Terragrunt? 27 | * Terragrunt key features 28 | * Keeping your code DRY 29 | * Live demo 30 | * Q&A 31 | 32 | Check out [Petri's presentation here](https://drive.google.com/file/d/1tIgMLKygTqpQ3aDcZL1Nhk8hA9F4m7K4/view?usp=sharing "Petri's presentation"). 33 | 34 | ## **The current state of the Cloud Development Kit for Terraform by Roberth Strand, Cloud Architect at Crayon and HashiCorp Ambassador** 35 | 36 | Next up we heard from [Roberth Strand](https://www.linkedin.com/in/roberthstrand/ "Roberth on Linkedin") from [Crayon](https://www.crayon.com/ "Crayon website"), who shared his overview on the current state of the CDK for Terraform, including: 37 | 38 | * What is the Cloud Development Kit for Terraform? 39 | * CDK versus other IaC tools 40 | * Example deployments 41 | 42 | Check out [Roberth's presentation here](https://drive.google.com/file/d/1RsEbxE0q-pKcF97KOaVxmOryiEDkVAxJ/view?usp=sharing "Roberth's presentation"). 43 | 44 | ## **Helsinki HashiCorp User Group Meetup #3** 45 | 46 | We rounded off the 'formal' part of the meetup with some closing words from [Anoop](https://www.linkedin.com/in/anoopvijayan/ "Anoop on Linkedin") from Verifa. Then it was time for beer, pizza and sauna! 47 | 48 | A huge thank you to everyone who attended, to the speakers for sharing their knowledge and insights and Upcloud for hosting an awesome HUG. 49 | 50 | The next Helsinki HashiCorp User Group Meetup will be in early December - date tba. If you haven't already, join the [meetup group here](https://www.meetup.com/helsinki-hashicorp-user-group/ "HUG meetup group") so you don't miss the next one. Look forward to seeing you there! 51 | 52 | Helsinki HUG is always on the lookout for speakers, so if you have super cool HashiCorp tools experience that you'd like to share get in touch with the organisers, [Lauri](https://www.linkedin.com/in/lauri-suomalainen/ "Lauri on Linkedin")or [Anoop](https://www.linkedin.com/in/anoopvijayan/ "Anoop on Linkedin"). Also open for sponsorships - host venue, snacks, swag! Likewise, get in touch! 53 | -------------------------------------------------------------------------------- /static/clients/visma.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | image/svg+xml 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /assets/css/custom.css: -------------------------------------------------------------------------------- 1 | /* Outfit Font Family */ 2 | @font-face { 3 | font-family: 'Outfit'; 4 | src: url('/fonts/Outfit-Regular.ttf') format('truetype'); 5 | font-weight: 400; 6 | font-style: normal; 7 | font-display: swap; 8 | } 9 | 10 | @font-face { 11 | font-family: 'Outfit'; 12 | src: url('/fonts/Outfit-Medium.ttf') format('truetype'); 13 | font-weight: 500; 14 | font-style: normal; 15 | font-display: swap; 16 | } 17 | 18 | @font-face { 19 | font-family: 'Outfit'; 20 | src: url('/fonts/Outfit-SemiBold.ttf') format('truetype'); 21 | font-weight: 600; 22 | font-style: normal; 23 | font-display: swap; 24 | } 25 | 26 | @font-face { 27 | font-family: 'Outfit'; 28 | src: url('/fonts/Outfit-Bold.ttf') format('truetype'); 29 | font-weight: 700; 30 | font-style: normal; 31 | font-display: swap; 32 | } 33 | 34 | @font-face { 35 | font-family: 'Outfit'; 36 | src: url('/fonts/Outfit-Light.ttf') format('truetype'); 37 | font-weight: 300; 38 | font-style: normal; 39 | font-display: swap; 40 | } 41 | 42 | /* Set Outfit as the default font family with lighter weight */ 43 | body { 44 | font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; 45 | font-weight: 300; 46 | /* Use Light weight instead of Regular (400) */ 47 | } 48 | 49 | /* Adjust font weights for different elements */ 50 | h1, 51 | h2, 52 | h3, 53 | h4, 54 | h5, 55 | h6 { 56 | font-weight: 500; 57 | /* Medium weight for headings */ 58 | } 59 | 60 | p { 61 | font-weight: 300; 62 | /* Light weight for paragraphs */ 63 | } 64 | 65 | .title h1 h2 { 66 | font-weight: 600; 67 | /* Semi-bold for main titles */ 68 | } 69 | 70 | /* Custom styles for author information */ 71 | .authors { 72 | font-style: italic; 73 | color: #666; 74 | font-size: 0.9em; 75 | } 76 | 77 | .author { 78 | font-weight: 500; 79 | } 80 | 81 | /* Style for blog listing authors */ 82 | .posts .post .meta .authors { 83 | display: block; 84 | margin-top: 0.25rem; 85 | font-size: 0.85em; 86 | } 87 | 88 | /* Style for individual post authors */ 89 | .post-content .meta .authors { 90 | margin-top: 0.5rem; 91 | display: block; 92 | } 93 | 94 | /* Remove TOC constraints and make post content full width */ 95 | .post-container { 96 | display: block !important; 97 | } 98 | 99 | .post-content { 100 | flex: none !important; 101 | width: 100% !important; 102 | max-width: none !important; 103 | } 104 | 105 | /* Header text colors - keep navigation links black */ 106 | header .nav a { 107 | color: #0d0e12; 108 | /* v-black */ 109 | } 110 | 111 | header .nav a:hover { 112 | color: #ad9ce3; 113 | /* v-lilac for hover */ 114 | } 115 | 116 | /* Featured image styling */ 117 | .featured-image { 118 | margin: 2rem 0; 119 | text-align: center; 120 | } 121 | 122 | .featured-image img { 123 | max-width: 100%; 124 | height: auto; 125 | border-radius: 8px; 126 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 127 | } 128 | 129 | /* 404 Page styling */ 130 | .not-found { 131 | text-align: center; 132 | padding: 2rem 0; 133 | max-width: 600px; 134 | margin: 0 auto; 135 | } 136 | 137 | .not-found h1 { 138 | font-size: 3rem; 139 | color: #0d0e12; 140 | margin-bottom: 1rem; 141 | } 142 | 143 | .not-found p { 144 | font-size: 1.2rem; 145 | color: #666; 146 | margin-bottom: 2rem; 147 | } 148 | 149 | .not-found-content { 150 | text-align: left; 151 | margin-top: 2rem; 152 | } 153 | 154 | .not-found-content h2 { 155 | color: #0d0e12; 156 | margin-bottom: 1rem; 157 | margin-top: 2rem; 158 | } 159 | 160 | .not-found-content ul { 161 | margin-bottom: 1.5rem; 162 | } 163 | 164 | .not-found-content li { 165 | margin-bottom: 0.5rem; 166 | } 167 | 168 | .not-found-content a { 169 | color: #ad9ce3; 170 | text-decoration: none; 171 | } 172 | 173 | .not-found-content a:hover { 174 | color: #fc9cac; 175 | text-decoration: underline; 176 | } -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-4-summary.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #4 summary' 4 | subheading: A summary of the fourth Helsinki HashiCorp User Group (HUG) including presentations on Terraform, Kubernetes, and ArgoCD. 5 | authors: 6 | - ckurowski 7 | tags: 8 | - HashiCorp 9 | date: 2022-03-25 10 | image: "/blog/helsinki-hug-4/hug-blog-summary-4.png" 11 | featured: true 12 | --- 13 | **Helsinki HashiCorp User Group is a quarterly meetup full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 14 | 15 | Our friends over at [Supermetrics](https://supermetrics.com/) very kindly hosted the fourth Helsinki HUG, held on 22nd March. We gathered at their downtown office to listen to talks from Verifa and Supermetrics, take our fill of snacks and drinks, socialise and sauna! The event was also live streamed for people joining online. 16 | 17 | Here’s a brief summary of the talks along with links to the presentation decks, and the full meetup recording. 18 | 19 | 20 | 21 | ## Managing Multi-Kubernetes Clusters with Terraform and ArgoCD 22 | 23 | After a welcome introduction from Supermetrics CEO, Mikael Thuneberg, we heard from Jacob Lärfors from Verifa. [Jacob](https://www.linkedin.com/in/jlarfors/) is CEO at Verifa and a HashiCorp afficiando, with years of experience with cloud technologies and continuous practices. His talk covered: 24 | 25 | * Why not just one big Kubernetes cluster? 26 | * Separation 27 | * Complexity 28 | * What is a “ready” K8s cluster? 29 | * Terraform overview 30 | * ArgoCD Applications 31 | * Demo 32 | 33 | Check out [Jacob’s presentation here](https://drive.google.com/file/d/1occxI7BYliW0t0GHA6tXrqdT0BOBG8W6/view?usp=sharing). 34 | 35 | ## **Dare to manage multi- (provider, cloud, region, env) with Terraform?** 36 | 37 | Next up was a talk from Dawit Nida and Duy Nguyen from Supermetrics. [Dawit](https://www.linkedin.com/in/dawitnida/) is a Senior DevOps Engineer and one of the first members of Supermetrics’ DevOps team. He’s responsible for managing and monitoring the entirety of Supermetrics’ infrastructure. [Duy](https://www.linkedin.com/in/duy-nguyen-527ba756/) is an SRE Engineer at Supermetrics hailing originally from software development sphere and has taken part in a wide range of projects big and small on all levels of software development lifecycle. Their talk covered: 38 | 39 | * Introduction to Terraform 40 | * Background and their current infrastructure 41 | * Problems they faced 42 | * Solution 43 | * Structure, atomicy & reusability of modules 44 | * Module design & hierarchy 45 | * Continuous Integration (CI) 46 | * Live coding session 47 | 48 | Check out [their presentation here](https://drive.google.com/file/d/11DXY69rO8oAg61u6qOs5eHWRL7CckPdO/view?usp=sharing). 49 | 50 | ## **Helsinki HUG Meetup #5 coming in June 2022** 51 | 52 | We rounded off the ‘formal’ part of the meetup with some closing words from Anoop. Then it was time for socialising and sauna! 53 | 54 | A big thanks to everyone who attended, to the speakers for sharing their knowledge and insights and Supermetrics for hosting. The next Helsinki HashiCorp User Group Meetup will be in June 2022 - date tba. If you haven’t already, [join the meetup group here](https://www.meetup.com/helsinki-hashicorp-user-group/) so you don’t miss the next one. Look forward to seeing you there! 55 | 56 | Helsinki HUG is always on the lookout for speakers, so if you have super cool HashiCorp tools experience that you’d like to share get in touch with the organisers, [Lauri](https://www.linkedin.com/in/lauri-suomalainen/) or [Anoop](https://www.linkedin.com/in/anoopvijayan/). Also open for sponsorships - host venue, snacks, swag! Likewise, get in touch! 57 | -------------------------------------------------------------------------------- /themes/archie/exampleSite/content/posts/post-5.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Typography" 3 | date: 2018-03-18T12:13:38+05:30 4 | --- 5 | 6 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 7 | 8 | # Heading 1 9 | 10 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 11 | 12 | ## Heading 2 13 | 14 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 15 | 16 | ### Heading 3 17 | 18 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 19 | 20 | #### Heading 4 21 | 22 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 23 | 24 | ##### Heading 5 25 | 26 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 27 | 28 | ###### Heading 6 29 | 30 | Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit quo minus id quod amets untra dolor amet sad. Sed ut perspser iciatis unde omnis iste natus error sit voluptatem accusantium doloremque laste. Dolores sadips ipsums sits. 31 | 32 | ## Typography 33 | 34 | Lid est laborum et dolorum fuga, This is [an example](http://example.com/ "Title") inline link. Et harum quidem rerum facilis, **This is bold** and *emphasis* cumque nihilse impedit quo minus id quod amets untra dolor amet sad. While this is `code block()` and following is a `pre` tag 35 | 36 | print 'this is pre tag' 37 | 38 | Following is the syntax highlighted code block 39 | 40 | ```go 41 | func getCookie(name string, r interface{}) (*http.Cookie, error) { 42 | rd := r.(*http.Request) 43 | cookie, err := rd.Cookie(name) 44 | if err != nil { 45 | return nil, err 46 | } 47 | return cookie, nil 48 | } 49 | 50 | func setCookie(cookie *http.Cookie, w interface{}) error { 51 | // Get write interface registered using `Acquire` method in handlers. 52 | wr := w.(http.ResponseWriter) 53 | http.SetCookie(wr, cookie) 54 | return nil 55 | } 56 | ``` 57 | 58 | This is blockquote, Will make it *better now* 59 | 60 | > 'I want to do with you what spring does with the cherry trees.' cited ~Pablo Neruda* 61 | 62 | 63 | > Et harum quidem *rerum facilis* est et expeditasi distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihilse impedit 64 | 65 | Unordered list 66 | 67 | * Red 68 | * Green 69 | * Blue 70 | 71 | Ordered list 72 | 73 | 1. Red 74 | 2. Green 75 | 3. Blue 76 | -------------------------------------------------------------------------------- /content/blog/2018-08-20.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Blog 3 | title: OSS compliance 4 | subheading: These days a big part of enterprise and other software projects' code bases form out of open-source code, it is crucial for enterprises to follow open-source license obligations and restrictions. 5 | authors: 6 | - ksoranko 7 | featured: true 8 | tags: 9 | - Open Source 10 | date: 2018-08-20 11 | image: /blog/2018-08-20/main.svg 12 | --- 13 | 14 | These days a big part of enterprise and other software projects' code bases form out of open-source code, it is crucial for enterprises to follow open-source license obligations and restrictions. Of course these demands apply also to other software projects, but it is particularly important for corporate level projects because of the severity of the sanctions for disobeying them. 15 | 16 | Generally open-source licenses can be divided into two groups: copyleft licenses as GPLv2 and GPLv3 and permissive open-source licenses such as MIT license. For commercial software projects, license compliance basically means that components under strong copyleft licenses are not used, since they demand to make source code publicly available. Of course there are many other important issues that need to be pointed out, but that is the most obvious one. Because developers may introduce components to the project as they work without paying attention to the licenses, we must have another way to check the project's licenses and ensure license compliance. Since we want to get the software bill-of-material (SBOM) as soon as new components are introduced into the project, it is most efficient to integrate the generation of the SBOM into the CI/CD pipeline, which is de facto in modern software development. This way we get an up-to-date SBOM at all times which is regenerated for every build. This information must also be made available to all appropriate people, so it is good to have all this kind of build related meta-information collected in one place. We also can generate license disclosure documents from there, when we are shipping our product, since all necessary information is already there. 17 | 18 | In some organizations it is required that file level scans are performed for every open-source component to identify which license it is distributed under. This is known as the clearing process and it is good to keep it separated from generation of the SBOM when talking about open-source license compliance. Clearing work requires reviewing scan results manually, because license text may be modified, which makes it really really hard for machines to identify the license with 100% certainty. This is another fact that makes open-source license compliance harder. On the other hand software composition analysis and viewing the SBOM can be fully automated with the help of various open-source licence compliance tools provided by commercial vendors and the open-source community. 19 | 20 | This far we have mentioned that we use different software tools in the process of becoming license compliance. As well as processes that we talked about also tools can be roughly divided into two groups. There are license scanning and scan result review tools and on the other hand there are component identification tools. As an example about purely license scanning tools, there are FOSSology and ScanCode, which both themselves are also open-source. For software composition analysis we can use open-source software called OSS-Review-Toolkit or a commercial product Whitesource. The third group of open-source compliance tools are like knowledge bases where information about open-source component usage is gathered. This includes information about which open-source components are there in our project and licensing information of those components. These tools also provide a possibility to generate reports as SBOM and license disclosures from them. As an example of these tools is sw360, which is an open-source project under Eclipse Foundation. 21 | For more information about license compliance toolchain and other trends in software development, keep following Verifa's blog posts and at Twitter @verifaio. 22 | -------------------------------------------------------------------------------- /content/blog/helsinki-hashicorp-user-group-meetup-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | type: Event 3 | title: 'Helsinki HashiCorp User Group Meetup #1' 4 | subheading: " A summary of the first Helsinki HashiCorp User Group (HUG) including 5 | presentations on HCL (HashiCorp Configuration Language) and Application identity 6 | and authentication with Vault." 7 | authors: 8 | - ckurowski 9 | tags: 10 | - HashiCorp 11 | date: 2021-07-12 12 | image: "/blog/2021-07-13/hug-helsinki-16_9.png" 13 | featured: false 14 | --- 15 | **The newly formed Helsinki HashiCorp User Group is a quarterly** [**meetup**](https://www.meetup.com/helsinki-hashicorp-user-group) **full of interesting talks and insights about all things HashiCorp, plus a chance to connect with fellow professionals and hobbyists alike.** 16 | 17 | Verifa was pleased to host the very first Helsinki HUG meetup on 23rd June, held online due to current circumstances. Fingers crossed we can meet in real life at the [second meetup](https://www.meetup.com/helsinki-hashicorp-user-group/events/279041155/) on 23rd September! 18 | 19 | Here's a brief summary of the talks along with links to the presentation decks, and the full meetup recording. 20 | 21 | 22 | 23 | ## **Application identity and authentication with Vault by Antti Myyrä, Upcloud** 24 | 25 | After a brief introduction by host, [lsuomalainen](https://www.linkedin.com/in/lauri-suomalainen/), Cloud Architect at Verifa, we kicked off with a talk by [Antti Myyrä](https://www.linkedin.com/in/antti-myyr%C3%A4-9527a866/), Systems/Software Architect at [Upcloud](https://upcloud.com/), on Application identity and authentication with Vault. In his talk Antti covered: 26 | 27 | * X.509 public key infrastructure certificates and DIY certificate authority 28 | * Why use Vault - PKI Secrets Engine 29 | * How to use Vault 30 | * Lessons learned from using Vault at Upcloud 31 | * Recommended tooling 32 | 33 | Check out Antti's presentation [here](https://drive.google.com/file/d/1aVjaagHAlbDJvRX7LrjxKMMMELZaO4ec/view?usp=sharing). 34 | 35 | ## **Experiences and lessons learnt developing with HCL (HashiCorp Configuration Language) by Jacob Larfors, Verifa and Valocode.** 36 | 37 | Next we heard from [Jacob Larfors](https://www.linkedin.com/in/jlarfors/), CTO at [Verifa](/) and CEO at [Valocode](https://bubbly.dev/), about his experiences developing a new product called Bubbly using HCL. 38 | 39 | * What is HCL? 40 | * Why we used HCL for Bubbly 41 | * How to use HCL 42 | * Benefits and challenges of using HCL 43 | 44 | Check out Jacob's presentation [here](https://drive.google.com/file/d/1_p9XbQInbBFNgkH1m7ZpSuDpd7yZTFrE/view?usp=sharing). 45 | 46 | ## **HashiConf Europe 2021: Recap by avijayan, Verifa** 47 | 48 | If you missed HashiConf Europe or just need a handy summary, then this is for you. [Anoop Vijayan](https://www.linkedin.com/in/anoopvijayan/), Cloud Architect at [Verifa](/), gave a presentation on his highlights from this year's HashiConf Europe focussing in new announcements on the following: 49 | 50 | * Terraform 1.0 51 | * HashiCorp Cloud Platform (HCP) 52 | * Way Point 53 | * Packer 54 | * Vagrant 55 | 56 | Check out Anoop's presentation [here](https://drive.google.com/file/d/19dK3eajbn2OeGGbpJjVx21pZrGM6i7Ud/view?usp=sharing). 57 | 58 | ## **Helsinki HashiCorp User Group Meetup #2** 59 | 60 | We rounded off the meetup with some closing words from Lauri and chitchat with the attendees. A huge thank you to everyone who attended and the speakers for sharing their knowledge and insights. The next Helsinki HashiCorp User Group Meetup is on **23rd September at 1800** (Helsinki time). We're hoping for an actual in real life event! You can sign up for the 2nd meetup [here](https://www.meetup.com/helsinki-hashicorp-user-group/events/279041155/). Look forward to seeing you there! 61 | 62 | Helsinki HUG is always on the lookout for speakers, so if you have super cool HashiCorp tools experience that you'd like to share get in touch with the organisers, [Lauri](https://www.linkedin.com/in/lauri-suomalainen/) or [Anoop](https://www.linkedin.com/in/anoopvijayan/). Also open for sponsorships - host venue, snacks, swag! Likewise, get in touch! 63 | -------------------------------------------------------------------------------- /themes/archie/assets/css/dark.css: -------------------------------------------------------------------------------- 1 | body { 2 | color: white; 3 | background-color: #202124; 4 | } 5 | 6 | ::-moz-selection { 7 | background: blue; 8 | color: #fff; 9 | text-shadow: none; 10 | } 11 | 12 | ::selection { 13 | background: red; 14 | color: #fff; 15 | text-shadow: none; 16 | } 17 | 18 | hr { 19 | border-top: 3px dotted blue; 20 | } 21 | code { 22 | background-color: lightblue; 23 | color: black; 24 | text-decoration: bold; 25 | padding: 0.1em 0.2em; 26 | } 27 | pre { 28 | background-color: #272822; 29 | line-height: 1.4; 30 | overflow-x: auto; 31 | padding: 1em; 32 | } 33 | blockquote { 34 | border-color: blue; 35 | } 36 | 37 | h1, 38 | h2, 39 | h3, 40 | h4, 41 | h5, 42 | h6 { 43 | color: #ddd; 44 | } 45 | h1::before { 46 | color: var(--darkMaincolor); 47 | content: "# "; 48 | } 49 | h2::before { 50 | color: var(--darkMaincolor); 51 | content: "## "; 52 | } 53 | h3::before { 54 | color: var(--darkMaincolor); 55 | content: "### "; 56 | } 57 | h4::before { 58 | color: var(--darkMaincolor); 59 | content: "#### "; 60 | } 61 | h5::before { 62 | color: var(--darkMaincolor); 63 | content: "##### "; 64 | } 65 | h6::before { 66 | color: var(--darkMaincolor); 67 | content: "###### "; 68 | } 69 | 70 | .toc { 71 | background-color: #272822; 72 | color: white; 73 | } 74 | 75 | a { 76 | border-bottom: 3px solid var(--darkMaincolor); 77 | color: inherit; 78 | } 79 | a:hover { 80 | background-color: var(--darkMaincolor); 81 | color: black; 82 | } 83 | 84 | .site-description a { 85 | color: #ddd; 86 | } 87 | .site-description a:hover { 88 | color: black; 89 | } 90 | 91 | .tags a { 92 | border-bottom: 3px solid var(--darkMaincolor); 93 | } 94 | .tags a:hover { 95 | background-color: var(--darkMaincolor); 96 | color: black; 97 | } 98 | 99 | .site-title a { 100 | color: white; 101 | text-decoration: none !important; 102 | } 103 | 104 | .header nav, 105 | .footer { 106 | border-color: #333; 107 | } 108 | 109 | .highlight { 110 | background-color: #333; 111 | } 112 | .soc:hover { 113 | color: black; 114 | } 115 | .draft-label { 116 | color: var(--darkMaincolor); 117 | background-color: blue; 118 | } 119 | .highlight pre code[class=language-javaScript]::before, 120 | .highlight pre code[class="language-js"]::before { 121 | content: "js"; 122 | background: #f7df1e; 123 | color: black; 124 | } 125 | .highlight pre code[class*='language-yml']::before, 126 | .highlight pre code[class*='language-yaml']::before { 127 | content: 'yaml'; 128 | background: #f71e6a; 129 | color: white; 130 | } 131 | .highlight pre code[class*='language-shell']::before, 132 | .highlight pre code[class*='language-bash']::before, 133 | .highlight pre code[class*='language-sh']::before { 134 | content: 'shell'; 135 | background: green; 136 | color:white 137 | } 138 | .highlight pre code[class*='language-json']::before{ 139 | content: 'json'; 140 | background: dodgerblue; 141 | color: #000000 142 | } 143 | .highlight pre code[class*='language-python']::before, 144 | .highlight pre code[class*='language-py']::before { 145 | content: 'py'; 146 | background: blue; 147 | color: yellow ; 148 | } 149 | .highlight pre code[class*='language-css']::before{ 150 | content: 'css'; 151 | background: cyan; 152 | color: black ; 153 | } 154 | .highlight pre code[class*='language-go']::before{ 155 | content: 'Go'; 156 | background: cyan; 157 | color: royalblue ; 158 | } 159 | .highlight pre code[class*='language-md']::before, 160 | .highlight pre code[class*='language-md']::before{ 161 | content: 'Markdown'; 162 | background: royalblue; 163 | color: whitesmoke ; 164 | } 165 | 166 | .callout-alert { 167 | color: #ffffff; 168 | background-color: transparent; 169 | border-width: 3px; 170 | border-style: solid; 171 | border-color: #ff6347; 172 | } 173 | 174 | .callout-custom { 175 | color: #ffffff; 176 | } 177 | 178 | .callout-tip { 179 | color: #ffffff; 180 | background-color: transparent; 181 | border-width: 3px; 182 | border-style: solid; 183 | border-color: dodgerblue; 184 | } 185 | 186 | .callout-warning { 187 | color: #ffffff; 188 | background-color: transparent; 189 | border-width: 3px; 190 | border-style: solid; 191 | border-color: #ffd700; 192 | } 193 | --------------------------------------------------------------------------------