Skip to content

codelibs/fessctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FessCTL License

fessctl is a command-line interface (CLI) tool to manage Fess via its Admin API.

Fess is an open-source enterprise search server based on OpenSearch.
fessctl allows developers and operators to automate and script administrative tasks such as:

  • Creating or updating crawler configurations
  • Managing users and roles
  • Starting or stopping scheduled jobs
  • Exporting and importing settings
  • Monitoring system health

(Currently under development, more features and improvements are on the way. Stay tuned for updates!)

Installation and Usage

There are three ways to use fessctl:

Method 1: Using Pre-built Docker Image

The easiest way to get started is using the pre-built Docker image:

docker run --rm \
  -e FESS_ENDPOINT=https://your-fess-server \
  -e FESS_ACCESS_TOKEN=your_access_token_here \
  -e FESS_VERSION=15.1.0 \
  ghcr.io/codelibs/fessctl:0.1.0 --help

Run actual commands:

docker run --rm \
  -e FESS_ENDPOINT=https://your-fess-server \
  -e FESS_ACCESS_TOKEN=your_access_token_here \
  -e FESS_VERSION=15.1.0 \
  ghcr.io/codelibs/fessctl:0.1.0 ping

docker run --rm \
  -e FESS_ENDPOINT=https://your-fess-server \
  -e FESS_ACCESS_TOKEN=your_access_token_here \
  -e FESS_VERSION=15.1.0 \
  ghcr.io/codelibs/fessctl:0.1.0 user list

Method 2: Building Your Own Docker Image

Clone the repository and build the Docker image locally:

git clone https://github.com/your-org/fessctl.git
cd fessctl
docker build -t fessctl:latest .

Then run with your custom image:

docker run --rm \
  -e FESS_ENDPOINT=https://your-fess-server \
  -e FESS_ACCESS_TOKEN=your_access_token_here \
  -e FESS_VERSION=15.1.0 \
  fessctl:latest --help

Method 3: Install from Source with pip

For development or when you need to modify the source code:

Requirements

  • Python 3.13+
  • uv (recommended for environment setup)

Setup

git clone https://github.com/your-org/fessctl.git
cd fessctl
uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
uv pip install -e src

Usage

export FESS_ACCESS_TOKEN=your_access_token_here
export FESS_ENDPOINT=https://your-fess-server
export FESS_VERSION=15.1.0

fessctl --help
fessctl ping
fessctl user list
fessctl webconfig create --name TestConfig --url https://test.config.com/

Environment Variables

All three methods require the following environment variables:

  • FESS_ENDPOINT: The URL of your Fess server's API endpoint (default: http://localhost:8080)
  • FESS_ACCESS_TOKEN: Bearer token for API authentication (required)
  • FESS_VERSION: Target Fess version for API compatibility (default: 15.1.0)

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Contributing

Pull requests are welcome! Feel free to open issues or discussions to suggest features, report bugs, or ask questions.

About

CLI tool to manage Fess using the admin API

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •