🐺 Deploy Databases and Services Easily for Development and Testing Pipelines.

Peanut

Deploy Databases and Services Easily for Development and Testing Pipelines.


Peanut provides an API and a command line tool to deploy and configure the commonly used services like databases, message brokers, graphing tools ... etc. It perfectly suited for development, manual testing, automated testing pipelines where mocking is not possible and test drives.

Under the hood, it works with the containerization runtime like docker to deploy and configure the service. Destroy the service if it is a temporary one.

Technically you can achieve the same with a bunch of yaml files or using a configuration management tool or a package manager like helm but peanut is pretty small and fun to use & should spead up your workflow!

Supported Services:

  • MySQL.
  • MariaDB.
  • PostgreSQL.
  • Redis.
  • Etcd.
  • Grafana.
  • Elasticsearch.
  • MongoDB.
  • Graphite.
  • Prometheus.
  • Zipkin.
  • Memcached.
  • Mailhog.
  • Jaeger.
  • RabbitMQ.

Documentation

Run Peanut on Ubuntu

To run peanut on ubuntu, You can use the following bash script since it may take a while for a cold start. the script will install etcd, docker, docker-compose and peanut.

$ bash < <(curl -s https://raw.githubusercontent.com/Clivern/Peanut/main/deployment/linux/install.sh)

# Get The Public IP
$ curl https://ipinfo.io/ip
x.x.x.x

Peanut will be running on 80 port and UI on this URL http://x.x.x.x. Please open this file /etc/peanut/config.prod.yml and adjust the following line to be your Public IP or hostname

# App configs
app:
    ...
    # Hostname
    hostname: ${PEANUT_API_HOSTNAME:-127.0.0.1}

Then Restart Peanut

$ systemctl restart peanut

To make sure peanut is running, Run the following from your laptop to run some redis instances for 10 minutes.

# To provision redis services for 10 minutes
$ curl -X POST http://$PUBLIC_IP/api/v1/service -d '{"service":"redis","configs": {},"deleteAfter":"10min"}' -H 'x-api-key: ~api~key~here~'

{
  "createdAt": "2021-07-11T09:58:11.076Z",
  "id": "aadd5741-58c5-43c7-94fd-e6c0171fe8be",
  "service": "a8138f52-3ebb-4a34-b403-1be6ad481daf",
  "status": "PENDING",
  "type": "service.deploy"
}


# To list services including the host and port to use for connection
$ curl -X GET http://$PUBLIC_IP/api/v1/service  -H 'x-api-key: ~api~key~here~'

{
  "services": [
    {
      "id": "9d655cbe-caf1-4104-b8e4-b83fd569b509",
      "service": "redis",
      "configs": {
        "address": "127.0.0.1",
        "password": "",
        "port": "49156"
      },
      "deleteAfter": "10min",
      "createdAt": "2021-07-11T09:58:13Z",
      "updatedAt": "2021-07-11T09:58:13Z"
    },
    {
      "id": "a8138f52-3ebb-4a34-b403-1be6ad481daf",
      "service": "redis",
      "configs": {
        "address": "127.0.0.2",
        "password": "",
        "port": "49155"
      },
      "deleteAfter": "",
      "createdAt": "2021-07-11T09:58:12Z",
      "updatedAt": "2021-07-11T09:58:12Z"
    }
  ]
}

There is also a script to upgrade peanut.

$ bash < <(curl -s https://raw.githubusercontent.com/Clivern/Peanut/main/deployment/linux/upgrade.sh)

Linux Deployment Explained

Download the latest peanut binary. Make it executable from everywhere.

$ export PEANUT_LATEST_VERSION=$(curl --silent "https://api.github.com/repos/Clivern/Peanut/releases/latest" | jq '.tag_name' | sed -E 's/.*"([^"]+)".*/\1/' | tr -d v)

$ curl -sL https://github.com/Clivern/Peanut/releases/download/v{$PEANUT_LATEST_VERSION}/peanut_{$PEANUT_LATEST_VERSION}_Linux_x86_64.tar.gz | tar xz

Then install etcd cluster or a single node! please refer to etcd docs or bin directory inside this repository.

Install the virtualization runtime! By default peanut uses docker & docker-compose

$ apt-get update
$ apt-get install docker.io -y
$ systemctl enable docker

$ apt-get install docker-compose -y

Create the configs file config.yml from config.dist.yml. Something like the following:

# App configs
app:
    # Env mode (dev or prod)
    mode: ${PEANUT_APP_MODE:-dev}
    # HTTP port
    port: ${PEANUT_API_PORT:-8000}
    # Hostname
    hostname: ${PEANUT_API_HOSTNAME:-127.0.0.1}
    # TLS configs
    tls:
        status: ${PEANUT_API_TLS_STATUS:-off}
        pemPath: ${PEANUT_API_TLS_PEMPATH:-cert/server.pem}
        keyPath: ${PEANUT_API_TLS_KEYPATH:-cert/server.key}

    # Containerization runtime (supported docker)
    containerization: ${PEANUT_CONTAINERIZATION_RUNTIME:-docker}

    # App Storage
    storage:
        # Type (only local supported)
        type: ${PEANUT_STORAGE_TYPE:-local}
        # Local Path
        path: ${PEANUT_STORAGE_PATH:-/tmp}

    # API Configs
    api:
        key: ${PEANUT_API_KEY:-6c68b836-6f8e-465e-b59f-89c1db53afca}

    # Async Workers
    workers:
        # Queue max capacity
        buffer: ${PEANUT_WORKERS_CHAN_CAPACITY:-5000}
        # Number of concurrent workers
        count: ${PEANUT_WORKERS_COUNT:-4}

    # Runtime, Requests/Response and Peanut Metrics
    metrics:
        prometheus:
            # Route for the metrics endpoint
            endpoint: ${PEANUT_METRICS_PROM_ENDPOINT:-/metrics}

    # Application Database
    database:
        # Database driver
        driver: ${PEANUT_DB_DRIVER:-etcd}

        # Etcd Configs
        etcd:
            # Etcd database name or prefix
            databaseName: ${PEANUT_DB_ETCD_DB:-peanut}
            # Etcd username
            username: ${PEANUT_DB_ETCD_USERNAME:- }
            # Etcd password
            password: ${PEANUT_DB_ETCD_PASSWORD:- }
            # Etcd endpoints
            endpoints: ${PEANUT_DB_ETCD_ENDPOINTS:-http://127.0.0.1:2379}
            # Timeout in seconds
            timeout: 30

    # Log configs
    log:
        # Log level, it can be debug, info, warn, error, panic, fatal
        level: ${PEANUT_LOG_LEVEL:-info}
        # Output can be stdout or abs path to log file /var/logs/peanut.log
        output: ${PEANUT_LOG_OUTPUT:-stdout}
        # Format can be json
        format: ${PEANUT_LOG_FORMAT:-json}

The run the peanut with systemd

$ peanut api -c /path/to/config.yml

Deploy your first redis server!

$ curl -X POST http://127.0.0.1:8000/api/v1/service -d '{"service":"redis"}' -H 'x-api-key: ~api~key~here~'

To run the Admin Dashboard (Development Only):

Clone the project or your own fork:

$ git clone https://github.com/Clivern/Peanut.git

Create the dashboard config file web/.env from web/.env.dist. Something like the following:

VUE_APP_API_URL=http://localhost:8080

Then you can either build or run the dashboard

.env $ cd .. # Validate js code format $ make check_ui_format # Format UI $ make format_ui # Run Vuejs app $ make serve_ui # Build Vuejs app $ make build_ui # Any changes to the dashboard, must be reflected to cmd/pkged.go # You can use these commands to do so $ go get github.com/markbates/pkger/cmd/pkger $ make package ">
# Install npm packages
$ cd web
$ npm install
$ npm install -g npx

# Add tower url to frontend
$ echo "VUE_APP_API_URL=http://127.0.0.1:8000" > .env

$ cd ..

# Validate js code format
$ make check_ui_format

# Format UI
$ make format_ui

# Run Vuejs app
$ make serve_ui

# Build Vuejs app
$ make build_ui

# Any changes to the dashboard, must be reflected to cmd/pkged.go
# You can use these commands to do so
$ go get github.com/markbates/pkger/cmd/pkger
$ make package

The command line tool

In order to interact with peanut API server, you can either do basic API calls or use the provided command line tool. It is still not finished yet but it will be ready soon.

Supported Services

Here is a list of all supported services so far and the API call to deploy them.

  • MySQL.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"mysql","configs": {"rootPassword": "root", "database": "peanut", "username": "peanut", "password": "secret"}}' \
    -H 'x-api-key: ~api~key~here~'
  • MariaDB.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"mariadb","configs": {"rootPassword": "root", "database": "peanut", "username": "peanut", "password": "secret"}}' \
    -H 'x-api-key: ~api~key~here~'
  • PostgreSQL.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"postgresql","configs": {"database": "peanut", "username": "peanut", "password": "secret"}}' \
    -H 'x-api-key: ~api~key~here~'
  • Redis.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"redis","configs": {"password": "secret"}}' \
    -H 'x-api-key: ~api~key~here~'
  • Etcd.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"etcd"}' \
    -H 'x-api-key: ~api~key~here~'
  • Grafana.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"grafana","configs": {"username": "admin", "password": "admin"}}' \
    -H 'x-api-key: ~api~key~here~'
  • Elasticsearch.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"elasticsearch"}' \
    -H 'x-api-key: ~api~key~here~'
  • MongoDB.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"mongodb","configs": {"database": "peanut", "username": "peanut", "password": "secret"}}' \
    -H 'x-api-key: ~api~key~here~'
  • Graphite.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"graphite"}' \
    -H 'x-api-key: ~api~key~here~'
  • Prometheus.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"prometheus"}' \
    -H 'x-api-key: ~api~key~here~'

# Configs can be provided as base64 encoded string (use https://www.base64encode.org/)
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"prometheus", "configs": {"configsBase64Encoded": "Z2xvYmFsOgogIGV2YWx1YXRpb25faW50ZXJ2YWw6IDE1cwogIHNjcmFwZV9pbnRlcnZhbDogMTVzCnJ1bGVfZmlsZXM6IH4Kc2NyYXBlX2NvbmZpZ3M6CiAgLQogICAgam9iX25hbWU6IHByb21ldGhlCiAgICBzY3JhcGVfaW50ZXJ2YWw6IDVzCiAgICBzdGF0aWNfY29uZmlnczoKICAgICAgLQogICAgICAgIHRhcmdldHM6CiAgICAgICAgICAtICJsb2NhbGhvc3Q6OTA5MCI="}}' \
    -H 'x-api-key: ~api~key~here~'
  • Zipkin.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"zipkin"}' \
    -H 'x-api-key: ~api~key~here~'
  • Memcached.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"memcached"}' \
    -H 'x-api-key: ~api~key~here~'
  • Mailhog.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"mailhog"}' \
    -H 'x-api-key: ~api~key~here~'
  • Jaeger.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"jaeger"}' \
    -H 'x-api-key: ~api~key~here~'
  • RabbitMQ.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"rabbitmq"}' \
    -H 'x-api-key: ~api~key~here~'

To create a temporary service, you will need to add extra parameter while creating it.

# It will be deleted after 30 seconds
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"etcd", "deleteAfter": "30sec"}' \
    -H 'x-api-key: ~api~key~here~'

# It will be deleted after 20 minutes
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"etcd", "deleteAfter": "20min"}' \
    -H 'x-api-key: ~api~key~here~'

# It will be deleted after 1 hour
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"etcd", "deleteAfter": "1hours"}' \
    -H 'x-api-key: ~api~key~here~'

# It will be deleted after 3 days
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
    -d '{"service":"etcd", "deleteAfter": "3days"}' \
    -H 'x-api-key: ~api~key~here~'

To list all services running on a single or multi nodes.

$ curl -X GET http://127.0.0.1:8000/api/v1/service \
    -H 'x-api-key: ~api~key~here~'

To delete a service.

$ curl -X DELETE http://127.0.0.1:8000/api/v1/service/:serviceId \
    -H 'x-api-key: ~api~key~here~'

To get async job status like a deployment status.

$ curl -X DELETE http://127.0.0.1:8000/api/v1/job/:serviceId/:jobId \
    -H 'x-api-key: ~api~key~here~'

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Peanut is maintained under the Semantic Versioning guidelines and release process is predictable and business-friendly.

See the Releases section of our GitHub project for changelogs for each release version of Peanut. It contains summaries of the most noteworthy changes made in each release.

Bug tracker

If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at https://github.com/clivern/peanut/issues

Security Issues

If you discover a security vulnerability within Peanut, please send an email to [email protected]

Contributing

We are an open source, community-driven project so please feel free to join us. see the contributing guidelines for more details.

License

© 2021, Clivern. Released under MIT License.

Peanut is authored and maintained by @clivern.

Comments
  • Update dependency vuex to v4

    Update dependency vuex to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vuex | 3.6.2 -> 4.1.0 | age | adoption | passing | confidence |


    Release Notes

    vuejs/vuex

    v4.1.0

    Compare Source

    Vue Core Version Requirement Change

    This release contains an important fix (#​1883) that relies on the effectScope API from Vue core, which is only available in Vue 3.2+.

    Bug Fixes

    4.0.2 (2021-06-17)

    Bug Fixes
    • devtools: fix no getters displayed on root module + better getters inspector (#​1986) (bc20295)
    • build: cjs build failing due to __VUE_PROD_DEVTOOLS__ defined (#​1991) (#​1992) (7151622)

    4.0.1 (2021-05-24)

    Features
    • dx: add devtools integration (#​1949)

    v4.0.2

    Compare Source

    Bug Fixes
    • devtools: fix no getters displayed on root module + better getters inspector (#​1986) (bc20295)
    • build: cjs build failing due to __VUE_PROD_DEVTOOLS__ defined (#​1991) (#​1992) (7151622)

    v4.0.1

    Compare Source

    Features
    • dx: add devtools integration (#​1949)

    v4.0.0

    Compare Source

    This is the official Vuex 4 release.

    The focus for Vuex 4 is compatibility. Vuex 4 supports Vue 3, and it provides the exact same API as Vuex 3, so users can reuse their existing Vuex code with Vue 3.

    There are a few breaking changes described in a later section, so please check them out.

    You can find basic usage with both Option and Composition API in the example directory.

    It's still released under next tag in NPM package as same as Vue 3. We're planning to remove next tag once Vue 3 is ready to remove it.

    There have been a lot of contribution to make Vuex 4 stable. Thank you all for your very much appreciated help. It wouldn't have been possible without this wonderful Vue community!

    Documentation

    To check out docs, visit next.vuex.vuejs.org.

    Breaking changes

    Installation process has changed

    To align with the new Vue 3 initialization process, the installation process of Vuex has changed.

    To create a new store instance, users are now encouraged to use the newly introduced createStore function.

    import { createStore } from 'vuex'
    
    export const store = createStore({
      state() {
        return {
          count: 1
        }
      }
    })
    

    Whilst this is not technically a breaking change, you may still use the new Store(...) syntax, we recommend this approach to align with Vue 3 and Vue Router Next.

    To install Vuex to a Vue instance, pass the store instance instead of Vuex.

    import { createApp } from 'vue'
    import { store } from './store'
    import App from './App.vue'
    
    const app = createApp(App)
    
    app.use(store)
    
    app.mount('#app')
    
    Bundles are now aligned with Vue 3

    The following bundles are generated to align with Vue 3 bundles:

    • vuex.global(.prod).js
      • For direct use with <script src="..."> in the browser. Exposes the Vuex global.
      • Global build is built as IIFE, and not UMD, and is only meant for direct use with <script src="...">.
      • Contains hard-coded prod/dev branches and the prod build is pre-minified. Use the .prod.js files for production.
    • vuex.esm-browser(.prod).js
      • For use with native ES module imports (including module supporting browsers via <script type="module">.
    • vuex.esm-bundler.js
      • For use with bundlers such as webpack, rollup and parcel.
      • Leaves prod/dev branches with process.env.NODE_ENV guards (must be replaced by bundler).
      • Does not ship minified builds (to be done together with the rest of the code after bundling).
    • vuex.cjs.js
      • For use in Node.js server-side rendering with require().
    Typings for ComponentCustomProperties

    Vuex 4 removes its global typings for this.$store within Vue Component to solve issue #​994. When used with TypeScript, you must declare your own module augmentation.

    Place the following code in your project to allow this.$store to be typed correctly:

    // vuex-shim.d.ts
    
    import { ComponentCustomProperties } from 'vue'
    import { Store } from 'vuex'
    
    declare module '@&#8203;vue/runtime-core' {
      // Declare your own store states.
      interface State {
        count: number
      }
    
      interface ComponentCustomProperties {
        $store: Store<State>
      }
    }
    
    createLogger function is exported from the core module

    In Vuex 3, createLogger function was exported from vuex/dist/logger but it's now included in the core package. You should import the function directly from vuex package.

    import { createLogger } from 'vuex'
    
    Bug Fixes Included Since 4.0.0-rc.2

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue-router to v4

    Update dependency vue-router to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue-router | 3.6.5 -> 4.1.6 | age | adoption | passing | confidence |


    Release Notes

    vuejs/router

    v4.1.6

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.5

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.4

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.3

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.0

    Compare Source

    Vue Router 4.1

    We are excited to announce the release of Vue Router 4.1 with a few new interesting features, better support for Node ESM and no breaking changes.

    Omitting the component/components option in routes

    It's now possible to completely omit the component option when defining routes with children. While nested routes are about defining layouts, they are also directly connected to a path and users often found themselves defining a pass through component that would just render a <RouterView> component to reuse the path structure. You can now simplify this to:

    - import { RouterView } from 'vue-router'
    - import { h } from 'vue'
    -
     const routes = [
       {
         path: '/admin',
    -     component: () => h(RouterView),
         children: [
           { path: 'users', component: AdminUserList },
           { path: 'users/:id', component: AdminUserDetails },
         ],
       },
     ]
    

    In other words, you can now nest paths without having to define a component.

    Passing History State in navigations

    Passing History State through router.push() has been implemented and used by the router since its version 4.0 but hasn't been exposed as a public API until now. This enables passing a state property when calling router.push() or router.replace(). This is useful to pass global state to be associated with the history entry that cannot be shared by copying the URL. One common example of this are Modals:

    // go to /users/24 but show a modal instead
    router.push({ name: 'UserDetail', params: { id: 24 } state: { backgroundView: ... } })
    

    To see a full example, check the modal e2e test, it has been updated to use the state property.

    It's worth noting this shouldn't be used to pass fetched data or complex objects such as classes because of type and size limitations. Check the History State documentation for more information about the state property.

    Given the nature of the <RouterView>'s route prop, there is also a new function loadRouteLocation() that can be used on a resolved route location to load a route with lazy loading:

    import { loadRouteLocation } from 'vue-router'
    
    const loadedRoute = await loadRouteLocation(router.resolve('/users/24'))
    

    Typed Routes

    RouterLink to autocomplete

    In v4.1 we were initially planning to introduce types to automatically detect the params from a path property, creating autocomplete and type safety in router.push() and <RouterLink>'s to prop. It was implemented but also turned out to be extremely slow after ~50 routes due to the nature of the types relying on nesting and complex unions. Instead, we are introducing a build plugin to generate the types of the routes for you based your file structure. This is similar to Nuxt and Vite Plugin Pages but with full type support (similar to nuxt-typed-router) while allowing you to keep using the exact same API, just with Autocompletion and typing hints 😄. The plugin currently supports Vite, Webpack (with some caveats), and rollup and it's currently experimental to gather feedback from the community and build a flexible solution. We hope to release a stable version in the following months.

    Check out the plugin GitHub repository for installation instructions and documentation.

    Here are some other examples of how much this plugin can improves your developer experience: |params validation in RouterLink|Route infer from if condition|Typed routes in navigation guards| |-|-|-|

    CJS/MJS support for Node

    We now expose a few extra entry points for Node but kept the old ones as well to prevent any disruption to the existing users. You can find more information about this in the corresponding pull request.


    Please refer to CHANGELOG.md for details.

    v4.0.16

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.15

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.14

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.13

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.12

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.11

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.10

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.9

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.8

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.7

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.6

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.5

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.4

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.3

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.0

    Compare Source

    Vue logo

    A more complete but lighter Router

    Today Vue Router 4 is officially released as stable. After 14 alphas, 13 betas and 6 release candidates, Vue Router v4 is ready to bring the best of routing to your Vue 3 applications with improved bundle size, TypeScript integration, new features and consistency improvements for modern apps.

    It has taken almost 2 years of work, around 1500 commits, 15 RFCs, and the help of many users and their bug reports and feature requests to get here. Thank you all for your very much appreciated help!

    Project Organization improvements

    Vue Router is now divided in three modules:

    • History implementation: handles the address bar and is specific to the environment Vue Router runs on (Node, Browser, Mobile, etc)
    • Router Matcher: handles the parsing of routes /users/:id and its ranking
    • Router: connects everything together and handle routing specific features like navigation guards
    Dynamic Routing

    One the most wanted features on Vue Router is Dynamic Routing. It makes the router more flexible and powerful and open possibilities for applications that were not possible before! This is possible thanks to an advanced path parsing with automatic ranking, allowing the router to guess what route should be matched based on the URL string representation, allowing user to define routes in any order.

    Improved Navigation system

    The new navigation system is more consistent and improves the experience of Scroll Behavior to match native browser behavior. It also gives users almost more information about the status of a navigation and allow using that information to improve user experience through global UI elements like progress bars and modals.

    More powerful Devtools

    Thanks to the new Vue Devtools, Vue Router is able to create more advanced integrations: navigation in the timeline and a complete route directory that helps you debug routes.

    Better Navigation guards

    Say good bye to next and avoid easy-to-make mistakes inside navigation guards: return any value you were passing to next. The previous version is still supported to ease migration!

    More information on the updated documentation.

    Consistent encoding in routes

    Encoding has been adapted to make it consistent across different browsers and route location properties (params, query and hash). You don't need to encode these properties when passing them to router.push() and they will always appear decoded in the route locations (e.g. $route and useRoute()).

    Small migration path

    Vue Router 4 focus on improving the existing Router while keeping a very similar API, migration should be short and almost limited to a few renames if you were using the basics of Vue Router. You can check the full migration guide on the documentation

    The future of the Router

    Vue Router has been effectively stable for the past couple of months and makes it possible to now focus on:

    • Better Developer experience with existing tooling (Vetur, Vite, Devtools, etc)
    • Better integration with modern features like Suspense
    • RFCs to improve the existing API or bring new ones
    • Lighter versions of the router

    Trying It Out

    If you want to give Vue Router 4 a quick try, you can check this CodeSandbox, this Vite template with Tailwind CSS, or use the CLI to get started.

    To Learn more about Vue Router 4, check out our new documentation. If you are an existing Vue 2.x user, go directly to the Migration Guide.

    Supporting Vue Router Development

    If your company uses Vue Router, please consider supporting its development by supporting me 🙏 . It will mean a lot and really help me to keep working on improving the Vue Ecosystem.


    If you were already using the release candidate version of vue router, you can find the list of improvements on the CHANGELOG.md.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue-router to v4

    Update dependency vue-router to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue-router | 3.5.4 -> 4.1.2 | age | adoption | passing | confidence |


    Release Notes

    vuejs/router

    v4.1.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.0

    Compare Source

    Vue Router 4.1

    We are excited to announce the release of Vue Router 4.1 with a few new interesting features, better support for Node ESM and no breaking changes.

    Omitting the component/components option in routes

    It's now possible to completely omit the component option when defining routes with children. While nested routes are about defining layouts, they are also directly connected to a path and users often found themselves defining a pass through component that would just render a <RouterView> component to reuse the path structure. You can now simplify this to:

    - import { RouterView } from 'vue-router'
    - import { h } from 'vue'
    -
     const routes = [
       {
         path: '/admin',
    -     component: () => h(RouterView),
         children: [
           { path: 'users', component: AdminUserList },
           { path: 'users/:id', component: AdminUserDetails },
         ],
       },
     ]
    

    In other words, you can now nest paths without having to define a component.

    Passing History State in navigations

    Passing History State through router.push() has been implemented and used by the router since its version 4.0 but hasn't been exposed as a public API until now. This enables passing a state property when calling router.push() or router.replace(). This is useful to pass global state to be associated with the history entry that cannot be shared by copying the URL. One common example of this are Modals:

    // go to /users/24 but show a modal instead
    router.push({ name: 'UserDetail', params: { id: 24 } state: { backgroundView: ... } })
    

    To see a full example, check the modal e2e test, it has been updated to use the state property.

    It's worth noting this shouldn't be used to pass fetched data or complex objects such as classes because of type and size limitations. Check the History State documentation for more information about the state property.

    Given the nature of the <RouterView>'s route prop, there is also a new function loadRouteLocation() that can be used on a resolved route location to load a route with lazy loading:

    import { loadRouteLocation } from 'vue-router'
    
    const loadedRoute = await loadRouteLocation(router.resolve('/users/24'))
    

    Typed Routes

    RouterLink to autocomplete

    In v4.1 we were initially planning to introduce types to automatically detect the params from a path property, creating autocomplete and type safety in router.push() and <RouterLink>'s to prop. It was implemented but also turned out to be extremely slow after ~50 routes due to the nature of the types relying on nesting and complex unions. Instead, we are introducing a build plugin to generate the types of the routes for you based your file structure. This is similar to Nuxt and Vite Plugin Pages but with full type support (similar to nuxt-typed-router) while allowing you to keep using the exact same API, just with Autocompletion and typing hints 😄. The plugin currently supports Vite, Webpack (with some caveats), and rollup and it's currently experimental to gather feedback from the community and build a flexible solution. We hope to release a stable version in the following months.

    Check out the plugin GitHub repository for installation instructions and documentation.

    Here are some other examples of how much this plugin can improves your developer experience: |params validation in RouterLink|Route infer from if condition|Typed routes in navigation guards| |-|-|-|

    CJS/MJS support for Node

    We now expose a few extra entry points for Node but kept the old ones as well to prevent any disruption to the existing users. You can find more information about this in the corresponding pull request.


    Please refer to CHANGELOG.md for details.

    v4.0.16

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.15

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.14

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.13

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.12

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.11

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.10

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.9

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.8

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.7

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.6

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.5

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.4

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.3

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.0

    Compare Source

    Vue logo

    ##### A more complete but lighter Router

    Today Vue Router 4 is officially released as stable. After 14 alphas, 13 betas and 6 release candidates, Vue Router v4 is ready to bring the best of routing to your Vue 3 applications with improved bundle size, TypeScript integration, new features and consistency improvements for modern apps.

    It has taken almost 2 years of work, around 1500 commits, 15 RFCs, and the help of many users and their bug reports and feature requests to get here. Thank you all for your very much appreciated help!

    Project Organization improvements

    Vue Router is now divided in three modules:

    • History implementation: handles the address bar and is specific to the environment Vue Router runs on (Node, Browser, Mobile, etc)
    • Router Matcher: handles the parsing of routes /users/:id and its ranking
    • Router: connects everything together and handle routing specific features like navigation guards
    Dynamic Routing

    One the most wanted features on Vue Router is Dynamic Routing. It makes the router more flexible and powerful and open possibilities for applications that were not possible before! This is possible thanks to an advanced path parsing with automatic ranking, allowing the router to guess what route should be matched based on the URL string representation, allowing user to define routes in any order.

    Improved Navigation system

    The new navigation system is more consistent and improves the experience of Scroll Behavior to match native browser behavior. It also gives users almost more information about the status of a navigation and allow using that information to improve user experience through global UI elements like progress bars and modals.

    More powerful Devtools

    Thanks to the new Vue Devtools, Vue Router is able to create more advanced integrations: navigation in the timeline and a complete route directory that helps you debug routes.

    Better Navigation guards

    Say good bye to next and avoid easy-to-make mistakes inside navigation guards: return any value you were passing to next. The previous version is still supported to ease migration!

    More information on the updated documentation.

    Consistent encoding in routes

    Encoding has been adapted to make it consistent across different browsers and route location properties (params, query and hash). You don't need to encode these properties when passing them to router.push() and they will always appear decoded in the route locations (e.g. $route and useRoute()).

    Small migration path

    Vue Router 4 focus on improving the existing Router while keeping a very similar API, migration should be short and almost limited to a few renames if you were using the basics of Vue Router. You can check the full migration guide on the documentation

    The future of the Router

    Vue Router has been effectively stable for the past couple of months and makes it possible to now focus on:

    • Better Developer experience with existing tooling (Vetur, Vite, Devtools, etc)
    • Better integration with modern features like Suspense
    • RFCs to improve the existing API or bring new ones
    • Lighter versions of the router
    Trying It Out

    If you want to give Vue Router 4 a quick try, you can check this CodeSandbox, this Vite template with Tailwind CSS, or use the CLI to get started.

    To Learn more about Vue Router 4, check out our new documentation. If you are an existing Vue 2.x user, go directly to the Migration Guide.

    Supporting Vue Router Development

    If your company uses Vue Router, please consider supporting its development by supporting me 🙏 . It will mean a lot and really help me to keep working on improving the Vue Ecosystem.


    If you were already using the release candidate version of vue router, you can find the list of improvements on the CHANGELOG.md.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update module go.etcd.io/etcd to v3.5.1

    Update module go.etcd.io/etcd to v3.5.1

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go.etcd.io/etcd | require | minor | v3.3.25+incompatible -> v3.5.1 |


    Release Notes

    etcd-io/etcd

    v3.5.1

    Compare Source

    Please see Announcing etcd 3.5 blog post.

    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.

    Linux
    ETCD_VER=v3.5.1
    ### 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
    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
    
    macOS (Darwin)
    ETCD_VER=v3.5.1
    ### 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
    

    ####### Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.5.1 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.5.1 \
      gcr.io/etcd-development/etcd:v3.5.1 \
      /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-v3.5.1 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.5.1 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.5.1 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.5.1 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.5.1 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    docker exec etcd-gcr-v3.5.1 /bin/sh -c "/usr/local/bin/etcdutl version"
    

    v3.5.0

    Compare Source

    Please see Announcing etcd 3.5 blog post.

    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.

    Linux
    ETCD_VER=v3.5.0
    ### 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
    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
    
    macOS (Darwin)
    ETCD_VER=v3.5.0
    ### 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
    

    ####### Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.5.0 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.5.0 \
      gcr.io/etcd-development/etcd:v3.5.0 \
      /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-v3.5.0 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdutl version"
    

    v3.4.18

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.18
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.18
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.18 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.18 \
      gcr.io/etcd-development/etcd:v3.4.18 \
      /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-v3.4.18 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.18 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.18 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.18 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.18 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.17

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.17
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.17
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.17 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.17 \
      gcr.io/etcd-development/etcd:v3.4.17 \
      /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-v3.4.17 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.17 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.17 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.17 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.17 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.16

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.16
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.16
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.16 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.16 \
      gcr.io/etcd-development/etcd:v3.4.16 \
      /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-v3.4.16 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.15

    Compare Source

    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.

    Note

    Initially the tarballs were pushed without *.tar.gz artifacts (seehttps://github.com/etcd-io/etcd/issues/12734#issuecomment-8040063222). The new version of gziped artifacts were added on 2021-03-22, but (most-likely) due to different gzip version, the SHA256 checksum changed. The original SHA256SUMS was renamed to SHA256SUMS.old and the new version of SHA256SUMS file was pushed.

    Linux
    ETCD_VER=v3.4.15
    ##### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.15
    ##### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.15 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.15 \
      gcr.io/etcd-development/etcd:v3.4.15 \
      /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-v3.4.15 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.14

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.14
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.14
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.14 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.14 \
      gcr.io/etcd-development/etcd:v3.4.14 \
      /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-v3.4.14 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.13

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.13
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.13
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.13 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.13 \
      gcr.io/etcd-development/etcd:v3.4.13 \
      /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-v3.4.13 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.12

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.12
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.12
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.12 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.12 \
      gcr.io/etcd-development/etcd:v3.4.12 \
      /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-v3.4.12 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.11

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.11
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.11
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.11 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.11 \
      gcr.io/etcd-development/etcd:v3.4.11 \
      /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-v3.4.11 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.10

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.10
    ##### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.10
    ##### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p -m700 /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.10 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.10 \
      gcr.io/etcd-development/etcd:v3.4.10 \
      /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-v3.4.10 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.9

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.9
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.9
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.9 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.9 \
      gcr.io/etcd-development/etcd:v3.4.9 \
      /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-v3.4.9 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.8

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.8
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.8
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.8 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.8 \
      gcr.io/etcd-development/etcd:v3.4.8 \
      /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-v3.4.8 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.7

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.7 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.7 \
      gcr.io/etcd-development/etcd:v3.4.7 \
      /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-v3.4.7 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.6

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.6
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.6
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.6 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.6 \
      gcr.io/etcd-development/etcd:v3.4.6 \
      /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-v3.4.6 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.5

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.5
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    

    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • Service version

    Service version

    Is your feature request related to a problem? Please describe. Be able to choose the service version in the request payload:

    {
       "service":"mysql",
       "version":"8.0.25",
       "configs":{
          "rootPassword":"root",
          "database":"peanut",
          "username":"peanut",
          "password":"secret"
       }
    }
    
  • Update dependency eslint to v7.30.0

    Update dependency eslint to v7.30.0

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 7.18.0 -> 7.30.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v7.30.0

    Compare Source

    v7.29.0

    Compare Source

    v7.28.0

    Compare Source

    v7.27.0

    Compare Source

    • 2c0868c Chore: merge all html formatter files into html.js (#​14612) (Milos Djermanovic)
    • 9e9b5e0 Update: no-unused-vars false negative with comma operator (fixes #​14325) (#​14354) (Nitin Kumar)
    • afe9569 Chore: use includes instead of indexOf (#​14607) (Mikhail Bodrov)
    • c0f418e Chore: Remove lodash (#​14287) (Stephen Wade)
    • 52655dd Update: no-restricted-imports custom message for patterns (fixes #​11843) (#​14580) (Alex Holden)
    • 967b1c4 Chore: Fix typo in large.js (#​14589) (Ikko Ashimine)
    • 2466a05 Sponsors: Sync README with website (ESLint Jenkins)
    • fe29f18 Sponsors: Sync README with website (ESLint Jenkins)
    • 086c1d6 Chore: add more test cases for no-sequences (#​14579) (Nitin Kumar)
    • 6a2ced8 Docs: Update README team and sponsors (ESLint Jenkins)

    v7.26.0

    Compare Source

    • aaf65e6 Upgrade: eslintrc for ModuleResolver fix (#​14577) (Brandon Mills)
    • ae6dbd1 Fix: track variables, not names in require-atomic-updates (fixes #​14208) (#​14282) (Patrick Ahmetovic)
    • 6a86e50 Chore: remove loose-parser tests (fixes #​14315) (#​14569) (Milos Djermanovic)
    • ee3a3ea Fix: create .eslintrc.cjs for module type (#​14304) (Nitin Kumar)
    • 6791dec Docs: fix example for require-atomic-updates (#​14562) (Milos Djermanovic)
    • 388eb7e Sponsors: Sync README with website (ESLint Jenkins)
    • f071d1e Update: Add automated suggestion to radix rule for parsing decimals (#​14291) (Bryan Mishkin)
    • 0b6a3f3 New: Include XO style guide in eslint --init (#​14193) (Federico Brigante)

    v7.25.0

    Compare Source

    • 5df5e4a Update: highlight last write reference for no-unused-vars (fixes #​14324) (#​14335) (Nitin Kumar)
    • 0023872 Docs: Add deprecated note to working-with-rules-deprecated page (#​14344) (Michael Novotny)
    • 36fca70 Chore: Upgrade eslump to 3.0.0 (#​14350) (Stephen Wade)
    • 59b689a Chore: add node v16 (#​14355) (薛定谔的猫)
    • 35a1f5e Sponsors: Sync README with website (ESLint Jenkins)
    • fb0a92b Chore: rename misspelled identifier in test (#​14346) (Tobias Nießen)
    • f2babb1 Docs: update pull request template (#​14336) (Nitin Kumar)
    • 02dde29 Docs: Fix anchor in 'docs/developer-guide/working-with-rules.md' (#​14332) (Nate-Wilkins)
    • 07d14c3 Chore: remove extraneous command from lint-staged config (#​14314) (James George)
    • 41b3570 Update: lint code block with same extension but different content (#​14227) (JounQin)
    • eb29996 Docs: add more examples with arrow functions for no-sequences rule (#​14313) (Nitin Kumar)

    v7.24.0

    Compare Source

    v7.23.0

    Compare Source

    • 687ccae Update: add option "allowInParentheses" to no-sequences (fixes #​14197) (#​14199) (Daniel Rentz)
    • dbf2529 Sponsors: Sync README with website (ESLint Jenkins)
    • 4bdf2c1 Sponsors: Sync README with website (ESLint Jenkins)
    • 49d1697 Chore: Upgrade eslint-plugin-jsdoc to v25 and remove --legacy-peer-deps (#​14244) (Brandon Mills)
    • 43f1685 Update: --quiet should not supress --max-warnings (fixes #​14202) (#​14242) (Milos Djermanovic)
    • 909c727 Docs: Add valid example that shows vars in a block scope (#​14230) (Ed S)
    • 28583eb Fix: no-mixed-operators false positives with ? : (fixes #​14223) (#​14226) (Milos Djermanovic)
    • a99eb2d Fix: Clarify line breaks in object-curly-newline (fixes #​14024) (#​14063) (armin yahya)
    • 8984c91 Update: eslint --env-info output os info (#​14059) (薛定谔的猫)
    • 2a79306 Sponsors: Sync README with website (ESLint Jenkins)
    • ebd7026 Docs: Fix typo (#​14225) (Greg Finley)
    • a2013fc Sponsors: Sync README with website (ESLint Jenkins)

    v7.22.0

    Compare Source

    • 3a432d8 Docs: Improve documentation for indent rule (#​14168) (Serkan Özel)
    • f62ec8d Update: throw error when fix range is invalid (#​14142) (Jacob Bandes-Storch)
    • 0eecad2 Upgrade: Update lodash in package.json to V 4.17.21 (#​14159) (Basem Al-Nabulsi)
    • 5ad91aa Update: report es2021 globals in no-extend-native (refs #​13602) (#​14177) (Milos Djermanovic)
    • c295581 Chore: remove leftover JSDoc from lint-result-cache (#​14176) (Milos Djermanovic)
    • 0d541f9 Chore: Reduce lodash usage (#​14178) (Stephen Wade)
    • 27a67d7 Sponsors: Sync README with website (ESLint Jenkins)
    • 459d821 Chore: upgrade dependencies of browser test (#​14127) (Pig Fang)
    • ebfb63a Sponsors: Sync README with website (ESLint Jenkins)
    • 3ba029f Docs: Remove Extraneous Dash (#​14164) (Danny Hurlburt)
    • 6f4540e Sponsors: Sync README with website (ESLint Jenkins)
    • ddf361c Docs: Fix Formatting (#​14154) (Danny Hurlburt)
    • c0d2ac1 Sponsors: Sync README with website (ESLint Jenkins)
    • a8df03e Docs: Clarify triage process (#​14117) (Nicholas C. Zakas)

    v7.21.0

    Compare Source

    v7.20.0

    Compare Source

    v7.19.0

    Compare Source


    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • Update vue monorepo to v4 (major)

    Update vue monorepo to v4 (major)

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @vue/cli-plugin-eslint | 3.12.1 -> 4.5.13 | age | adoption | passing | confidence | | @vue/cli-service (source) | 3.12.1 -> 4.5.13 | age | adoption | passing | confidence |


    Release Notes

    vuejs/vue-cli

    v4.5.13

    Compare Source

    :bug: Bug Fix
    Others
    Committers: 3

    v4.5.12

    Compare Source

    • bump vue-codemod to work around an NPM hoisting bug
    • bump minimum required JSX preset / plugin versions, fixes https://github.com/vuejs/jsx/issues/183
    • bump default typescript version to 4.1 and prettier version to 2.x for new projects, fixes #​6299

    v4.5.11

    Compare Source

    :bug: Bug Fix
    Committers: 1

    v4.5.10

    Compare Source

    :bug: Bug Fix
    • @vue/cli-plugin-unit-mocha
    • @vue/cli-plugin-unit-mocha, @vue/cli-service
    • @vue/cli-ui
    • @vue/cli-service-global, @vue/cli-service
    Committers: 3

    v4.5.9

    Compare Source

    :rocket: New Features
    Committers: 1

    v4.5.8

    Compare Source

    :bug: Bug Fix
    Committers: 2

    v4.5.7

    Compare Source

    :bug: Bug Fix
    • @vue/cli-plugin-babel, @vue/cli-plugin-typescript, @vue/cli-service
    • @vue/cli
    • @vue/cli-plugin-pwa, @vue/cli-service
    :memo: Documentation
    Committers: 4

    v4.5.6

    Compare Source

    :bug: Bug Fix
    Committers: 1

    v4.5.5

    Compare Source

    :bug: Bug Fix
    :house: Internal
    • @vue/cli-ui
      • #​3687 perf(ui): improve get folder list to use Promises instead of sync (@​pikax)
    :hammer: Underlying Tools
    • @vue/babel-preset-app
    Committers: 8

    v4.5.4

    Compare Source

    :bug: Bug Fix
    Committers: 3

    v4.5.3

    Compare Source

    :bug: Bug Fix
    • @vue/cli-service
    • @vue/cli-plugin-e2e-webdriverio, @vue/cli-plugin-typescript
      • #​5769 fix: add missing mocha type if wdio is not installed along with any unit testing frameworks (@​sodatea)
    • @vue/cli-plugin-typescript
    Committers: 1

    v4.5.2

    Compare Source

    :bug: Bug Fix
    • @vue/cli-plugin-typescript
    :memo: Documentation
    • @vue/babel-preset-app, @vue/cli-plugin-e2e-nightwatch, @vue/cli-plugin-eslint, @vue/cli-plugin-typescript, @vue/cli-service, @vue/cli
    :house: Internal
    • @vue/babel-preset-app, @vue/cli-plugin-e2e-nightwatch, @vue/cli-plugin-eslint, @vue/cli-plugin-typescript, @vue/cli-service, @vue/cli
    Committers: 3

    v4.5.1

    Compare Source

    :bug: Bug Fix
    Others
    Committers: 3

    v4.5.0

    Compare Source

    :rocket: New Features
    • @vue/babel-preset-app, @vue/cli-plugin-babel, @vue/cli-plugin-eslint, @vue/cli-plugin-router, @vue/cli-plugin-typescript, @vue/cli-plugin-unit-jest, @vue/cli-plugin-unit-mocha, @vue/cli-plugin-vuex, @vue/cli-service, @vue/cli-test-utils, @vue/cli-ui, @vue/cli
    • @vue/cli-plugin-typescript
    • @vue/cli-service, @vue/cli-test-utils, @vue/cli
    • @vue/cli-plugin-typescript, @vue/cli-service
    • @vue/cli-service, @vue/cli
    :bug: Bug Fix
    :memo: Documentation
    :house: Internal
    Committers: 7

    v4.4.6

    Compare Source

    :bug: Bug Fix
    :memo: Documentation
    Committers: 1

    v4.4.5

    Compare Source

    :bug: Bug Fix
    • @vue/cli-service
      • #​5592 fix polyfill injection when building app on multiple threads (@​dtcz)
      • #​5598 fix: fix an edge case that VUE_CLI_SERVICE_CONFIG_PATH might be ignored (@​sodatea)
    • @vue/cli-plugin-e2e-cypress
    • @vue/cli
    • @vue/cli-plugin-e2e-nightwatch
      • #​5528 fix(nightwatch): should not install corresponding webdriver if the browser is unselected (@​sodatea)
    :house: Internal
    • @vue/cli-shared-utils
    Committers: 5

    v4.4.4

    Compare Source

    :bug: Bug Fix
    • @vue/cli-plugin-typescript
    Committers: 1

    v4.4.3

    Compare Source

    :bug: Bug Fix
    :house: Internal
    Committers: 5

    v4.4.2

    Compare Source

    :memo: Documentation
    • @vue/cli-plugin-pwa
    Committers: 1

    v4.4.1

    Compare Source

    :bug: Bug Fix
    :memo: Documentation
    :house: Internal
    • @vue/babel-preset-app
    Committers: 3

    v4.4.0

    Compare Source

    :rocket: New Features
    • @vue/cli
      • #​5498 feat(plugin-api): expose inquirer to prompts.js, allowing custom prompt types (@​sodatea)
    • @vue/cli-service
    :bug: Bug Fix
    • @vue/cli-service, @vue/cli-shared-utils
    • @vue/cli-plugin-unit-jest
      • #​5499 fix(unit-jest): fix .vue coverage report when babel plugin is not enabled (@​sodatea)
    • @vue/cli
      • #​5497 fix: allow specifying plugin version when calling vue add (@​sodatea)
      • #​5493 fix(ui): the logs from creator should be displayed in the UI (@​sodatea)
      • #​5472 fix(creator): do not override the README.md generated by plugins (@​sodatea)
      • #​5395 Update ProjectPackageManager.js upgrade() method: manage multiple package names separated by spaces (@​motla)
      • #​5424 fix: normalize the file argument of transformScript, fix Windows compatibility (@​sodatea)
    • @vue/cli-plugin-unit-mocha
    • @vue/cli-service
    • @vue/cli-plugin-eslint
    • @vue/cli-shared-utils
    • @vue/cli-plugin-e2e-nightwatch
    :memo: Documentation
    :house: Internal
    • @vue/babel-preset-app, @vue/cli-plugin-babel, @vue/cli-plugin-e2e-nightwatch, @vue/cli-plugin-eslint, @vue/cli-plugin-typescript, @vue/cli-plugin-unit-jest, @vue/cli-plugin-unit-mocha, @vue/cli-plugin-vuex, @vue/cli-service, @vue/cli-ui-addon-webpack, @vue/cli-ui, @vue/cli
    Committers: 14

    v4.3.1

    Compare Source

    :bug: Bug Fix
    • @vue/cli-plugin-eslint
    • @vue/cli
      • #​5360 fix: run migrator in a separator process, fix require cache issues during upgrade (@​sodatea)
    Committers: 1

    v4.3.0

    Compare Source

    :rocket: New Features
    • @vue/cli-plugin-unit-mocha
      • #​5294 feat(service): Allow mocha unit tests debugger to be bound to a specified IP and port (@​darrylkuhn)
    • @vue/babel-preset-app
    • @vue/cli-service
    • @vue/cli
    • @vue/cli-plugin-typescript
    • @vue/cli-plugin-eslint, @vue/cli-service-global, @vue/cli-ui-addon-widgets
    • @vue/cli-service, @vue/cli-ui-addon-webpack, @vue/cli-ui-addon-widgets, @vue/cli-ui
    • @vue/cli-plugin-router
    :bug: Bug Fix
    :memo: Documentation
    :house: Internal
    :hammer: Underlying Tools
    • @vue/cli-plugin-eslint
      • #​5273 chore(eslint): bump minimum required eslint-loader version to support ESLint 6 (@​megos)
    Committers: 15

    v4.2.3

    Compare Source

    :bug: Bug Fix
    • @vue/cli
    • @vue/cli-service-global
    :memo: Documentation
    :house: Internal
    Committers: 9

    v4.2.2

    Compare Source

    :bug: Bug Fix

    v4.2.1

    Compare Source

    :bug: Bug Fix
    :memo: Documentation
    Committers: 8

    v4.2.0

    Compare Source

    :rocket: New Features
    • @vue/cli-plugin-babel, @vue/cli-plugin-eslint, @vue/cli-plugin-typescript, @vue/cli
    • @vue/cli-plugin-unit-jest, @vue/cli-plugin-unit-mocha
    • @vue/cli-ui, @vue/cli
    • @vue/cli-plugin-typescript, @vue/cli-ui
    • @vue/cli
    • @vue/cli-service
    • @vue/babel-preset-app, @vue/cli-plugin-e2e-nightwatch, @vue/cli-plugin-eslint, @vue/cli-plugin-pwa, @vue/cli-ui-addon-webpack, @vue/cli-ui-addon-widgets, @vue/cli-ui, @vue/cli
    • @vue/cli-service, @vue/cli-shared-utils, @vue/cli
    • @vue/babel-preset-app
    • @vue/cli-service-global
    :bug: Bug Fix
    • @vue/cli-shared-utils, @vue/cli
      • #​5150 fix: should infer package manager from config if there's no lockfile in the project (@​sodatea)
      • #​5045 refactor: use a plain http request to get package metadata (@​sodatea)
    • @vue/cli
    • @vue/cli-ui, @vue/cli
    • @vue/cli-plugin-e2e-cypress
    • @vue/cli-service
    • @vue/cli-plugin-pwa
    • @vue/cli-plugin-unit-jest, @vue/cli-plugin-unit-mocha
    • @vue/cli-service, @vue/cli-test-utils
    • @vue/cli-plugin-e2e-nightwatch
    :memo: Documentation
    :house: Internal
    • @vue/babel-preset-app, @vue/cli-plugin-babel
      • #​5133 refactor: remove usage of deprecated babel functions, preparing for babel 8 (@​sodatea)
    • @vue/cli-service
      • #​5123 fix: vue-template-compiler can be optional if @vue/compiler-sfc presents (@​sodatea)
      • #​5060 refactor: use the title option in the html template, instead of hard-code the project name (@​sodatea)
    • @vue/cli
    • @vue/cli-shared-utils
    • @vue/cli-plugin-router, @vue/cli-plugin-typescript, @vue/cli-service
    Committers: 17

    v4.1.2

    Compare Source

    :bug: Bug Fix
    • @vue/cli-plugin-pwa
    • @vue/cli
    • @vue/cli-plugin-babel
    :memo: Documentation
    :house: Internal
    Committers: 9

    v4.1.1

    Compare Source

    :bug: Bug Fix
    Committers: 1

    v4.1.0

    Compare Source

    :rocket: New Features
    • @vue/cli-plugin-pwa
    :bug: Bug Fix
    :memo: Documentation
    Committers: 11

    v4.0.5

    Compare Source

    :bug: Bug Fix
    • @vue/cli

    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • Update module go.etcd.io/etcd to v3.5.0

    Update module go.etcd.io/etcd to v3.5.0

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go.etcd.io/etcd | require | minor | v3.3.25+incompatible -> v3.5.0 |


    Release Notes

    etcd-io/etcd

    v3.5.0

    Compare Source

    Please see Announcing etcd 3.5 blog post.

    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.

    Linux
    ETCD_VER=v3.5.0
    ### 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
    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
    
    macOS (Darwin)
    ETCD_VER=v3.5.0
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.5.0 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.5.0 \
      gcr.io/etcd-development/etcd:v3.5.0 \
      /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-v3.5.0 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    docker exec etcd-gcr-v3.5.0 /bin/sh -c "/usr/local/bin/etcdutl version"
    

    v3.4.16

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.16
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.16
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.16 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.16 \
      gcr.io/etcd-development/etcd:v3.4.16 \
      /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-v3.4.16 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.16 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.15

    Compare Source

    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.

    Note

    Initially the tarballs were pushed without *.tar.gz artifacts (see https://github.com/etcd-io/etcd/issues/12734#issuecomment-804006322). The new version of gziped artifacts were added on 2021-03-22, but (most-likely) due to different gzip version, the SHA256 checksum changed. The original SHA256SUMS was renamed to SHA256SUMS.old and the new version of SHA256SUMS file was pushed.

    Linux
    ETCD_VER=v3.4.15
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.15
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.15 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.15 \
      gcr.io/etcd-development/etcd:v3.4.15 \
      /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-v3.4.15 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.15 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.14

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.14
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.14
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.14 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.14 \
      gcr.io/etcd-development/etcd:v3.4.14 \
      /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-v3.4.14 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.14 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.13

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.13
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.13
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.13 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.13 \
      gcr.io/etcd-development/etcd:v3.4.13 \
      /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-v3.4.13 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.13 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.12

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.12
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.12
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.12 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.12 \
      gcr.io/etcd-development/etcd:v3.4.12 \
      /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-v3.4.12 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.12 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.11

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.11
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.11
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.11 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.11 \
      gcr.io/etcd-development/etcd:v3.4.11 \
      /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-v3.4.11 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.11 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.10

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.10
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.10
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p -m700 /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.10 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.10 \
      gcr.io/etcd-development/etcd:v3.4.10 \
      /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-v3.4.10 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.10 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.9

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.9
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.9
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.9 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.9 \
      gcr.io/etcd-development/etcd:v3.4.9 \
      /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-v3.4.9 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.9 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.8

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.8
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.8
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.8 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.8 \
      gcr.io/etcd-development/etcd:v3.4.8 \
      /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-v3.4.8 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.8 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.7

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.7 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.7 \
      gcr.io/etcd-development/etcd:v3.4.7 \
      /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-v3.4.7 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.7 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.6

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.6
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.6
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.6 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.6 \
      gcr.io/etcd-development/etcd:v3.4.6 \
      /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-v3.4.6 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.6 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.5

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.5
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.5
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.5 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.5 \
      gcr.io/etcd-development/etcd:v3.4.5 \
      /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-v3.4.5 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.5 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.5 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.5 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.5 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.4

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.4
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.4
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.4 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.4 \
      gcr.io/etcd-development/etcd:v3.4.4 \
      /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-v3.4.4 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.4 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.4 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.4 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.4 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.3

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.3
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.3
    ### 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
    
    Docker

    etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

    rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
      docker rmi gcr.io/etcd-development/etcd:v3.4.3 || true && \
      docker run \
      -p 2379:2379 \
      -p 2380:2380 \
      --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
      --name etcd-gcr-v3.4.3 \
      gcr.io/etcd-development/etcd:v3.4.3 \
      /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-v3.4.3 /bin/sh -c "/usr/local/bin/etcd --version"
    docker exec etcd-gcr-v3.4.3 /bin/sh -c "/usr/local/bin/etcdctl version"
    docker exec etcd-gcr-v3.4.3 /bin/sh -c "/usr/local/bin/etcdctl endpoint health"
    docker exec etcd-gcr-v3.4.3 /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
    docker exec etcd-gcr-v3.4.3 /bin/sh -c "/usr/local/bin/etcdctl get foo"
    

    v3.4.2

    Compare Source

    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.

    Linux
    ETCD_VER=v3.4.2
    ### 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
    rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
    
    /tmp/etcd-download-test/etcd --version
    /tmp/etcd-download-test/etcdctl 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
    
    macOS (Darwin)
    ETCD_VER=v3.4.2
    ### 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.z
    
    </details>
    
    ---
    
    ### Configuration
    
    📅 **Schedule**: At any time (no schedule defined).
    
    🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
    
    ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
    
    🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
    
    ---
    
     - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.
    
    ---
    
    This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/Clivern/Peanut).
  • Update dependency eslint to v7.29.0

    Update dependency eslint to v7.29.0

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 7.18.0 -> 7.29.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v7.29.0

    Compare Source

    v7.28.0

    Compare Source

    v7.27.0

    Compare Source

    • 2c0868c Chore: merge all html formatter files into html.js (#​14612) (Milos Djermanovic)
    • 9e9b5e0 Update: no-unused-vars false negative with comma operator (fixes #​14325) (#​14354) (Nitin Kumar)
    • afe9569 Chore: use includes instead of indexOf (#​14607) (Mikhail Bodrov)
    • c0f418e Chore: Remove lodash (#​14287) (Stephen Wade)
    • 52655dd Update: no-restricted-imports custom message for patterns (fixes #​11843) (#​14580) (Alex Holden)
    • 967b1c4 Chore: Fix typo in large.js (#​14589) (Ikko Ashimine)
    • 2466a05 Sponsors: Sync README with website (ESLint Jenkins)
    • fe29f18 Sponsors: Sync README with website (ESLint Jenkins)
    • 086c1d6 Chore: add more test cases for no-sequences (#​14579) (Nitin Kumar)
    • 6a2ced8 Docs: Update README team and sponsors (ESLint Jenkins)

    v7.26.0

    Compare Source

    • aaf65e6 Upgrade: eslintrc for ModuleResolver fix (#​14577) (Brandon Mills)
    • ae6dbd1 Fix: track variables, not names in require-atomic-updates (fixes #​14208) (#​14282) (Patrick Ahmetovic)
    • 6a86e50 Chore: remove loose-parser tests (fixes #​14315) (#​14569) (Milos Djermanovic)
    • ee3a3ea Fix: create .eslintrc.cjs for module type (#​14304) (Nitin Kumar)
    • 6791dec Docs: fix example for require-atomic-updates (#​14562) (Milos Djermanovic)
    • 388eb7e Sponsors: Sync README with website (ESLint Jenkins)
    • f071d1e Update: Add automated suggestion to radix rule for parsing decimals (#​14291) (Bryan Mishkin)
    • 0b6a3f3 New: Include XO style guide in eslint --init (#​14193) (Federico Brigante)

    v7.25.0

    Compare Source

    • 5df5e4a Update: highlight last write reference for no-unused-vars (fixes #​14324) (#​14335) (Nitin Kumar)
    • 0023872 Docs: Add deprecated note to working-with-rules-deprecated page (#​14344) (Michael Novotny)
    • 36fca70 Chore: Upgrade eslump to 3.0.0 (#​14350) (Stephen Wade)
    • 59b689a Chore: add node v16 (#​14355) (薛定谔的猫)
    • 35a1f5e Sponsors: Sync README with website (ESLint Jenkins)
    • fb0a92b Chore: rename misspelled identifier in test (#​14346) (Tobias Nießen)
    • f2babb1 Docs: update pull request template (#​14336) (Nitin Kumar)
    • 02dde29 Docs: Fix anchor in 'docs/developer-guide/working-with-rules.md' (#​14332) (Nate-Wilkins)
    • 07d14c3 Chore: remove extraneous command from lint-staged config (#​14314) (James George)
    • 41b3570 Update: lint code block with same extension but different content (#​14227) (JounQin)
    • eb29996 Docs: add more examples with arrow functions for no-sequences rule (#​14313) (Nitin Kumar)

    v7.24.0

    Compare Source

    v7.23.0

    Compare Source

    • 687ccae Update: add option "allowInParentheses" to no-sequences (fixes #​14197) (#​14199) (Daniel Rentz)
    • dbf2529 Sponsors: Sync README with website (ESLint Jenkins)
    • 4bdf2c1 Sponsors: Sync README with website (ESLint Jenkins)
    • 49d1697 Chore: Upgrade eslint-plugin-jsdoc to v25 and remove --legacy-peer-deps (#​14244) (Brandon Mills)
    • 43f1685 Update: --quiet should not supress --max-warnings (fixes #​14202) (#​14242) (Milos Djermanovic)
    • 909c727 Docs: Add valid example that shows vars in a block scope (#​14230) (Ed S)
    • 28583eb Fix: no-mixed-operators false positives with ? : (fixes #​14223) (#​14226) (Milos Djermanovic)
    • a99eb2d Fix: Clarify line breaks in object-curly-newline (fixes #​14024) (#​14063) (armin yahya)
    • 8984c91 Update: eslint --env-info output os info (#​14059) (薛定谔的猫)
    • 2a79306 Sponsors: Sync README with website (ESLint Jenkins)
    • ebd7026 Docs: Fix typo (#​14225) (Greg Finley)
    • a2013fc Sponsors: Sync README with website (ESLint Jenkins)

    v7.22.0

    Compare Source

    • 3a432d8 Docs: Improve documentation for indent rule (#​14168) (Serkan Özel)
    • f62ec8d Update: throw error when fix range is invalid (#​14142) (Jacob Bandes-Storch)
    • 0eecad2 Upgrade: Update lodash in package.json to V 4.17.21 (#​14159) (Basem Al-Nabulsi)
    • 5ad91aa Update: report es2021 globals in no-extend-native (refs #​13602) (#​14177) (Milos Djermanovic)
    • c295581 Chore: remove leftover JSDoc from lint-result-cache (#​14176) (Milos Djermanovic)
    • 0d541f9 Chore: Reduce lodash usage (#​14178) (Stephen Wade)
    • 27a67d7 Sponsors: Sync README with website (ESLint Jenkins)
    • 459d821 Chore: upgrade dependencies of browser test (#​14127) (Pig Fang)
    • ebfb63a Sponsors: Sync README with website (ESLint Jenkins)
    • 3ba029f Docs: Remove Extraneous Dash (#​14164) (Danny Hurlburt)
    • 6f4540e Sponsors: Sync README with website (ESLint Jenkins)
    • ddf361c Docs: Fix Formatting (#​14154) (Danny Hurlburt)
    • c0d2ac1 Sponsors: Sync README with website (ESLint Jenkins)
    • a8df03e Docs: Clarify triage process (#​14117) (Nicholas C. Zakas)

    v7.21.0

    Compare Source

    v7.20.0

    Compare Source

    v7.19.0

    Compare Source


    Configuration

    📅 Schedule: At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • Update prom/prometheus Docker tag to v2.40.1

    Update prom/prometheus Docker tag to v2.40.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Update | Change | |---|---|---| | prom/prometheus | patch | v2.40.0 -> v2.40.1 |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update vue monorepo to v2.7.14

    Update vue monorepo to v2.7.14

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue (source) | 2.7.13 -> 2.7.14 | age | adoption | passing | confidence | | vue-template-compiler (source) | 2.7.13 -> 2.7.14 | age | adoption | passing | confidence |


    Release Notes

    vuejs/vue

    v2.7.14

    Compare Source

    Bug Fixes

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue to v3

    Update dependency vue to v3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue (source) | 2.7.14 -> 3.2.45 | age | adoption | passing | confidence |


    Release Notes

    vuejs/core

    v3.2.45

    Compare Source

    Bug Fixes
    • compiler/v-model: catch incorrect v-model usage on prop bindings (001184e), closes #​5584
    • custom-elements: also dispatch hyphenated version of emitted events (#​5378) (0b39e46), closes #​5373
    • custom-elements: custom element should re-instantiate when inserted again (#​6966) (67890da), closes #​6934
    • custom-elements: define declared properties in constructor (#​5328) (55382ae)
    • custom-elements: ensure custom elements can inherit provides from ancestors (#​5098) (192dcb6), closes #​5096
    • custom-elements: fix event emitting for async custom elements (#​5601) (665f2ae), closes #​5599
    • custom-elements: fix number type props casting check (89f37ce), closes #​5793 #​5794
    • custom-elements: properties set pre-upgrade should not show up in $attrs (afe8899)
    • custom-elements: respect slot props in custom element mode (ffef822)
    • custom-elements: should not reflect non-decalred properties set before upgrade (5e50909)
    • hmr/keep-alive: fix error in reload component (#​7049) (a54bff2), closes #​7042
    • runtime-core: fix move/removal of static fragments containing text nodes (#​6858) (4049ffc), closes #​6852
    • sfc: also generate getter for import bindings during dev (0594400)
    • sfc: ensure <script setup> binding behavior consistency on this between prod and dev (f73925d), closes #​6248
    • sfc: ensure consistent dev/prod behavior for non-reactive variables declared in <script setup> (5a3d45a), closes #​5655
    • teleport/css-v-bind: fix css v-bind for teleported content (42239cf), closes #​4605 #​4609
    • teleport/css-v-bind: fix css v-bind in teleport in child component slot (11214ee)
    • v-model: fix incorrect codegen for non-ref bindings (15e889a), closes #​6241

    v3.2.44

    Compare Source

    Bug Fixes
    • watch: for immediate watch with single source, ensure cb is called with undefined as oldValue (#​7075) (5dc593b), closes #​7074

    v3.2.43

    Compare Source

    Bug Fixes
    • watch: ensure oldValue in multi-source watcher is always an array (23e85e2), closes #​7070

    v3.2.42

    Compare Source

    Bug Fixes

    v3.2.41

    Compare Source

    Bug Fixes
    • devtools: avoid memory leak caused by devtools event buffer (24f4c47), closes #​6591
    • devtools: use cleanupBuffer instead of modifying _buffer (#​6812) (35a113e)
    • effectScope: calling off() of a detached scope should not break currentScope (a71f9ac)
    • runtime-core: ensure that errors in slot function execution do not affect block tracking (#​5670) (82a73da), closes #​5657
    • runtime-core: fix v-for ref reactivity behavior difference between prod and dev (#​6714) (9ae796d), closes #​6697
    • runtime-dom: fix event timestamp check in iframes (5ee4053), closes #​2513 #​3933 #​5474

    v3.2.40

    Compare Source

    Bug Fixes
    • compat: list cjs dependencies for compat build (96cd924), closes #​6602
    • compiler-dom: remove v-bind boolean attribute with literal false value when stringifying (#​6635) (6c6fe2c), closes #​6617
    • compiler-sfc: fix expression check for v-on with object literal value (#​6652) (6958ec1), closes #​6650 #​6674
    • compilre-core: dynamic v-on and static v-on should be merged (#​6747) (f9d43b9), closes #​6742
    • runtime-core: avoid hoisted vnodes retaining detached DOM nodes (fc5bdb3), closes #​6591
    • runtime-core: Lifecycle hooks should support callbacks shared by reference (#​6687) (c71a08e), closes #​6686
    • runtime-core: remove prod-only hoisted clone behavior for manual DOM manipulation compat (aa70188), closes #​6727 #​6739
    • runtime-core: unset removed props first in full diff mode (c0d8db8), closes #​6571
    • runtime-dom: fix unnecessary warning when setting coerced dom property value (b1817fe), closes #​6616
    • ssr: avoid ast.helpers duplication (#​6664) (57ffc3e)
    • ssr: fix dynamic slot regression in ssr (8963c55), closes #​6651
    • ssr: fix hydration mismatch when entire multi-root template is stringified (9698dd3), closes #​6637
    • ssr: fix pre tag windows newline hydration mismatch (0382019), closes #​6410
    • ssr: respect case when rendering dynamic attrs on svg (121eb32), closes #​6755

    v3.2.39

    Compare Source

    Bug Fixes

    v3.2.38

    Compare Source

    Bug Fixes
    • compiler-sfc: fix template usage check edge case for v-on statements (769e555)
    • compiler-sfc: only add decorators-legacy parser plugin when new decorators plugin is not used (3ff8369)
    • compiler-sfc: rewriteDefault for class with decorators (#​6320) (81a7819), closes #​6318
    • custom-element: fix event listeners with capital letter event names on custom elements (0739f89)
    • hmr: fix HMR for nested non-SFC components (#​4077) (96eb745)
    • reactivity: fix shallow/readonly edge cases (a95554d)
    • runtime-core: only set cache for object keys (#​6266) (c3465c1)
    • slots: ensure different branches of dynamic slots have different keys (00036bb), closes #​6202
    • ssr: forward helpers provided by CSS v-bind (#​6489) (2024d11), closes #​6201
    • types: add types field for sub package exports (c1ee6ca)
    • types: fix on* props incorrect type for TS 4.7 (#​6216) (8dcb6c7), closes #​6052
    • watch: flush:pre watchers should not fire if state change causes (78c199d), closes #​2291
    Features
    • custom-elements: automatically respect custom elements when compiling in browser (9f8f07e)
    Performance Improvements

    v3.2.37

    Compare Source

    Bug Fixes

    v3.2.36

    Compare Source

    Bug Fixes
    Performance Improvements

    v3.2.35

    Compare Source

    Bug Fixes

    v3.2.34

    Compare Source

    Bug Fixes
    • compiler-core: should generate HYDRATE_EVENTS flag on dynamic component that resolves to element (415091b), closes #​5870
    • compiler-sfc: support export { default } from '...' (#​5937) (73e6523), closes #​5935
    • compiler-sfc: type-only defineProps does not recognize Promise (fix #​5941) (#​5943) (991d623)
    • compiler-ssr: fix component event handlers inheritance in ssr (f811dc2), closes #​5664
    • compiler-ssr: fix wrong attrs fallthrough on non-single-root v-if branches (516bc54), closes #​5140
    • compiler-ssr: only inject fallthrough attrs for root transition/keep-alive (c65b805)
    • keep-alive: fix keep-alive rendering when placed in vnode branch (0841b9b), closes #​4817
    • runtime-core: adjust force diff of dev root fragments (cdda49b), closes #​5946
    • ssr/teleport: support nested teleports in ssr (595263c), closes #​5242
    • ssr: fix hydration error on falsy v-if inside transition/keep-alive (ee4186e), closes #​5352
    • ssr: fix hydration error when teleport is used as component root (b60cff0), closes #​4293
    • ssr: fix hydration error when transition contains comment children (3705b3b), closes #​5351
    • ssr: fix hydration for slot with empty text node (939209c), closes #​5728
    • ssr: fix hydration mismatch caused by multi-line comments inside slot (e1bc268), closes #​5355
    • ssr: inherit scope id on functional component during ssr (847d7f7), closes #​5817
    • ssr: render fallthrough attributes for transition-group with tag (aed10c5), closes #​5141
    • ssr: support client-compiled v-model with dynamic type during ssr (#​5787) (c03459b), closes #​5786
    • types: export ComponentProvideOptions (#​5947) (3e2850f)
    • types: fix defineComponent inference to Component (#​5949) (7c8f457)

    v3.2.33

    Compare Source

    Bug Fixes

    v3.2.32

    Compare Source

    Bug Fixes

    v3.2.31

    Compare Source

    Bug Fixes
    • compiler-ssr: no need to inject resolveDirective calls for setup custom directives (436c500)
    • runtime-core: allow spying on proxy methods (#​4216) (8457d8b)
    • ssr: always hydrate children for HMR (#​5406) (0342fae), closes #​5405

    v3.2.30

    Compare Source

    Features
    • ssr: support custom directive getSSRProps in optimized compilation (60cf175), closes #​5304
    Performance Improvements
    • reactivity: optimize effect/effectScope active state tracking (2993a24)

    v3.2.29

    Compare Source

    Bug Fixes

    v3.2.28

    Compare Source

    v3.2.27

    Compare Source

    Bug Fixes
    • KeepAlive: remove cached VNode properly (#​5260) (2e3e183), closes #​5258
    • reactivity-transform: should not rewrite for...in / for...of scope variables (7007ffb)
    • sfc-playground: hide title to avoid overlap (#​5099) (44b9527)
    • ssr: make computed inactive during ssr, fix memory leak (f4f0966), closes #​5208
    • ssr: remove missing ssr directive transform error (55cc4af)
    • types/tsx: allow ref_for type on tsx elements (78df8c7)
    • types: fix shallowReadonly type (92f11d6)
    • types: handle ToRef (5ac7030), closes #​5188
    • types: KeepAlive match pattern should allow mixed array (3007d5b)
    Features
    • types: simplify ExtractPropTypes to avoid props JSDocs being removed (#​5166) (a570b38)
    Performance Improvements
    • improve memory usage for static vnodes (ed9eb62)

    v3.2.26

    Compare Source

    v3.2.25

    Compare Source

    Bug Fixes
    • compiler-sfc: generate valid TS in script and script setup co-usage with TS (7e4f0a8), closes #​5094
    • compiler: force block for custom dirs and inline beforeUpdate hooks (1c9a481)
    • runtime-core: disallow recurse in vnode/directive beforeUpdate hooks (a1167c5)
    Features
    • compiler-core: support aliasing vue: prefixed events to inline vnode hooks (4b0ca87)
    • experimental: allow const for ref sugar declarations (9823bd9)
    • reactivity-transform/types: restructure macro types + export types for all shorthand methods (db729ce)
    • reactivity-transform: $$() escape for destructured prop bindings (198ca14)
    • reactivity-transform: rename @​vue/ref-transform to @​vue/reactivity-transform (d70fd8d)
    • reactivity-transform: support $-shorthands for all ref-creating APIs (179fc05)
    • reactivity-transform: support optionally importing macros (fbd0fe9)
    • reactivity-transform: use toRef() for $() destructure codegen (93ba6b9)
    • reactivity: support default value in toRef() (2db9c90)
    • sfc-playground: add github link (#​5067) (9ac0dde)
    • sfc-playground: prevent ctrl+s default behavior (#​5066) (b027507)
    • support ref in v-for, remove compat deprecation warnings (41c18ef)

    v3.2.24

    Compare Source

    Bug Fixes
    • compat: maintain compatConfig option in legacy functional comp (#​4974) (ee97cf5)
    • compiler-dom: avoid bailing stringification on setup const bindings (29beda7)
    • compiler-sfc: make asset url imports stringifiable (87c73e9)
    • package: ensure ref-macros export is recognized by vue-tsc (#​5003) (f855269)
    • runtime-core: handle initial undefined attrs (#​5017) (6d887aa), closes #​5016
    • types/reactivity: export ShallowRef type (#​5026) (523b4b7), closes #​5205
    Features
    • types/script-setup: add

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    docker-compose
    definition/docker-compose.yml
    • elasticsearch 8.5.3
    • bitnami/etcd 3.5.6
    • grafana/grafana 9.3.2
    • graphiteapp/graphite-statsd 1.1.7-11
    • jaegertracing/all-in-one 1.41
    • mailhog/mailhog v1.0.1
    • mariadb 10.10.2
    • memcached 1.6.17
    • mongo 5.0.0-rc7
    • mysql 8.0
    • postgres 15.1
    • prom/prometheus v2.41.0
    • rabbitmq 3.11-management
    • bitnami/redis 7.0.7
    • openzipkin/zipkin 2.24
    • vault 1.12.2
    • consul 1.14.3
    • cassandra 4.1
    • registry 2
    github-actions
    .github/workflows/api.yml
    • actions/checkout v3
    • actions/setup-go v3
    .github/workflows/release.yml
    • actions/checkout v3
    • actions/setup-go v3
    • goreleaser/goreleaser-action v4
    .github/workflows/release_package.yml
    • actions/checkout v3
    • actions/setup-go v3
    .github/workflows/ui.yml
    • actions/checkout v3
    • actions/cache v3
    • actions/setup-node v3
    gomod
    go.mod
    • go 1.17
    • github.com/drone/envsubst v1.0.3
    • github.com/franela/goblin v0.0.0-20211003143422-0a4f594942bf@0a4f594942bf
    • github.com/gin-gonic/gin v1.8.2
    • github.com/manifoldco/promptui v0.9.0
    • github.com/prometheus/client_golang v1.14.0
    • github.com/satori/go.uuid v1.2.0
    • github.com/sirupsen/logrus v1.9.0
    • github.com/spf13/cobra v1.6.1
    • github.com/spf13/viper v1.14.0
    • github.com/stretchr/testify v1.8.1
    • go.etcd.io/etcd/client/v3 v3.5.6
    • gopkg.in/yaml.v3 v3.0.1
    npm
    web/package.json
    • axios 1.2.2
    • buefy 0.9.22
    • core-js 3.27.1
    • vue 2.7.14
    • vue-router 3.6.5
    • vuex 3.6.2
    • @babel/core 7.20.12
    • @babel/eslint-parser 7.19.1
    • @vue/cli-plugin-babel 5.0.8
    • @vue/cli-plugin-eslint 5.0.8
    • @vue/cli-service 5.0.8
    • eslint 8.31.0
    • eslint-plugin-vue 9.8.0
    • vue-template-compiler 2.7.14

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
  • Kubernetes driver

    Kubernetes driver

    Is having a Kubernetes driver something on the roadmap for this project? I'm exploring the possibilities here, not really requesting a feature 🙂

    I noticed the code contains something like:

    if viper.GetString("app.containerization.driver") == "docker" {
        result.containerization = runtime.NewDockerCompose()
    } else {
        panic("Invalid containerization runtime!")
    }
    

    which makes me think it's already prepared to be extensible for other drivers than docker+etcd.

    Thinking of a possible implementation, there are many ways to do it in Kubernetes. I'd think the most "kubernetes way" would be to add a driver that replaces Docker calls with Kubernetes calls and use Kubernete's CRDs as a storage means instead of etcd.

rediloper is a protobuf wrapper generator, designed for mget or mset protobuf variables easily.

Rediloper rediloper is a protobuf wrapper generator, designed for mget or mset protobuf variables easily. Installation go get -u github.com/p1gd0g/red

Aug 3, 2021
High-performance framework for building redis-protocol compatible TCP servers/services

Redeo The high-performance Swiss Army Knife for building redis-protocol compatible servers/services. Parts This repository is organised into multiple

Jan 4, 2023
Stream new blocks to various services (redis/elasticsearch/...)

AlgoNode algostreamer utility About algostreamer Small utility to stream past and/or current Algorand node JSON blocks to Redis or stdout. About AlgoN

Apr 25, 2022
Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)

gokv Simple key-value store abstraction and implementations for Go Contents Features Simple interface Implementations Value types Marshal formats Road

Dec 24, 2022
Examples and code to assign a name to your MongoDB, MySQL, PostgreSQL, RabbitMQ, and redis connection.
Examples and code to assign a name to your MongoDB, MySQL, PostgreSQL, RabbitMQ, and redis connection.

your connection deserves a name ?? When your app interacts with an external system, assign a name to the connection. An external system in this contex

Dec 14, 2022
PostgreSQL driver and toolkit for Go

pgx - PostgreSQL Driver and Toolkit pgx is a pure Go driver and toolkit for PostgreSQL. pgx aims to be low-level, fast, and performant, while also ena

Jan 4, 2023
Mongo Go Models (mgm) is a fast and simple MongoDB ODM for Go (based on official Mongo Go Driver)
Mongo Go Models (mgm) is a fast and simple MongoDB ODM for Go (based on official Mongo Go Driver)

Mongo Go Models Important Note: We changed package name from github.com/Kamva/mgm/v3(uppercase Kamva) to github.com/kamva/mgm/v3(lowercase kamva) in v

Jan 2, 2023
Google Go Client and Connectors for Redis

Go-Redis Go Clients and Connectors for Redis. The initial release provides the interface and implementation supporting the (~) full set of current Red

Oct 25, 2022
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes

Develop, Deploy and Secure Serverless Apps on Kubernetes. Website • Docs • Support Space Cloud is a Kubernetes based serverless platform that provides

Dec 29, 2022
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.

upper/db is a productive data access layer (DAL) for Go that provides agnostic tools to work with different data sources

Jan 3, 2023
A pure go library to handle MySQL network protocol and replication.

A pure go library to handle MySQL network protocol and replication.

Jan 3, 2023
GoBigdis is a persistent database that implements the Redis server protocol. Any Redis client can interface with it and start to use it right away.

GoBigdis GoBigdis is a persistent database that implements the Redis server protocol. Any Redis client can interface with it and start to use it right

Apr 27, 2022
A MongoDB compatible embeddable database and toolkit for Go.
A MongoDB compatible embeddable database and toolkit for Go.

lungo A MongoDB compatible embeddable database and toolkit for Go. Installation Example Motivation Architecture Features License Installation To get s

Jan 3, 2023
A Golang implemented Redis Server and Cluster.
A Golang implemented Redis Server and Cluster.

Godis is a golang implementation of Redis Server, which intents to provide an example of writing a high concurrent middleware using golang.

Dec 28, 2022
Redis powered simple OTS service - contains two endpoints, to create and find a secret

Onetimesecret This is a simple service that stores and finds your secret. Small but powerfull service - does not have any unnesseccery dependencies. H

Aug 20, 2022
A project for sharing secrets in a quick and secure manner
A project for sharing secrets in a quick and secure manner

Yopass - Share Secrets Securely Yopass is a project for sharing secrets in a quick and secure manner*. The sole purpose of Yopass is to minimize the a

Sep 28, 2021
Redis-benchmark - Simple get, mget and pipelined get benchmark.

redis-benchmark Simple get, mget and pipelined get benchmark. Usage git clone https://github.com/Ali-A-A/redis-benchmark.git cd ./redis-benchmark dock

Dec 31, 2021
Uptrace - Distributed tracing backend using OpenTelemetry and ClickHouse
Uptrace - Distributed tracing backend using OpenTelemetry and ClickHouse

Distributed tracing backend using OpenTelemetry and ClickHouse Uptrace is a dist

Mar 8, 2022
Priority queue with message-group based partitioning and equal attention guarantee for each message group based on Redis

redis-ordered-queue-go Priority queue with message-group based partitioning and equal attention guarantee for each message group based on Redis What i

Oct 21, 2022