diff --git a/common/pom.xml b/common/pom.xml
index fd49cb625d..2054d10811 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -145,41 +145,4 @@
-
-
-
- go-sdk-generate-docker
-
-
- !skipNonJavaGen
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- 3.2.0
-
-
-
- exec
-
- generate-sources
-
-
-
- /usr/bin/env
- ${project.basedir}/../go-sdk
-
- bash
- generate-docker.sh
-
-
-
-
-
-
-
-
diff --git a/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc b/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc
index f02bc2a480..19f38e6284 100644
--- a/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc
+++ b/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc
@@ -294,27 +294,27 @@ The following {registry} configuration options are available for each component
|
|`1.2.3.Final`
|Ignored liveness errors
-|`apicurio.metrics.PersistenceExceptionLivenessCheck.counterResetWindowDurationSec`
+|`apicurio.metrics.PersistenceExceptionLivenessCheck.counterResetWindowDuration.seconds`
|`integer`
|`60`
|`1.0.2.Final`
|Counter reset window duration of persistence liveness check
-|`apicurio.metrics.PersistenceExceptionLivenessCheck.disableLogging`
-|`boolean`
-|`false`
-|`2.0.0.Final`
-|Disable logging of persistence liveness check
|`apicurio.metrics.PersistenceExceptionLivenessCheck.errorThreshold`
|`integer`
|`1`
|`1.0.2.Final`
|Error threshold of persistence liveness check
-|`apicurio.metrics.PersistenceExceptionLivenessCheck.statusResetWindowDurationSec`
+|`apicurio.metrics.PersistenceExceptionLivenessCheck.logging.disabled`
+|`boolean`
+|`false`
+|`2.0.0.Final`
+|Disable logging of persistence liveness check
+|`apicurio.metrics.PersistenceExceptionLivenessCheck.statusResetWindowDuration.seconds`
|`integer`
|`300`
|`1.0.2.Final`
|Status reset window duration of persistence liveness check
-|`apicurio.metrics.PersistenceTimeoutReadinessCheck.counterResetWindowDurationSec`
+|`apicurio.metrics.PersistenceTimeoutReadinessCheck.counterResetWindowDuration.seconds`
|`integer`
|`60`
|`1.0.2.Final`
@@ -324,7 +324,7 @@ The following {registry} configuration options are available for each component
|`5`
|`1.0.2.Final`
|Error threshold of persistence readiness check
-|`apicurio.metrics.PersistenceTimeoutReadinessCheck.statusResetWindowDurationSec`
+|`apicurio.metrics.PersistenceTimeoutReadinessCheck.statusResetWindowDuration.seconds`
|`integer`
|`300`
|`1.0.2.Final`
@@ -334,27 +334,27 @@ The following {registry} configuration options are available for each component
|`15`
|`1.0.2.Final`
|Timeout of persistence readiness check
-|`apicurio.metrics.ResponseErrorLivenessCheck.counterResetWindowDurationSec`
+|`apicurio.metrics.ResponseErrorLivenessCheck.counterResetWindowDuration.seconds`
|`integer`
|`60`
|`1.0.2.Final`
|Counter reset window duration of response liveness check
-|`apicurio.metrics.ResponseErrorLivenessCheck.disableLogging`
-|`boolean`
-|`false`
-|`2.0.0.Final`
-|Disable logging of response liveness check
|`apicurio.metrics.ResponseErrorLivenessCheck.errorThreshold`
|`integer`
|`1`
|`1.0.2.Final`
|Error threshold of response liveness check
-|`apicurio.metrics.ResponseErrorLivenessCheck.statusResetWindowDurationSec`
+|`apicurio.metrics.ResponseErrorLivenessCheck.logging.disabled`
+|`boolean`
+|`false`
+|`2.0.0.Final`
+|Disable logging of response liveness check
+|`apicurio.metrics.ResponseErrorLivenessCheck.statusResetWindowDuration.seconds`
|`integer`
|`300`
|`1.0.2.Final`
|Status reset window duration of response liveness check
-|`apicurio.metrics.ResponseTimeoutReadinessCheck.counterResetWindowDurationSec`
+|`apicurio.metrics.ResponseTimeoutReadinessCheck.counterResetWindowDuration.seconds`
|`instance`
|`60`
|`1.0.2.Final`
@@ -364,7 +364,7 @@ The following {registry} configuration options are available for each component
|`1`
|`1.0.2.Final`
|Error threshold of response readiness check
-|`apicurio.metrics.ResponseTimeoutReadinessCheck.statusResetWindowDurationSec`
+|`apicurio.metrics.ResponseTimeoutReadinessCheck.statusResetWindowDuration.seconds`
|`instance`
|`300`
|`1.0.2.Final`
@@ -447,7 +447,7 @@ The following {registry} configuration options are available for each component
|`-1`
|`2.1.0.Final`
|Max artifact description length
-|`apicurio.limits.config.max-label-size`
+|`apicurio.limits.config.max-label-size.bytes`
|`long`
|`-1`
|`2.1.0.Final`
@@ -457,12 +457,12 @@ The following {registry} configuration options are available for each component
|`-1`
|`2.1.0.Final`
|Max artifact name length
-|`apicurio.limits.config.max-property-key-size`
+|`apicurio.limits.config.max-property-key-size.bytes`
|`long`
|`-1`
|`2.1.0.Final`
|Max artifact property key size
-|`apicurio.limits.config.max-property-value-size`
+|`apicurio.limits.config.max-property-value-size.bytes`
|`long`
|`-1`
|`2.1.0.Final`
@@ -472,7 +472,7 @@ The following {registry} configuration options are available for each component
|`-1`
|`2.2.3.Final`
|Max artifact requests per second
-|`apicurio.limits.config.max-schema-size-bytes`
+|`apicurio.limits.config.max-schema-size.bytes`
|`long`
|`-1`
|`2.2.3.Final`
@@ -503,16 +503,16 @@ The following {registry} configuration options are available for each component
|Default
|Available from
|Description
-|`apicurio.redirects.enabled`
-|`boolean`
-|
-|`2.1.2.Final`
-|Enable redirects
|`apicurio.redirects`
|`map`
|
|`2.1.2.Final`
|Registry redirects
+|`apicurio.redirects.enabled`
+|`boolean`
+|
+|`2.1.2.Final`
+|Enable redirects
|`apicurio.url.override.host`
|`optional`
|
@@ -760,11 +760,6 @@ The following {registry} configuration options are available for each component
|`true`
|`2.0.0.Final`
|SQL init
-|`apicurio.storage.sql.kind`
-|`string`
-|`h2`
-|`3.0.0.Final`
-|Application datasource database type
|`apicurio.storage.kind`
|`string`
|
@@ -775,6 +770,11 @@ The following {registry} configuration options are available for each component
|`false`
|`2.5.0.Final`
|Enable Registry storage read-only mode
+|`apicurio.storage.sql.kind`
+|`string`
+|`h2`
+|`3.0.0.Final`
+|Application datasource database type
|`artifacts.skip.disabled.latest`
|`boolean`
|`true`
diff --git a/go-sdk/Makefile b/go-sdk/Makefile
index af0a6e3e9f..0a16b24809 100644
--- a/go-sdk/Makefile
+++ b/go-sdk/Makefile
@@ -1,20 +1,25 @@
+MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
+PROJECT_PATH := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
+PROJECT_BIN := $(PROJECT_PATH)/bin
+GO := $(PROJECT_BIN)/go1.20
+
+bin/go:
+ mkdir -p $(PROJECT_BIN)
+ GOBIN=$(PROJECT_BIN) go install golang.org/dl/go1.20@latest
+ $(PROJECT_BIN)/go1.20 download
.PHONY: clean
clean:
- rm -rf kiota_tmp v2.json v3.json
+ rm -rf $(PROJECT_BIN) kiota_tmp v2.json v3.json
.PHONY: generate
generate:
./generate.sh
-.PHONY: generate-docker
-generate-docker:
- ./generate-docker.sh
-
.PHONY: test
-test:
- go test ./... -count=1
+test: bin/go
+ GOBIN=$(PROJECT_BIN) ${GO} test ./... -count=1
.PHONY: test
-format:
- go fmt ./...
+format: bin/go
+ GOBIN=$(PROJECT_BIN) ${GO} fmt ./...
diff --git a/go-sdk/generate-docker.sh b/go-sdk/generate-docker.sh
deleted file mode 100755
index 44effb2525..0000000000
--- a/go-sdk/generate-docker.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env bash
-
-SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
-
-if ! which docker 2> /dev/null
-then
- echo "Error: 'docker' executable not found"
- exit 1
-fi
-
-
-UID=`id -u`
-GID=`id -g`
-
-
-read -r -d '' SCRIPT <<- END
-apt-get update &&
-apt-get -y install unzip &&
-apt-get -y install libicu-dev &&
-chmod u+rw /registry &&
-cd /registry/go-sdk &&
-make generate &&
-make format &&
-groupadd -g $GID -o localuser &&
-useradd -m -u $UID -g $GID -o -s /bin/bash localuser &&
-chown -R $UID /registry/go-sdk &&
-chgrp -R $GID /registry/go-sdk
-END
-
-docker run --platform linux/amd64 --rm -v $SCRIPT_DIR/..:/registry golang:1.21.6 /bin/bash -c "$SCRIPT"
diff --git a/go-sdk/pkg/registryclient-v3/groups/item_artifacts_item_versions_with_version_expression_item_request_builder.go b/go-sdk/pkg/registryclient-v3/groups/item_artifacts_item_versions_with_version_expression_item_request_builder.go
index 411c543060..47d8685f82 100644
--- a/go-sdk/pkg/registryclient-v3/groups/item_artifacts_item_versions_with_version_expression_item_request_builder.go
+++ b/go-sdk/pkg/registryclient-v3/groups/item_artifacts_item_versions_with_version_expression_item_request_builder.go
@@ -60,7 +60,7 @@ func (m *ItemArtifactsItemVersionsWithVersionExpressionItemRequestBuilder) Conte
return NewItemArtifactsItemVersionsItemContentRequestBuilderInternal(m.BaseRequestBuilder.PathParameters, m.BaseRequestBuilder.RequestAdapter)
}
-// Delete deletes a single version of the artifact. Parameters `groupId`, `artifactId` and the unique `version`are needed. If this is the only version of the artifact, this operation is the same as deleting the entire artifact.This feature is disabled by default and it's discouraged for normal usage. To enable it, set the `registry.rest.artifact.deletion.enabled` property to true. This operation can fail for the following reasons:* No artifact with this `artifactId` exists (HTTP error `404`)* No version with this `version` exists (HTTP error `404`) * Feature is disabled (HTTP error `405`) * A server error occurred (HTTP error `500`)
+// Delete deletes a single version of the artifact. Parameters `groupId`, `artifactId` and the unique `version`are needed. If this is the only version of the artifact, this operation is the same as deleting the entire artifact.This feature is disabled by default and it's discouraged for normal usage. To enable it, set the `apicurio.rest.artifact.deletion.enabled` property to true. This operation can fail for the following reasons:* No artifact with this `artifactId` exists (HTTP error `404`)* No version with this `version` exists (HTTP error `404`) * Feature is disabled (HTTP error `405`) * A server error occurred (HTTP error `500`)
func (m *ItemArtifactsItemVersionsWithVersionExpressionItemRequestBuilder) Delete(ctx context.Context, requestConfiguration *ItemArtifactsItemVersionsWithVersionExpressionItemRequestBuilderDeleteRequestConfiguration) error {
requestInfo, err := m.ToDeleteRequestInformation(ctx, requestConfiguration)
if err != nil {
diff --git a/go-sdk/pkg/registryclient-v3/kiota-lock.json b/go-sdk/pkg/registryclient-v3/kiota-lock.json
index 91d66b5a37..7e94a79ced 100644
--- a/go-sdk/pkg/registryclient-v3/kiota-lock.json
+++ b/go-sdk/pkg/registryclient-v3/kiota-lock.json
@@ -1,5 +1,5 @@
{
- "descriptionHash": "08E72D16D6B06384C173A2EC6C636BEF1B388AF1E8632780FCF1A9C0A1FA5F6FB947869ACDB700425DE34A3245F5802C60C1B164DEEC82CFE098287D61E804DD",
+ "descriptionHash": "313EFA5E0F1C0F3C53EB7A83656CE4AD17016776069114557F61DE096B74455F66FC36AF54C5DF5DAA1114D2A9E07657734A6AED94461CCBFC648A921F0B254D",
"descriptionLocation": "../../v3.json",
"lockFileVersion": "1.0.0",
"kiotaVersion": "1.10.1",
diff --git a/go-sdk/pom.xml b/go-sdk/pom.xml
new file mode 100644
index 0000000000..d914b7d013
--- /dev/null
+++ b/go-sdk/pom.xml
@@ -0,0 +1,54 @@
+
+
+ 4.0.0
+
+ io.apicurio
+ apicurio-registry
+ 3.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ apicurio-registry-go-sdk
+ jar
+ apicurio-registry-go-sdk
+
+
+
+ go-sdk-regenerate
+
+
+ !skipNonJavaGen
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.2.0
+
+
+
+ exec
+
+ generate-sources
+
+
+
+ make
+ ${project.basedir}
+
+ generate
+ format
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index 95b80bce55..f6185066c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,6 +98,7 @@
distro
docs
java-sdk
+ go-sdk
schema-util/common
@@ -125,7 +126,7 @@
11
11
- gnu
+ posix
16.17.0