Giter VIP home page Giter VIP logo

envkey / envkey-app Goto Github PK

View Code? Open in Web Editor NEW
95.0 4.0 7.0 6.9 MB

Secure, human-friendly, cross-platform secrets and config.

Home Page: https://www.envkey.com

License: MIT License

Shell 0.65% Ruby 0.34% HTML 0.48% JavaScript 83.59% Slim 1.66% Sass 12.77% SCSS 0.48% Procfile 0.02% Dockerfile 0.01%
configuration configuration-management secrets encryption openpgp mac windows linux react electron

envkey-app's Introduction

End-to-end encryption for app secrets. Superpowers for managing config.

  • Protects API keys and other secrets.

  • Live reload for environment variables.

  • Fixes configuration sprawl and sloppy secrets management.

  • Prevents config bugs and saves countless engineer-hours.

EnvKey UI

EnvKey CLI

Easy integration

Check out the integration quickstart.

The cross-platform envkey-source tool works with any language and offers the most integration options.

Integrating with envkey-source is as easy as:

$ envkey-source -- any-shell-command
# That's it! Your command runs with the latest environment variables.

Language-specific wrappers are also available for:

Why EnvKey?

  • Open source, cross-platform, language-agnostic, end-to-end encrypted with NaCl.

  • Set environment variables + manage apps, environments, branches, servers, people, devices, and access control all in one place.

  • User-friendly UI + developer-friendly CLI.

  • Easy integration wherever you need it.

  • Cloud + self-hosting options.

  • Version control, audit logs, re-usable blocks, branches, environment inheritance, customizable environments, local development environments, change hooks, device-based auth, OS keyring integration, and more.

Install

You can download the latest versions of the EnvKey UI and CLI for your platform by going to EnvKey's homepage and clicking the big Download button at the top of the page. Install it when it's finished downloading.

The first time you open the app, EnvKey's CLI and the envkey-source integration tool will also be installed for you. Both can also be installed individually on a server.

You can also go to releases in this repo and find the latest release of envkey-desktop for your platform.

Here's a quick overview on verifying releases with minisign.

Docs

Check out the docs, including a brief getting started overview.

Coming from v1?

Check out the v1 migration overview

Security

Read our security overview.

Status

See the current status of our services here.

Bugs

Please post an issue if you encounter a bug, even a small one. We'll do our best to fix it as soon as possible.

Discussion and Community

Jump in and ask a question, leave some feedback, ask for new features, or help out another EnvKey user.

Support

Email us: [email protected]

Paid plans include priority support.

License

All the code in this repo is free and open source under the MIT License.

EnvKey's Cloud and Business Self-Hosted products include commercially licensed server-side extensions for battle-ready infrastructure and advanced user management.

Contributing

Contributions to EnvKey are welcome! Please feel free to start a discussion to share your ideas, and/or open a PR.

Development

Here's an overview on setting up a dev environment to work on EnvKey.

envkey-app's People

Contributors

abhiyerra avatar boblauer avatar danenania avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

envkey-app's Issues

local hooks for local servers and toggle cloud sync

I want to restart or update my env in either node or my client js bundle and it would be great to get a local "webhook" from the envkey app connecting with my local server. I only need this b/c I also have a DISABLE_TRACKING env key and sometimes I want it on or off depending on what I'm doing.

With that said I also want to change these values locally without syncing so maybe a dev checkbox feature that doesn't sync with the team until I toggle it back on

EnvKey can't connect to the internet.

Issue:
EnvKey app does not log me in. Instead it stuck in this screen. The internet is working fine. No firewall settings, I was sure that nothing blocking it from accessing internet.

image

Comp specs:
Os bigsur 11.4
macbook m1
Go 1.16.5
node 16
EnvKey version (latest darwin version in this repo & download from the official website)

Desktop App not working at all after todays update

I am using the v1 EnvKey desktop app and the app gave me a prompt today that said there is a new update available and plz restart... so i clicked the button... now my envkey doenst work anymore due to a JS error Cannot find module 'electro-is-dev'

I tried to delete envkey all together and re-downloaded v1 from this link: https://v1.envkey.com/, with no luck at all and I still am seeing the same error. Please help and let me know if there is anything you need from me or that I can do!

Screen Shot 2022-04-28 at 1 00 39 PM

Report errors in the UI of client application

When there is an error uploading/creating variables the application does not notify it. The only way to know actually is checking the devtools or refreshing the app to check the change was committed to the server. As a user, is critical to know if there is any failure because the application must be reliable. An alert or toast would be nice.

image

determine when key was last used

It would be great to see when a key was last used and where (#14) so we can revoke keys that our employees aren't using.

At the same time I would like to opt into envkey "health checks" on certain intervals (24-48hrs unless the server restarted within that time) that way I can see a log of either server restarted and requested envkey or the server is still up. This will allow the client to send up metadata with the key so we know it's being used.

The idea here is to eventually have auto expire keys or to make sure to revoke keys that are just not used.

Permanently stuck at decrypting config... page

image
The expected is to show me the configurations for my applications.

Currently, it is stuck at the loading page.

Have tried to log out and in again, to encounter the same issue again.

Version: 1.4.5

Billing page is blank?

screenshot of envkey 28-06-18 4-47-20 pm

When clicking on the Billing section in the app, it doesn't seem to show anything. I don't see any other issues in the app, or on my system around network connectivity.

Allow for global variables across multiple apps

Something I haven't seen that would be a cool nice-to-have is global variables. A few of our apps have a lot of the same variables between them, and when we have to change the value of one, we end up having to go through all of the apps' configs to change all of the values individually. Something like "inherits from global" as a value option as well as a place to load in your global env variables that are available to all apps.

Self-host ENVKEY server

I love this project and it's really intuitive to use. My only concern is the security, this is definitely something which needs to be self-hosted so, wondering if there's a self-hosted solution or at least it's in the roadmap?

create app groups

It would be great if we can create groups for apps. Right now we have version 1 and version 2 of our infrastructure as well as a convention to name something either ending with Client or API.

Crypto Upgrade Required

image_2023-03-20_17-00-53

I tried to recover my org, but when I get to the screen to add my computer name and sign in, I get the error Crypto upgrade required tried on Windows and Linux.

Delete field content without confirmation or undo

Hi, the app does not ask you if you really want to delete a field's content or give you the opportunity to undo a mistake.

image

Since the delete is right next to edit it's quite dangerous to lose important (and nowhere else saved!!) values.

Please add a confirmation box asap, thanks.

Performance Issue

Hi,

As admins of an organization in envkey, we have been experiencing performance of the start-up of the envkey app declining over time as we add more projects into the organization.

We now have ~235 projects in envkey. As org admins, we have access to all projects by default. However, it takes at least 2 minutes at best for the app to be fully loaded & in a usable state when our system is in a relatively idle state. When we are running other CPU-intensive processes (e.g. IDEs, collaboration tools) or run in battery-save mode whilst we start the envkey app, it takes a lot more and in some cases it even goes into a loop and won't start. Since we are planning to add more projects, we think it is only going to get worse.

The fact that it gets worse when more projects are added, tells me that the app may be doing (over-)eager fetching of resources of all the projects one has access to at the time of start-up β€”in an org admin's case it means all the projects. In our use cases, when we start the envkey app, we are only interested in a handful of projects. We don't need the resources of all the projects to be ready & loaded when the app starts.

Is there any room for improvement here? Any chance to move towards a more lazy-loading kind of approach maybe?

I am currently using v1.4.19 for Windows.

Editing field content does not save without `enter`

When you edit a variable's value for an environment, if you click outside the field the value turns to bullets but apparently does not sync. In order to force the sync, you must press 'enter' - otherwise you lose the data you've entered, and it does not propagate. There is no warning before the data loss, no confirmation that you want to clear all changes.

Expected behavior: either save changes (probably with confirmation) or clear changes only after confirmation.

Tooltips in env_cell.js, actions-overlay, edit, copy, remove

I was scared to press any of the hoverable actions-overlay, because I had no idea what they did. Would it be possible to add a tooltip for these?

I was glad this is an electron application, as I was able to track down what I was looking at.

envkey-app/envkey-react/src/components/env_manager/env_cell/env_cell.js

_renderActions(){
    return h.div(".actions-overlay", this._actions().map(::this._renderAction))
  }

Rendered html:

<div class="actions-overlay">
    <span class="edit">
        <span class="img-bg-wrap"></span>
        <img src="assets/images/edit-circle-black.png">
    </span>
    <span class="copy">
        <span class="img-bg-wrap"></span>
        <img src="assets/images/copy-circle-black.png">
    </span>
    <span class="remove">
        <span class="img-bg-wrap"></span>
        <img src="assets/images/remove-circle-black.png">
    </span>
</div>

Access Logs

Any update on if we already have or when we will have the ability to see an audit trail of who edited keys and access logs?


Yep, access logs for keys are in the works.

The health check idea is good too -- I think sending periodic email warnings when a server hasn't loaded the latest version could definitely be helpful.

Originally posted by @danenania in #15 (comment)

Setting multi-line env variable

Hey there!

EnvKey is great, but I have a trouble with setting up a variable that is multiline. Is there any way to do that? I need it for the Auth0 certificate.

Show sub-environments in main view

The only way to see the sub-envs are to click on the icon so it's not clear that you have sub-envs. It would be great if we can see them on the sidebar nested or even sections under the variables view

[     app-name    ][ development ][     staging      ][   production   ]
[main envs]
// vars
[first-sub-env] 
// vars
[second-sub-env]
// vars

reorder sidebar

it would be great to be able to reorder the sidebar and maybe even create a divider so I can group systems (legacy etc)

Got a blank white page when switching app

I have two apps in the application and it works fine after logging in and it opens the default one. However, when I switch it by clicking another project in the navigation, it becomes all white. Reopen it, it will open the default app again.

2017-10-12 2 47 58

Improve table usability

In the EnvKey macOS app, it's sometimes hard to not get lost since the table has a completely white background.
A "striped" table or at least highlighting the row that the cursor hovers over would help a lot! :)

Track hostname for generated key

It would be nice to be able to set/track the hostname that each key was generated on, so that it was clear which ones needed to be revoked. Or is the intention that each user creates one key and uses it on all of their development machines?

Ability to create app through CLI

I want to have the ability to create envkey through CLI, because I am implementing a bootstrap process to init a project for my team.

envkey.com down

Major issue there: the full site is down.
can't access or modify any secrets.

[Feature request]: Nested/namespaced variables

Hi,

I'm trying out Envkey with Meteor, and I'm loving it so far.

However, it's a little difficult to work with variables that need to store settings in JSON-format.

Would be cool if Envkey natively supported JSON format in a variable.

Regards,

Nadeem

Non-admins can't export

As an admin, I can export all values:
image

Non-admin users do not have this button, even though they can still see all of the keys for a given environment:
image

UI Zoom level of the desktop app is broken in 1.4.16

My eyesight isn't great, and the low text contrast in EnvKey combined with my high DPI screen means I have to have the UI zoomed in about 3 levels. EnvKey has always forgotten my zoom settings between app restarts, but it would also always remember as soon as I hit either of the zoom keyboard shortcuts. The latest version doesn't remember though, and Cmd+Plus to zoom in no longer works. So I have to go to the menu and select View-> Zoom In three times. Weirdly though, EnvKey will spend the rest of the time I have it open occasionally reverting to standard zoom level, then back to what I set it at, and sometimes to a much more zoomed in state - presumably when it remembers my zoom preferences and then applies the three View->Zooms I did on top of that.

I'm on EnvKey 1.4.16, macOS 10.14.6

Ability to clone a sub-environment

Right now, export/import solves the problem, but that process is very time taking. If instead, you can add a clone option for the sub-environment, that would be very helpful πŸ™

Audit of modifications

Today, use the application on production is highly risky. Modifications can be done easily without really consider the impact, and without way to rollback.

nice features will be to have

  • Full audit of modifications done: Add, modification, removal,.. who did it, and when
  • Possibility to activate double validation for some changes
  • possibility to rollback a modification in one click

Allow multiple changes to be committed at once

In credentials that require more than one entry, e.g. User/Password, AccessKey/SecretKey, EnvKey can generate inconsistencies, because each change is synchronized automatically, if in the middle of the change between one credential and the other the values are fetched, then an invalid pair will be obtained.
Should be allowed to pause the synchronization while the entries are been edited or commit multiple changes at once

Local Development Keys for SubEnvironments

Not sure if this is a bug or intentional, but I wanted to access a sub-environment with my local dev key. Don't see a way to generate one though. We're working around this with Development Keys for now but ideally would prefer that each dev has the ability to use their own keys.

Missing environment variable with inheritance chain

Problem

Several of our environment variables in development inherit from staging, which in turn inherits from production.

image

Intermittently, these key value pairs will disappear when we use envkey_loader to load variables. It seems to be only those that are doing chained inheritance, though it's hard to isolate the cause since it seems to happen even though we haven't changed anything.

Workaround

Right now we can go in and just set the environment to inherits production instead of inherits staging, and if I recall correctly it's possible that just re-encrypting and re-sending inherits staging fixes the issue as well.

Possible Causes

Best guess is that if a user updates a development key but doesn't have access to production, maybe the values don't inherit correctly?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.