Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .outpost.yaml.dev
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ portal:
# ID Generation
idgen:
type: "nanoid"
event_prefix: "evt"
destination_prefix: "des"
delivery_prefix: "dlv"
delivery_event_prefix: "dev"
event_prefix: "evt_"
destination_prefix: "des_"
delivery_prefix: "dlv_"
delivery_event_prefix: "dev_"

# Concurrency
publish_max_concurrency: 1
Expand Down
16 changes: 8 additions & 8 deletions docs/pages/references/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ Global configurations are provided through env variables or a YAML file. ConfigM
| `GCP_PUBSUB_SERVICE_ACCOUNT_CREDENTIALS` | JSON string or path to a file containing GCP service account credentials for Pub/Sub. Required if GCP Pub/Sub is the chosen MQ provider and not running in an environment with implicit credentials (e.g., GCE, GKE). | `nil` | Conditional |
| `GIN_MODE` | Sets the Gin framework mode (e.g., 'debug', 'release', 'test'). See Gin documentation for details. | `release` | No |
| `HTTP_USER_AGENT` | Custom HTTP User-Agent string for outgoing webhook deliveries. If unset, a default (OrganizationName/Version) is used. | `nil` | No |
| `IDGEN_DELIVERY_EVENT_PREFIX` | Prefix for delivery event IDs, prepended with underscore (e.g., 'dev_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_DELIVERY_PREFIX` | Prefix for delivery IDs, prepended with underscore (e.g., 'dlv_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_DESTINATION_PREFIX` | Prefix for destination IDs, prepended with underscore (e.g., 'dst_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_EVENT_PREFIX` | Prefix for event IDs, prepended with underscore (e.g., 'evt_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_DELIVERY_EVENT_PREFIX` | Prefix for delivery event IDs (e.g., 'dev_' produces 'dev_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_DELIVERY_PREFIX` | Prefix for delivery IDs (e.g., 'dlv_' produces 'dlv_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_DESTINATION_PREFIX` | Prefix for destination IDs (e.g., 'dst_' produces 'dst_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_EVENT_PREFIX` | Prefix for event IDs (e.g., 'evt_' produces 'evt_123'). Default: empty (no prefix) | `nil` | No |
| `IDGEN_TYPE` | ID generation type for all entities: uuidv4, uuidv7, nanoid. Default: uuidv4 | `uuidv4` | No |
| `LOG_BATCH_SIZE` | Maximum number of log entries to batch together before writing to storage. | `1000` | No |
| `LOG_BATCH_THRESHOLD_SECONDS` | Maximum time in seconds to buffer logs before flushing them to storage, if batch size is not reached. | `10` | No |
Expand Down Expand Up @@ -270,16 +270,16 @@ gin_mode: "release"
http_user_agent: ""

idgen:
# Prefix for delivery event IDs, prepended with underscore (e.g., 'dev_123'). Default: empty (no prefix)
# Prefix for delivery event IDs (e.g., 'dev_' produces 'dev_123'). Default: empty (no prefix)
delivery_event_prefix: ""

# Prefix for delivery IDs, prepended with underscore (e.g., 'dlv_123'). Default: empty (no prefix)
# Prefix for delivery IDs (e.g., 'dlv_' produces 'dlv_123'). Default: empty (no prefix)
delivery_prefix: ""

# Prefix for destination IDs, prepended with underscore (e.g., 'dst_123'). Default: empty (no prefix)
# Prefix for destination IDs (e.g., 'dst_' produces 'dst_123'). Default: empty (no prefix)
destination_prefix: ""

# Prefix for event IDs, prepended with underscore (e.g., 'evt_123'). Default: empty (no prefix)
# Prefix for event IDs (e.g., 'evt_' produces 'evt_123'). Default: empty (no prefix)
event_prefix: ""

# ID generation type for all entities: uuidv4, uuidv7, nanoid. Default: uuidv4
Expand Down
8 changes: 4 additions & 4 deletions internal/config/id_gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package config
// IDGenConfig is the configuration for ID generation
type IDGenConfig struct {
Type string `yaml:"type" env:"IDGEN_TYPE" desc:"ID generation type for all entities: uuidv4, uuidv7, nanoid. Default: uuidv4" required:"N"`
EventPrefix string `yaml:"event_prefix" env:"IDGEN_EVENT_PREFIX" desc:"Prefix for event IDs, prepended with underscore (e.g., 'evt_123'). Default: empty (no prefix)" required:"N"`
DestinationPrefix string `yaml:"destination_prefix" env:"IDGEN_DESTINATION_PREFIX" desc:"Prefix for destination IDs, prepended with underscore (e.g., 'dst_123'). Default: empty (no prefix)" required:"N"`
DeliveryPrefix string `yaml:"delivery_prefix" env:"IDGEN_DELIVERY_PREFIX" desc:"Prefix for delivery IDs, prepended with underscore (e.g., 'dlv_123'). Default: empty (no prefix)" required:"N"`
DeliveryEventPrefix string `yaml:"delivery_event_prefix" env:"IDGEN_DELIVERY_EVENT_PREFIX" desc:"Prefix for delivery event IDs, prepended with underscore (e.g., 'dev_123'). Default: empty (no prefix)" required:"N"`
EventPrefix string `yaml:"event_prefix" env:"IDGEN_EVENT_PREFIX" desc:"Prefix for event IDs (e.g., 'evt_' produces 'evt_123'). Default: empty (no prefix)" required:"N"`
DestinationPrefix string `yaml:"destination_prefix" env:"IDGEN_DESTINATION_PREFIX" desc:"Prefix for destination IDs (e.g., 'dst_' produces 'dst_123'). Default: empty (no prefix)" required:"N"`
DeliveryPrefix string `yaml:"delivery_prefix" env:"IDGEN_DELIVERY_PREFIX" desc:"Prefix for delivery IDs (e.g., 'dlv_' produces 'dlv_123'). Default: empty (no prefix)" required:"N"`
DeliveryEventPrefix string `yaml:"delivery_event_prefix" env:"IDGEN_DELIVERY_EVENT_PREFIX" desc:"Prefix for delivery event IDs (e.g., 'dev_' produces 'dev_123'). Default: empty (no prefix)" required:"N"`
}
2 changes: 1 addition & 1 deletion internal/idgen/idgen.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func (g *IDGenerator) Installation() string {
func (g *IDGenerator) generate(prefix string) string {
id := g.generator.generate()
if prefix != "" {
return prefix + "_" + id
return prefix + id
}
return id
}
Expand Down
4 changes: 2 additions & 2 deletions internal/idgen/idgen_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ func TestEvent_Generate(t *testing.T) {
{
name: "uuidv4 with prefix",
idType: "uuidv4",
prefix: "evt",
prefix: "evt_",
validate: func(t *testing.T, id string) {
if !strings.HasPrefix(id, "evt_") {
t.Errorf("ID should have prefix 'evt_', got: %s", id)
Expand Down Expand Up @@ -182,7 +182,7 @@ func TestEvent(t *testing.T) {
t.Run("uses configured type and prefix", func(t *testing.T) {
err := Configure(IDGenConfig{
Type: "uuidv4",
EventPrefix: "evt",
EventPrefix: "evt_",
})
if err != nil {
t.Fatalf("Configure() error = %v", err)
Expand Down