# Rundeck K8s Deployment **A Rundeck Deployment in Kubernetes + LDAP or Active Directory to autentication.** ![Rundeck K8s](https://pbs.twimg.com/media/DWwhoieX4AAnfmx.jpg) ## Rundeck configs In my sample, I used to **Kubernetes Sercrets** to protect my data. **I strongly advise you to do the same**. To understand how to handle _secrets_ in Kubernetes look [here](https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-config-file/#create-the-config-file). I've created the _secret_ file `rundeck-secretes` and encode the values using _base64_ Example to enconde: ``` $ echo -n 'myvalue' | openssl ba64 bXl2YWx1ZQ== ``` To decode: ``` echo -n 'bXl2YWx1ZQ==' | base64 --decode ``` #### Rundeck Role The file `rundeck-admin-role.yaml` is used to create a policy that _allow_ your Active Directory users use the Rundeck features, in this file gave the **admin** permitions to users. To manage policy you can check [here](https://docs.rundeck.com/docs/administration/security/authorization.html#access-control-policy). In my deployment this policy is provide via **secret**. #### Variables in use: ``` RUNDECK_DATABASE_DRIVER RUNDECK_DATABASE_PASSWORD RUNDECK_DATABASE_URL RUNDECK_DATABASE_USERNAME RUNDECK_GRAILS_URL RUNDECK_JAAS_MODULES_0 RUNDECK_LOGGING_AUDIT_ENABLED RUNDECK_SERVER_FORWARDED ``` ## LDAP or Acive Directory configs It's necessary creat at AD user to _bind_ the authentication validation of the user. And you need set your Active Direcotry florest to vars, follow a example bellow: ``` RUNDECK_JAAS_LDAP_BINDDN=rundeckuser@mycompany.foo RUNDECK_JAAS_LDAP_BINDPASSWORD=somepassword RUNDECK_JAAS_LDAP_FLAG=sufficient RUNDECK_JAAS_LDAP_PROVIDERURL=ldap://0.0.0.0:389 RUNDECK_JAAS_LDAP_ROLEBASEDN=OU=RundeckRoles,OU=Users,OU=MYCOMPANY,DC=mycompany,DC=foo RUNDECK_JAAS_LDAP_ROLEMEMBERATTRIBUTE=member RUNDECK_JAAS_LDAP_ROLEOBJECTCLASS=group RUNDECK_JAAS_LDAP_USERBASEDN=OU=Users,OU=MYCOMPANY,DC=foo,DC=mycompany RUNDECK_JAAS_LDAP_USERIDATTRIBUTE=sAMAccountName RUNDECK_JAAS_LDAP_USERRDNATTRIBUTE=sAMAccountName RUNDECK_JAAS_MODULES_0=JettyCombinedLdapLoginModule ``` --------------------------- :bowtie: **Author**: Weyder :computer: SRE | DevOps Culture | AWS :round_pushpin: **LinkedIn**: [@weyderfs](https://www.linkedin.com/in/weyderfs) :email: **Email**: weyderfs@gmail.com :coffee: You can support me with a [coffee](https://www.buymeacoffee.com/weyderfs).