chankh / eksutil Goto Github PK
View Code? Open in Web Editor NEWSample project to call Kubernetes API of an Amazon EKS cluster from AWS Lambda
License: Apache License 2.0
Sample project to call Kubernetes API of an Amazon EKS cluster from AWS Lambda
License: Apache License 2.0
{
"errorMessage": "runtime error: invalid memory address or nil pointer dereference",
"errorType": "errorString",
"stackTrace": [
{
"path": "lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/function.go",
"line": 27,
"label": "(*Function).Invoke.func1"
},
{
"path": "runtime/asm_amd64.s",
"line": 573,
"label": "call32"
},
{
"path": "runtime/panic.go",
"line": 502,
"label": "gopanic"
},
{
"path": "runtime/panic.go",
"line": 63,
"label": "panicmem"
},
{
"path": "runtime/signal_unix.go",
"line": 388,
"label": "sigpanic"
},
{
"path": "lambda-eks-sample/main.go",
"line": 109,
"label": "(*ClusterConfig).loadConfig"
},
{
"path": "lambda-eks-sample/main.go",
"line": 51,
"label": "handler"
},
{
"path": "runtime/asm_amd64.s",
"line": 577,
"label": "call512"
},
{
"path": "reflect/value.go",
"line": 447,
"label": "Value.call"
},
{
"path": "reflect/value.go",
"line": 308,
"label": "Value.Call"
},
{
"path": "lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/handler.go",
"line": 111,
"label": "newHandler.func1"
},
{
"path": "lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/handler.go",
"line": 22,
"label": "lambdaHandler.Invoke"
},
{
"path": "lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/function.go",
"line": 59,
"label": "(*Function).Invoke"
},
{
"path": "runtime/asm_amd64.s",
"line": 574,
"label": "call64"
},
{
"path": "reflect/value.go",
"line": 447,
"label": "Value.call"
},
{
"path": "reflect/value.go",
"line": 308,
"label": "Value.Call"
},
{
"path": "net/rpc/server.go",
"line": 384,
"label": "(*service).call"
},
{
"path": "runtime/asm_amd64.s",
"line": 2361,
"label": "goexit"
}
]
}
START RequestId: 4e8ecdc7-a548-11e8-9f64-250e268ae38f Version: $LATEST
time="2018-08-21T13:44:20Z" level=info msg="Looking up EKS cluster" cluster=xxx
time="2018-08-21T13:44:22Z" level=info msg="Found cluster" cluster=xxx
time="2018-08-21T13:44:22Z" level=debug msg="Cluster details" cluster="<nil>"
runtime error: invalid memory address or nil pointer dereference: errorString
[{"path":"lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/function.go","line":27,"label":"(*Function).Invoke.func1"},{"path":"runtime/asm_amd64.s","line":573,"label":"call32"},{"path":"runtime/panic.go","line":502,"label":"gopanic"},{"path":"runtime/panic.go","line":63,"label":"panicmem"},{"path":"runtime/signal_unix.go","line":388,"label":"sigpanic"},{"path":"lambda-eks-sample/main.go","line":109,"label":"(*ClusterConfig).loadConfig"},{"path":"lambda-eks-sample/main.go","line":51,"label":"handler"},{"path":"runtime/asm_amd64.s","line":577,"label":"call512"},{"path":"reflect/value.go","line":447,"label":"Value.call"},{"path":"reflect/value.go","line":308,"label":"Value.Call"},{"path":"lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/handler.go","line":111,"label":"newHandler.func1"},{"path":"lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/handler.go","line":22,"label":"lambdaHandler.Invoke"},{"path":"lambda-eks-sample/vendor/github.com/aws/aws-lambda-go/lambda/function.go","line":59,"label":"(*Function).Invoke"},{"path":"runtime/asm_amd64.s","line":574,"label":"call64"},{"path":"reflect/value.go","line":447,"label":"Value.call"},{"path":"reflect/value.go","line":308,"label":"Value.Call"},{"path":"net/rpc/server.go","line":384,"label":"(*service).call"},{"path":"runtime/asm_amd64.s","line":2361,"label":"goexit"}]
END RequestId: 4e8ecdc7-a548-11e8-9f64-250e268ae38f
REPORT RequestId: 4e8ecdc7-a548-11e8-9f64-250e268ae38f Duration: 1241.58 ms Billed Duration: 1300 ms Memory Size: 128 MB Max Memory Used: 44 MB
runtime error: invalid memory address or nil pointer dereference
errorString
Getting the above errors while trying to run a test event.
The privileges of my role are proper I think, because I tested them outside of AWS lambda environment and work as expected.
Any idea if I misconfigured something?
Thanks, in advance.
when i tried to go mod tidy
i get this module error
github.com/chankh/eksutil/pkg/auth imports
github.com/kubernetes-sigs/aws-iam-authenticator/pkg/token: github.com/kubernetes-sigs/[email protected]: parsing go.mod:
module declares its path as: sigs.k8s.io/aws-iam-authenticator
but was required as: github.com/kubernetes-sigs/aws-iam-authenticator
I guess this library should change github.com/kubernetes-sigs/aws-iam-authenticator
module path into sigs.k8s.io/aws-iam-authenticator
thank you.
Getting the following error upon build.
make all 2 ↵ 18:34:25 production ()
# lambda-eks-sample
./main.go:217:49: cannot use c.sts.(*"github.com/aws/aws-sdk-go/service/sts".STS) (type *"github.com/aws/aws-sdk-go/service/sts".STS) as type *"github.com/kubernetes-sigs/aws-iam-authenticator/vendor/github.com/aws/aws-sdk-go/service/sts".STS in argument to gen.GetWithSTS
Any ideas how to solve?
Thanks in advance.
Is not really an issue as your sample works as described on documentation.
I just tried to decrease the RBAC level of my role so just be able to list pods on my default
namespace.
My implementation uses a RBAC group which inherits permissions for a role (tried also with ClusterRole
with same results) and a respective rolebinding. Same approach works in bash and this way achieved to have specific RBAC permissions for a specific iam role. But in our case fails with following message.
msg="Error listing pods" error="pods is forbidden: User \"lambdas\" cannot list pods at the cluster scope"
If you have any idea related to this problem, would be appreciated.
Thanks in advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.