Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
ggtakec committed Mar 5, 2019
0 parents commit 885b5d6
Showing 6 changed files with 193 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Additional Information
(The following information is very important in order to help us to help you. Omission of the following details may delay your support request or receive no attention at all.)

- K2HR3 system or sub components
```
```

- System information (uname -a)
```
```

- Distro (cat /etc/issue)
```
```

## Details about issue
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Relevant Issue (if applicable)
(If there are Issues related to this PullRequest, please list it.)

## Details
(Please describe the details of PullRequest.)
42 changes: 42 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#
# K2HR3
#
# Copyright 2017 Yahoo! Japan Corporation.
#
# K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
# common management information for the cloud.
# K2HR3 can dynamically manage information as "who", "what", "operate".
# These are stored as roles, resources, policies in K2hdkc, and the
# client system can dynamically read and modify these information.
#
# For the full copyright and license information, please view
# the licenses file that was distributed with this source code.
#
# AUTHOR: Takeshi Nakatani
# CREATE: Wed Jun 8 2017
# REVISION:
#

#
# archive files and backups
#
*.tgz
*.tar.gz
*.rpm
*.swp
*.bak
*.xml

#
# Runtime data
#
pids
*.pid
*.seed
*.pid.lock

#
# VIM modelines
#
# vim:set ts=4 fenc=utf-8:
#
7 changes: 7 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
1. Takeshi Nakatani <ggtakec@gmail.com>

Develops and wrote from scratch the initial version.

2. Hirotaka Wakabayashi <hiwakaba@yahoo-corp.jp>

Develops and other improvements.
22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
MIT License

Copyright (c) 2017 Yahoo Japan Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

101 changes: 101 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
K2HR3
-----

## **K2HR3** - **K2H**dkc based **R**esource and **R**oles and policy **R**ules

![K2HR3 system](https://k2hr3.antpick.ax/images/top_k2hr3.png)

## K2HR3 system overview
**K2HR3** (**K2H**dkc based **R**esource and **R**oles and policy **R**ules) is one of extended **RBAC** (**R**ole **B**ased **A**ccess **C**ontrol) system.
K2HR3 works as RBAC in cooperation with **OpenStack** which is one of **IaaS**(Infrastructure as a Service), and also provides useful functions for using RBAC.

K2HR3 is a system that defines and controls **HOW**(policy Rule), **WHO**(Role), **WHAT**(Resource), as RBAC.
Users of K2HR3 can define **Role**(WHO) groups to access freely defined **Resource**(WHAT) and control access by **policy Rule**(HOW).
By defining the information and assets required for any system as a **Resource**(WHAT), K2HR3 system can give the opportunity to provide access control in every situation.

K2HR3 provides **+SERVICE** feature, it **strongly supports** user system, function and information linkage.

![K2HR3 system overview](https://k2hr3.antpick.ax/images/overview_abstract.png)

K2HR3 is built [k2hdkc](https://github.com/yahoojapan/k2hdkc), [k2hash](https://github.com/yahoojapan/k2hash), [chmpx](https://github.com/yahoojapan/chmpx) and [k2hash transaction plugin](https://github.com/yahoojapan/k2htp_dtor) components by [AntPickax](https://antpick.ax/).

## K2HR3 Systems/Components
The K2HR3 system consists of several subsystems and components.
They are registered as **submodules in this repository**.
Below is a brief description of each submodule.

### K2HR3 Web Application
**K2HR3 Web Application** is one subsystem of K2HR3 system.
This is accessed from the browser by users and operates as the control panel of the K2HR3 system.
This is a JavaScript based web application that can manipulate all of the data required by users.
_K2HR3 Web Application is created with [React.js](https://reactjs.org/) and [Node.js](https://nodejs.org/)._

User can manipulate **Roles**, **policy Rules**, **Resource**, **Service** data using this **K2HR3 Web Application**.

![K2HR3 Web Application](https://k2hr3.antpick.ax/images/usage_top_app_overview.png)

### K2HR3 REST API
**K2HR3 REST API** provides for manipulating data such as **ROLE**, **POLICY RULE**, **RESOURCE** and **SERVICE** stored in the K2HR3 Data Server([k2hdkc](https://github.com/yahoojapan/k2hdkc)).

Using the K2HR3 REST API provided by this K2HR3 API server, the [K2HR3 Web Application](https://k2hr3.antpick.ax/usage_app.html) and its Web Server communicates with the K2HR3 Data Server([k2hdkc](https://github.com/yahoojapan/k2hdkc)).
And users and hosts of the ROLE member directly call this K2HR3 REST API on this K2HR3 API Server, and get/put RESOURCE data.

K2HR3 REST API and K2HR3 API Server is the server side JavaScript program running on [Node.js](https://nodejs.org/).

![K2HR3 system overview](https://k2hr3.antpick.ax/images/detail_system_overview.png)

### K2HR3 OpenStack Notification Listener
**K2HR3 OpenStack Notification Listener** is an OpenStack Notification Listener that listens to notifications from OpenStack services.
OpenStack services emit notifications to the message bus, which is provided by oslo.messaging transports notification messages to a message broker server.
The default broker server is RabbitMQ.
When **K2HR3 OpenStack Notification Listener** catches a notification message from RabbitMQ, it sends the payload to the K2hR3 system.

![K2HR3 OpenStack Notificatoin Listener overview](https://k2hr3.antpick.ax/images/detail_osnl_details.png)

### K2HR3 Utilities
**K2HR3 Utilities** is a utility for the quick setup K2HR3 system.
This will easily set up all the subcomponents of the K2HR3 system([K2HR3 Web Application](https://k2hr3.antpick.ax/usage_app.html) and Web Server, [K2HR3 REST API](https://k2hr3.antpick.ax/api.html), K2HR3 Data Server([k2hdkc](https://github.com/yahoojapan/k2hdkc)), [K2HR3 OpenStack Notification Listener](https://k2hr3.antpick.ax/detail_osnl.html)).
You can test the K2HR3 system in this environment.
**Before using K2HR3 Utilities**, OpenStack must be set up in the your environment.

**How to use K2HR3 Utilities** is explained in [K2HR3 Setup](https://k2hr3.antpick.ax/setup.html).

## Documents
[K2HR3 Document](https://k2hr3.antpick.ax/index.html)
[K2HR3 Web Application Usage](https://k2hr3.antpick.ax/usage_app.html)
[K2HR3 REST API Usage](https://k2hr3.antpick.ax/api.html)
[K2HR3 OpenStack Notification Listener Usage](https://k2hr3.antpick.ax/detail_osnl.html)
[K2HR3 Watcher Usage](https://k2hr3.antpick.ax/tools.html)
[K2HR3 Utilities for Setup](https://k2hr3.antpick.ax/setup.html)

[About k2hdkc](https://k2hdkc.antpick.ax/)
[About k2hash](https://k2hash.antpick.ax/)
[About chmpx](https://chmpx.antpick.ax/)
[About k2hash transaction plugin](https://k2htpdtor.antpick.ax/)

[About AntPickax](https://antpick.ax/)

## Repositories
[K2HR3 main repository](https://github.com/yahoojapan/k2hr3)
[K2HR3 Web Application repository](https://github.com/yahoojapan/k2hr3_app)
[K2HR3 REST API repository](https://github.com/yahoojapan/k2hr3_api)
[K2HR3 OpenStack Notification Listener](https://github.com/yahoojapan/k2hr3_osnl)
[K2HR3 Utilities](https://github.com/yahoojapan/k2hr3_utils)

[k2hdkc](https://github.com/yahoojapan/k2hdkc)
[k2hash](https://github.com/yahoojapan/k2hash)
[chmpx](https://github.com/yahoojapan/chmpx)
[k2hash transaction plugin](https://github.com/yahoojapan/k2htp_dtor)

## Packages
[k2hr3-app(npm packages)]()
[k2hr3-api(npm packages)]()
[k2hr3-osnl(python packages)]()

### License
This software is released under the MIT License, see the license file.

### AntPickax
K2HR3 is one of [AntPickax](https://antpick.ax/) products.

Copyright(C) 2017 Yahoo Japan Corporation.

0 comments on commit 885b5d6

Please sign in to comment.