Resource Repositories
Overview
A Resource Repository is an extensible component in Jikkou that enables dynamic loading of resources from various sources (e.g., local directories, remote Git repositories) into the execution context.
Repositories are typically used to:
- Load reusable resources across multiple environments or teams
- Keep transient or computed resources separate from persistent definitions
- Inject configuration or validation policies dynamically
This feature is particularly useful when you want to define shareable or transient resources such
as ConfigMap
, ValidatingResourcePolicy
, or other resource types outside the CLI input or local context.
Configuration
Jikkou allows you to configure multiple repositories as follows:
jikkou {
repositories: [
{
# Unique name for the repository
name = "<repository-name>"
# Fully qualified class name or alias for the repository type
type = "<repository-class-or-alias>"
# Optional configuration specific to the repository implementation
config = {
# key = value
}
}
]
}
Built-in implementations
Jikkou ships with the following built-in ResourceRepository
implementations:
LocalResourceRepository
Loads resources from local files or directories.
Type: io.streamthoughts.jikkou.core.repository.LocalResourceRepository
Example Configuration
jikkou {
repositories = [
{
name = "local"
type = io.streamthoughts.jikkou.core.repository.LocalResourceRepository
config {
files = [
"./resources/",
"./policies/"
]
}
}
]
}
See more: LocalResourceRepository Configuration
GitHubResourceRepository
Loads resources from a public or private GitHub repository.
Type: io.streamthoughts.jikkou.core.repository.GitHubResourceRepository
Example Configuration
jikkou {
repositories = [
{
name = "github-repository"
type = io.streamthoughts.jikkou.core.repository.GitHubResourceRepository
config {
repository = "streamthoughts/jikkou"
branch = "main"
paths = [
"examples/",
"config/"
]
# Optionally set an access token for private repositories
# token = ${?GITHUB_TOKEN}
}
}
]
}
See more: GitHubResourceRepository Configuration