Skip to content

Commit 2f8abbe

Browse files
authored
docs: update readme with install instructions (#108)
1 parent bbc4d09 commit 2f8abbe

File tree

4 files changed

+111
-17
lines changed

4 files changed

+111
-17
lines changed

.github/workflows/release.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
name: release
1+
name: Release
22

33
on:
44
push:
55
tags:
6-
- "v*.*.*"
6+
- "v*"
77

88
jobs:
99
release:

.github/workflows/test.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
on: [push, pull_request]
21
name: Test
2+
3+
on: [push, pull_request]
4+
35
jobs:
46
golangci:
57
name: lint

README.md

+105-9
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# Guardian
22

33
![test workflow](https://github.com/odpf/guardian/actions/workflows/test.yaml/badge.svg)
4+
![release workflow](https://github.com/odpf/guardian/actions/workflows/release.yaml/badge.svg)
45
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?logo=apache)](LICENSE)
56
[![Version](https://img.shields.io/github/v/release/odpf/guardian?logo=semantic-release)](Version)
67

7-
Guardian is a data access management tool. It manages resources from various data providers along with the users’ access. Users required to raise an appeal in order to gain access to a particular resource. The appeal will go through several approvals before it is getting approved and granted the access to the user.
8+
Guardian is a on-demand access management tool. It manages resources from various data providers along with the users’ access. Users required to raise an appeal in order to gain access to a particular resource. The appeal will go through several approvals before it is getting approved and granted the access to the user.
89

910
<p align="center"><img src="./docs/static/assets/overview.svg" /></p>
1011

@@ -16,7 +17,7 @@ Guardian is a data access management tool. It manages resources from various dat
1617
- **Configurable approval flow**: Approval flow configures what are needed for an appeal to get approved and who are eligible to approve/reject. It can be configured and linked to a provider so that every appeal created to their resources will follow the procedure in order to get approved.
1718
- **External Identity Manager**: This gives the flexibility to use any third-party identity manager. User properties.
1819

19-
## Usage
20+
## Documentation
2021

2122
Explore the following resoruces to get started with Guardian:
2223

@@ -25,25 +26,120 @@ Explore the following resoruces to get started with Guardian:
2526
- [Reference](https://odpf.github.io/guardian/docs/reference/glossary) contains details about configurations and other aspects of Guardian.
2627
- [Contribute](https://odpf.github.io/guardian/docs/contribute/contribution) contains resources for anyone who wants to contribute to Guardian.
2728

29+
## Installation
30+
31+
Install Guardian on macOS, Windows, Linux, OpenBSD, FreeBSD, and on any machine.
32+
33+
#### Binary (Cross-platform)
34+
35+
Download the appropriate version for your platform from [releases](https://github.com/odpf/guardian/releases) page. Once downloaded, the binary can be run from anywhere.
36+
You don’t need to install it into a global location. This works well for shared hosts and other systems where you don’t have a privileged account.
37+
Ideally, you should install it somewhere in your PATH for easy use. `/usr/local/bin` is the most probable location.
38+
39+
#### Homebrew
40+
41+
```sh
42+
# Install guardian (requires homebrew installed)
43+
$ brew install odpf/taps/guardian
44+
45+
# Upgrade guardian (requires homebrew installed)
46+
$ brew upgrade guardian
47+
48+
# Check for installed guardian version
49+
$ guardian version
50+
```
51+
52+
## Usage
53+
54+
Guardian CLI is fully featured but simple to use, even for those who have very limited experience working from the command line. Run `guardian --help` to see list of all available commands and instructions to use.
55+
56+
```
57+
$ guardian --help
58+
Universal access control to cloud apps and infrastructure.
59+
60+
USAGE
61+
guardian <command> <subcommand> [flags]
62+
63+
CORE COMMANDS
64+
appeal Manage appeals
65+
policy Manage policies
66+
provider Manage providers
67+
resource Manage resources
68+
69+
DEV COMMANDS
70+
migrate Run database migrations
71+
serve Run guardian server
72+
73+
ADDITIONAL COMMANDS
74+
completion generate the autocompletion script for the specified shell
75+
config Manage client configuration settings
76+
help Help about any command
77+
version Print version information
78+
79+
FLAGS
80+
--help Show help for command
81+
82+
EXAMPLES
83+
$ guardian appeal create
84+
$ guardian policy list
85+
$ guardian provider list
86+
$ guardian resource list
87+
$ guardian policy create --file policy.yaml
88+
89+
ENVIRONMENT VARIABLES
90+
See 'guardian help environment' for the list of supported environment variables.
91+
92+
LEARN MORE
93+
Use 'guardian <command> <subcommand> --help' for more information about a command.
94+
Read the manual at https://odpf.github.io/guardian/
95+
96+
FEEDBACK
97+
Open an issue here https://github.com/odpf/guardian/issues
98+
```
99+
28100
## Running locally
29101

30-
Dependencies:
102+
<details>
103+
<summary>Dependencies:</summary>
104+
105+
- Git
106+
- Go 1.17 or above
107+
- PostgreSQL 13.2 or above
31108

32-
- Git
33-
- Go 1.15 or above
34-
- PostgreSQL 13.2 or above
109+
</details>
35110

36111
```sh
112+
# Clone the repo
37113
$ git clone [email protected]:odpf/guardian.git
38-
$ cd guardian
39-
$ go run main.go migrate
40-
$ go run main.go serve
114+
115+
# Install all the golang dependencies
116+
$ make install
117+
118+
# Check all build comamnds available
119+
$ make help
120+
121+
# Build meteor binary file
122+
$ make build
123+
124+
# Init config
125+
$ cp app/config.yaml config.yaml
126+
$ ./guardian config init
127+
128+
# Run database migrations
129+
$ ./guardian migrate
130+
131+
# Start guardian server
132+
$ ./guardian serve
41133
```
42134

43135
## Running tests
44136

45137
```sh
138+
# Running all unit tests
46139
$ make test
140+
141+
# Print code coverage
142+
$ make coverage
47143
```
48144

49145
## Contribute

cmd/root.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ func New(cliConfig *app.CLIConfig) *cobra.Command {
1313
Use: "guardian <command> <subcommand> [flags]",
1414
Short: "Universal data access control",
1515
Long: heredoc.Doc(`
16-
Universal data access control.
17-
18-
Guardian is a tool for extensible and universal data access with
19-
automated access workflows and security controls across data stores,
20-
analytical systems, and cloud products.`),
16+
Universal access control to cloud apps and infrastructure.`),
2117
SilenceUsage: true,
2218
SilenceErrors: true,
2319
Example: heredoc.Doc(`

0 commit comments

Comments
 (0)