tree: 44e0fb38978980b8452f78323c6d2d6e516e75b6 [path history] [tgz]
  1. docs/
  2. src/
  3. static/
  4. .dockerignore
  5. .env
  6. .gitignore
  7. .prettierignore
  8. .prettierrc
  9. docker-compose.yml
  10. Dockerfile
  11. eslint.config.js
  12. justfile
  13. LICENSE
  14. NOTICE
  15. package-lock.json
  16. package.json
  17. postcss.config.js
  18. README.md
  19. svelte.config.js
  20. tsconfig.json
  21. vite.config.ts
web/README.md

Apache Iggy Web UI

This project hosts the web user interface for Apache Iggy. The web UI is built using SvelteKit.

Web

Overview

The Iggy Web UI provides a user-friendly panel for managing various aspects of the Iggy platform, including streams, topics, partitions, and more.

The docker image is available, and can be fetched via docker pull apache/iggy-web-ui.

Getting Started

  1. Run Iggy server first

    docker pull apache/iggy:latest
    
    docker run -p 3000:3000 -p 8090:8090 apache/iggy:latest
    
  2. Clone the repository:

    git clone https://github.com/apache/iggy.git
    
  3. Build the project:

    cd web
    npm install
    
  4. Run the project:

    npm run dev
    

    To expose port in local network run:

    npm run dev -- --host --port 3333
    

    If Iggy server was run using cargo directly we need to change PUBLIC_IGGY_API_URL env in web ui root folder to:

    PUBLIC_IGGY_API_URL=http://127.0.0.1:3000
    

    instead of

    PUBLIC_IGGY_API_URL=http://localhost:3000
    

Roadmap

  • [x] Authorization
  • [x] Allow manual interval setting for auto-refresh
  • [x] Introduce dark mode
  • [x] Enable CRUD operations on Streams
  • [x] Enable CRUD operations on Topics
  • [ ] Messages management
  • [ ] General UI improvements
  • [ ] Permission management (in progress)
  • [x] GitHub actions CI/CD
  • [x] Publish to Dockerhub as separate Image

Contributing

Feel free to contribute to the project. Your feedback and contributions are highly appreciated!