diff --git a/manifests/aes_broker.pp b/manifests/aes_broker.pp
index b9a9e300c9fe0082eace40362f23b7af19123615..0c5ce641a5ff61579a5b96a585098d18e333c7a6 100644
--- a/manifests/aes_broker.pp
+++ b/manifests/aes_broker.pp
@@ -1,12 +1,43 @@
 class aes::broker {
 
+  $broker_user = broker
+  $broker_group "${broker_user}"
+  $broker_home = "/srv/${broker_user}"
+  $broker_service = "${broker_user}"
+
+  # Sadly, it does not seem like we can only install asio, so we need
+  # to install the Boost as a whole.
+  # It is easiest to install just "boost", even if that is a bit older
+  # than what is available (others require modifying the include path).
+  # It is still enough for the broker.
   package {
     [
-	'devtoolset-7-gcc',
-	'devtoolset-7-gcc-c++',
-	'boost169',
+	'boost',
+	'boost-devel',
+	'krb5-libs',
+	'krb5-devel',
     ]:
       ensure => installed,
   }
 
+  user { "${broker_user}" :
+    ensure => present,
+    home => "${broker_user}",
+    comment => 'Message broker for AES',
+    managehome => false,
+    membership => inclusive,
+    system => true,
+    shell => '/sbin/nologin',
+  }
+
+  file { "${broker_home}" :
+    ensure => directory,
+    owner => "${broker_user}",
+    group => "${broker_group}",
+    mode => '0755',
+  }
+
+  # TODO: We still need to download the source from Git as needed and update the broker and auth service.
+  # To compile the broker, we need to do "source /opt/rh/devtoolset-7/enable" first. Otherwise, we will not get a good enough GCC.
+
 }
\ No newline at end of file