<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Gitlab on Puppeteers Oy</title>
		<link>https://www.puppeteers.net/tags/gitlab/</link>
		<description>Recent content in Gitlab on Puppeteers Oy</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Sun, 16 May 2021 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://www.puppeteers.net/tags/gitlab/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Managing self-hosted GitLab with Terraform</title>
				<link>https://www.puppeteers.net/blog/managing-self-hosted-gitlab-with-terraform/</link>
				<pubDate>Sun, 16 May 2021 00:00:00 +0000</pubDate>
				<guid>https://www.puppeteers.net/blog/managing-self-hosted-gitlab-with-terraform/</guid>
				<description>&lt;p&gt;GitLab has an &lt;a href=&#34;https://docs.gitlab.com/ee/api/&#34;&gt;extensive API&lt;/a&gt; which allows managing its internal configuration such as users, groups and projects. The official &lt;a href=&#34;https://registry.terraform.io/providers/gitlabhq/gitlab/latest&#34;&gt;GitLab Terraform provider&lt;/a&gt; builds on top of this API.&lt;/p&gt;&#xA;&lt;p&gt;It assumed here that the Terraform controller (e.g. your laptop) is able to reach your GitLab instance&amp;rsquo;s TCP port 443 - if it can&amp;rsquo;t there&amp;rsquo;s no way Terraform&amp;rsquo;s API calls will work. The same approach should work with gitlab.com - you can probably (=untested) skip the base_url parameter in that case.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Gitlab SAML to Keycloak Setup</title>
				<link>https://www.puppeteers.net/blog/gitlab-saml-with-keycloak/</link>
				<pubDate>Wed, 12 May 2021 00:00:00 +0000</pubDate>
				<guid>https://www.puppeteers.net/blog/gitlab-saml-with-keycloak/</guid>
				<description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Integrating Keycloak with Gitlab SAML makes it easier to manage users in an organization from a central point. You could manage separate accounts on Gitlab, but for us it makes sense to utilize Keycloak as we are already using it for other applications.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setting-up-keycloak&#34;&gt;Setting up Keycloak&lt;/h2&gt;&#xA;&lt;p&gt;The first step is to create a Gitlab SAML client in the Keycloak dashboard. With the correct realm selected, navigate to the Clients configuration page and click the create button to add a new client.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fattening the workflow, part 2: r10k</title>
				<link>https://www.puppeteers.net/blog/fattening-the-workflow-part-2-r10k/</link>
				<pubDate>Tue, 01 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://www.puppeteers.net/blog/fattening-the-workflow-part-2-r10k/</guid>
				<description>&lt;p&gt;In the previous post I discussed the &lt;a href=&#34;https://www.puppeteers.net/blog/fattening-the-puppet-workflow-part-1-the-control-repository/&#34;&gt;control repository structure&lt;/a&gt;. In this post I&amp;rsquo;ll talk about &lt;a href=&#34;https://github.com/puppetlabs/r10k&#34;&gt;r10k&lt;/a&gt;. That tool is used for deploying control repository branches into matching Puppet environments on the Puppet server. Installing r10k is very straightforward with the bundled gem:&lt;/p&gt;&#xA;&lt;div class=&#34;code-block&#34;&gt;&#xA;    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;&#xA;      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;&#xA;    &lt;/button&gt;&#xA;    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ /opt/puppetlabs/puppet/bin/gem install r10k&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&lt;p&gt;After this you&amp;rsquo;ll need a settings file for r10k, &lt;em&gt;/etc/puppetlabs/r10k/r10k.yaml:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;code-block&#34;&gt;&#xA;    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;&#xA;      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;&#xA;    &lt;/button&gt;&#xA;    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;--- &#xA; :cachedir: /opt/puppetlabs/puppet/cache/r10k &#xA; :sources: &#xA; control: &#xA; basedir: /etc/puppetlabs/code/environments &#xA; prefix: false &#xA; remote: git@gitlab.com:myorg/control-repo.git&lt;/code&gt;&lt;/pre&gt;&#xA;  &lt;/div&gt;&lt;p&gt;Several requirements must be met before the configuration above will work:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fattening the workflow, part 3: GitLab and similar</title>
				<link>https://www.puppeteers.net/blog/fattening-the-workflow-part-3-gitlab-and-similar/</link>
				<pubDate>Tue, 01 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://www.puppeteers.net/blog/fattening-the-workflow-part-3-gitlab-and-similar/</guid>
				<description>&lt;p&gt;In the previous posts of this series I discussed &lt;a href=&#34;https://www.puppeteers.net/blog/fattening-the-puppet-workflow-part-1-the-control-repository/&#34;&gt;the control repository&lt;/a&gt; and &lt;a href=&#34;https://www.puppeteers.net/blog/fattening-the-workflow-part-2-r10k/&#34;&gt;r10k&lt;/a&gt;. The last component in fattening the workflow is Git provider such as GitLab, GitHub or Bitbucket. Nowadays all of them are reasonable choices for storing private Git modules, which Puppet control repositories and site-specific modules tend to be. One of the biggest advantages of GitLab over its competition is that it is open source and can be installed locally.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
