Commit Graph

27 Commits

Author SHA1 Message Date
Angel Garbarino f9ab81e55f
manual backport (#24035) 2023-11-13 12:45:53 -07:00
Angel Garbarino 8d333a2c20
remove var (#20592) 2023-05-15 17:28:47 +00:00
Jordan Reimer c84d267c61
Sidebar Navigation (#19296)
* Add Helios Design System Components (#19278)

* adds hds dependency

* updates reset import path

* sets minifyCSS advanced option to false

* Remove node-sass (#19376)

* removes node-sass and fixes sass compilation

* fixes active tab li class

* Sidebar Navigation Components (#19446)

* links ember-shared-components addon and imports styles

* adds sidebar frame and nav components

* updates HcNav component name to HcAppFrame and adds sidebar UserMenu component

* adds tests for sidebar components

* fixes tests

* updates user menu styling

* fixes typos in nav cluster component

* changes padding value in sidebar stylesheet to use variable

* Replace and remove old nav components with new ones (#19447)

* links ember-shared-components addon and imports styles

* adds sidebar frame and nav components

* updates activeCluster on auth service and adds activeSession prop for sidebar visibility

* replaces old nav components with new ones in templates

* fixes sidebar visibility issue and updates user menu label class

* removes NavHeader usage

* adds clients index route to redirect to dashboard

* removes unused HcAppFrame footer block and reduces page header top margin

* Nav component cleanup (#19681)

* removes nav-header components

* removes navbar styling

* removes status-menu component and styles

* removes cluster and auth info components

* removes menu-sidebar component and styling

* fixes tests

* Console Panel Updates (#19741)

* updates console panel styling

* adds test for opening and closing the console panel

* updates console panel background color to use hds token

* adds right margin to console panel input

* updates link-status banner styling

* updates hc nav components to new API

* Namespace Picker Updates (#19753)

* updates namespace-picker

* updates namespace picker menu styling

* adds bottom margin to env banner

* updates class order on namespace picker link

* restores manage namespaces refresh icon

* removes manage namespaces nav icon

* removes home link component (#20027)

* Auth and Error View Updates (#19749)

* adds vault logo to auth page

* updates top level error template

* updates loading substate handling and moves policies link from access to cluster nav (#20033)

* moves console panel to bottom of viewport (#20183)

* HDS Sidebar Nav Components (#20197)

* updates nav components to hds

* upgrades project yarn version to 3.5

* fixes issues in app frame component

* updates sidenav actions to use icon button component

* Sidebar navigation acceptance tests (#20270)

* adds sidebar navigation acceptance tests and fixes other test failures

* console panel styling tweaks

* bumps addon version

* remove and ignore yarn install-state file

* fixes auth service and console tests

* moves classes from deleted files after bulma merge

* fixes sass syntax errors blocking build

* cleans up dart sass deprecation warnings

* adds changelog entry

* hides namespace picker when sidebar nav panel is minimized

* style tweaks

* fixes sidebar nav tests

* bumps hds addon to latest version and removes style override

* updates modify-passthrough-response helper

* updates sidebar nav tests

* mfa-setup test fix attempt

* fixes cluster mfa setup test

* remove deprecated yarn ignore-optional flag from makefile

* removes another instance of yarn ignore-optional and updates ui readme

* removes unsupported yarn verbose flag from ci-helper

* hides nav headings when user does not have access to any sub links

* removes unused optional deps and moves lint-staged to dev deps

* updates has-permission helper and permissions service tests

* fixes issue with console panel not filling container width
2023-05-02 19:36:15 -06:00
Angel Garbarino dcff8c2a07
Remove the Bulma CSS Framework (#19878)
* Step one: remove bulma (#19587)

* remove bulma and get app running

* add back in each statments from bulma variables

* remove space

* address pr comments

* add back copyright headedr

* Step two: add back and organize relevant Bulma classes (#19664)

* VAULT-14566 copy/paste bulma css for classes that it defines and we do not.

* add three new helper files and move helpers.scss to a new directory called helper-classes

* rename utils/colors to color_variables

* integrate all bulma sizing into previous utils/spacing doc, address obvious duplicates and rename to spacing_variables.

* small class name issues

* clean up

* comment clean up

* Step three: add Bulma classes to relevant component styles (#19683)

* add in bulma classes used in global-flash component

* add in bulma classes used in the modal component

* remaining bulma classes that can integrate into the vault css

* remove replication-header.scss and replace with helper.

* add bulma tabs classes to tabs component scss file

* remove ui-wizard style

* only do bulma explicit classes for now

* add in breadcrumb styling from bulma

* integrate bulma into css

* remove unecessary tabs bulma styling

* remove non-relevant bulma classes

* remove non relevant bulma css

* Step three cont. Bulma classes to component files (#19691)

* return box-label to as before now that you have those bulma classes

* missing modal bulma classes

* add bulma class to box component

* missed some bulma box classes

* remove scss unecessary

* add in bulma classes to icon component.

* move up icon

* missed modal class

* clean up

* size vars to icon

* Step four: address core directory files (#19719)

* move some basic helpers over to typography helper.

* rename helpers to other

* moveing generic classes to other relevant scss files.

* rename generic to link

* clean up

* clean up

* address core/box

* remove hero because the class is not used anywhere.

* add in level bulma css

* welp forgot a file.

* add in missing bulma classes into core/menu

* UI/step four core files 2 (#19754)

* address issue with input border and box shadow

* remove the is-white class, it was being used very poorly, replaced with exisiting helpers.

* organizing the forms and button core files

* small amount of clean up

* hot mess of colors dealing with just danger for now

* removed moved over bulma classes

* use helper for this one off

* clean up

* wip on the buttons

* fix select select:: after

* clean up select from bulma-classes.

* clean up

* clean up

* small fix

* Cleaning up the last of the core files (welp there's still more) (#19779)

* one missing thing for level core.

* replace no-underline and link-item with helper text-decoration-none

* core/menu double check

* handle core/message

* create and add to bulma classes for core/columns

* add in bulma-classes columns and column... not fun to qa later.

* remove core/notification

* core/progress bar

* revert the hbs changes

* fix over revert

* Core files cont. Focus on core/form (#19794)

* create input and textarea core files, move charts

* remove input and textarea classes from bulma classes

* remove input-hint component file, never a component

* fix the mess that is help-text:

* help and is-help and sub-text are a mess...

* fix switch alignment issues

* deal with file-name

* clean file out of bulma-classes

* create layout helper and move out some remaining button classes

* deal with core/title

* is-marginless move to helper

* helper layout add to core

* clean up

* remove core/tables

* test

* Revert "test"

This reverts commit e695dedfe933d71320cd7eeee33f6b21a8d54b37.

* Core files continued (#19896)

* test

* combine input and textarea

* clean up navbar brannd

* clean up the single instance delete class used on the modal and match with flight icon

* add back autocomplete to component

* create core/file

* alphabetize file css blocks

* core/checkboxes create and address

* combine b-checkboxes classes and remove from core the utils

* address duplicate helper

* Core files continued (#19930)

* clean up helper and remove duplicate class

* more clean up of the other helper

* fix pagination, hot mess

* add radio to checkbox styling

* tag to tags rename singular

* container core file

* finally... changing forms to one element, field

* finally remove bulma-classes

* cleanup

* comment cleanup

* add comment about pagination

* Consolidating our size variables with Bulma's (#19951)

* remove bulma-size variables that are duplicates of our own

* remove unused is-size-xx and duplicate font weights

* remove duplicate class

* ahh this is madness

* remove column-gap var

* remove  duplicate sizing of

* clean up breakpoints

* replace border-radius:2px for var so folks know the common border-radius

* replace header-height with new spacing var

* replace body-size and console-size vars with other sizing vars

* clean up final of size vars

* radius override things blah fixed

* last size var

* add back

* Finish size var clean up (#19970)

* remove size-small, etc.

* fix size-small things

* remove label unused classes

* move out font-family utils

* Update Color Vars (remove bulma color vars and overrides) (#20031)

* remove bulma_variables file

* remove duplicate helper

* replace hardcoded with color vars when appropriate

* broaden font-family utils

* add back box-link-hover-shadow

* welp

* fix pagination coloring

* Small fixes post var and core file work (#20035)

* fix auth-login splash container

* fix some splash page issues

* fix status menu

* fix menu-list regression

* fix regression on button text-decoration

* fix tag regression

* fix regression on select select

* fix regression on field field

* regression on textarea

* button focus state regression

* fix inputs

* fix is-outlined buttons

* Remove bulma switch (#20065)

* remove bulma/switch

* fix disbled style

* Bulma removal: starting the clean up process (#20066)

* remove unused class name

* add todo

* wip shamir-modal-flow usage of file styling

* final fix

* fix message type message-body css

* better match

* fix a.active on popup-menu-content

* VAULT-14625 fix

* blah overrides overrides and oh another override

* fix breadcrumb link

* fixes

* fix readonly state and hover on inputs.scss

* fix button style issue

* fix modal title spacing issue

* clean up

* fix switch

* fix checkbox issue and pr comment

* fix issue with tabs

* pr comment

* Bulma clean up cont. (#20119)

* gotta use rem on page container... it makes a difference, can't switch to px

* missing helper for background color

* fix textarea with icon

* can't seem to replace rem with px ;/

* fix table issues

* clean up columns.scss file

* fix

* fix rem vs px issues

* address some todos

* fix todo on help is-danger

* best effort for sizing var clean up

* reomve duplicate

* clearify

* welp forgot a word

* address sr-only class definition

* move to helper

* replaced single use class with helper and cleaned up flexbox

* move to make more sense

* move around layout and container

* color things

* things

* Cleanup 🧹 (#20196)

* remove carry over classes from bulma

* clean up title.scss

* clean up title is-5 has-top-padding-m and box.scss

* clean up breadcrumbs, buttons, c&r, columns

* clean up core files

* clean up cont looking at component files

* clean up remaining component files

* fix pagination

* pr comments, thank you

* add in merge color helper

* Remove out of scope changes (#20218)

* remove out of scope changes

* fix test

* add changelog

* remove scope creep

* fix scope creep cont

* qa fixes

* Fixes found while QA'ing Secret Engines (#20264)

* fix active tab issue for both secret and auth mounts

* use helper instead of :not last on content margin which causes problems

* fix missing disabled on b-checkbox

* quick fix

* deal with body-size issue

* fix order of other helper

* small fixes from qa

* update comments on the core files and change desktop font size from px back to rem

* missed 16px replaced with 1rem

* address chelseas comments

* fixes that jordan noticed

* remove unstable flexbox test

* test fix

* rename other to general

* address claires qa comments

* add in missing helper must have missed in earlier merge

* fix button

* small small small fix
2023-04-27 14:23:17 -06:00
Hamid Ghaf 27bb03bbc0
adding copyright header (#19555)
* adding copyright header

* fix fmt and a test
2023-03-15 09:00:52 -07:00
Angel Garbarino 0dbfa4bf66
PKI role non-default options (#17393)
* dynamically render the secretlistheader in the parent route.

* start getting form setup even without openAPi working

* add in create and cancel

* making openAPI work

* add default openAPI params

* wip for new component with two radio options a ttl and input

* handle createRecord on pki-roles-form

* remove tooltips and cleanup

* move formfieldgroupsloop back to non addon

* cleanup

* move secretListHeader

* broadcast from radioSelectTtlOrString to parent

* cleanup

* hide tooltips

* pass through sub text to stringArray

* Add conditional for keybits and keyType

* set defaults for keyBits ... 🤮

* fix some small issues

* more info form field typ

* show only label and subText

* wip context switch 🤮

* fix dontShowLabel

* getting css grid setup

* more on flex groups

* adding the second chunk to key usage

* serialize the post for key_usage

* finish for ext_key_usage

* clean up

* fix snack_case issue

* commit for working state, next trying to remove form-field-group-loops because it's causing issues.

* remove usage of formfieldgroupsloop because of issues with css grid and conditionals

* clean up

* remove string-list helpText changes for tooltip removal because that should be it's own pr.

* clarification from design and backend.

* small cleanup

* pull key_usage and ext_key_usage out of the model and into a component

* clean up

* clean up

* restructure css grid:

* clean up

* broke some things

* fix error when roles list returned 404

* claires feedback

* cleanup

* clean up
2022-10-12 12:56:05 -06:00
Jordan Reimer e811821ac7
Transform Advanced Templating (#13908)
* updates regex-validator component to optionally show pattern input and adds capture groups support

* adds form-field-label component

* adds autocomplete-input component

* updates kv-object-editor component to yield block for value and glimmerizes

* updates transform template model

* adds transform-advanced-templating component

* updates form-field with child component changes

* updates transform template serializer to handle differences in regex named capture groups

* fixes regex-validator test

* adds changelog entry

* updates for pr review feedback

* reverts kv-object-editor guidFor removal
2022-02-07 13:07:53 -07:00
Angel Garbarino a7a3abc332
UI/client count 1.10 (#13574)
* UI/total client usage (#13359)

* blah

* setup

* clean up

* rename history to dashboard

* clean up

* Styling fixes (#13369)

* styling

* clean up

* UI/ horizontal bar chart component (#13361)

* horizontal bar chart component

* adds horizontal chart to dashboard file

* add export class

* yarn install d3 array

* yarn install d3 array

* adds data subtext to chart

* update naming to plural charts"

* updates css grid to 6 columns"

* UI/tooltip (#13397)

* working state

* stuff

* adds month tick marks and sort of y-axis, but y scale still messed up

* moves y scale so zero shows again

* fixes translating constants

* format numbers y axis

* actually fixes viewbox

* styling for x and y axis plus gridlines

* clean up

* separates grid types based on content

Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>

* Styling and legend component (#13430)

* styling

* cleanup

* UI/ Double horizontal bar charts (#13398)

* add descriptions and styling to side by side charts

* add border below horizontal charts

* starts legend styling

* center legend

* add to do

* add hover actions/event listeners

* UI/merge main (#13436)

* Rename master key to root key (#13324)

* See what it looks like to replace "master key" with "root key".  There are two places that would require more challenging code changes: the storage path `core/master`, and its contents (the JSON-serialized EncodedKeyringtructure.)

* Restore accidentally deleted line

* Add changelog

* Update root->recovery

* Fix test

Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>

* Fix typo (#13355)

* Add kms_library configuration stanza (#13352)

- Add the kms_library configuration stanza to Vault's command/server
 - Provide validation of keys and general configuration.
 - Add initial kms_library configuration documentation
 - Attempt at startup to verify we can read the configured HSM Library
 - Hook in KmsLibrary config into the Validate to detect typo/unused keys

* modifed note (#13351)

* Incorporate Ember Flight Icons (#12976)

* adds ember-flight-icons dependecy

* adds inline-json-import babel plugin

* adds flight icon styling

* updates Icon component to support flight icons

* updates Icon component usages to new api and updates name values to flight icon set when available

* fixes tests

* updates icon story with flight mappings and fixes issue with flight icons not rendering in storybook

* adds changelog

* fixes typo in sign action glyph name in transit-key model

* adds comments to icon-map

* updates Icon component to use only supported flight icon sizes

* adds icon transform codemod

* updates icon transform formatting to handle edge case

* runs icon transform on templates

* updates Icon usage in toolbar-filter md and story

* updates tests

* docs: winsvc update recommendations (#13280)

* docs: update custom database sample code (#13211)

* clarify more sink options (#12586)

* Update @hashicorp/react-hashi-stack-menu (#13354)

* Docs to clarify k8s auth options with short-lived tokens (#13275)

* Rework 1.21 content into one heading and add note at top
* Add notes about extended k8s token duration
* Add example of ClusterRoleBinding for using client JWTs

* Adds support for SHA-3 to transit (#13367)

* Adding support for SHA3 in the transit backend.

* Adds SHA-3 tests for transit sign/verify path. Adds SHA-3 tests for logical system tools path hash functionality. Updates documentation to include SHA-3 algorithms in system tools path hashing.

* Adds changelog entry.

Co-authored-by: robison jacka <robison@packetized.io>

* agent/cache: differentiate open log messages (#13362)

Changes the error output for the second open of the persistent cache
file, to differentiate it from the c.UI.Error message for the initial
open of the cache file, just to make it easier to tell where a problem
occurred.

* Warn user supplying nonce values in FIPS mode for transit encryption requests (#13366)

* Warn user supplying nonce values in FIPS mode for transit encryption requests

 - Send back a warning within the response if an end-user supplies nonce
   values that we use within the various transit encrypt apis.
 - We do not send a warning if an end-user supplies a nonce value but we
   don't use it.
 - Affected api methods are encrypt, rewrap and datakey
 - The warning is only sent when we are operating in FIPS mode.

* [VAULT-3252] Add entity-alias behavior change to docs (#13370)

* Add entity-alias behavior change to docs

* Add upgrade note about entity-alias mapping change

* Rename 1.7-9 upgrade pages, shuffle upgrade note position

* Update website/content/partials/entity-alias-mapping.mdx

Co-authored-by: Meggie <meggie@hashicorp.com>

* Add incorrect policy issue to the docs

* Add example about entity-alias restriction

Co-authored-by: Meggie <meggie@hashicorp.com>

* VAULT-1564 report in-flight requests (#13024)

* VAULT-1564 report in-flight requests

* adding a changelog

* Changing some variable names and fixing comments

* minor style change

* adding unauthenticated support for in-flight-req

* adding documentation for the listener.profiling stanza

* adding an atomic counter for the inflight requests
addressing comments

* addressing comments

* logging completed requests

* fixing a test

* providing log_requests_info as a config option to determine at which level requests should be logged

* removing a member and a method from the StatusHeaderResponseWriter struct

* adding api docks

* revert changes in NewHTTPResponseWriter

* Fix logging invalid log_requests_info value

* Addressing comments

* Fixing a test

* use an tomic value for logRequestsInfo, and moving the CreateClientID function to Core

* fixing go.sum

* minor refactoring

* protecting InFlightRequests from data race

* another try on fixing a data race

* another try to fix a data race

* addressing comments

* fixing couple of tests

* changing log_requests_info to log_requests_level

* minor style change

* fixing a test

* removing the lock in InFlightRequests

* use single-argument form for interface assertion

* adding doc for the new configuration paramter

* adding the new doc to the nav data file

* minor fix

* auth/jwt: Update plugin to v0.11.3 (#13365)

* auth/jwt: Update plugin to v0.11.3

* add changelog

* changelog++

* Update alert banner (#13375)

* Updating website for 1.9.1 (#13378)

* Use os.Hostname instead of a dependency that doesn't work on OpenBSD. (#13389)

* Remove another use gopsutil/host. (#13390)

* CLI changes for new mount tune config parameter allowed_managed_keys (#13255)

* CLI changes for new mount tune config parameter allowed_managed_keys

* Correct allowed_managed_keys description in auth and secrets

* Documentation update for secrets and removed changes for auth

* Add changelog and remove documentation changes for auth

* removed changelog

* Correct the field description

* auth/jwt: update changelog for pkce improvement (#13392)

* Fix test validating convergent encryption behaviour across key types (#13371)

- The test was attempting to test the convergent encryption behaviour
  with several key types but the common function never used the passed
  in key type. So we ran the test with the default aes256-gcm96 only.

* Fix managed namespace test (#13394)

* Fix managed namespace test

* Remove log

* Some changelog tidying for 1.10 preview (#13385)

* Some changelog tidying for 1.10 preview

* PR accounted for by different CL entry

* changelog++

Working on a new workflow for generating the preview so I thought I'd leave a note that it's still coming.

* UI/fix client count partial (#13396)

* Initial fix

* Add fallback zero values

* Add changelog

* Fix client count current test

* Support clearing an identity alias' custom_metadata (#13395)

* Support clearing an identity alias' custom_metadata

Previously, an update to an entity alias supported updating the
custom_metadata as long as the update was not empty, which makes it
impossible to clear the metadata values completely.

Fixes:
- empty custom_metadata parameters are honoured on entity alias update
- update related tests
- drop dependency on mapstructure
- reformat with gofumpt

* Docs: fix invalid link in the kubernetes auth api doc. (#13399)

* Clean up whitespace

* auth/azure: add note about debug env (#13405)

* auth/azure: add note about debug env

* Update azure.mdx

* Update azure.mdx

* Add universal default key_bits value for PKI endpoints (#13080)

* Allow universal default for key_bits

This allows the key_bits field to take a universal default value, 0,
which, depending on key_type, gets adjusted appropriately into a
specific default value (rsa->2048, ec->256, ignored under ed25519).

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Handle universal default key size in certutil

Also move RSA < 2048 error message into certutil directly, instead of in
ca_util/path_roles.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add missing RSA key sizes to pki/backend_test.go

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Switch to returning updated values

When determining the default, don't pass in pointer types, but instead
return the newly updated value.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add changelog entry

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Re-add fix for ed25519 from #13254

Ed25519 internally specifies a hash length; by changing the default from
256 to 0, we fail validation in ValidateSignatureLength(...) unless we
specify the key algorithm.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Fix logging statement using formatting args (#13407)

* Add docs about path param restrictions (#13413)

* Add docs about path param restrictions

* Update website/content/api-docs/auth/userpass.mdx

Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>

* Update with review suggestion

Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>

* Update raftautosnapshots.mdx (#13412)

* Main go version bump (#13408)

* Go 1.17.2 -> 1.17.5
* Switching to cimg

* Bump yarn cache key version so that it uses the new disk layout we've adopted for using cimg/go. (#13420)

* Add vault-api module (#13048)

* crt main fix for ecr tag (#13425)

* Add no-op method setupManagedKeyRegistry(). (#13433)

* github auth: use org id to verify creds (#13332)

* github auth: use org id to verify creds

* add check for required org param; add test case

* update UTs

* add nil check for org

* add changelog

* fix typo in ut

* set org ID if it is unset; add more ut coverage

* add optional organization_id

* move client instantiation

* refactor parse URL; add UT for setting org ID

* fix comment in UT

* add nil check

* don't update org name on change; return warning

* refactor verifyCredentials

* error when unable to fetch org ID on config write; add warnings

* fix bug in log message

* update UT and small refactor

* update comments and log msg

* use getter for org ID

Co-authored-by: Jim Kalafut <jkalafut@hashicorp.com>
Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>
Co-authored-by: Harsimran Singh Maan <maan.harry@gmail.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: mickael-hc <86245626+mickael-hc@users.noreply.github.com>
Co-authored-by: Calvin Leung Huang <1883212+calvn@users.noreply.github.com>
Co-authored-by: Mike Green <772413+mikegreen@users.noreply.github.com>
Co-authored-by: Noel Quiles <3746694+EnMod@users.noreply.github.com>
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
Co-authored-by: Matt Schultz <975680+schultz-is@users.noreply.github.com>
Co-authored-by: robison jacka <robison@packetized.io>
Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
Co-authored-by: Pratyoy Mukhopadhyay <35388175+pmmukh@users.noreply.github.com>
Co-authored-by: Meggie <meggie@hashicorp.com>
Co-authored-by: hghaf099 <83242695+hghaf099@users.noreply.github.com>
Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
Co-authored-by: Brandon Romano <brandon@hashicorp.com>
Co-authored-by: divyapola5 <87338962+divyapola5@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Ben Ash <32777270+benashz@users.noreply.github.com>
Co-authored-by: Jason O'Donnell <2160810+jasonodonnell@users.noreply.github.com>
Co-authored-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Mark Lewis <56076038+ml4@users.noreply.github.com>
Co-authored-by: Sai Hemanth Bheemreddy <35338241+SaiHemanthBR@users.noreply.github.com>
Co-authored-by: Kyle Penfound <kpenfound11@gmail.com>
Co-authored-by: Victor Rodriguez <vrizo@hashicorp.com>

* UI/chart legend (#13437)

* fixes axes lines blend

* add pixel conversions to variable css file

* reorganizes css file

* adds legend

* fixes scales and makes room for legend

* fixes grid for dual charts

* made grid responsive

* fixes legend styling

* fixes legend, removes ticks and fixes scale

* adjusts tooltip target

* un-comment mouse events

* remove console log

* UI/ Client counts range (running total component) (#13477)

* grid for stacked charts

* pass in data as arg from parent

* pull out vertical bar chart component

* refactor to use vertical bar chart component

* remove any chart handling stuff from parent

* rename variables

* refactor horizontal bar chart into separate component

* move descriptions to inside template (not passed in)

* constructs attribution copy

* add sample response to mirage config

* change indenting

* rename to MonthlyUsage

* change name to running totals

* rename variable

* finishes line chart

* pull constants to util

* cleanup add todos

* fix formatNumbers return"

* comments and cleanup

* adds tooltip to line chart

* make cover area larger

* fixes tooltip styling

* adds tooltip styling"

* adds tooltip modal to horizontal chart

* finishes tooltip for horizontal chart

* remove click event arg

* merges main and fixes conflicts

* bumps yarn.lock

* linting fix

* clean up go files and changelog

* more clean up

* remove changelog

* fix

* update component documentation for jsdocs

* removing test to see if that helps with browserstack

* remove new packages to test dep failure

* add ember-modal-dialog

* add ember-tether

* add ember-tether

* fixes mirage config file - merge conflict issue

* remove general spacing variable

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>
Co-authored-by: Jim Kalafut <jkalafut@hashicorp.com>
Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>
Co-authored-by: Harsimran Singh Maan <maan.harry@gmail.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: mickael-hc <86245626+mickael-hc@users.noreply.github.com>
Co-authored-by: Calvin Leung Huang <1883212+calvn@users.noreply.github.com>
Co-authored-by: Mike Green <772413+mikegreen@users.noreply.github.com>
Co-authored-by: Noel Quiles <3746694+EnMod@users.noreply.github.com>
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
Co-authored-by: Matt Schultz <975680+schultz-is@users.noreply.github.com>
Co-authored-by: robison jacka <robison@packetized.io>
Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
Co-authored-by: Pratyoy Mukhopadhyay <35388175+pmmukh@users.noreply.github.com>
Co-authored-by: Meggie <meggie@hashicorp.com>
Co-authored-by: hghaf099 <83242695+hghaf099@users.noreply.github.com>
Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
Co-authored-by: Brandon Romano <brandon@hashicorp.com>
Co-authored-by: divyapola5 <87338962+divyapola5@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Ben Ash <32777270+benashz@users.noreply.github.com>
Co-authored-by: Jason O'Donnell <2160810+jasonodonnell@users.noreply.github.com>
Co-authored-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Mark Lewis <56076038+ml4@users.noreply.github.com>
Co-authored-by: Sai Hemanth Bheemreddy <35338241+SaiHemanthBR@users.noreply.github.com>
Co-authored-by: Kyle Penfound <kpenfound11@gmail.com>
Co-authored-by: Victor Rodriguez <vrizo@hashicorp.com>
2022-01-06 12:59:57 -08:00
claire bontempo 5c7403e56f
UI/StatText Component (#12295)
* creates stattext component

* creates .scss file

* creates storybook

* fixes typo

* fixes readme

* adds changelog

* finishes tests
2021-08-16 11:55:12 -07:00
Angel Garbarino 89302f0e3f
Ui/replication status discoverability (#8705)
* Sidebranch: add new route on DR secondary (#8640)

* setup, not complete

* update routing

* clean up

* add test

* add link from status menu

* clean up

* fixes per pr comments

* revert back to two if statements due to refresh bug

* Sidebranch: Setup Replication Page as component to be consumed in all pages for project (#8661)

* setup, not complete

* update routing

* clean up

* add test

* add link from status menu

* clean up

* fixes per pr comments

* setup dashboard with contextual components, and toggle

* setup option to show tabs or not

* handle conditional nav menu

* pass in whole model object

* rename to replication-page

* clean up

* clean up based on pr feedback

* fix linting error

* Sidebranch: setup replication dashboard with scss and initial card components (#8670)

* setup replication dashboard with scss and initial card components

* sync with Noelles changes and clean up the inner grid container inside the selectable card

* set up nested contextual components for selectable-cards

* setup component for table row

* address walk through notes

* remove name selectable from card component as it is not selectable

* add missing space

* Ui/dr primary/initial page setup (#8671)

* add helperText param to InfoTableRow

* initial page setup

* format card with padding and correct number of rows

* style card titles with margin

* move styles inside replication class; add todos

* move replication-summary styles into core app so hot reloading works

* prevent known secondaries card from being cut off on the right hand side

* make cards have the correct column span

* make code elements inside tables black

* WIP - start VltTable component

* simplify css

* renamed VltTable to ReplicationTable and use divs instead of table elements

* fix position of known secondaries

* use table element for secondaries card

* add todo

* move replication components to replication engine

* Revert "move replication components to replication engine"

This reverts commit 2228b8392199a1376815dc8b7642de438aad68b5.

* move ReplicationPrimaryCards to components

* remove hover box shadow since cards are not selectable yet

* only apply padding to replication selectable-cards

* specify replication vlt-table in classname

* move replication toggle and toggle into core addon

* remove extra toolbar border

* remove duplicate css

* move ReplicationTableRows to core addon and use them on DR primary page

* clean up todos

* add jsdoc comments

* rename ReplicationTable to KnownSecondaries

* update replicaiton table api to accept flexible data

* rename replicationAttrs to data

* move replication components to core addon

* Ui/dr primary components (#8711)

* populate table with actual secondary ids

* add todo

* make KnownSecondariesCard component

* move KnownSecondariesCard styles to own file

* add EmptyState when there are no known secondaries

* fix known secondaries manage link

* fix Add Secondary link; bring in capabilities model to repliation index route so we can check for adding secondaries

* fix JSDOC comments and updata data to replicationAttrs

* Sidebranch: DR Secondary Dashboard - pr4 (#8706)

* setup styling for delta

* clean up

* replication table remove and rename model to data

* remove old replication header component now that it is in addons

* move replication secondary card component

* calc delta

* clean up

* remove unused components that are now in addon

* address pr comments

* remove test

* fix failing test

* address pr comments

* attempting to fix test

* move to computed components

* fix test error

* fix state of null error

* Sidebranch: DR Secondary Dashboard state message handlers (#8741)

* setup styling for delta

* clean up

* replication table remove and rename model to data

* remove old replication header component now that it is in addons

* move replication secondary card component

* calc delta

* clean up

* remove unused components that are now in addon

* address pr comments

* remove test

* fix failing test

* address pr comments

* attempting to fix test

* initial setup before merge updates

* move to computed components

* fix test error

* fix state of null error

* clean up

* setup alert banner and documentation link

* setup alert banner with second icon

* remove underscore to dash

* add in missing error messages

* add connection-state shutdown

* add storybook update to alert banner

* pr comments

* move css class to helper class

* address pr comments

* add in connection states correct endpoint

* Ui/dr dashboard tests (#8732)

* initial test setup

* use margin when there are no knownsecondaries

* set up replication tests in ember engine

* set knownSecondaries

* move tests to host app and set resolver

* finish known-secondaries-card-test

* make knownSecondaries array match the API response

* add known secondaries table test

* oops, remove stories directory

* wip - replication table rows test

* remove extra code

* finish replication table rows tests

* add | Enterprise | to test module

* remove unncessary assertion:

* show dynamic state glyph (#8747)

* show dynamic state glyph

* show state glyph after state

* move LearnLink into core addon

* make ReplicationDocLink component

* prevent double lines at the bottom of the dashboard

* Sidebranch: dr-secondary-dashboard-pr7 (#8792)

* move dr to higher level component and setup isDisabled for error state when dr mode is disabled.

* add in error messages final

* refactor transistion on submit handler focused on dr secondary

* handle transition

* update empty state component to include icon and add empty state to details page

* fix spelling

* address pr comments

* merge with replication branch

* remove component structure for replication-secondary-card

* compute title and error message

* make specific empty state messages

* fix test

* address pr comments

* regenerate the storyboook for empty state

* Replication Primary Dashboard: handle errors (#8845)

* use h3 instead of code elements

* use correct property names for StateDisplay

* WIP

* remove todo

* move cluster states into a map; make status menu icon match cluster state

* show error in state card using the same state map in the cluster model

* whitespace

* move cluster-states into a helper and update usage

* use circle success icon for stream-wals because that is the ideal state

* more refactoring of cluster state display

* use new cluster-states helper

* whitespace

* use clusterStates helper in replication secondary card

* remove extra import

* add default values for when state isn't recognized

* make sure that state exists before getting state details from clusterStates helper

* be more strict when state cannot be found

* use brace expansion to fix linting error

* add tests for error states

* fix text wrapping issue on secondary cards; make titles match mocks

* use unknown if metric isn't foudn

* remove extra border on selectable card when there is an error

* use outline square in status menu for error

* Ui/replication/refactor dashboard components (#8878)

* use ReplicationDashboard component

* move syncing and alert banners into dashboard component

* only show primary cluster addr if dashboard is for a secondary

* use ReplicationPage and Dashboard

* move isSecondary to page component

* remove duplication

* remove dead code

* refactored table rows

* make sure dashboards update data when we are switching between mclusterModes and replicationTypes

* clarified replicationMode and clusterMode

* remove extra margin

* get rid of data

* remove syncProgress

* remove Enterprise filter from tests so component tests are run

* Ui/replication/primary reindexing (#8906)

* fix typo

* fetch replication/mode/status and pass to dashboard component

* add reindexing stage to AlertBanner; use real value for isReindexing

* remove dr since we don't need it anymore

* add indentation

* remove TODO

* capitalize reindexing_stage and make progress 0 by default

* remove Toggle since we don't need it anymore

* get allllll the variables at once

* only run secondary details test on enterprise

* Sidebranch: component and acceptance tests (#8903)

* address secondary card overflow issue

* setup replicaiton header test

* address secondary card overflow issue

* setup replication secondary card test

* setup replicaiton header test

* setup replicaiton page test

* setup replication secondary card test

* setup replication dashboard test

* setup replicaiton page test

* remove unused code

* fix overflow

* finish test for rep dashboard

* update rep secondary card test

* finish rep header test

* fix rep table rows and header test

* fix header test

* fix missing data-test-primary-cluster

* add to secondary test

* remove pauseTest

* add to enterprise replication test

* add mode to dr secondary test

* remove pauseTest

* add enterprise to test

* amend per pr commments

* re organize rep secondary card test

* adjust error heights with design input

* move const around in rep secondary card test

* move const around and message for rep dashboard test

* amend per pr review comments

* remove styling from grid-item-left

* remove dup hasErrorClass key

* quick fix

* test failure fix

* fix test due to merge

* remove hasErrorClass

* modify test message

* Sidebranch: remove delta, toggle, and make auto-refresh (#8945)

* change styling

* remove replication toggle

* modifications for auto refresh and final removal of delta and last wal

* fix refresh issue by removing replicationMode on this.reset which conflicts with the same property being set on the cluster model

* remove comments

* add unknown placeholder

* add auto refresh to other components and remove mention of toggle

* remove meep and primary cluster heading area

* ensure status menu displays replication state, not just one (#8959)

* Add Replication Reindexing Progress Bar (#8975)

* whitespace

* rename consts

* rename variables

* test that dashboard shows a reindexing alert banner

* standardize shamir and ui wizard progress bar

* make new progressbar component

* just kidding, we can use the html5 progress bar

* make top margins consistent across primary and secondary dashboards

* clean up AlertBanner JSDocs and markdown

* show a progress bar inside an AlertBanner if cluster is reindexing

* add example AlertBanner with Progress Bar

* add reindexing tests

* add a tiny left margin to progress bars inside alert banners

* keep old class names in wizard to prevent bug, but keep consistent progress background color

* use spacing variables

* remove extra border when secondary card has an error

* make card header sizes and weight consistent

* Sidebranch: Performance Secondary Dashboard (#8956)

* setup rep dashboard to dynamically take in the component to render and dynamically setup the css based on mode of cluster

* conditional pass in the correct props to the Dashboard.card component and add margin to reindexing alertBanner

* update replication dashboard test

* add performance secondary test and clean up replication-secondary-card test

* fix message

* replace cluster-id with secondaryId

* remove reindexing test as its a duplicate of the branch noelle is working on

* cleanup

* address pr comments

* small test fixes

* add secondaryId to header test

* fix tests description

* Ui/replication/test update (#8995)

* make sure progress bar updates and animates

* ensure dashboard updates when replication mode has changed

* make sure we update isSyncing when state has changed

* wip - console log statements to see if components are getting new attrs

* Revert "wip - console log statements to see if components are getting new attrs"

This reverts commit d05219ba6c14c64a9f2e867892476faf7dad4659.

* style progress bar in mozilla; allow testing the progress bar in storybook

* test that primary and secondary card container don't display at the same time

* prepare KnownSecondariesTable for backend compatibility (#9029)

* Ui/replication mgmt action block (#9053)

This does some low-impact work to prepare for the refactor of replication-actions. Includes:

- Move modal to addon in lib/core
- Update modal to take a "type" param which changes the header color + icon
- Add tests for modal changes
- Add action-block style only component
- Add styles-only replication-action grid that the action-blocks will live inside of

* Sidebranch: address transition issues on replication engine and actions (#9010)

* small formatting changes

* change findRecord to peekRecord so it keeps track of the changing data.

* add styling such that when page is loading it does not spread across the whole page

* help with reload and styling on replication route

* initial setup for new flow that handles adding a perf secondary, and also some on a dr secondary

* clean up

* add loader on rep page for situations when data is still loading, and add loading mode in header, seperate from the modeForUrl used in other places to help transistion

* fix transitionTo when coming from different replication.mode vs replication.index route

* set default of mode for radio checkboxes after removing from DEFAULTS var

* reset and cont using onEnable because TransitionTo is not working inside of component

* remove console

* the reason we were getting transition errors :(

* remove modeObjecT

* fix error by removing peek record from application and moving it lower down in a property replicationAttrs

* Readd back space

* this one really does fix the issue

* add back peek record and add conditional to isLoadingData

* figure out cluster id from service instead of hardcoded

* fix capabilities-self error by adding a 1 sceond delay for when transition from replication.index to replication.mode.index on enable performance secondary

* remove attempt to circumvent the peekRecord in application

* add to replication page tests and clarify replicationMode to formattedReplicationMode, it's super confusing when seeing replicationMode being duplicated throughout the computed components.  this clarifies its computed only for formatting

* fix repetive conditional

* capture the state when either dr.mode or performance.mode are undefined, which happens during a transition.  If this is the case add a loader on the replicationindex page.

* address some pr comments

* small change

* add bootstrapping mode to test

* add Replication Learn Links to wizard (#9106)

* Ui/summary dashboard (#9079)

* move key value to lib/core/addon so I can use inside replication engine

* setup summary dasbhoard on replication summary component

* set title for summary dashboard

* do not show replication table rows on summary dashboard

* show that last_wal updates every 10 seconds

* show replication table rows on individual dashboards, but not summary

* remove extra bottom border on replication-dashboard

* add replicationDetailsSummary object and replication-summary-card

* setup structure and data calcs of replication summary card

* fix links and styling on summary card

* breadcrumbs

* match state title on summary dashboard to individual dashboards

* add margin below replication header

* update breadcrumbs to show replication mode

* align details link right

* add margin below tabs in replication header

* user helper-text to make card text styling consistent across dashboards

* remove unneeded code

* add bottom border to summary state

* add bottom margin to summary dashboard

* add negative margins to bring values closer to related cell

* fix failing test due to data-test attribute change and make storybook component for replication-summary-card

* setup replication summary card test.  I suspect we'll move the hasError test to the dashboard where the error will show around the state display

* add to replication acceptance test for new summary dashboard

* remove pauseTest

* add is-active to li element

* clean up

* dashboard test and clean up

* addressing pr comments

* fix replication/null/status error

* add JSDocs for rep page and rep dash

* more pr cleanup

* remove conditional and fix styling blue link

* fix conditional on when loading summary dashboard to check for primary on both. wrap code in div so it lands on another line.

Co-authored-by: Noelle Daley <adriannenoelle@gmail.com>

* change message with bold 'not' if primary (#9112)

* Add JSDocs to components (#9125)

* jsdocs

* remove todo that is no longer relevant

* clean up wording

* wordsmithing

* fix spelling

* example for clusterMode

* Replication Management Sidebranch: Replication Action Disable (#9061)

Set up dr-secondary management page with new action flow

* Create confirmation-modal component

* Refactor replication-dr-secondary splash page to replication manage page

* Refactor replication-action-disable component to use confirmation modal

* Add details/manage tab to replication-dr-secondary section

* Refactor Replication Action: Promote to use modal flow (#9122)

* Ui/replication mgmt/reindex action (#9126)

* Replication Management Sidebranch: Replication Action Disable (#9061)

* Ui/replication mgmt/recover action (#9127)

* Replication Management Sidebranch: Replication Action Recover (#9061)

* Close link-to tag in header (#9139)

Fixes bad merge conflict

* UI: Fix replication management tests (#9136)

* do not show replication mode or id when replication isn't enabled

* fix broken tag

* fill in confirmation text when disabling replication in tests

* fix typo

* fix demote primary test selector

* add test selectors and update tests to match new format

* fill in Performance when disabling performance secondary

* Ui/replication mgmt/update primary action (#9149)

* Update Primary replication action uses modal flow

* Update modal max-height to accommodate for the navbar

* Ui/secondary token flow dr (#9150)

* setup token modal flow

* calc expirationDate

* fix date-format test after moving it in addon

* fix icon conditional in modal title

* decode token to get epoch expiration date and convert

* handle clicking outside of modal

* remove extra copy button

* add modal check in rep  acceptance test

* look only at day and month and remove console

* fix spelling

* cleanup

* replace dr with variable

* make string check longer in test

* fix test variables

* refactor enterprise test for secondary token flow

* make cluster model property replicationModeForDisplay to handle all cases where we were either conditionally displaying the DR, Disaster Recovery, etc. or where we were hardcoding it into the hbs.  For situations where it was DR before, I am now keeping it more consistent and using Disaster Recovery as on the manage page we do not show the Diaster Recovery (DR) anywhere.

* set initial value for ttl picker to fix issue where itwas setting seconds to minutes

* clean up

* add comment about ttl picker

* Add known primaries info table (#9152)

* replace primaryClusterAddr with knownPrimaryClusterAddrs

* rename state to Status; fix css layout

* add InfoTable component

* only show label column if there is a label

* add grid-item-middle class

* whitespace

* fix grid layout

* die tagName, die

* set table max-height

* prep InfoTable for Storybook

* ensure cards always have the same height

* remove duplicate max height since vlt-table already has max-height

* add InfoTable tests

* add InfoTable to Storybook

* organize grid item css; rename for consistency

* add sticky header to table

* add sticky-header class to keep table styles in scope

* whoops, do not use fake data

* Ui/rep design updates (#9169)

* show secondaryId in table rows

* show primary_cluster_addr in table rows

* remove cluster Ids from replication headers

* Ui/fix enable overflow (#9173)

* only show primary_cluster_addr for primary

* fix overflow on replication index

* remove display from cluster-states because it is not used anywhere

* fix missing replication mode from description

* add comments

* use helper to consolidate replication descriptions

* fix text wrapping on medium screen sizes

* Ui/replication mgmt/demote action (#9168)

* Replication demote action uses modal flow

Co-authored-by: Noelle Daley <adriannenoelle@gmail.com>
Co-authored-by: Angel Garbarino <argarbarino@gmail.com>

* Ui/replication merge cleanup 2 (#9212)

* replace with replicationModeForDisplay that is defined on the cluster

* fix spelling on replication and confirmed with design for placeholder when Not defined

* remove extra div with box class

* change manage link to take you to the secondaries manage as it's within the known secondaries card

* fix scroll always showing by adding auto, and decreasing the height.  WIP

* add empty state to known_primary_cluster_addrs

* address pr comments

* Add real connected state and API address (#9219)

* fix title of secondary card

* show connected status

* fix tests

* fix enterprise test (#9229)

* fix enterprise test

* add n

* add another n

* Ui/replication mgmt/generate token action (#9187)

Generate operation token flow from replication DR Secondary. Clicking 'Cancel' on the modal after the operation has started results in cancelling generate operation and restarting the process.

* use none set instead of not defined

Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <chelshaw.dev@gmail.com>
Co-authored-by: Noelle Daley <adriannenoelle@gmail.com>
2020-06-18 14:52:43 -07:00
Matthew Irish 9f77077877
UI - build optimize (#5784)
* remove ember-cli-favicon

* link to png favicon in public folder

* skip some things in the build depending on the env

* update to ember-cli 3.5.0 for broccoli 2, and ember-fetch because it was incompatible with broccoli 2

* update some things the new sass module wasn't happy about

* turn off more things in dev to make the build faster

* bump to the latest ember-cli and move back to node-sass

* remove sass since we're using node-sass

* include polyfill in test as well
2018-11-26 12:47:56 -06:00
Joshua Ogle 272b4e2f77 Add Empty State component 2018-11-15 16:47:41 -06:00
Joshua Ogle 23e004299e Style Alert Banners 2018-11-02 09:22:22 -06:00
Matthew Irish 966c7dbf02
UI - New navbar and mount icons everywhere (#778)
New look for the navbar and new functionality on mobile. Also includes new look for the mounts list and headers in secret engines.
2018-10-21 14:19:34 -05:00
madalynrose 7f430bba8f
UI: onboarding wizard progress bar (#5516)
Onboarding will now display your progress through the chosen tutorials
2018-10-18 15:19:50 -04:00
Joshua Ogle a81d02aee5 Animate wizard trigger, move instructions text to make things clearer 2018-08-29 17:16:50 -06:00
Matthew Irish 9953eb76aa
UI - control groups (#4947)
* add routes for control groups in tools, settings, access (#4718)
* UI control group - storage, request, authorization, and unwrapping (#4899)
* UI control groups config (#4927)
2018-07-18 20:59:04 -05:00
Joshua Ogle a971450557 Simpler list item rows
- Makes list items flush with sides, expands into gutter on hover
- Makes unclickable row items more distinguishable
2018-07-10 08:18:25 -06:00
Joshua Ogle a090e75555 Add new styles for file upload 2018-07-09 12:20:09 -06:00
Joshua Ogle 4ea53bbdbd Add better Structure colors 2018-07-05 18:14:22 -06:00
Joshua Ogle efa779c005 Split grays into UI and Vault Grays 2018-07-02 17:44:54 -06:00
madalynrose 9fb8be5a72
Masked input (#4759)
* create masked-input component
2018-06-14 14:52:00 -04:00
Joshua Ogle b44fa640f5
Merge branch 'master' into ui-styles-update 2018-05-25 15:28:57 -06:00
madalynrose 2b41283a91
UI console (#4631)
* adding columnify and ember-cli-cjs-transform

* add yargs-parser

* remove vendored yargs-parser tokenizer and use cjs transform to import it from actual yargs-parser

* add clear command that clears the log, but maintains history

* make codemirror have no gutter and be auto-height when rendered in the console output log

* add fullscreen command and hook up fullscreen toggle button

* hook up copy button
2018-05-25 16:33:22 -04:00
Joshua Ogle 2377e2769d Update styles for box shadows 2018-05-25 12:05:20 -06:00
Joshua Ogle 45b1efe259 Update loading animation 2018-04-13 14:04:33 -06:00
Matthew Irish 7c92bb9b1d Moving UI assets to OSS 2018-04-03 09:16:57 -05:00