Comments (15)
Hi @taojwmware I have a first version over here: https://github.com/fafg/vmware-go-kcl over the branch: upgrade/aws-sdk-to-v2
there are some points open I would like to talk with you to understand a better strategy to follow:
- some breaking changes (from the library side, not so much breaking changes)
a) we could create a new repo to support SDK-v2 and so on, as AWS did to their repo.
b) create a new version with git tag and freeze v1
c) if you decide to move to a new repo, I would have more suggestions regarding logging and metrics, I would like to move the implementations of each one in different modules (same repo) to be used during the configuration time, this way after the library user can decide to have one of the default implementations instead to have all of them inside of the library which it can increase the binary size with the extra dependencies it will not be used. - usage of context, now most API calls need context.
- the dynamodb-chekcpointer_test.go has a mock to an interface which there isn't any more or at least as it would be in the previous sdkv1
a) I would suggest here creating a new interface to keep things internally as it is. (these tests now are broken and need to be fixed)
so far the initial tests worked properly using worker_test.go and my AWS environment.
after we align I would open the PR.
in advance, I would like to say thank you for all your attention.
[]s
Fabiano
from vmware-go-kcl.
@fafg Thanks a lot for working on this! I think creating a new repo is the right approach. Yes, we could improve the folder structure as well to make it in line with the common go project structure. We can also use makefile instead of hmake.
I will work on creating the new repo, see vmware-go-kcl-v2.
from vmware-go-kcl.
There are a couple of breaking changes in this v2 version, which demands a bit more work. I will try soon
from vmware-go-kcl.
Repo https://github.com/vmware/vmware-go-kcl-v2 has been created. It is currently a private repo, and I am working with our open-source team to make it public. Thanks and happy holidays!
from vmware-go-kcl.
hi, @taojwmware I have moved from hypermake to makefile and added some ci pipeline, some extras to local scans like sonarqube locally.
from vmware-go-kcl.
seems we have finished the first steps, I will push now my usages to our stage environment, let you know when it's in prod.
thank you again @taojwmware 👍
from vmware-go-kcl.
The request for creating new vmware-go-kcl-v2 repo has been approved and it will be available shortly. Thanks!
from vmware-go-kcl.
great progess @fafg
from vmware-go-kcl.
@fafg https://github.com/vmware/vmware-go-kcl-v2 is now a public repo. I have cloned all your changes and put them into the new repo. Then, I updated the import path and fixed unit tests. There are still a few things that need to be done:
- Need to use credential chain (like v1) instead of static credentials because most deployments will use ec2 instance profile, kube2iam, or KIAM to get credentials.
- Need to make sure integration tests are able to run against the real AWS resources, such as Kinesis stream, DynamoDB, etc.
Thanks!
from vmware-go-kcl.
There are a couple of breaking changes in this v2 version, which demands a bit more work. I will try soon
Maybe, we could use conditional compilation with build tags.
from vmware-go-kcl.
cool, I also like this approach. I will fork it as soon as you have it.
from vmware-go-kcl.
Thank you @tbhat05
from vmware-go-kcl.
yay nice news @taojwmware, thanks for letting us know \o/
you can check the changes I have done so far over here: https://github.com/fafg/vmware-go-kcl
happy new year for you all
from vmware-go-kcl.
Did you get the commits from upgrade/aws-sdk-v2 branch? the credentials are already fixed in that branch, I also noticed that... let me see If i can update something else.
thank you very much @taojwmware
from vmware-go-kcl.
Close this issue now. Please open any issue against vmware-go-kcl-v2 at
https://github.com/vmware/vmware-go-kcl-v2/issues
from vmware-go-kcl.
Related Issues (20)
- Lease stealing code exception HOT 3
- Option to assume role in AWS Kinesis client HOT 1
- Checkpointer interface breaking change in v1.3.0 HOT 1
- worker.go:339 Error in getRecords: unexpected EOF
- How to get the StreamName/ConsumerName inside ProcessRecords method HOT 1
- Unsupported protocol scheme
- Workload skewed across workers HOT 3
- (Still) Too many calls to DescribeStream HOT 3
- Error in getRecords leaves a dangling record processor. HOT 1
- Stuck in waitOnParentShard after resharding HOT 4
- Possible Data Race for input Checkpointer HOT 1
- Semantic versioning friendly version tags HOT 1
- Shard consumer sometimes fails to recover from error refreshing lease HOT 9
- Prometheus metrics should add appname as label and not in the metric name HOT 1
- Possibility to Work w/ DynamoDB Streams HOT 3
- Error in publishing cloudwatch metrics. Error: NoCredentialProviders: no valid providers in chain. HOT 1
- How to use record deaggregator? HOT 2
- Multiple consumers processing records from the same shard. HOT 10
- Tagged toolchain docker container vmware/go-kcl-toolchain:0.1.2 uses golang version 1.12.4
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 vmware-go-kcl.