Skip to content

Commit

Permalink
adding initial RBAC management
Browse files Browse the repository at this point in the history
  • Loading branch information
jfryman committed Sep 25, 2015
1 parent 045ade3 commit b9f2a12
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 1 deletion.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## 0.9.8 (Sept 25, 2015)
* Add ability to manage StackStorm RBAC roles (*improvement*)

## 0.9.7 (Sept 22, 2015)
* Restart mistral on init script update

Expand Down
49 changes: 49 additions & 0 deletions manifests/rbac.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Definition: st2::rbac
#
# This defined type creates RBAC resources for users
# This is an enterprise feature, and requires a license
# to be used.
#
define st2::rbac (
$ensure = 'present',
$user = $name,
$description = "Created and managed by Puppet",
$roles = [],
) {
$_rbac_dir = '/opt/stackstorm/rbac'

ensure_resource('file', $_rbac_dir, {
'ensure' => 'directory',
'owner' => 'root',
'group' => 'root',
'mode' => '0755',
'require' => Class['::st2::profile::server'],
})
ensure_resource('file', "${_rbac_dir}/assignments", {
'ensure' => 'directory',
'owner' => 'root',
'group' => 'root',
'mode' => '0755',
'require' => Class['::st2::profile::server'],
})
ensure_resource('file', "${_rbac_dir}/assignments", {
'ensure' => 'directory',
'owner' => 'root',
'group' => 'root',
'mode' => '0755',
'require' => Class['::st2::profile::server'],
})
ensure_resource('exec', 'reload st2 rbac definitions', {
'cmd' => 'st2-apply-rbac-definitions',
'refreshonly' => 'true',
'path' => '/usr/sbin:/usr/bin:/sbin:/bin',
})
file { "${_rbac_dir}/assignments/${user}.yaml":
ensure => 'file',
owner => 'root',
group => 'root',
mode => '0644',
content => template('st2/rbac/assignments/user.yaml.erb'),
notify => Exec['reload st2 rbac definitions'],
}
}
2 changes: 1 addition & 1 deletion metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "stackstorm-st2",
"version": "0.9.7",
"version": "0.9.8",
"author": "stackstorm",
"summary": "Puppet module to manage/configure StackStorm",
"license": "Apache 2.0",
Expand Down
8 changes: 8 additions & 0 deletions templates/rbac/assignments/user.yaml.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
username: "<%= @user %>"
description: "<%= @description %>"
enabled: <%= @_enabled_state %>
roles:
<%- @roles.each do |role| -%>
- "<%= role %>"
<%- end -%>

0 comments on commit b9f2a12

Please sign in to comment.