Coder Social home page Coder Social logo

metlo-labs / metlo Goto Github PK

View Code? Open in Web Editor NEW
1.6K 17.0 89.0 9.06 MB

Metlo is an open-source API security platform.

Home Page: https://metlo.com

License: MIT License

TypeScript 87.55% Python 5.85% JavaScript 0.35% Dockerfile 0.33% Makefile 0.04% Shell 0.72% CSS 0.09% Java 2.00% Bicep 0.24% Go 1.63% Kotlin 0.90% Rust 0.09% PEG.js 0.19%
security api-gateway api-security application-security cybersecurity monitoring vulnerabilities vulnerability-detection metlo infosec

metlo's People

Contributors

aharmlesspyro avatar akshay288 avatar juneezee avatar mashurex avatar nikhilshahi avatar shrisukhani avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metlo's Issues

What is <YOUR_METLO_COLLECTOR_URL> ?

Hi there 👋

I setup Metlo locally using docker compose ( read me instructions ).

git clone https://github.com/metlo-labs/metlo.git
cd metlo
ENCRYPTION_KEY="some random string" EXPRESS_SECRET="some random string" docker-compose up -d

I'm also running my local app via docker compose and followed your intructions for a node connection.

var metlo = require("metlo")
metlo(<YOUR_METLO_API_KEY>, <YOUR_METLO_COLLECTOR_URL>)

First problem/question

Can't find in your docs what the YOUR_METLO_COLLECTOR_URL should be.
From looking at your docker compose file it looks like collector is also an alias for injestor and looking at the node library the value expected is just the host.
Not sure if I can just pass the host or also need to include the port for the injestor (8081).

Suggestion:

  • update names to be consistent
  • show the YOUR_METLO_COLLECTOR_URL value when the user is on the connections page or when creating a key

Second problem/question

Since I'm running both apps in docker I can't point to localhost. I tried using http://host.docker.internal but without success. Do you know what I should set as the YOUR_METLO_COLLECTOR_URL in my case?

metlo cannot be imported from a docker container running on mac (Cannot find module '@metlo/metlo-node-agent-bindings-linux-x86-gnu')

Grab a mac and
run a docker container with node:

docker run -it node:16 bash

Inside the container, install metlo.

mkdir foo
cd foo
npm install metlo

Run node and require it

root@70ed70d3850b:/foo# node
Welcome to Node.js v16.20.1.
Type ".help" for more information.
> require("metlo")
Uncaught Error: Cannot find module '@metlo/metlo-node-agent-bindings-linux-x86-gnu'
Require stack:
- /foo/node_modules/metlo/dist/rust_binds.js
- /foo/node_modules/metlo/dist/middlewares/index.js
- /foo/node_modules/metlo/dist/index.js
- <repl>
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1028:15)
    at Function.Module._load (node:internal/modules/cjs/loader:873:27)
    at Module.require (node:internal/modules/cjs/loader:1100:19)
    at require (node:internal/modules/cjs/helpers:108:18) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/foo/node_modules/metlo/dist/rust_binds.js',
    '/foo/node_modules/metlo/dist/middlewares/index.js',
    '/foo/node_modules/metlo/dist/index.js',
    '<repl>'
  ]
}

This makes it impossible for developers using devcontainers on mac to use metlo :-)

DB error

following installation instructions i get:

metlo-db-1      | 2022-10-14 11:41:09.171 UTC [1] LOG:  database system is ready to accept connections
metlo-jobs      | Migration "removeOwnerColumnFromApitrace1665697571667" failed, error: Table "api_trace" does not exist.
metlo-jobs      | /usr/src/app/backend/node_modules/typeorm/query-runner/BaseQueryRunner.js:193
metlo-jobs      |             throw new TypeORMError_1.TypeORMError(`Table "${tableName}" does not exist.`);
metlo-jobs      |                   ^
metlo-jobs      |
metlo-jobs      | TypeORMError: Table "api_trace" does not exist.
metlo-jobs      |     at PostgresQueryRunner.getCachedTable (/usr/src/app/backend/node_modules/typeorm/query-runner/BaseQueryRunner.js:193:19)
metlo-jobs      |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
metlo-jobs      |     at async PostgresQueryRunner.dropColumn (/usr/src/app/backend/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:1098:15)
metlo-jobs      |
metlo-jobs      | Node.js v18.10.0
metlo-jobs      | error Command failed with exit code 1.
metlo-jobs      | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
metlo-jobs exited with code 1
metlo-ingestor  | Migration "removeOwnerColumnFromApitrace1665697571667" failed, error: Table "api_trace" does not exis

Python Django Ingestor Won't Work in Async mode

According to the Django docs, current Django ingestor middleware won't work in asynchronous mode. Consider making changes as per Django doc for asynchronous support: https://docs.djangoproject.com/en/3.2/topics/http/middleware/#asynchronous-support

Example from doc:

import asyncio
from django.utils.decorators import sync_and_async_middleware

@sync_and_async_middleware
def simple_middleware(get_response):
    # One-time configuration and initialization goes here.
    if asyncio.iscoroutinefunction(get_response):
        async def middleware(request):
            # Do something here!
            response = await get_response(request)
            return response

    else:
        def middleware(request):
            # Do something here!
            response = get_response(request)
            return response

    return middleware

Errors in local deployment with docker-compose-local

Hello! I tried to start Metlo in local environment with docker-compose-local.yaml file:
sudo docker-compose -f docker-compose-local.yaml up in repo root directory.

Firstly, I get the next error: Service 'ingestor' failed to buid: ADD failed: forbidden path outside the build context: ../../../backend ().
So, I changed ADD ../../../backend backend to ADD ./backend backend, and ADD ../../../common common to ADD ./common common in all dockerfiles in deploy directory.
And it works.

But the next error has been appeared, like in previous issue (#32):
image

Could you please help me? Thanks!

Missing endpoint in Node Agent

Hi! With the nodejs agent when the POST request is sent to the metlo backend from nodejs agent the endpoint /api/v1/log-request/single is missing, so the current workaround is to add /api/v1/log-request/single to the host URL

Unable to view testing tab on frontend

I've previously deployed metlo using docker and I've ensured that I'm running latest images using

$ python3 manage-deployment.py update            
Pulling Docker Images...
Using default tag: latest
latest: Pulling from metlo/backend
Digest: sha256:60e16f21d066eb93f40d4187be4fe0982d7bd8dbc5212ef9732e7d61d8c7aaef
Status: Image is up to date for metlo/backend:latest
docker.io/metlo/backend:latest
Using default tag: latest
latest: Pulling from metlo/frontend
Digest: sha256:03f6a763e4ed2ed71e5d16fb30ee9c1eba090c4abc533909b9f0cd7ffb4404e8
Status: Image is up to date for metlo/frontend:latest
docker.io/metlo/frontend:latest
Using default tag: latest
latest: Pulling from metlo/jobrunner
Digest: sha256:f47b487634270cd7714d472cd7c2c68171e18b8ca4e661a957a6b5a83cfb9817
Status: Image is up to date for metlo/jobrunner:latest
docker.io/metlo/jobrunner:latest
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Stopping metlo-analyzer ... done
Stopping metlo-jobs     ... done
Stopping metlo-backend  ... done
Stopping metlo-ingestor ... done
Stopping metlo_db_1     ... done
Stopping metlo_cache_1  ... done
Stopping metlo-frontend ... done
Removing metlo-analyzer ... done
Removing metlo-jobs     ... done
Removing metlo-backend  ... done
Removing metlo-ingestor ... done
Removing metlo_db_1     ... done
Removing metlo_cache_1  ... done
Removing metlo-frontend ... done
Removing network metlo_default
Pulling Updated Files...
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
  File "/usr/lib/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1302, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/usr/lib/python3.8/http/client.py", line 1418, in connect
    super().connect()
  File "/usr/lib/python3.8/http/client.py", line 922, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage-deployment.py", line 170, in <module>
    main()
  File "manage-deployment.py", line 164, in main
    update()
  File "manage-deployment.py", line 128, in update
    update_files()
  File "manage-deployment.py", line 92, in update_files
    get_file(f)
  File "manage-deployment.py", line 24, in get_file
    with urllib.request.urlopen(request) as response:
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 1397, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/usr/lib/python3.8/urllib/request.py", line 1357, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 101] Network is unreachable>

I get network unreachable error on running above command.

On starting metlo docker containers using manage-deployment.py file. I don't see any testing tab on dashboard.

$ python3 manage-deployment.py start  
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Creating network "metlo_default" with the default driver
Creating metlo_db_1     ... done
Creating metlo_cache_1  ... done
Creating metlo-frontend ... done
Creating metlo-ingestor ... done
Creating metlo-backend  ... done
Creating metlo-analyzer ... done
Creating metlo-jobs     ... done

Ig I deployed metlo using docker before testing tab was introduced.

Burp Extension

I downloaded the latest metlo burp extension, and it installs fine in burp, but it throws an error on the command line.

"/tmp/metlo-agent-linux: 1: Syntax error: word unexpected (expecting ")")"

When I look at the /dist/binaries directory in the jar, it looks like they were all compiled for mac.

file dist/binaries/*
metlo-agent: Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE|HAS_TLV_DESCRIPTORS>
metlo-agent-linux: Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE|HAS_TLV_DESCRIPTORS>
metlo-agent-mac: Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE|HAS_TLV_DESCRIPTORS>

Metlo error

Hi,

when i run the this error came in browser Cannot GET / How to fix this issue 

Daemonset is unable to start

We are seeing below error when we try to install metlo daemonset on K8S cluster.
I can see similar issue on #52 (comment)
Can you share solution.

STARTING
starting suricata
starting metlo
10/11/2022 -- 19:26:26 - - This is Suricata version 6.0.1 RELEASE running in SYSTEM mode
10/11/2022 -- 19:26:26 - - [ERRCODE: SC_ERR_SYSCALL(50)] - Failure when trying to get MTU via ioctl for 'eth0': No such device (19)
10/11/2022 -- 19:26:26 - - [ERRCODE: SC_ERR_SYSCALL(50)] - Failure when trying to get MTU via ioctl for 'eth0': No such device (19)
10/11/2022 -- 19:26:26 - - [ERRCODE: SC_ERR_SOCKET(200)] - Error connecting to socket "/tmp/eve.sock": Connection refused (will keep trying)
10/11/2022 -- 19:26:26 - - JsonRdpLog logger not enabled: protocol rdp is disabled
10/11/2022 -- 19:26:26 - - JsonIKEv2Log logger not enabled: protocol ikev2 is disabled
10/11/2022 -- 19:26:26 - - JsonKRB5Log logger not enabled: protocol krb5 is disabled
10/11/2022 -- 19:26:26 - - JsonSNMPLog logger not enabled: protocol snmp is disabled
10/11/2022 -- 19:26:26 - - JsonRFBLog logger not enabled: protocol rfb is disabled
10/11/2022 -- 19:26:26 - - [ERRCODE: SC_ERR_STATS_LOG_GENERIC(278)] - eve.stats: stats are disabled globally: set stats.enabled to true. See https://suricata.readthedocs.io/en/suricata-6.0.1/configuration/suricata-yaml.html#stats
10/11/2022 -- 19:26:27 - - [ERRCODE: SC_ERR_AFP_CREATE(190)] - Unable to find type for iface "eth0": No such device
10/11/2022 -- 19:26:27 - - all 2 packet processing threads, 2 management threads initialized, engine started.
10/11/2022 -- 19:26:27 - - [ERRCODE: SC_ERR_AFP_CREATE(190)] - Unable to find iface eth0: No such device
10/11/2022 -- 19:26:27 - - [ERRCODE: SC_ERR_AFP_CREATE(190)] - Couldn't init AF_PACKET socket, fatal error
10/11/2022 -- 19:26:27 - - [ERRCODE: SC_ERR_FATAL(171)] - thread W#01-eth0 failed

Sensitive data detection feature not working

Hello, I defined the rules of custom sensitive data in the metlo settings, but it seems that they did not take effect. And the rule of detecting email data also did not work.

This is my metlo setting:
企业微信截图_16986554997607

This is the response body:
企业微信截图_1698655546249

Neither rule of email nor rule of phone number wasn't be detected.
企业微信截图_1698655568500

Cloudformation stackset creates instance in default VPC

While self deploying metlo on custom VPC, the cloudformation stackset fails.

The reason is MetloSecurityGroup is created in a VPC provided in parameters however the MetloInstance doesnt consider the VPC parameter and creates in a default VPC.

So the stackset fails due to the following error and rolls back:

Security group sg-xxxxxxxxxxx and subnet subnet-yyyyyyyyyyyyy belong to different networks. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameter; Request ID: aaa-bbb-ccc; Proxy: null)

AMI Request - AWS Sydney Region

Hi Metlo team, what a fantastic project! I'd just like to put in a request for an AMI in the AWS Sydney Region please and keep up the great work!

Can't login

chrome-capture-2022-11-2

I deployed with Docker step by step in a cloud server, following the instructions:

image

Devtools network tab show this:

  1. /auth/login (200 OK - POST) -> JWT
  2. /_next/data/XXXXXXXXXXXX/index.json (307 Temporary Redirect - GET) -> no response
  3. /_next/data/XXXXXXXXXXXX/login.json (200 OK - GET) ->
{
    "pageProps": {
        "localAuthAllowed": true
    },
    "__N_SSP": true
}
  1. Nothing happens

Param detection in request paths

How does Metlo detect params?

Some request paths are marked with incorrect parameters.

The current path in Metlo:
/api/{param1}/org/{param2}
Expected
/api/{param1}/org/onboardingStatus

Route source: https://github.com/lightdash/lightdash/blob/e6057c27c37659235e1617527e8a6e27881ee9bc/packages/backend/src/routers/organizationRouter.ts#L176

Could it use the express routes to detect the params instead of using some magic logic? It can even detect what is the name of the param instead of using generic param1 param2 etc
eg: /user/:userUuid -> /user/{userUuid}

[Bug] AttributeError: 'FakePayload' object has no attribute 'stream'

/opt/venv/lib/python3.10/site-packages/django/test/client.py:751: in post
    response = super().post(path, data=data, content_type=content_type, secure=secure, **extra)
/opt/venv/lib/python3.10/site-packages/django/test/client.py:407: in post
    return self.generic('POST', path, post_data, content_type,
/opt/venv/lib/python3.10/site-packages/django/test/client.py:473: in generic
    return self.request(**r)
/opt/venv/lib/python3.10/site-packages/django/test/client.py:719: in request
    self.check_exception(response)
/opt/venv/lib/python3.10/site-packages/django/test/client.py:580: in check_exception
    raise exc_value
/opt/venv/lib/python3.10/site-packages/django/core/handlers/exception.py:47: in inner
    response = get_response(request)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <metlo.django.MetloDjango object at 0xffff911058a0>
request = <WSGIRequest: POST '/admin/module/group/group_name/delete/'>

    def __call__(self, request):
        response = self.get_response(request)
        params = request.GET if request.method == "GET" else request.POST
        dest_ip = request.META.get("SERVER_NAME") if \
            "1.0.0.127.in-addr.arpa" not in request.META.get("SERVER_NAME") else "localhost"
        src_ip = request.META.get("REMOTE_ADDR") if \
            "1.0.0.127.in-addr.arpa" not in request.META.get("REMOTE_ADDR") else "localhost"
>       source_port = request.environ["wsgi.input"].stream.raw._sock.getpeername()[1]
E       AttributeError: 'FakePayload' object has no attribute 'stream'

/opt/venv/lib/python3.10/site-packages/metlo/django.py:45: AttributeError

I've deployed docker version of Metlo and configured our Django application with the metlo module. After running our test suite I ended up with most of the tests failing with same AttributeError.

docker-compose up -d server returns 500 error

I'm trying to use metlo on my local host. I've followed the steps from README. After containers are started when I try to visit the web app, it returns a 500 error.

Do I need to set environment variables? can the team add those instructions to the README?

$ docker-compose up -d
WARNING: The BACKEND_URL variable is not set. Defaulting to a blank string.
WARNING: The SANDBOX_MODE variable is not set. Defaulting to a blank string.
WARNING: The DISABLE_LOGGING_STATS variable is not set. Defaulting to a blank string.
WARNING: The NUM_WORKERS variable is not set. Defaulting to a blank string.

-- snip --

image

Burp Extention Listening for Requests

Hi,
I have tried to using Burp Extention, and run a scan on Burp.
However the web page does not show any information from burp.

Am I doing something wrong?

My Burp Suite version is Professional 2023.6.2

螢幕擷取畫面 2023-07-06 135006

Request: vanilla net/http ingestion connextion example for golang

Hey gang,

very cool stuff happening here! I was looking over the docs for the ingestion connections in go and would love to see an example of it with the vanilla net/http handler middleware usage I'm sure the broader community would appreciate it, it's a very commonly used pattern, here's a nice example thats compatible with any service using the stdlib for their server.

Great stuff here, looking forward to following this project!

unable to find api

HI Team,

We have configured metlo in GCP and daemonset in GKE. Data is not getting exported to application. KIndly help us on this.
Here are the attached log of one of pod

21/10/2022 -- 06:56:59 - - [ERRCODE: SC_ERR_STATS_LOG_GENERIC(278)] - eve.stats: stats are disabled globally: set stats.enabled to true. See https://suricata.readthedocs.io/en/suricata-6.0.5/configuration/suricata-yaml.html#stats
21/10/2022 -- 06:56:59 - - Running in live mode, activating unix socket
21/10/2022 -- 06:56:59 - - 1 rule files processed. 1 rules successfully loaded, 0 rules failed
21/10/2022 -- 06:56:59 - - Threshold config parsed: 0 rule(s) found
21/10/2022 -- 06:56:59 - - 1 signatures processed. 0 are IP-only rules, 0 are inspecting packet payload, 1 inspect application layer, 0 are decoder event only
21/10/2022 -- 06:56:59 - - Going to use 1 thread(s)
21/10/2022 -- 06:56:59 - - Running in live mode, activating unix socket
21/10/2022 -- 06:56:59 - - Using unix socket file '/var/run/suricata/suricata-command.socket'
21/10/2022 -- 06:56:59 - - all 1 packet processing threads, 2 management threads initialized, engine started.
21/10/2022 -- 06:56:59 - - All AFP capture threads are running.
21/10/2022 -- 06:56:58 - - This is Suricata version 6.0.5 RELEASE running in SYSTEM mode
21/10/2022 -- 06:56:58 - - CPUs/cores online: 1
21/10/2022 -- 06:56:59 - - Found an MTU of 1460 for 'eth0'
21/10/2022 -- 06:56:59 - - Found an MTU of 1460 for 'eth0'
21/10/2022 -- 06:56:59 - - Setting logging socket of non-blocking in live mode.
21/10/2022 -- 06:56:59 - - eve-log output device (unix_stream) initialized: /etc/suricata-logs/eve.sock
21/10/2022 -- 06:56:59 - - JsonRdpLog logger not enabled: protocol rdp is disabled
21/10/2022 -- 06:56:59 - - JsonIKEv2Log logger not enabled: protocol ikev2 is disabled
21/10/2022 -- 06:56:59 - - JsonKRB5Log logger not enabled: protocol krb5 is disabled
21/10/2022 -- 06:56:59 - - JsonSNMPLog logger not enabled: protocol snmp is disabled
21/10/2022 -- 06:56:59 - - JsonRFBLog logger not enabled: protocol rfb is disabled
21/10/2022 -- 06:56:59 - - [ERRCODE: SC_ERR_STATS_LOG_GENERIC(278)] - eve.stats: stats are disabled globally: set stats.enabled to true. See https://suricata.readthedocs.io/en/suricata-6.0.5/configuration/suricata-yaml.html#stats

============================================================================================

metlo.yaml:

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: metlo-app
spec:
selector:
matchLabels:
name: metlo-app
template:
metadata:
labels:
name: metlo-app
spec:
hostNetwork: true
tolerations:
# this toleration is to have the daemonset runnable on master nodes
# remove it if your masters can't run pods
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- name: suricata-daemon
image: metlo/suricata-daemon
imagePullPolicy: Always
securityContext:
privileged: true
env:
- name: METLO_ADDR
value: ------------
- name: METLO_KEY
value: *****

Thanks but..!!

Hey,

Thanks for making metlo Opensource, i think the future is OSS, but, do you've any plan guys to make a simple version of Protection feature available in OSS version? that may speed up the adoption of the product.

Metlo cli - SyntaxError: Unexpected token '.'

I install metlo from npm

npm i -g @metlo/cli

Server: Ubuntu 22.04.1 LTS
Nodejs: v12.22.9
Npm: 8.5.1
metlo: metlo/[email protected]

Error log

metlo --help
/usr/local/lib/node_modules/@metlo/cli/node_modules/@aws-sdk/client-ec2/dist-cjs/protocols/Aws_ec2.js:22372
        if (input.TagSpecifications?.length === 0) {
                                    ^

SyntaxError: Unexpected token '.'
    at wrapSafe (internal/modules/cjs/loader.js:915:16)
    at Module._compile (internal/modules/cjs/loader.js:963:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/@metlo/cli/node_modules/@aws-sdk/client-ec2/dist-cjs/commands/AcceptAddressTransferCommand.js:8:19)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)

my.metlo.com User License key invalid or expired

when i create an account in my.metlo.com , the website return me a user license key ,but i according to use it ,it tells me User License key invalid or expired, so how can i solve this problem , it may be a bug

Integrate pull request preview environments

I would like to support Metlo by implementing Uffizzi preview environments.
Disclaimer: I work on Uffizzi.

Uffizzi is a Open Source full stack previews engine and our platform is available completely free for Metlo (and all open source projects). This will provide maintainers with preview environments of every PR in the cloud, which enables faster iterations and reduces time to merge. You can see the open source repos which are currently using Uffizzi over here

Uffizzi is purpose-built for the task of previewing PRs and it integrates with your workflow to deploy preview environments in the background without any manual steps for maintainers or contributors.

We can go ahead and create an Initial PoC for you right away if you think there is value in this proposal.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.