Simple docker based app created to help debug on cloud providers. Displays a table with many metadata info that helps you to understand the environment arround you.
Supports:
###System info like:
- freemem
- homedir
- hostname
- platform
- release
- totalmem
###Docker containers lister:
- by name
###Cloud Provider Metadata Like:
- Node Hostname
- public/local Ip
- Credential Exposure checker
System info based on Node Module "systeminformation".
Metadata Cloud Service API:
Definition of Link-local:LINK-LOCAL
Amazon Web Services (AWS)
http://169.254.169.254/latest/meta-data/ami-id
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
Google Cloud
http://metadata.google.internal/computeMetadata/v1/instance/machine-type
https://cloud.google.com/compute/docs/storing-retrieving-metadata
Microsoft Azure
http://169.254.169.254/metadata/instance?api-version=2017-12-01
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service
DigitalOcean
http://169.254.169.254/metadata/v1/hostname
https://www.digitalocean.com/docs/droplets/resources/metadata/
OpenStack
http://169.254.169.254/openstack/latest
https://blogs.vmware.com/openstack/introducing-the-metadata-service/
Rancher (Kubernetes)
http://rancher-metadata/2015-07-25/
https://rancher.com/introducing-rancher-metadata-service-for-docker/
This app is stored on DOCKER HUB repository
In order to use it with docker, the container must know the docker socket, so it is mandatory that you map it with the volume.
docker run -d --name infog -p 4499:4499 -v /var/run/docker.sock:/var/run/docker.sock b4lddocker/deployment-kube-info-gatherer:latest
NOTE: If you are on Windows Docker-for-Desktop - you may whant to map like this instead.
docker run -d --name infog -p 4499:4499 -v //var/run/docker.sock:/var/run/docker.sock b4lddocker/deployment-kube-info-gatherer:latest
You can pull it and use it on you deployment.yaml.
apiVersion: apps/v1
kind: Deployment
metadata:
name: kube-infog
# namespace: infog
spec:
replicas: 1
selector:
matchLabels:
app: kube-infog
template:
metadata:
labels:
app: kube-infog
spec:
containers:
- name: kube-infog
image: b4lddocker/deployment-kube-info-gatherer:latest
command: ["npm","run","start"]
imagePullPolicy: Always
ports:
- containerPort: 4499 #Container/Application
name: http
volumeMounts:
- name: dockersock
mountPath: /var/run/docker.sock
volumes:
- name: dockersock
hostPath:
path: /var/run/docker.sock
---
apiVersion: v1
kind: Service
metadata:
name: kube-infog-service
# namespace: infog
labels:
app: kube-infog
spec:
selector:
app: kube-infog
type: NodePort
ports:
- name: http
port: 4499 #Same the Ingress/Loadbalancer
targetPort: 4499 #Bind to container/Application
Or you can clone this repo and build it on your own
docker build -f Dockerfile -t [ImageName]:[ImageVersion] .
- Node.js - Base Application Framework
Any change and pull request are welcome.
b4lddocker/deployment-kube-info-gatherer:1.1.0
Notes:
- Working with AWS Meta API
- Node.OS Module
- SystemInfoModule
- Pug render
- Static Page
Last Build on V1
- b4ld - Initial work - b4ld
This project is licensed under the MIT License