Skip to content
This repository has been archived by the owner on Jul 7, 2020. It is now read-only.

Merging upstream commits and fixing vulnerabilities #1

Merged
merged 51 commits into from
Jan 31, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
c307e34
ENTRYPOINT with CUSTOM_CA_CERT env var
lingrino Jul 5, 2017
feae525
Merge pull request #140 from Lingrino/master
djenriquez Jul 10, 2017
50d304c
Replace HCL parsing library
Jul 23, 2017
d2412ef
Merge pull request #151 from msessa/bugfix/hcl-json-dot
msessa Jul 24, 2017
0df63db
Helm chart for vault-ui (#149)
ipedrazas Jul 25, 2017
dfed36a
Upgrade base image to node:8.1.4-alpine (#148)
lcgkm Jul 27, 2017
48c12c3
fix invalid github endpoint var name (#155)
lcgkm Jul 27, 2017
b62b3fc
Okta Authentication Backend (#156)
djenriquez Jul 30, 2017
70f5962
allows for server port to be configured via env var PORT (#162)
bloo Aug 16, 2017
46953ec
Update PolicyPicker.jsx (#169)
deejross Aug 17, 2017
0f6ce55
Add login button (#172)
djenriquez Aug 24, 2017
a5ca670
AppRole Authentication Backend (#171)
djenriquez Aug 24, 2017
d427c5a
Fix README, clarify NODE_TLS_REJECT_UNAUTHORIZED
djenriquez Aug 28, 2017
fc7caa5
Fix typo (#176)
lewispeckover Aug 28, 2017
0539041
Add ItemList Class (#175)
djenriquez Aug 29, 2017
b2783aa
Breadcrumb Styles Improvement & "copy path" icon button (#180)
tallpauley Sep 1, 2017
725a55a
fix dash issue w/ breadcrumb
tallpauley Sep 22, 2017
1a19146
Merge pull request #186 from tallpauley/fix-dash-breadcrumb
tallpauley Sep 22, 2017
8cd027a
Fix favicon (#188)
djenriquez Sep 24, 2017
455dd4e
Update README.md
djenriquez Sep 24, 2017
2ff9e31
Add itemlist to policy management (#187)
djenriquez Sep 24, 2017
769469e
Update README.md
djenriquez Sep 24, 2017
f3b07c4
Update LICENSE
djenriquez Sep 24, 2017
f95a1f5
fixing behavior for ALL breaking characters
tallpauley Sep 25, 2017
668130c
Merge pull request #189 from tallpauley/fix-dash-breadcrumb
tallpauley Sep 25, 2017
c617b1d
Upgrade node to 8.5, remove deprecated MAINTAINER (#193)
djenriquez Sep 26, 2017
17202f6
clarifies expected value for VAULT_URL_DEFAULT (#194)
fengor Sep 28, 2017
fdd545a
Correct the dist reference for the electron app (#199)
djenriquez Oct 1, 2017
cb16d0f
Add KV compatibility (#198)
djenriquez Oct 1, 2017
35ab0d0
Maintenance: Upgrade packages (#200)
djenriquez Oct 1, 2017
75fa786
Update CHANGELOG
djenriquez Oct 1, 2017
67df24f
Update version
djenriquez Oct 1, 2017
130aba0
Squash big but easy bug for userpass (#201)
djenriquez Oct 1, 2017
d9866fc
v2.4.0-rc2
djenriquez Oct 1, 2017
8787ec1
Fix secrets list reset (#202)
djenriquez Oct 2, 2017
6b700e2
Fix navigation bug when access is denied (#203)
djenriquez Oct 2, 2017
4b49ff0
Improve Vault endpoint check (#204)
djenriquez Oct 2, 2017
3e276bc
empty catch statements don't resolve, breaking behavior if can't crea…
tallpauley Oct 2, 2017
3287079
Improve styling (#207)
djenriquez Oct 2, 2017
03bc1b8
Merge pull request #206 from tallpauley/token-branch-fix
tallpauley Oct 2, 2017
b44abe0
Fix scrolling (#208)
djenriquez Oct 3, 2017
d6d6bbb
v2.4.0-rc3
djenriquez Oct 4, 2017
4c498fd
Upgrade to node alpine-8.8 (#218)
djenriquez Oct 31, 2017
28e6378
Add logic to handle supplied auth token header (#220)
djenriquez Nov 21, 2017
7ea0ea6
Fix policy schema (#228)
djenriquez Jan 2, 2018
271238a
Remove nodemon from default run (#227)
djenriquez Jan 2, 2018
e58db63
Merge remote-tracking branch 'upstream/master' into upstream-pull
conor-mullen Jan 23, 2018
6a77335
Updated yarn.lock after yarn build
conor-mullen Jan 23, 2018
36b8362
Updated packagaes
conor-mullen Jan 23, 2018
87ba25f
Specify electron-builder version
conor-mullen Jan 23, 2018
ff5d9ba
Updated electron to resolve critical vulnerability
conor-mullen Jan 30, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
# 2.3.0 (Unreleased)
- Allow naming tokens generated from roles
- Add backend mount description field - https://github.com/djenriquez/vault-ui/pull/105
# 2.4.0 (unreleased)
# Features
- Add KV compatibility #198
- Upgrade dependencies #200

# Bug fixes
- Fix desktop client icons #199 - #157
- Fix issue with favicon #188

# 2.3.0
## Features:
- Refactor PolicyPicker to ItemPicker for general use - #175
- Refactor item listing to use a centralized class /w filtering, pagination and sorting by default - #175 + #187
- Add backend mount description field - #105
- Allow self-signed CA certifications - #140
- Support Okta Authentication Backend - #156

# 2.2.0
## Features
Expand Down
18 changes: 13 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
FROM node:7-alpine
FROM node:8.8-alpine

MAINTAINER Vault-UI Contributors
LABEL maintainer="Vault-UI Contributors"

ADD . /app
WORKDIR /app
RUN yarn install --pure-lockfile --silent && yarn run build-web && npm prune --silent --production && yarn cache clean && rm -f /root/.electron/*
COPY . .

RUN yarn install --pure-lockfile --silent && \
yarn run build-web && \
yarn install --silent --production && \
yarn check --verify-tree --production && \
yarn global add nodemon && \
yarn cache clean && \
rm -f /root/.electron/*

EXPOSE 8000

CMD ["yarn", "run", "serve"]
ENTRYPOINT ["./bin/entrypoint.sh"]
CMD ["start_app"]
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
BSD 2-Clause License

All contributions by Vault-UI Admins:
Copyright (c) 2016, Robert Lippens, DJ Enriquez, Alex Unwin
Copyright (c) 2016, DJ Enriquez, Matteo Sessa, Christopher Pauley, Robert Lippens, Alex Unwin
All rights reserved.

All other contributions:
Expand All @@ -27,4 +27,4 @@ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21 changes: 14 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
title="Vault-UI" width="64px" align="right" />
</a>

[![](https://images.microbadger.com/badges/image/djenriquez/vault-ui.svg)](https://microbadger.com/images/djenriquez/vault-ui)
[![Run Status](https://api.shippable.com/projects/581e7826fbc68c0f00deb0ca/badge?branch=master)](https://app.shippable.com/projects/581e7826fbc68c0f00deb0ca)
[![](https://images.microbadger.com/badges/image/djenriquez/vault-ui.svg)](https://microbadger.com/images/djenriquez/vault-ui)
[![Join the chat at https://gitter.im/vault-ui/Lobby](https://badges.gitter.im/vault-ui/Lobby.svg)](https://gitter.im/vault-ui/Lobby)

# Vault-UI

Expand Down Expand Up @@ -62,11 +63,13 @@ djenriquez/vault-ui
```

Supported environment variables:
- `NODE_TLS_REJECT_UNAUTHORIZED` disable TLS server side validation (ex. vault deployed with self-signed certificate)
- `VAULT_URL_DEFAULT` will set the default vault endpoint.
- `VAULT_AUTH_DEFAULT` will set the default authentication method type. See below for supported authentication methods.
- `VAULT_AUTH_BACKEND_PATH` will set the default backend path. Useful when multiple backends of the same type are mounted on the vault file system.
- `VAULT_SUPPLIED_TOKEN_HEADER` will instruct Vault-UI to attempt authentication using a token provided by the client in the specified HTTP request header.
- `PORT` Sets the port for Vault-UI to listen on. (Default 8000)
- `CUSTOM_CA_CERT` Pass a self-signed certificate that the system should trust.
- `NODE_TLS_REJECT_UNAUTHORIZED` Disable TLS server side validation. (ex. vault deployed with self-signed certificate). Set to `0` to disable.
- `VAULT_URL_DEFAULT` Sets the default vault endpoint. Note: protocol part of the url is mandatory. Example: http://10.0.0.1:8200
- `VAULT_AUTH_DEFAULT` Sets the default authentication method type. See below for supported authentication methods.
- `VAULT_AUTH_BACKEND_PATH` Sets the default backend path. Useful when multiple backends of the same type are mounted on the vault file system.
- `VAULT_SUPPLIED_TOKEN_HEADER` Instructs Vault-UI to attempt authentication using a token provided by the client in the specified HTTP request header.

This defaults can be overridden if the user fills out the endpoint and auth method manually.

Expand All @@ -83,6 +86,7 @@ Current supported management of backend auth methods:
- [AWS-EC2](https://www.vaultproject.io/docs/auth/aws-ec2.html)
- [Username & Password](https://www.vaultproject.io/docs/auth/userpass.html)
- [Token](https://www.vaultproject.io/docs/auth/token.html)
- [AppRole](https://www.vaultproject.io/docs/auth/approle.html)

In some cases, users might want to use middleware to authenticate into Vault-UI for purposes like SSO. In this case, the `VAULT_SUPPLIED_TOKEN_HEADER` may be populated with the name of the header that contains a token to be used for authentication.

Expand Down Expand Up @@ -161,7 +165,7 @@ Users have the ability to create and revoke tokens, manage token roles and list
"path": {
"auth/token/accessors": {
"capabilities": [
"sudo",
"sudo",
"list"
]
},
Expand Down Expand Up @@ -211,3 +215,6 @@ yarn start

# Licensing
Vault-UI is licensed under BSD 2-Clause. See [LICENSE](https://github.com/djenriquez/vault-ui/blob/master/LICENSE) for the full license text.

# Donations
Vault-UI maintainers are humbly accepting [donations](https://github.com/djenriquez/vault-ui/wiki/Donations) as a way of saying thank you!
6 changes: 5 additions & 1 deletion app/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import GithubAuthBackend from './components/Authentication/Github/Github.jsx';
import RadiusAuthBackend from './components/Authentication/Radius/Radius.jsx';
import UserPassAuthBackend from './components/Authentication/UserPass/UserPass.jsx';
import SecretUnwrapper from './components/shared/Wrapping/Unwrapper';
import OktaAuthBackend from './components/Authentication/Okta/Okta.jsx';
import AppRoleAuthBackend from './components/Authentication/AppRole/AppRole.jsx'

// Load here to signal webpack
import 'flexboxgrid/dist/flexboxgrid.min.css';
Expand Down Expand Up @@ -77,13 +79,15 @@ ReactDOM.render((
<Route path="/login" component={Login} onEnter={checkVaultUiServer} />
<Route path="/unwrap" component={SecretUnwrapper} />
<Route path="/" component={App} onEnter={checkAccessToken}>
<Route path="/secrets/generic/:namespace(/**)" component={SecretsGeneric} />
<Route path="/secrets/:namespace(/**)" component={SecretsGeneric} />
<Route path="/auth/token/:namespace" component={TokenAuthBackend} />
<Route path="/auth/aws/:namespace(/**)" component={AwsAuthBackend} />
<Route path="/auth/aws-ec2/:namespace(/**)" component={AwsEc2AuthBackend} />
<Route path="/auth/github/:namespace(/**)" component={GithubAuthBackend} />
<Route path="/auth/radius/:namespace(/**)" component={RadiusAuthBackend} />
<Route path="/auth/okta/:namespace(/**)" component={OktaAuthBackend} />
<Route path="/auth/userpass/:namespace(/**)" component={UserPassAuthBackend} />
<Route path="/auth/approle/:namespace(/**)" component={AppRoleAuthBackend} />
<Route path="/settings" component={Settings} />
<Route path="/responsewrapper" component={ResponseWrapper} />
<Route path="/sys/policies(/**)" component={PolicyManager} />
Expand Down
41 changes: 22 additions & 19 deletions app/components/App/App.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React, { PropTypes } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import _ from 'lodash';
import { Tabs, Tab } from 'material-ui/Tabs';
import Menu from '../shared/Menu/Menu.jsx';
Expand Down Expand Up @@ -272,24 +273,26 @@ export default class App extends React.Component {
</Tabs>
</div>
);
return <div>
<Snackbar
className={styles.snackbar}
bodyStyle={this.state.snackbarStyle}
open={this.state.snackbarMessage != ''}
message={this.state.snackbarMessage}
autoHideDuration={3000}
onRequestClose={() => this.setState({ snackbarMessage: '' })}
onActionTouchTap={() => this.setState({ snackbarMessage: '' })}
/>
{this.state.logoutOpen && this.renderSessionExpDialog()}
<Header tokenIdentity={this.state.identity} />
<Menu pathname={this.props.location.pathname} />
<div id={styles.content}>
<Paper zDepth={1}>
{this.props.children || welcome}
</Paper>
return (
<div>
<Snackbar
className={styles.snackbar}
bodyStyle={this.state.snackbarStyle}
open={this.state.snackbarMessage != ''}
message={this.state.snackbarMessage}
autoHideDuration={3000}
onRequestClose={() => this.setState({ snackbarMessage: '' })}
onActionTouchTap={() => this.setState({ snackbarMessage: '' })}
/>
{this.state.logoutOpen && this.renderSessionExpDialog()}
<Header tokenIdentity={this.state.identity} />
<Menu pathname={this.props.location.pathname} />
<div id={styles.content}>
<Paper zDepth={1} style={{ 'border-right-style': 'inset' }}>
{this.props.children || welcome}
</Paper>
</div>
</div>
</div>
)
}
}
10 changes: 6 additions & 4 deletions app/components/App/app.css
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
#content {
padding-left: 30px;
width: calc(100vw - 305px);
display: inline-block;
margin-left: 250px;
margin-top: 80px;
width: calc(100vw - 270px);
margin-left: 235px;
margin-top: 70px;
height: calc(100% - 70px);
overflow-y: scroll;
position: fixed;
}

.snackbar {
Expand Down
Loading