diff --git a/6/README.md b/6/README.md
deleted file mode 100644
index 48fb990..0000000
--- a/6/README.md
+++ /dev/null
@@ -1,329 +0,0 @@
-# About
-
-This image contains an installation Redis 6.x.
-
-For more information, see the [Official Image Marketplace Page](https://console.cloud.google.com/marketplace/details/google/redis6).
-
-Pull command (first install [gcloud](https://cloud.google.com/sdk/downloads)):
-
-```shell
-gcloud docker -- pull marketplace.gcr.io/google/redis6
-```
-
-Dockerfile for this image can be found [here](https://github.com/GoogleCloudPlatform/redis-docker/tree/master/6).
-
-# Table of Contents
-* [Using Kubernetes](#using-kubernetes)
- * [Running Redis](#running-redis-kubernetes)
- * [Starting a Redis instance](#starting-a-redis-instance-kubernetes)
- * [Adding persistence](#adding-persistence-kubernetes)
- * [Redis CLI](#redis-cli-kubernetes)
- * [Connecting to a running Redis container](#connecting-to-a-running-redis-container-kubernetes)
- * [Configurations](#configurations-kubernetes)
- * [Using configuration volume](#using-configuration-volume-kubernetes)
-* [Using Docker](#using-docker)
- * [Running Redis](#running-redis-docker)
- * [Starting a Redis instance](#starting-a-redis-instance-docker)
- * [Adding persistence](#adding-persistence-docker)
- * [Redis CLI](#redis-cli-docker)
- * [Connecting to a running Redis container](#connecting-to-a-running-redis-container-docker)
- * [Configurations](#configurations-docker)
- * [Using configuration volume](#using-configuration-volume-docker)
-* [References](#references)
- * [Ports](#references-ports)
- * [Volumes](#references-volumes)
-
-# Using Kubernetes
-
-Consult [Marketplace container documentation](https://cloud.google.com/marketplace/docs/marketplace-container)
-for additional information about setting up your Kubernetes environment.
-
-## Running Redis
-
-### Starting a Redis instance
-
-Copy the following content to `pod.yaml` file, and run `kubectl create -f pod.yaml`.
-
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: some-redis
- labels:
- name: some-redis
-spec:
- containers:
- - image: marketplace.gcr.io/google/redis6
- name: redis
-```
-
-Run the following to expose the port.
-Depending on your cluster setup, this might expose your service to the
-Internet with an external IP address. For more information, consult
-[Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/).
-
-```shell
-kubectl expose pod some-redis --name some-redis-6379 \
- --type LoadBalancer --port 6379 --protocol TCP
-```
-
-### Adding persistence
-
-Redis is an in-memory database but does write data to disk periodically for recovery. The location of this dump file can be found at `/data/dump.rdb`. By putting `/data` on to a persistent volume, the data will survive container restarts.
-
-You can find more about redis persistence on the [redis website](https://redis.io/topics/persistence).
-
-Copy the following content to `pod.yaml` file, and run `kubectl create -f pod.yaml`.
-
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: some-redis
- labels:
- name: some-redis
-spec:
- containers:
- - image: marketplace.gcr.io/google/redis6
- name: redis
- volumeMounts:
- - name: redisdata
- mountPath: /data
- subPath: redisdata
- volumes:
- - name: redisdata
- persistentVolumeClaim:
- claimName: redisdata
----
-# Request a persistent volume from the cluster using a Persistent Volume Claim.
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: redisdata
- annotations:
- volume.alpha.kubernetes.io/storage-class: default
-spec:
- accessModes: [ReadWriteOnce]
- resources:
- requests:
- storage: 5Gi
-```
-
-Run the following to expose the port.
-Depending on your cluster setup, this might expose your service to the
-Internet with an external IP address. For more information, consult
-[Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/).
-
-```shell
-kubectl expose pod some-redis --name some-redis-6379 \
- --type LoadBalancer --port 6379 --protocol TCP
-```
-
-## Redis CLI
-
-### Connecting to a running Redis container
-
-```shell
-kubectl exec -it some-redis -- redis-cli
-```
-
-To test if redis is working we create a key called MY_TEST_KEY. Run the following command to set a test key.
-
-```
-SET MY_TEST_KEY pass
-```
-
-Run the following command to verify that the set command above succeeded. This should print out "pass".
-
-```
-GET MY_TEST_KEY
-```
-
-## Configurations
-
-### Using configuration volume
-
-Redis can be started with a configuration file to customize or tweak how the cluster will run. This file is commonly named `redis.conf`.
-
-Assume /path/to/your/redis.conf is the configuration file on your local host.
-
-Create the following `configmap`:
-
-```shell
-kubectl create configmap redisconfig \
- --from-file=/path/to/your/redis.conf
-```
-
-Copy the following content to `pod.yaml` file, and run `kubectl create -f pod.yaml`.
-
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: some-redis
- labels:
- name: some-redis
-spec:
- containers:
- - image: marketplace.gcr.io/google/redis6
- name: redis
- args:
- - /etc/redis/redis.conf
- volumeMounts:
- - name: redisconfig
- mountPath: /etc/redis
- volumes:
- - name: redisconfig
- configMap:
- name: redisconfig
-```
-
-Run the following to expose the port.
-Depending on your cluster setup, this might expose your service to the
-Internet with an external IP address. For more information, consult
-[Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/).
-
-```shell
-kubectl expose pod some-redis --name some-redis-6379 \
- --type LoadBalancer --port 6379 --protocol TCP
-```
-
-See [Volume reference](#references-volumes) for more details.
-
-# Using Docker
-
-Consult [Marketplace container documentation](https://cloud.google.com/marketplace/docs/marketplace-container)
-for additional information about setting up your Docker environment.
-
-## Running Redis
-
-### Starting a Redis instance
-
-Use the following content for the `docker-compose.yml` file, then run `docker-compose up`.
-
-```yaml
-version: '2'
-services:
- redis:
- container_name: some-redis
- image: marketplace.gcr.io/google/redis6
- ports:
- - '6379:6379'
-```
-
-Or you can use `docker run` directly:
-
-```shell
-docker run \
- --name some-redis \
- -p 6379:6379 \
- -d \
- marketplace.gcr.io/google/redis6
-```
-
-### Adding persistence
-
-Redis is an in-memory database but does write data to disk periodically for recovery. The location of this dump file can be found at `/data/dump.rdb`. By putting `/data` on to a persistent volume, the data will survive container restarts.
-
-You can find more about redis persistence on the [redis website](https://redis.io/topics/persistence).
-
-Use the following content for the `docker-compose.yml` file, then run `docker-compose up`.
-
-```yaml
-version: '2'
-services:
- redis:
- container_name: some-redis
- image: marketplace.gcr.io/google/redis6
- ports:
- - '6379:6379'
- volumes:
- - /path/to/your/redis/data/directory:/data
-```
-
-Or you can use `docker run` directly:
-
-```shell
-docker run \
- --name some-redis \
- -p 6379:6379 \
- -v /path/to/your/redis/data/directory:/data \
- -d \
- marketplace.gcr.io/google/redis6
-```
-
-## Redis CLI
-
-### Connecting to a running Redis container
-
-```shell
-docker exec -it some-redis redis-cli
-```
-
-To test if redis is working we create a key called MY_TEST_KEY. Run the following command to set a test key.
-
-```
-SET MY_TEST_KEY pass
-```
-
-Run the following command to verify that the set command above succeeded. This should print out "pass".
-
-```
-GET MY_TEST_KEY
-```
-
-## Configurations
-
-### Using configuration volume
-
-Redis can be started with a configuration file to customize or tweak how the cluster will run. This file is commonly named `redis.conf`.
-
-Assume /path/to/your/redis.conf is the configuration file on your local host.
-
-Use the following content for the `docker-compose.yml` file, then run `docker-compose up`.
-
-```yaml
-version: '2'
-services:
- redis:
- container_name: some-redis
- image: marketplace.gcr.io/google/redis6
- command:
- - /etc/redis/redis.conf
- ports:
- - '6379:6379'
- volumes:
- - /path/to/your/redis.conf:/etc/redis/redis.conf
-```
-
-Or you can use `docker run` directly:
-
-```shell
-docker run \
- --name some-redis \
- -p 6379:6379 \
- -v /path/to/your/redis.conf:/etc/redis/redis.conf \
- -d \
- marketplace.gcr.io/google/redis6 \
- /etc/redis/redis.conf
-```
-
-See [Volume reference](#references-volumes) for more details.
-
-# References
-
-## Ports
-
-These are the ports exposed by the container image.
-
-| **Port** | **Description** |
-|:---------|:----------------|
-| TCP 6379 | Redis port |
-
-## Volumes
-
-These are the filesystem paths used by the container image.
-
-| **Path** | **Description** |
-|:---------|:----------------|
-| /data | Location where redis will stores the rdb data |
diff --git a/6/README.yaml b/6/README.yaml
deleted file mode 100644
index 21a9205..0000000
--- a/6/README.yaml
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright (c) 2019, Google LLC.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# * Neither the name of Google Inc. nor the
-# names of its contributors may be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL Google Inc. BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Used with http://github.com/GoogleCloudPlatform/runtimes-common/tree/master/docgen
-_templates:
-- &Image marketplace.gcr.io/google/redis6
-- &PullCommand gcloud docker -- pull marketplace.gcr.io/google/redis6
-- &ServiceArgs
- name: redis
- image: *Image
-- &BaseServerRun
- <<: *ServiceArgs
- exposedPorts:
- - port: 6379
-- &BaseClientRun
- name: redis
- image: *Image
- runType: INTERACTIVE_SHELL
-- &BaseExec
- execType: INTERACTIVE_SHELL
-
-overview:
- description: |-
- This image contains an installation Redis 6.x.
-
- For more information, see the [Official Image Marketplace Page](https://console.cloud.google.com/marketplace/details/google/redis6).
- dockerfileUrl: https://github.com/GoogleCloudPlatform/redis-docker/tree/master/6
- pullCommand: *PullCommand
-
-taskGroups:
-
-- title: Running Redis
- tasks:
- - title: Starting a Redis instance
- runtimes: [DOCKER, KUBERNETES]
- instructions:
- - run:
- <<: *BaseServerRun
- - title: Adding persistence
- runtimes: [DOCKER, KUBERNETES]
- description: |-
- Redis is an in-memory database but does write data to disk periodically for recovery. The location of this dump file can be found at `/data/dump.rdb`. By putting `/data` on to a persistent volume, the data will survive container restarts.
-
- You can find more about redis persistence on the [redis website](https://redis.io/topics/persistence).
- instructions:
- - run:
- <<: *BaseServerRun
- volumes:
- - name: redisdata
- path: /data
- emptyPersistentVolume:
- hostPath: /path/to/your/redis/data/directory
- subPath: redisdata
-
-- title: Redis CLI
- tasks:
- - title: Connecting to a running Redis container
- runtimes: [DOCKER, KUBERNETES]
- instructions:
- - exec:
- <<: *BaseExec
- containerFromRun: *BaseServerRun
- command: redis-cli
- subcommands:
- - description: To test if redis is working we create a key called MY_TEST_KEY. Run the following command to set a test key.
- command: SET MY_TEST_KEY pass
- - description: Run the following command to verify that the set command above succeeded. This should print out "pass".
- command: GET MY_TEST_KEY
-
-- title: Configurations
- anchorId: configurations
- tasks:
- - title: Using configuration volume
- runtimes: [DOCKER, KUBERNETES]
- instructions:
- - description: |-
- Redis can be started with a configuration file to customize or tweak how the cluster will run. This file is commonly named `redis.conf`.
-
- Assume /path/to/your/redis.conf is the configuration file on your local host.
- run:
- <<: *BaseServerRun
- arguments: ["/etc/redis/redis.conf"]
- volumes:
- - name: redisconfig
- path: /etc/redis
- singleFile:
- hostFile: /path/to/your/redis.conf
- - description: >-
- See [Volume reference](#references-volumes) for more details.
-
-
-portReference:
- ports:
- - port: '6379'
- description: Redis port
-
-volumeReference:
- volumes:
- - path: /data
- description: Location where redis will stores the rdb data
diff --git a/6/debian11/6.2/Dockerfile b/6/debian11/6.2/Dockerfile
index be5ac9a..5433c53 100644
--- a/6/debian11/6.2/Dockerfile
+++ b/6/debian11/6.2/Dockerfile
@@ -24,7 +24,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
# add gosu for easy step-down from root
-ENV GOSU_VERSION 1.11
+ENV GOSU_VERSION 1.17
ENV GOSU_GPG B42F6819007F00F88E364FD4036A9C25BF357DD4
RUN set -x \
diff --git a/7/README.md b/7/README.md
deleted file mode 100644
index 99629b1..0000000
--- a/7/README.md
+++ /dev/null
@@ -1,329 +0,0 @@
-# About
-
-This image contains an installation Redis 7.x.
-
-For more information, see the [Official Image Marketplace Page](https://console.cloud.google.com/marketplace/details/google/redis7).
-
-Pull command (first install [gcloud](https://cloud.google.com/sdk/downloads)):
-
-```shell
-gcloud docker -- pull marketplace.gcr.io/google/redis7
-```
-
-Dockerfile for this image can be found [here](https://github.com/GoogleCloudPlatform/redis-docker/tree/master/6).
-
-# Table of Contents
-* [Using Kubernetes](#using-kubernetes)
- * [Running Redis](#running-redis-kubernetes)
- * [Starting a Redis instance](#starting-a-redis-instance-kubernetes)
- * [Adding persistence](#adding-persistence-kubernetes)
- * [Redis CLI](#redis-cli-kubernetes)
- * [Connecting to a running Redis container](#connecting-to-a-running-redis-container-kubernetes)
- * [Configurations](#configurations-kubernetes)
- * [Using configuration volume](#using-configuration-volume-kubernetes)
-* [Using Docker](#using-docker)
- * [Running Redis](#running-redis-docker)
- * [Starting a Redis instance](#starting-a-redis-instance-docker)
- * [Adding persistence](#adding-persistence-docker)
- * [Redis CLI](#redis-cli-docker)
- * [Connecting to a running Redis container](#connecting-to-a-running-redis-container-docker)
- * [Configurations](#configurations-docker)
- * [Using configuration volume](#using-configuration-volume-docker)
-* [References](#references)
- * [Ports](#references-ports)
- * [Volumes](#references-volumes)
-
-# Using Kubernetes
-
-Consult [Marketplace container documentation](https://cloud.google.com/marketplace/docs/marketplace-container)
-for additional information about setting up your Kubernetes environment.
-
-## Running Redis
-
-### Starting a Redis instance
-
-Copy the following content to `pod.yaml` file, and run `kubectl create -f pod.yaml`.
-
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: some-redis
- labels:
- name: some-redis
-spec:
- containers:
- - image: marketplace.gcr.io/google/redis7
- name: redis
-```
-
-Run the following to expose the port.
-Depending on your cluster setup, this might expose your service to the
-Internet with an external IP address. For more information, consult
-[Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/).
-
-```shell
-kubectl expose pod some-redis --name some-redis-6379 \
- --type LoadBalancer --port 6379 --protocol TCP
-```
-
-### Adding persistence
-
-Redis is an in-memory database but does write data to disk periodically for recovery. The location of this dump file can be found at `/data/dump.rdb`. By putting `/data` on to a persistent volume, the data will survive container restarts.
-
-You can find more about redis persistence on the [redis website](https://redis.io/topics/persistence).
-
-Copy the following content to `pod.yaml` file, and run `kubectl create -f pod.yaml`.
-
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: some-redis
- labels:
- name: some-redis
-spec:
- containers:
- - image: marketplace.gcr.io/google/redis7
- name: redis
- volumeMounts:
- - name: redisdata
- mountPath: /data
- subPath: redisdata
- volumes:
- - name: redisdata
- persistentVolumeClaim:
- claimName: redisdata
----
-# Request a persistent volume from the cluster using a Persistent Volume Claim.
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: redisdata
- annotations:
- volume.alpha.kubernetes.io/storage-class: default
-spec:
- accessModes: [ReadWriteOnce]
- resources:
- requests:
- storage: 5Gi
-```
-
-Run the following to expose the port.
-Depending on your cluster setup, this might expose your service to the
-Internet with an external IP address. For more information, consult
-[Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/).
-
-```shell
-kubectl expose pod some-redis --name some-redis-6379 \
- --type LoadBalancer --port 6379 --protocol TCP
-```
-
-## Redis CLI
-
-### Connecting to a running Redis container
-
-```shell
-kubectl exec -it some-redis -- redis-cli
-```
-
-To test if redis is working we create a key called MY_TEST_KEY. Run the following command to set a test key.
-
-```
-SET MY_TEST_KEY pass
-```
-
-Run the following command to verify that the set command above succeeded. This should print out "pass".
-
-```
-GET MY_TEST_KEY
-```
-
-## Configurations
-
-### Using configuration volume
-
-Redis can be started with a configuration file to customize or tweak how the cluster will run. This file is commonly named `redis.conf`.
-
-Assume /path/to/your/redis.conf is the configuration file on your local host.
-
-Create the following `configmap`:
-
-```shell
-kubectl create configmap redisconfig \
- --from-file=/path/to/your/redis.conf
-```
-
-Copy the following content to `pod.yaml` file, and run `kubectl create -f pod.yaml`.
-
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
- name: some-redis
- labels:
- name: some-redis
-spec:
- containers:
- - image: marketplace.gcr.io/google/redis7
- name: redis
- args:
- - /etc/redis/redis.conf
- volumeMounts:
- - name: redisconfig
- mountPath: /etc/redis
- volumes:
- - name: redisconfig
- configMap:
- name: redisconfig
-```
-
-Run the following to expose the port.
-Depending on your cluster setup, this might expose your service to the
-Internet with an external IP address. For more information, consult
-[Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/).
-
-```shell
-kubectl expose pod some-redis --name some-redis-6379 \
- --type LoadBalancer --port 6379 --protocol TCP
-```
-
-See [Volume reference](#references-volumes) for more details.
-
-# Using Docker
-
-Consult [Marketplace container documentation](https://cloud.google.com/marketplace/docs/marketplace-container)
-for additional information about setting up your Docker environment.
-
-## Running Redis
-
-### Starting a Redis instance
-
-Use the following content for the `docker-compose.yml` file, then run `docker-compose up`.
-
-```yaml
-version: '2'
-services:
- redis:
- container_name: some-redis
- image: marketplace.gcr.io/google/redis7
- ports:
- - '6379:6379'
-```
-
-Or you can use `docker run` directly:
-
-```shell
-docker run \
- --name some-redis \
- -p 6379:6379 \
- -d \
- marketplace.gcr.io/google/redis7
-```
-
-### Adding persistence
-
-Redis is an in-memory database but does write data to disk periodically for recovery. The location of this dump file can be found at `/data/dump.rdb`. By putting `/data` on to a persistent volume, the data will survive container restarts.
-
-You can find more about redis persistence on the [redis website](https://redis.io/topics/persistence).
-
-Use the following content for the `docker-compose.yml` file, then run `docker-compose up`.
-
-```yaml
-version: '2'
-services:
- redis:
- container_name: some-redis
- image: marketplace.gcr.io/google/redis7
- ports:
- - '6379:6379'
- volumes:
- - /path/to/your/redis/data/directory:/data
-```
-
-Or you can use `docker run` directly:
-
-```shell
-docker run \
- --name some-redis \
- -p 6379:6379 \
- -v /path/to/your/redis/data/directory:/data \
- -d \
- marketplace.gcr.io/google/redis7
-```
-
-## Redis CLI
-
-### Connecting to a running Redis container
-
-```shell
-docker exec -it some-redis redis-cli
-```
-
-To test if redis is working we create a key called MY_TEST_KEY. Run the following command to set a test key.
-
-```
-SET MY_TEST_KEY pass
-```
-
-Run the following command to verify that the set command above succeeded. This should print out "pass".
-
-```
-GET MY_TEST_KEY
-```
-
-## Configurations
-
-### Using configuration volume
-
-Redis can be started with a configuration file to customize or tweak how the cluster will run. This file is commonly named `redis.conf`.
-
-Assume /path/to/your/redis.conf is the configuration file on your local host.
-
-Use the following content for the `docker-compose.yml` file, then run `docker-compose up`.
-
-```yaml
-version: '2'
-services:
- redis:
- container_name: some-redis
- image: marketplace.gcr.io/google/redis7
- command:
- - /etc/redis/redis.conf
- ports:
- - '6379:6379'
- volumes:
- - /path/to/your/redis.conf:/etc/redis/redis.conf
-```
-
-Or you can use `docker run` directly:
-
-```shell
-docker run \
- --name some-redis \
- -p 6379:6379 \
- -v /path/to/your/redis.conf:/etc/redis/redis.conf \
- -d \
- marketplace.gcr.io/google/redis7 \
- /etc/redis/redis.conf
-```
-
-See [Volume reference](#references-volumes) for more details.
-
-# References
-
-## Ports
-
-These are the ports exposed by the container image.
-
-| **Port** | **Description** |
-|:---------|:----------------|
-| TCP 6379 | Redis port |
-
-## Volumes
-
-These are the filesystem paths used by the container image.
-
-| **Path** | **Description** |
-|:---------|:----------------|
-| /data | Location where redis will stores the rdb data |
diff --git a/7/README.yaml b/7/README.yaml
deleted file mode 100644
index a7b8e15..0000000
--- a/7/README.yaml
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright (c) 2019, Google LLC.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# * Neither the name of Google Inc. nor the
-# names of its contributors may be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL Google Inc. BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Used with http://github.com/GoogleCloudPlatform/runtimes-common/tree/master/docgen
-_templates:
-- &Image marketplace.gcr.io/google/redis7
-- &PullCommand gcloud docker -- pull marketplace.gcr.io/google/redis7
-- &ServiceArgs
- name: redis
- image: *Image
-- &BaseServerRun
- <<: *ServiceArgs
- exposedPorts:
- - port: 6379
-- &BaseClientRun
- name: redis
- image: *Image
- runType: INTERACTIVE_SHELL
-- &BaseExec
- execType: INTERACTIVE_SHELL
-
-overview:
- description: |-
- This image contains an installation Redis 7.x.
-
- For more information, see the [Official Image Marketplace Page](https://console.cloud.google.com/marketplace/details/google/redis7).
- dockerfileUrl: https://github.com/GoogleCloudPlatform/redis-docker/tree/master/6
- pullCommand: *PullCommand
-
-taskGroups:
-
-- title: Running Redis
- tasks:
- - title: Starting a Redis instance
- runtimes: [DOCKER, KUBERNETES]
- instructions:
- - run:
- <<: *BaseServerRun
- - title: Adding persistence
- runtimes: [DOCKER, KUBERNETES]
- description: |-
- Redis is an in-memory database but does write data to disk periodically for recovery. The location of this dump file can be found at `/data/dump.rdb`. By putting `/data` on to a persistent volume, the data will survive container restarts.
-
- You can find more about redis persistence on the [redis website](https://redis.io/topics/persistence).
- instructions:
- - run:
- <<: *BaseServerRun
- volumes:
- - name: redisdata
- path: /data
- emptyPersistentVolume:
- hostPath: /path/to/your/redis/data/directory
- subPath: redisdata
-
-- title: Redis CLI
- tasks:
- - title: Connecting to a running Redis container
- runtimes: [DOCKER, KUBERNETES]
- instructions:
- - exec:
- <<: *BaseExec
- containerFromRun: *BaseServerRun
- command: redis-cli
- subcommands:
- - description: To test if redis is working we create a key called MY_TEST_KEY. Run the following command to set a test key.
- command: SET MY_TEST_KEY pass
- - description: Run the following command to verify that the set command above succeeded. This should print out "pass".
- command: GET MY_TEST_KEY
-
-- title: Configurations
- anchorId: configurations
- tasks:
- - title: Using configuration volume
- runtimes: [DOCKER, KUBERNETES]
- instructions:
- - description: |-
- Redis can be started with a configuration file to customize or tweak how the cluster will run. This file is commonly named `redis.conf`.
-
- Assume /path/to/your/redis.conf is the configuration file on your local host.
- run:
- <<: *BaseServerRun
- arguments: ["/etc/redis/redis.conf"]
- volumes:
- - name: redisconfig
- path: /etc/redis
- singleFile:
- hostFile: /path/to/your/redis.conf
- - description: >-
- See [Volume reference](#references-volumes) for more details.
-
-
-portReference:
- ports:
- - port: '6379'
- description: Redis port
-
-volumeReference:
- volumes:
- - path: /data
- description: Location where redis will stores the rdb data
diff --git a/7/debian11/7.2/Dockerfile b/7/debian11/7.2/Dockerfile
index 1fe553a..72ed939 100644
--- a/7/debian11/7.2/Dockerfile
+++ b/7/debian11/7.2/Dockerfile
@@ -1,5 +1,24 @@
+FROM marketplace.gcr.io/google/c2d-debian11 as ospo
+
+# Download Licenses and restricted source-code
+COPY components.csv /components.csv
+COPY source_code.txt /source_code.txt
+
+RUN apt update && apt -y install ca-certificates
+
+RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \
+ && curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \
+ && chmod +x /download-licenses.sh \
+ && chmod +x /download-ref-repos.sh
+
+RUN mkdir -p /usr/src/licenses \
+ && /download-licenses.sh /components.csv /usr/src/licenses \
+ && /download-ref-repos.sh /source_code.txt /usr/src
+
FROM marketplace.gcr.io/google/c2d-debian11
+COPY --from=ospo /usr/src /usr/src
+
# Get the list of packages from the base image.
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
@@ -24,7 +43,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
# add gosu for easy step-down from root
-ENV GOSU_VERSION 1.11
+ENV GOSU_VERSION 1.17
ENV GOSU_GPG B42F6819007F00F88E364FD4036A9C25BF357DD4
RUN set -x \
diff --git a/7/debian11/7.2/components.csv b/7/debian11/7.2/components.csv
new file mode 100644
index 0000000..4c00b28
--- /dev/null
+++ b/7/debian11/7.2/components.csv
@@ -0,0 +1,5 @@
+github.com_moby_sys_user;https://rawhubusercontent.com/moby/sys/master/LICENSE
+github.com_tianon_gosu;https://github.com/tianon/gosu/blob/master/LICENSE
+golang.org_x_sys;https://go.googlesource.com/sys
+redis;https://github.com/redis/redis/blob/unstable/COPYING
+stdlib;https://pkg.go.dev/github.com/radisvaliullin/test-golang/stdlib?tab=licenses
\ No newline at end of file
diff --git a/7/debian11/7.2/source_code.txt b/7/debian11/7.2/source_code.txt
new file mode 100644
index 0000000..1525cbf
--- /dev/null
+++ b/7/debian11/7.2/source_code.txt
@@ -0,0 +1,5 @@
+https://github.com//moby/sys
+https://github.com/tianon/gosu
+https://go.googlesource.com/sys
+https://github.com/redis/redis
+https://pkg.go.dev/github.com/radisvaliullin/test-golang/stdlib?tab=licenses
\ No newline at end of file
diff --git a/exporter/Dockerfile b/exporter/Dockerfile
index a668fb8..5864797 100644
--- a/exporter/Dockerfile
+++ b/exporter/Dockerfile
@@ -1,15 +1,13 @@
FROM marketplace.gcr.io/google/c2d-debian11
-ENV EXPORTER_VERSION 1.54.0
+ENV EXPORTER_VERSION 1.58.0
-ENV GOLANG_VERSION 1.21.1
+ENV GOLANG_VERSION 1.20
# Install Dependencies
RUN apt-get update -y && \
- apt-get install -y --no-install-recommends \
- curl \
- git \
- && rm -rf /var/lib/apt/lists/*
+ apt-get install -y --no-install-recommends ca-certificates curl git && \
+ rm -rf /var/lib/apt/lists/*
# Download and Extract go binaries
RUN curl -o go.tar.gz https://dl.google.com/go/go${GOLANG_VERSION}.linux-amd64.tar.gz \
diff --git a/templates/exporter/Dockerfile.template b/templates/exporter/Dockerfile.template
index 0863f4f..1adf60d 100644
--- a/templates/exporter/Dockerfile.template
+++ b/templates/exporter/Dockerfile.template
@@ -9,10 +9,8 @@ ENV GOLANG_VERSION {{ $golang.Version }}
# Install Dependencies
RUN apt-get update -y && \
- apt-get install -y --no-install-recommends \
- curl \
- git \
- && rm -rf /var/lib/apt/lists/*
+ apt-get install -y --no-install-recommends ca-certificates curl git && \
+ rm -rf /var/lib/apt/lists/*
# Download and Extract go binaries
RUN curl -o go.tar.gz https://dl.google.com/go/go${GOLANG_VERSION}.linux-amd64.tar.gz \
diff --git a/templates/redis7/Dockerfile.template b/templates/redis7/Dockerfile.template
index e8ee597..f56839a 100644
--- a/templates/redis7/Dockerfile.template
+++ b/templates/redis7/Dockerfile.template
@@ -1,5 +1,24 @@
+FROM {{ .From }} as ospo
+
+# Download Licenses and restricted source-code
+COPY components.csv /components.csv
+COPY source_code.txt /source_code.txt
+
+RUN apt update && apt -y install ca-certificates
+
+RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \
+ && curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \
+ && chmod +x /download-licenses.sh \
+ && chmod +x /download-ref-repos.sh
+
+RUN mkdir -p /usr/src/licenses \
+ && /download-licenses.sh /components.csv /usr/src/licenses \
+ && /download-ref-repos.sh /source_code.txt /usr/src
+
FROM {{ .From }}
+COPY --from=ospo /usr/src /usr/src
+
# Get the list of packages from the base image.
{{- $gosu := index .Packages "gosu" }}
{{- $redis := index .Packages "redis" }}
diff --git a/templates/redis7/components.csv b/templates/redis7/components.csv
new file mode 100644
index 0000000..4c00b28
--- /dev/null
+++ b/templates/redis7/components.csv
@@ -0,0 +1,5 @@
+github.com_moby_sys_user;https://rawhubusercontent.com/moby/sys/master/LICENSE
+github.com_tianon_gosu;https://github.com/tianon/gosu/blob/master/LICENSE
+golang.org_x_sys;https://go.googlesource.com/sys
+redis;https://github.com/redis/redis/blob/unstable/COPYING
+stdlib;https://pkg.go.dev/github.com/radisvaliullin/test-golang/stdlib?tab=licenses
\ No newline at end of file
diff --git a/templates/redis7/source_code.txt b/templates/redis7/source_code.txt
new file mode 100644
index 0000000..1525cbf
--- /dev/null
+++ b/templates/redis7/source_code.txt
@@ -0,0 +1,5 @@
+https://github.com//moby/sys
+https://github.com/tianon/gosu
+https://go.googlesource.com/sys
+https://github.com/redis/redis
+https://pkg.go.dev/github.com/radisvaliullin/test-golang/stdlib?tab=licenses
\ No newline at end of file
diff --git a/versions.yaml b/versions.yaml
index b37c46c..f15ee1d 100644
--- a/versions.yaml
+++ b/versions.yaml
@@ -1,4 +1,4 @@
-# Copyright 2023 Google LLC
+# Copyright 2024 Google LLC
#
# All rights reserved.
#
@@ -35,7 +35,7 @@ versions:
packages:
gosu:
gpg: B42F6819007F00F88E364FD4036A9C25BF357DD4
- version: '1.11'
+ version: '1.17'
redis:
version: 7.2.1
repo: redis7
@@ -55,7 +55,7 @@ versions:
packages:
gosu:
gpg: B42F6819007F00F88E364FD4036A9C25BF357DD4
- version: '1.11'
+ version: '1.17'
redis:
version: 6.2.13
repo: redis6
@@ -74,13 +74,14 @@ versions:
from: marketplace.gcr.io/google/c2d-debian11
packages:
golang:
- version: '1.21.1'
+ version: '1.20'
redis_exporter:
- version: 1.54.0
+ version: 1.58.0
repo: redis-exporter1
tags:
- - 1.54.0
- - '1.54'
+ - 1.58.0
+ - '1.58'
- '1'
- latest
templateSubDir: exporter
+