athenz
CLAUDE.md1k starsChanged 6 months agoApache-2.0View on GitHub
Athenz is an open source platform for X.509 certificate based service authentication and fine-grained role-based access control (RBAC) in dynamic infrastructures. It consists of three main components: The project uses RDL (REST Description Language) for API definition and code generation: - API definitions: servers/zms/src/main/rdl/ZMS.rdl, servers/zts/src/main/rdl/ZTS.rdl - Code generators: Located in rdl/ directory - Regenerate stubs: Run scripts/make_stubs.sh in relevant server directories
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about AthenZ/athenz
- line/armeria“Allow specifying JWKS path in `AthenzService`”GitHub · Sep 8, 2025 · 1 reactions
- mlajkim/id-jag-the-hard-way“docs(research): inspect ID token exchange OIDC port and audience behavior”GitHub · Nov 6, 2026
- open-telemetry/opentelemetry-collector-contrib“ [exporter/pulsar] Enable AIX support”GitHub · Nov 5, 2026
- open-telemetry/opentelemetry-collector-contrib“receiver/pulsar: add AIX support”GitHub · Nov 2, 2026
- mlajkim/id-jag-the-hard-way“Research: DNS Hostname tested for the `zts-svccert`”GitHub · Oct 30, 2026
The biggest 5 of 47 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 47
Talked about on GitHub (47 times).
On GitHub · 47
- Sep 8, 2025Allow specifying JWKS path in `AthenzService` — line/armeria1 reaction · 2 comments
- Nov 6, 2026docs(research): inspect ID token exchange OIDC port and audience behavior — mlajkim/id-jag-the-hard-way0 reactions
- Nov 5, 2026 [exporter/pulsar] Enable AIX support — open-telemetry/opentelemetry-collector-contrib0 reactions · 1 comment
- Nov 2, 2026receiver/pulsar: add AIX support — open-telemetry/opentelemetry-collector-contrib0 reactions · 2 comments
- Oct 30, 2026Research: DNS Hostname tested for the `zts-svccert` — mlajkim/id-jag-the-hard-waysays it tested it0 reactions
42 more on GitHub
- Oct 26, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions · 1 comment
- Oct 26, 2026Feat: Athenz nodejs provider vulnerability tested — mlajkim/id-jag-the-hard-waysays it tested it0 reactions
- Oct 25, 2026chore(deps): update module github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor to v1 — k4ji/otelcol-tracesimulationreceiver0 reactions
- Oct 12, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions · 1 comment
- Sep 29, 2026fix(deps): update module github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor to v0.163.0 — gardener/gardener-extension-otelcol0 reactions · 3 comments
- Sep 21, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions · 1 comment
- Sep 14, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Sep 14, 2026Bump the all group across 1 directory with 9 updates — AthenZ/athenz-issuer0 reactions
- Sep 7, 2026Bump the all group across 1 directory with 8 updates — AthenZ/athenz-issuer0 reactions · 1 comment
- Sep 2, 2026perf(pulsar): pulsar 客户端的依赖树把二进制体积拉大了一倍 — amigoer/mq-studio0 reactions
- Aug 31, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Aug 31, 2026Bump the all group across 1 directory with 5 updates — AthenZ/athenz-issuer0 reactions · 1 comment
- Aug 29, 2026Enable FreeBSD/amd64 support for Pulsar receiver via AthenZ update — open-telemetry/opentelemetry-collector-contrib0 reactions · 28 comments
- Aug 28, 2026Bump the all group across 1 directory with 6 updates — AthenZ/athenz-issuer0 reactions · 1 comment
- Aug 24, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Aug 20, 2026chore(maintainers): add psasidhar to Athenz maintainers — cncf/foundation0 reactions
- Aug 4, 2026feat: supply x509CertInstanceId from the ServiceAccount UID — AthenZ/athenz-issuer0 reactions · 1 comment
- Jul 27, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Jul 26, 2026add: zms-syncer usecase — ctyano/athenz-distribution0 reactions · 12 comments
- Jul 24, 2026Bump the all group across 1 directory with 9 updates — AthenZ/athenz-issuer0 reactions · 1 comment
- Jul 22, 2026Support ZTS external ID certificate endpoint — ctyano/athenz-user-cert0 reactions · 1 comment
- Jul 21, 2026Bump the all group across 1 directory with 5 updates — AthenZ/athenz-issuer0 reactions · 1 comment
- Jun 23, 2026Bump the all group across 1 directory with 9 updates — AthenZ/athenz-issuer0 reactions · 1 comment
- Jun 22, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Jun 1, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- May 26, 2026Use `ETag` when fetching Athenz policies — line/armeria0 reactions · 2 comments
- May 18, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- May 11, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Apr 27, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Apr 20, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Mar 30, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Mar 16, 2026Bump the "maven" group with 1 update across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Mar 2, 2026Bump the "maven" group with 1 updates across multiple ecosystems — ctyano/athenz-plugins0 reactions
- Aug 25, 2025dapr-1.15 fails to build on amd64 — wolfi-dev/os0 reactions
- Feb 4, 2025Moderate CVE in transitive dependency gopkg.in/square/go-jose.v2 — apache/pulsar-client-go0 reactions
- Mar 27, 2024use standard GenerateAccessTokenRequestString() — AthenZ/k8s-athenz-sia0 reactions
- Jul 5, 2023Update athenz.version to v1.12.50 — bjorncs/vespa0 reactions
- May 20, 2023Tests fail on various platforms (32bit, s390x, ppc64le) — redpanda-data/connect0 reactions · 2 comments
- Mar 13, 2023ignore `go.mod` by default — crate-ci/typos0 reactions · 1 comment
- Dec 23, 2021leads to stored xss — arunsamlegion/athenz0 reactions
- Aug 5, 2021remove go.mod replace when the underlining dependency have versioned up — yahoojapan/athenz-client-sidecar0 reactions · 1 comment
- Aug 5, 2021remove go.mod replace when the underlining dependency have versioned up — yahoojapan/authorization-proxy0 reactions · 1 comment
The file
We split this CLAUDE.md into the rules it gives an agent
8 rules. About 0 are common, 2 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 83
Regenerate stubs: Run scripts/make_stubs.sh in relevant server directories
- Very specific: line 97
Test resources in src/test/resources/
- Very specific: line 107
Test files follow *_test.go pattern
- Very specific: line 124
Local Development: Use Docker setup in docker/ for full local environment
- Very specific: line 125
UI Development: Use docker/prepare-ui-dev-env.sh for UI-focused development
- Very specific: line 126
Testing: Always run tests before committing (mvn test for Java, npm test for UI)
- Distinctive: line 128
Documentation: Update relevant README files when adding new components
- Distinctive: line 136
When working with this codebase, always consider the distributed nature of the system and the security implications of authentication and …
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Athenz is an open source platform for X.509 certificate based service authentication and fine-grained role-based access control (RBAC) in dynamic infrastructures. It consists of three main components:
- ZMS (Athenz Management System): Centralized authorization system for domains, roles, and policies
- ZTS (Athenz Token System): Decentralized token service for issuing authentication tokens and X.509 certificates
- UI: React-based web interface for managing Athenz resources
Development Commands
Java/Maven Build System
- Build all components:
mvn clean install - Run tests:
mvn test - Skip tests:
mvn install -DskipTests - Build with Docker profile:
mvn install -DdockerBuild=true - Generate code coverage: Tests automatically run with JaCoCo coverage (minimum 100% line coverage required)
- Checkstyle validation: Runs automatically during build using
athenz-checkstyle.xml
UI Development (Node.js/React)
Navigate to ui/ directory:
- Development server:
npm run dev - Build for production:
npm run build - Run tests:
npm test - Fix linting:
npm run fix-lint - Check linting:
npm run ci-lint - Functional tests:
npm run functional
Go Components
Many Go components have individual Makefiles:
- Build Go clients/libraries:
makein respective directories - Run Go tests:
make test(where available)
Docker Development
Navigate to docker/ directory:
- Build all Docker images:
make build - Deploy development environment:
make deploy-dev - Deploy local environment:
make deploy-local - Prepare UI development environment:
make prepare-ui-dev-env - Verify deployment:
make verify - Clean up:
make clean
Architecture & Components
Core Services
- ZMS Server (
servers/zms/): Centralized management service, source of truth for authorization data - ZTS Server (
servers/zts/): Token and certificate issuing service for decentralized authorization - UI (
ui/): React-based management interface
Client Libraries
- Java clients (
clients/java/): zms, zts, zpe, msd clients - Go clients (
clients/go/): zms, zts, msd clients - Node.js clients (
clients/nodejs/): zts, zpe clients
Core Libraries
- Java libs (
libs/java/): auth_core, server_common, cert_refresher, instance_provider - Go libs (
libs/go/): sia (Service Identity Agent), zmscli, zmssvctoken, athenzutils - Node.js libs (
libs/nodejs/): auth_core
Service Identity Agents (SIA)
Located in provider/ - platform-specific identity providers:
- AWS: sia-ec2, sia-eks, sia-fargate
- GCP: sia-gce, sia-gke, sia-run
- Azure: sia-vm
- CI/CD: sia-actions (GitHub), sia-buildkite, sia-harness
Utilities
Located in utils/ - command-line tools:
- zms-cli: ZMS management CLI
- zts-roletoken: Role token management
- zts-accesstoken: Access token management
- zts-rolecert: Role certificate management
- zts-svccert: Service certificate management
Code Generation
The project uses RDL (REST Description Language) for API definition and code generation:
- API definitions:
servers/zms/src/main/rdl/ZMS.rdl,servers/zts/src/main/rdl/ZTS.rdl - Code generators: Located in
rdl/directory - Regenerate stubs: Run
scripts/make_stubs.shin relevant server directories
Database Schema
- ZMS Database: Schema in
servers/zms/schema/zms_server.sql - ZTS Database: Schema in
servers/zts/schema/zts_server.sql - Schema updates: Incremental updates in
servers/*/schema/updates/
Testing
Java Testing
- Uses TestNG framework
- Mockito for mocking
- Minimum 100% line coverage enforced via JaCoCo
- Test resources in
src/test/resources/
UI Testing
- Jest for unit tests
- WebdriverIO for functional tests
- React Testing Library for component tests
- Tests in
src/__tests__/
Go Testing
- Standard Go testing framework
- Test files follow
*_test.gopattern
Configuration
Server Configuration
- ZMS config:
servers/zms/conf/zms.properties - ZTS config:
servers/zts/conf/zts.properties - UI config:
ui/src/config/config.js
Security
- X.509 certificates for service authentication
- Private keys stored securely (never in code)
- Certificate signing and validation throughout
- OAuth2 and JWT token support
Development Workflow
- Local Development: Use Docker setup in
docker/for full local environment - UI Development: Use
docker/prepare-ui-dev-env.shfor UI-focused development - Testing: Always run tests before committing (
mvn testfor Java,npm testfor UI) - Code Style: Checkstyle enforced for Java, Prettier for JavaScript/React
- Documentation: Update relevant README files when adding new components
Build Profiles
- Default: Builds all components
- docker-build: Optimized for Docker container builds
- maven-central: For publishing releases
When working with this codebase, always consider the distributed nature of the system and the security implications of authentication and authorization changes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

