diff --git a/templates/init_admin.groovy.j2 b/templates/init_admin.groovy.j2
new file mode 100644
index 0000000..34be37a
--- /dev/null
+++ b/templates/init_admin.groovy.j2
@@ -0,0 +1,31 @@
+#!groovy
+// jenkins molecule/default/molecule.yml
+//
+// SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+// SPDX-License-Identifier: Apache-2.0
+
+
+import hudson.security.*
+import jenkins.model.*
+
+// Disable Setup Wizards
+if(Jenkins.instance.getSecurityRealm().getClass().getSimpleName() == 'None') {
+    def instance = Jenkins.getInstance()
+
+    // Those files should be mounted into the jenkins master container
+    def setupUser = '{{ jenkins_admin_username }}'
+    def setupPass = '{{ jenkins_admin_password }}'
+
+    def hudsonRealm = new HudsonPrivateSecurityRealm(false)
+    instance.setSecurityRealm(hudsonRealm)
+    def user = instance.getSecurityRealm().createAccount(setupUser, setupPass)
+    user.save()
+
+    def strategy = new FullControlOnceLoggedInAuthorizationStrategy()
+    strategy.setAllowAnonymousRead(false)
+    instance.setAuthorizationStrategy(strategy)
+
+    instance.save()
+
+    println("SetupWizard Disabled")
+}
\ No newline at end of file
diff --git a/templates/proxy.xml b/templates/proxy.xml
new file mode 100644
index 0000000..6761f2f
--- /dev/null
+++ b/templates/proxy.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<proxy>
+  <name>{{ jenkins_proxy_host }}</name>
+  <port>{{ jenkins_proxy_port}}</port>
+  <noProxyHost>{{ jenkins_proxy_noproxy | join(',') }}</noProxyHost>
+  <secretPassword></secretPassword>
+</proxy>
