Sign inSign up

opsource/apisix-tools

By opsource

•Updated almost 2 years ago

Comprehensive toolset for testing, debugging and interacting with APISIX management APIs

Image
Networking
Developer tools
Web servers
0

216

opsource/apisix-tools repository overview

The apisix-tools Docker image provides a comprehensive toolset for testing, debugging, and interacting with APISIX Admin APIs. This image includes pre-installed utilities like curl, jq, yq, and other essential tools to streamline development and operations workflows with Apache APISIX.

Features

API Testing and Debugging:

- curl: Test API endpoints quickly.

httpie: A user-friendly alternative to curl for API interaction.

- jq and yq: Parse and manipulate JSON and YAML responses efficiently.

Network Utilities:

- netcat-openbsd and dnsutils: Diagnose network issues and resolve DNS queries.
- openssl: Securely generate and manage SSL/TLS keys and certificates.

Development Tools:

- git: Clone and manage repositories for testing configurations or plugins.
- vim: Edit files directly within the container.

Load Testing:

- Includes k6, a powerful tool for performance and load testing.

Other Tools:

- python3 and pip: Extend capabilities with Python-based utilities.

- apache2-utils: Generate and verify HTTP digest authentication.

Use Cases

Testing APISIX Admin API:

Interact with the Admin API using pre-installed tools like curl and httpie.

Load Testing:

- Use k6 to simulate high traffic and evaluate APISIX's performance.

Configuration Validation:

- Parse and manipulate configurations using jq and yq.

Network Troubleshooting:

- Leverage dnsutils and netcat to debug connectivity issues in your environment.

Usage

Run the container in your Kubernetes cluster or as a standalone Docker container:

docker run -it opsource/apisix-tools:latest bash

From within the container, you can start testing:

curl -H "X-API-KEY: <your-admin-key>" http://apisix-admin.ingress-apisix.svc.cluster.local:9180
k6 run load_test.js

Run in Pod Kubernetes:

apiVersion: v1
kind: Pod
metadata:
  name: apisix-tool-pod
  namespace: ingress-apisix
spec:
  containers:
    - name: apisix-tool
      image: apisix-tools:latest
      env:
        - name: ADMIN_KEY
          value: "your_admin_key_here"
      command: ["sleep", "infinity"]

kubectl -n <namespace> exec -it apisix-tool-pod -- bash

Tag summary

Content type

Image

Digest

sha256:3e7383a51…

Size

281.8 MB

Last updated

almost 2 years ago

docker pull opsource/apisix-tools