kotalco / kotal Goto Github PK
View Code? Open in Web Editor NEWBlockchain Kubernetes Operator
Home Page: https://kotal.co
License: Apache License 2.0
Blockchain Kubernetes Operator
Home Page: https://kotal.co
License: Apache License 2.0
2024-04-29T14:25:48Z INFO Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference {"controller": "peer", "controllerGroup": "ipfs.kotal.io", "controllerKind": "Peer", "Peer": {"name":"my-peer","namespace":"default"}, "namespace": "default", "name": "my-peer", "reconcileID": "59088123-8415-4c46-ab7c-e0a730976954"}
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1624313]
goroutine 608 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:116 +0x1e5
panic({0x17a0f00?, 0x29a4170?})
/usr/local/go/src/runtime/panic.go:914 +0x21f
github.com/kotalco/kotal/controllers/ipfs.(*PeerReconciler).specStatefulSet(0x16?, 0xc00090db00, 0xc00024c500, {0x19b4970, 0xa}, {0xc000458500, 0x2, 0x2}, {0xc0001d30c0, 0x1, ...}, ...)
/workspace/controllers/ipfs/peer_controller.go:370 +0x1b33
github.com/kotalco/kotal/controllers/ipfs.(*PeerReconciler).Reconcile.func4({0x1d24430?, 0xc00024c500})
/workspace/controllers/ipfs/peer_controller.go:97 +0x27c
github.com/kotalco/kotal/controllers/shared.Reconciler.ReconcileOwned.func1()
/workspace/controllers/shared/reconciler.go:35 +0xb2
sigs.k8s.io/controller-runtime/pkg/controller/controllerutil.mutate(0xc00024c500?, {{0xc0008fa950?, 0x0?}, {0xc0008fa946?, 0x1d10578?}}, {0x1d24430, 0xc00024c500})
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/controller/controllerutil/controllerutil.go:340 +0x49
sigs.k8s.io/controller-runtime/pkg/controller/controllerutil.CreateOrUpdate({0x1d10578, 0xc000998a50}, {0x1d18520, 0xc0000d86c0}, {0x1d24430?, 0xc00024c500}, 0x0?)
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/controller/controllerutil/controllerutil.go:212 +0x246
github.com/kotalco/kotal/controllers/shared.Reconciler.ReconcileOwned({{0x1d18520, 0xc0000d86c0}, 0xc00012c850}, {0x1d10578, 0xc000998a50}, {0x1d22998, 0xc00090db00}, {0x1d24430?, 0xc00024c500?}, 0xc000a682d0)
/workspace/controllers/shared/reconciler.go:30 +0x1ec
github.com/kotalco/kotal/controllers/ipfs.(*PeerReconciler).Reconcile(0xc000380de0, {0x1d10578, 0xc000998a50}, {{{0xc00043f1b0?, 0x5?}, {0xc00043f1f0?, 0xc00066fd48?}}})
/workspace/controllers/ipfs/peer_controller.go:85 +0x505
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x1d135a0?, {0x1d10578?, 0xc000998a50?}, {{{0xc00043f1b0?, 0xb?}, {0xc00043f1f0?, 0x0?}}})
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:119 +0xb7
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0002b5540, {0x1d105b0, 0xc0004d2e10}, {0x181e480?, 0xc0005b2780?})
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:316 +0x3cc
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0002b5540, {0x1d105b0, 0xc0004d2e10})
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266 +0x1c9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227 +0x79
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2 in goroutine 156
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:223 +0x565
We would like to request to have gnosis beacon chain supported!
Hi, I'm little curious about initContainer logic (e.g. lotus).
Can I use subPath mount config toml file Instead of initContainer?
apiVersion: apps/v1
kind: StatefulSet
spec:
template:
spec:
containers:
- args:
- lotus
- daemon
env:
- name: LOTUS_PATH
value: /home/filecoin/kotal-data
- name: GOLOG_LOG_LEVEL
value: info
imagePullPolicy: IfNotPresent
name: node
volumeMounts:
- mountPath: /home/filecoin/kotal-data
name: data
- mountPath: /home/filecoin/kotal-data/config.toml
name: config
subPath: config.toml
volumes:
- name: data
persistentVolumeClaim:
claimName: filecoin-mainnet-ckeil8ouci5s
- configMap:
defaultMode: 420
name: filecoin-mainnet-ckeil8ouci5s
name: config
I tested it , it works well.
When user tries to validate create or update in the API sdk it returns unformatted and not friendly error validation which used for cli
eg:
{"level":"error","time":"2022-06-22T18:52:55.742+0200","msg":"ERROR_IN_ETHEREUMSERVICE_UPDATE-FM","error":"Node.ethereum.kotal.io \"mynodes\" is invalid: spec.resources.memoryLimit: Invalid value: \"0Gi\": spec.resources.memoryLimit in body should match '^[1-9][0-9]*[KMGTPE]i$'"}
Hi,
great tool. Found it via Gitcoin grants.
Do you have any plans to support Nethermind or OpenEthereum clients.
Will be great to put in for test for xDai RPCs.
Thank you
➜ Narendranath git:(master) ✗ go get -u github.com/kotalco/kotal
go: downloading github.com/kotalco/kotal v0.0.0-20200813223727-235173dd6fff
go: github.com/kotalco/kotal upgrade => v0.0.0-20200813223727-235173dd6fff
go get: github.com/kotalco/[email protected]: parsing go.mod:
module declares its path as: github.com/mfarghaly/kotal
but was required as: github.com/kotalco/kotal
go.mod path should always match with the GitHub.com
From module github.com/mfarghaly/kotal
-> module github.com/kotalco/kotal
and update the Project
Hey guys, the web console is extremly cool!. But I don't find the deploy yaml. Is the web console open source or on the way.
Hello, this project is great! We are very interested in this project.
Which protocol nodes be supported next?
Can you provide a list of plans?
Looking forward to your reply.Thanks!
Hello,
on k8s 1.20.9
on azure, controller-manager-
goes into CrashLoopBackOff when trying to apply the example. I've tried also this, same behaviour.
Thanks for letting me know if i'm missing something
2021-10-13T18:13:07.002Z INFO controller-runtime.manager.controller.node Starting workers {"reconciler group": "ethereum.kotal.io", "reconciler ki
nd": "Node", "worker count": 1}
panic: cannot parse '': quantities must match the regular expression '^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$'
goroutine 660 [running]:
k8s.io/apimachinery/pkg/api/resource.MustParse(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/go/pkg/mod/k8s.io/[email protected]/pkg/api/resource/quantity.go:128 +0x231
github.com/kotalco/kotal/controllers/ethereum.(*NodeReconciler).specPVC(0xc000569aa0, 0xc0004c4300, 0xc00003d340)
/workspace/controllers/ethereum/node_controller.go:342 +0x65
github.com/kotalco/kotal/controllers/ethereum.(*NodeReconciler).reconcilePVC.func1(0x0, 0x18fdd89)
/workspace/controllers/ethereum/node_controller.go:377 +0xba
sigs.k8s.io/controller-runtime/pkg/controller/controllerutil.mutate(0xc0006a6ca0, 0xc000462330, 0x5, 0xc0000d1980, 0x11, 0x1c61a90, 0xc00003d340, 0x1c61a90, 0
xc00003d340)
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/controller/controllerutil/controllerutil.go:339 +0x2b
sigs.k8s.io/controller-runtime/pkg/controller/controllerutil.CreateOrUpdate(0x1c3f878, 0xc000a666f0, 0x1c521c0, 0xc0000c0410, 0x1c61a90, 0xc00003d340, 0xc0006
a6ca0, 0x2fcb9f5c6f1ed130, 0xf, 0x0, ...)
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/controller/controllerutil/controllerutil.go:201 +0x1c5
github.com/kotalco/kotal/controllers/ethereum.(*NodeReconciler).reconcilePVC(0xc000569aa0, 0x1c3f878, 0xc000a666f0, 0xc0004c4300, 0xc0004f4308, 0xc0000d1980)
/workspace/controllers/ethereum/node_controller.go:373 +0x110
github.com/kotalco/kotal/controllers/ethereum.(*NodeReconciler).Reconcile(0xc000569aa0, 0x1c3f878, 0xc000a666f0, 0xc000462330, 0x5, 0xc0000d1980, 0x11, 0xc000
a666f0, 0xc000030000, 0x17bdaa0, ...)
/workspace/controllers/ethereum/node_controller.go:70 +0x42f
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000400b40, 0x1c3f7d0, 0xc000602000, 0x1780120, 0xc0006a6000)
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:298 +0x30d
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000400b40, 0x1c3f7d0, 0xc000602000, 0xc00097af00)
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:253 +0x205
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2(0xc00004b050, 0xc000400b40, 0x1c3f7d0, 0xc000602000)
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:214 +0x6b
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:210 +0x425
Would be great if Kotal could deploy Erigon nodes as well
According to this validation in the Prysm client, it is not possible to disable the spec.rpc feature, which handles JSON-RPC for beacon nodes.
Enable the acceptance of false values for spec.rpc
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.