1.0.0-alpha.75
Fixed a bug in alpha.74 that caused slow upload speeds to Ubicloud and enabled global acceleration. Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.74...1.0.0-alpha.75
1.0.0-alpha.74
- build(deps): bump s3s from 0.12.0-rc.4 to 0.12.0-rc.5 in the s3s group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1046
- upgrade action checkout version from v5 to v6 by @houseme in https://github.com/rustfs/rustfs/pull/1067
- helm: Use service.type from Values by @simonswine in https://github.com/rustfs/rustfs/pull/1106
- chore: remove unused dependencies to optimize build by @houseme in https://github.com/rustfs/rustfs/pull/1117
- Fix Docker-based Development Workflow by @YGoetschel in https://github.com/rustfs/rustfs/pull/1031
- Feat/e2e s3tests by @overtrue in https://github.com/rustfs/rustfs/pull/1120
- Fix type errors in
ecfs.rsand apply clippy fixes for Rust 1.92.0 by @houseme in https://github.com/rustfs/rustfs/pull/1121 - feat: Be able to set region from Helm chart by @swolf-regnology in https://github.com/rustfs/rustfs/pull/1119
- add image pull secret support by @majinghe in https://github.com/rustfs/rustfs/pull/1127
- render imagePullSecrets in Deployment/StatefulSet by @czaloumis in https://github.com/rustfs/rustfs/pull/1130
- fix: update tool chain make everything happy by @yihong0618 in https://github.com/rustfs/rustfs/pull/1134
- flake: add Nix flake for reproducible builds by @Mic92 in https://github.com/rustfs/rustfs/pull/1096
- Replace placeholder content in SECURITY.md by @llominski in https://github.com/rustfs/rustfs/pull/1140
- Add docs for using Nix flake by @Mic92 in https://github.com/rustfs/rustfs/pull/1103
- Fix memory leak in Cache update method by @sunfkny in https://github.com/rustfs/rustfs/pull/1143
- helm: refactor helm chart by @jurim76 in https://github.com/rustfs/rustfs/pull/1122
- helm: Mount /tmp as emptyDir by @simonswine in https://github.com/rustfs/rustfs/pull/1105
- build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1148
- feat: add pre-commit file by @yihong0618 in https://github.com/rustfs/rustfs/pull/1155
- list object version Interface returns storage_class by @GatewayJ in https://github.com/rustfs/rustfs/pull/1133
- fix: other two memory leak in the code base by @yihong0618 in https://github.com/rustfs/rustfs/pull/1160
- feat: Implement AWS policy variables support by @yxrxy in https://github.com/rustfs/rustfs/pull/1131
- feat: Implement whitelist-based HTTP response compression configuration by @reatang in https://github.com/rustfs/rustfs/pull/1136
- fix: the method for correcting judgment headers by @GatewayJ in https://github.com/rustfs/rustfs/pull/1159
- fix: format of bucket event notifications by @mythrnr in https://github.com/rustfs/rustfs/pull/1138
- Dependabot/cargo/s3s df2434d 1216 by @houseme in https://github.com/rustfs/rustfs/pull/1170
- feat: Replace LRU cache with Moka async cache in policy variables by @yxrxy in https://github.com/rustfs/rustfs/pull/1166
- fix: improve S3 API compatibility for ListObjects operations by @overtrue in https://github.com/rustfs/rustfs/pull/1173
- 🧑💻 Improve shebang compatibility by @mhkarimi1383 in https://github.com/rustfs/rustfs/pull/1180
- fix: Remove the compression check that has already been handled by
tower-http::CompressionLayer. by @reatang in https://github.com/rustfs/rustfs/pull/1190 - Fix/fix event 1216 by @houseme in https://github.com/rustfs/rustfs/pull/1191
- @simonswine made their first contribution in https://github.com/rustfs/rustfs/pull/1106
- @YGoetschel made their first contribution in https://github.com/rustfs/rustfs/pull/1031
- @swolf-regnology made their first contribution in https://github.com/rustfs/rustfs/pull/1119
- @czaloumis made their first contribution in https://github.com/rustfs/rustfs/pull/1130
- @llominski made their first contribution in https://github.com/rustfs/rustfs/pull/1140
- @sunfkny made their first contribution in https://github.com/rustfs/rustfs/pull/1143
- @jurim76 made their first contribution in https://github.com/rustfs/rustfs/pull/1122
- @mythrnr made their first contribution in https://github.com/rustfs/rustfs/pull/1138
- @mhkarimi1383 made their first contribution in https://github.com/rustfs/rustfs/pull/1180
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.73...1.0.0-alpha.74
v1.30.1 🐸
Fix task attribution during index swap to prevent cross-index task loss by @YoEight in https://github.com/meilisearch/meilisearch/pull/6059
This change fixes the parenting of the tasks when doing an index swap.
Hotfix: log a warning when FieldidsWeightsMap is missing entry by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6064
This hotfix avoids the encounter of following error during a search request:
{
"message": "Inside `<query>`: Index `<index_uid>`: internal: missing <field_id> in the fieldids weights mapping.",
"code": "internal",
"type": "internal",
"link": "https://docs.meilisearch.com/errors#internal"
}
9.2.3
QuestDB 9.2.3 is a patch release bringing the usual swathe of fixes, performance enhancements, and a few new features. You'll see higher QPS, faster GROUP BY queries, and better performance for high-contention materialized views.
There will be one more release before Christmas, bringing the new WINDOW JOIN syntax. Stay tuned!
For any questions or feedback, please join us on Slack or on Discourse.
See also our prettier release notes page.
- Materialized Views
- Faster updates under high contention: views which update frequently (multiple times per second) will now use significantly less resources and have reduced refresh latency.
- Faster historical refreshes: views with very small
SAMPLE BYunits will now refresh much more quickly, especially for historical or full refreshes.
- TTL
- Additional safety checks: TTL will now use
min(maxTimestamp, wallClockTime)as the predicate for dropping old partitions, rather than justmaxTimestamp. This avoids accidental partition drops when erroneous timestamps are written to the table.
- Additional safety checks: TTL will now use
- SQL
- Faster (de)allocations: Memory deallocations have been sped up significantly, with
jemallocnow enabled by default on Linux builds. This particularly helps for reducing query tail latencies. - Faster query compilation: Query parsing performance has been improved by around ~4x. This reduces latency for lightweight and fast-to-execute queries, and maximises concurrent QPS when prepared statements are not used.
- Faster single-key
GROUP BY:GROUP BYqueries that group by a single key will now execute ~2-3x faster.- e.g.
SELECT symbol, count() as count FROM trades GROUP BY symbol ORDER BY count DESC LIMIT 10;
- e.g.
- Faster non-keyed averages: Keyless
GROUP BYqueries will now execute ~1.3x faster.- e.g.
SELECT AVG(price) FROM trades;
- e.g.
- Decimal fills:
SAMPLE BYwithFILLnow properly supports the newDECIMALtype.
- Faster (de)allocations: Memory deallocations have been sped up significantly, with
- fix(core): fix missing partition dir on table reader open when writing identical data with dedup by @ideoma in https://github.com/questdb/questdb/pull/6479
- fix(sql): crash when using parallel ORDER BY with LIMIT and JIT filter by @puzpuzpuz in https://github.com/questdb/questdb/pull/6482
- fix(ui): remove line ending declarations from web console assembly descriptor by @emrberk in https://github.com/questdb/questdb/pull/6490
- feat(core): hints for handling histogram out of bounds error for approx_percentile()/approx_median() by @peter007-cmd in https://github.com/questdb/questdb/pull/6446
- perf(sql): use unordered maps only in single-column case by @puzpuzpuz in https://github.com/questdb/questdb/pull/6481
- fix(sql): fix parquet export bug when SQL contains
now()function by @kafka1991 in https://github.com/questdb/questdb/pull/6499 - fix(sql): fix empty result set from limit queries by @bluestreak01 in https://github.com/questdb/questdb/pull/6504
- fix(sql): fix potential crash when
ORDER BYsymbol column added viaALTER TABLE ADD COLUMNby @kafka1991 in https://github.com/questdb/questdb/pull/6505 - fix(sql): improve refresh step estimation for sparse data with small
sample byinterval by @kafka1991 in https://github.com/questdb/questdb/pull/6517 - chore(utils): update async-profiler to 4.2.1 by @jerrinot in https://github.com/questdb/questdb/pull/6473
- fix(core): data corruption after range replace on column top partition by @puzpuzpuz in https://github.com/questdb/questdb/pull/6519
- fix(http): correct HTTP content length for JSON responses by @kafka1991 in https://github.com/questdb/questdb/pull/6520
- perf(core): optimize mat view writing by skipping transactions that are fully replaced by future commits or full refresh (2) by @ideoma in https://github.com/questdb/questdb/pull/6495
- fix(core): fix bad connection state after TLS session initialization failure by @jerrinot in https://github.com/questdb/questdb/pull/6529
- fix(sql): fix potential unexpected exception when parquet file schema changed in
read_parquet()by @kafka1991 in https://github.com/questdb/questdb/pull/6513 - feat(core): use wall clock for TTL to prevent accidental data loss by @bluestreak01 in https://github.com/questdb/questdb/pull/6531
- fix(sql): support for decimal types in group by fill and selected cursor by @RaphDal in https://github.com/questdb/questdb/pull/6532
- fix(sql): not to ignore outer limit if a subquery has a filter and another limit by @glasstiger in https://github.com/questdb/questdb/pull/6533
- perf(sql): reduce query latency from memory deallocation overhead on Linux x86_64 by @jerrinot in https://github.com/questdb/questdb/pull/6477
- fix(sql): fix symbol column nullValue flag when adding column to non-empty table by @kafka1991 in https://github.com/questdb/questdb/pull/6507
- perf(sql): improve latency of parsing SQL expressions by @bluestreak01 in https://github.com/questdb/questdb/pull/6538
- perf(sql): speed up avg() functions in non-keyed GROUP BY queries by @puzpuzpuz in https://github.com/questdb/questdb/pull/6542
- fix(core): UPDATE to work with bind variables for TIMESTAMP columns by @glasstiger in https://github.com/questdb/questdb/pull/6510
- fix(sql): allow aggregate functions inside CASE expressions by @bluestreak01 in https://github.com/questdb/questdb/pull/6550
- @peter007-cmd made their first contribution in https://github.com/questdb/questdb/pull/6446
Full Changelog: https://github.com/questdb/questdb/compare/9.2.2...9.2.3
Fluent Bit 4.2.1
https://fluentbit.io/announcements/v4.2.1/
- release: update to 4.2.1 by @github-actions[bot] in https://github.com/fluent/fluent-bit/pull/11154
- workflows: Not to make latest on publishing 4.1 series on GitHub Relases by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11166
- in_forward: fix connection release on pause memory corruption by @sparrc in https://github.com/fluent/fluent-bit/pull/11114
- workflows: Remove unused tools from unit-tests workflow for extending available disk space by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11184
- workflows: bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/fluent/fluent-bit/pull/11190
- in_opentelemetry: added five missing configuration option descriptions. Fixes #11191. by @eschabell in https://github.com/fluent/fluent-bit/pull/11192
- out_s3: implement retry_limit parameter by @shadowshot-x in https://github.com/fluent/fluent-bit/pull/10825
- in_blob: added missing configuration descriptions. Fixes #11204. by @eschabell in https://github.com/fluent/fluent-bit/pull/11206
- tls: openssl: Implement flexible certstore loading on Windows by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11200
- in_kubernetes_events: add support for configuring input upstream network setup by @slab-msft in https://github.com/fluent/fluent-bit/pull/11188
- workflows: add new commit linter tool by @edsiper in https://github.com/fluent/fluent-bit/pull/11245
- workflows: bump actions/checkout from 4 to 6 by @dependabot[bot] in https://github.com/fluent/fluent-bit/pull/11248
- workflows: bump actions/setup-python from 5 to 6 by @dependabot[bot] in https://github.com/fluent/fluent-bit/pull/11249
- dockerfile: Docker image to support large page sizes by @mlsorensen in https://github.com/fluent/fluent-bit/pull/11164
- dockerfile: update to Debian Trixie by @patrick-stephens in https://github.com/fluent/fluent-bit/pull/11006
- in_elasticsearch: fixing missing config parameter description for http2. Fixes #11221. by @eschabell in https://github.com/fluent/fluent-bit/pull/11226
- in_exec_wasi: fix config key typo 'bool' to 'oneshot'. Fixes #11232. by @eschabell in https://github.com/fluent/fluent-bit/pull/11233
- in_forward: improve configuration parameter descriptions by @eschabell in https://github.com/fluent/fluent-bit/pull/11235
- github: commit_linter: Make more flexibility for commit linter by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11251
- build: prevent the toolchain from emitting an executable stack by @edsiper in https://github.com/fluent/fluent-bit/pull/11258
- in_forward: fix segfault and double-free in trace path handling by @edsiper in https://github.com/fluent/fluent-bit/pull/11257
- in_node_exporter_metrics: Increase buffer size to read /proc/stat correctly by @piwai in https://github.com/fluent/fluent-bit/pull/11253
- in_http: added missing config parameter descriptions. by @eschabell in https://github.com/fluent/fluent-bit/pull/11240
- workflows: bump peter-evans/create-pull-request from 7 to 8 by @dependabot[bot] in https://github.com/fluent/fluent-bit/pull/11275
- out_flowcounter: Fix incorrect bytes calcuation by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11259
- workflows: bump actions/cache from 4 to 5 by @dependabot[bot] in https://github.com/fluent/fluent-bit/pull/11281
- workflows: bump actions/download-artifact from 6 to 7 by @dependabot[bot] in https://github.com/fluent/fluent-bit/pull/11290
- workflows: bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/fluent/fluent-bit/pull/11289
- github: workflows: Clean up needless resources on GHA workers by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11288
- in_ebpf: add three missing config option descriptions. Fixes #11221. by @eschabell in https://github.com/fluent/fluent-bit/pull/11222
- in_gpu_metrics: updated config parameters descriptions. by @eschabell in https://github.com/fluent/fluent-bit/pull/11237
- build: Tweak linker flags for zstd by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11111
- in_winevtlog: Plug glitches of time offset for DST/STD switches by @cosmo0920 in https://github.com/fluent/fluent-bit/pull/11291
- @slab-msft made their first contribution in https://github.com/fluent/fluent-bit/pull/11188
- @mlsorensen made their first contribution in https://github.com/fluent/fluent-bit/pull/11164
- @piwai made their first contribution in https://github.com/fluent/fluent-bit/pull/11253
Full Changelog: https://github.com/fluent/fluent-bit/compare/v4.2.0...v4.2.1
v3.6.7
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.6.7
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
ETCD_VER=v3.6.7
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.
ETCD_VER=v3.6.7
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-${ETCD_VER} \
gcr.io/etcd-development/etcd:${ETCD_VER} \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
v3.5.26
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.5.26
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
ETCD_VER=v3.5.26
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.
ETCD_VER=v3.5.26
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-${ETCD_VER} \
gcr.io/etcd-development/etcd:${ETCD_VER} \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo
v3.4.40
Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
ETCD_VER=v3.4.40
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
# start a local etcd server
/tmp/etcd-download-test/etcd
# write,read to etcd
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar
/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo
ETCD_VER=v3.4.40
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.
ETCD_VER=v3.4.40
rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \
docker run \
-p 2379:2379 \
-p 2380:2380 \
--mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
--name etcd-gcr-${ETCD_VER} \
gcr.io/etcd-development/etcd:${ETCD_VER} \
/usr/local/bin/etcd \
--name s1 \
--data-dir /etcd-data \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-peer-urls http://0.0.0.0:2380 \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--initial-cluster s1=http://0.0.0.0:2380 \
--initial-cluster-token tkn \
--initial-cluster-state new \
--log-level info \
--logger zap \
--log-outputs stderr
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar
docker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo