Comments (10)
AWS Secrets Manager charges:
- $0.40 per secret per month
- $0.05 per 10,000 API calls
from kai.
Have been thinking about this recently. The API calls should be fairly limited. The passwords / sensitive files are stored as Kubernetes secrets anyway so storing the secrets twice seems inefficient. It would also mean that graphs re-use the same passwords etc which seems like the wrong way to do it.
Perhaps a better way go about improving this is to improve the encryption mechanism we use to better protect the secrets at rest? https://aws.amazon.com/blogs/containers/using-eks-encryption-provider-support-for-defense-in-depth
What are your thoughts on this?
from kai.
@d47853 I agree that re-using passwords for graphs is probably not the best. I'm now wondering if there is a more deep rooted problem in the way helm uninstalls the gaffer chart which is preventing the successful round trip add-delete-add of a graph of name x where the password is generated for each add. That hasn't got anything to do with the encryption mechanism but I do like the idea of "double encrypting" the secrets even if you have to pay to store the master key!
from kai.
I wasn't aware that was an issue. Doesn't helm remove the secret when it the release is uninstalled?
from kai.
Not sure, will confirm. I think its more likely that the newly generated instance secret is not configured properly.
from kai.
@d47853 the secrets are removed. The problem comes down to the re-use of the EBS volume when the graph is "re-added", Accumulo master fails to initialise the HDFS file-system as the target directory is not empty:
2020-07-24 12:21:32,119 [init.Initialize] ERROR: FATAL It appears the directories [hdfs://best-hdfs-namenode-0.best-hdfs-namenodes:8020/accumulo] were previously initialized.
2020-07-24 12:21:32,119 [init.Initialize] ERROR: FATAL: Change the property instance.volumes to use different filesystems,
2020-07-24 12:21:32,119 [init.Initialize] ERROR: FATAL: or change the property instance.dfs.dir to use a different directory.
2020-07-24 12:21:32,119 [init.Initialize] ERROR: FATAL: The current value of instance.dfs.uri is ||
2020-07-24 12:21:32,119 [init.Initialize] ERROR: FATAL: The current value of instance.dfs.dir is |/accumulo|
2020-07-24 12:21:32,119 [init.Initialize] ERROR: FATAL: The current value of instance.volumes is |hdfs://best-hdfs-namenode-0.best-hdfs-namenodes:8020/accumulo|
The Accumulo components then fail to start as the expected instance id f3299a4b-0ea6-455b-85c2-b130eeac4856
is that of the previously installed graph. The result is lots of errors like this:
Caused by: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /accumulo/f3299a4b-0ea6-455b-85c2-b130eeac4856/masters/tick
from kai.
Ah right okay. So would removing the EBS volume when a graph is uninstalled fix the issue?
from kai.
Yes that would work
from kai.
Can this be closed as the ebs volume ticket has been completed?
from kai.
@d47853 yes it can be closed.
from kai.
Related Issues (20)
- Add Contributing guidelines
- Deployment fails when extra security groups are not set HOT 1
- Add clarification that Kai is not yet ready to be used in production
- Load balancers are not torn down after cluster deletion HOT 6
- Worker always logs "Successfully deployed ..." even when it fails
- Generated passwords break Accumulo configuration file parsing.
- Remove hard coded resource names
- Clean up warnings in user pool and tests
- Decouple graph IDs from release names HOT 1
- Integrate user pool with REST API HOT 2
- Application load-balancers not created
- Remove EBS volumes when cluster deleted HOT 1
- Add automated E2E testing HOT 1
- Improve reliability of ALB deployment
- Add endpoints to Graph objects after deployment HOT 1
- Introduce more separation to graphs
- Allow users to run bulk ingest to load large volumes of data into a graph HOT 1
- Add a programatic client
- 503 Temporarily unavailable message on random ALB endpoints
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kai.