containerssh / libcontainerssh Goto Github PK
View Code? Open in Web Editor NEWEmbedded ContainerSSH and webhook helper library
Home Page: https://containerssh.io/
License: Apache License 2.0
Embedded ContainerSSH and webhook helper library
Home Page: https://containerssh.io/
License: Apache License 2.0
The tests for the sshproxy module are flaky and sometimes meet their end at the hands of the 10m timeout.
Not reproducible.
The sshproxy tests should be stable.
The remote server IP in ssh-proxy backend may change with the config webhook. We cannot get the current connections for a specific server. Thus I propose to add a new label server-ip to the metric containerssh_ssh_current_connections
I will create multiple ssh backends. And use them in ssh-proxy mode. The server IP is updated by the config server webhook. And I wanna know how many connections are alive in the server.
Currently ContainerSSH provides a webhook for authentication and configuration of a container (or pod) that are triggered by an SSH connection to the ContainerSSH server. Upon successful authentication, the container described by the configuration is instantiated. Upon SSH disconnect, the container is removed by the server.
We would like a third webhook which would receive the status of the removal.
In order to run a ConatinerSSH created container successfully in a k8s environment, we choose to spin up auxiliary services (VMs, pods, etc). We would like some signal to know when we can tear down those extra resources.
sshproxy:
server: localhost
port: 22222
username: envd
privateKey: /home/gaocegege/.config/envd/id_rsa_envd
allowedHostKeyFingerprints:
- SHA256:
The allowedHostKeyFingerprints
cannot be empty now. It will be better to add a new config to disable the host key fingerprints check
A clear and concise description of how you would use this feature.
Investigate the behaviour of struct merging, especially when it pertains to lists, when returning results from the configuration server and the configs have to be merged. A user reported that lists with multiple items overrode entire objects if e.g. only the 3rd item needed updating.
The underlying backend is the mergo
library.
go mod init container-ssh/config-server
go get github.com/containerssh/libcontainerssh
go mod tidy
fails with
container-ssh/config-server imports
github.com/containerssh/kubernetes imports
k8s.io/client-go/kubernetes/scheme imports
k8s.io/api/batch/v2alpha1: module k8s.io/api@latest found (v0.29.2), but does not contain package k8s.io/api/batch/v2alpha1
container-ssh/config-server imports
github.com/containerssh/kubernetes imports
k8s.io/client-go/kubernetes/scheme imports
k8s.io/api/discovery/v1alpha1: module k8s.io/api@latest found (v0.29.2), but does not contain package k8s.io/api/discovery/v1alpha1
container-ssh/config-server imports
github.com/containerssh/kubernetes imports
k8s.io/client-go/kubernetes/scheme imports
k8s.io/api/flowcontrol/v1alpha1: module k8s.io/api@latest found (v0.29.2), but does not contain package k8s.io/api/flowcontrol/v1alpha1
container-ssh/config-server imports
github.com/containerssh/kubernetes imports
k8s.io/client-go/rest imports
k8s.io/apimachinery/pkg/util/clock: module k8s.io/apimachinery@latest found (v0.29.2), but does not contain package k8s.io/apimachinery/pkg/util/clock
see above
Dependencies are successfully resolved
Try to build a config-server for containerssh 0.5 with go 1.22.0 (worked fine under go 1.17 and containerssh 0.4)
I'm not sure if I missed something. When I add a
require (
k8s.io/client-go v0.29.2
)
before calling "go mod tidy" there is no error logged.
Change the KinD utility download to:
Support multiple audit log storage in one containerssh instance.
I expect to keep the audit log in s3 and the local file system.
Prometheus seems to require all metrics to end with the unit name.
Error: unit not a suffix of metric "containerssh_config_server_failures"
If you can please provide the steps to reproduce the issue.
ContainerSSH metrics are imported into Prometheus.
0.5
go lang version up 1.18 -> 1.21
some package depandency upgrade
A clear and concise description of how you would use this feature.
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.