Skip to content

Commit

Permalink
infrastructure improvements + drop ASTRA SE\CE 1.7 support
Browse files Browse the repository at this point in the history
  • Loading branch information
stamepicmorg committed Aug 11, 2024
1 parent 0057c1b commit ea70dfd
Show file tree
Hide file tree
Showing 100 changed files with 155 additions and 4,371 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog
## 2024
* `aug`
* dropped `Astra CE\SE` due potencial license issues. Sorry.
* dropped `kaniko` local script instead of `pip` verion.
* added `Support Document for Docker Image Concepts in Project` document.
* backported new `CVE-fixed` versions of `atlassian` images.
* `WIP`: reworking by new concept of base images and creating new `nginx 1.27.0` with static build.
* `july`
* Start migration from `Odrey's` repos due to author's rot.
* [@oerdnj](https://github.com/oerdnj) go to hell, [xenophobe](https://github.com/oerdnj/deb.sury.org/issues/2155)! :fu:
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
# [![Activity](https://img.shields.io/github/commit-activity/m/EpicMorg/docker-scripts?label=commits&style=flat-square)](https://github.com/EpicMorg/docker/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/docker-scripts.svg?style=popout-square)](https://github.com/EpicMorg/docker/stargazers) [![Size](https://img.shields.io/github/repo-size/EpicMorg/docker-scripts?label=size&style=flat-square)](https://github.com/EpicMorg/docker/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/docker-scripts?style=flat-square)](https://github.com/EpicMorg/docker/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3658/badge)](https://bestpractices.coreinfrastructure.org/projects/3658) [![CodeScene System Mastery](https://codescene.io/projects/6535/status-badges/system-mastery)](https://codescene.io/projects/6535) [![GitHub license](https://img.shields.io/github/license/EpicMorg/docker-scripts.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md)
# [![Activity](https://img.shields.io/github/commit-activity/m/EpicMorg/docker?label=commits&style=flat-square)](https://github.com/EpicMorg/docker/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/docker.svg?style=popout-square)](https://github.com/EpicMorg/docker/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/docker.svg?style=popout-square)](https://github.com/EpicMorg/docker/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/docker.svg?style=popout-square)](https://github.com/EpicMorg/docker/stargazers) [![Size](https://img.shields.io/github/repo-size/EpicMorg/docker?label=size&style=flat-square)](https://github.com/EpicMorg/docker/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/docker?style=flat-square)](https://github.com/EpicMorg/docker/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3658/badge)](https://bestpractices.coreinfrastructure.org/projects/3658) [![CodeScene System Mastery](https://codescene.io/projects/6535/status-badges/system-mastery)](https://codescene.io/projects/6535) [![GitHub license](https://img.shields.io/github/license/EpicMorg/docker.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md)


## Support Document for Docker Image Concepts in Project

| `ru-RU` | `en-US` |
|:-------------|:-------------|
| [:ru: :bookmark_tabs:](SUPPORT.ru.md) | [:us: :bookmark_tabs:](SUPPORT.md)



## Description
A collection of docker images for production use. This repo contains 2 types of images - `advanced` and `ecosystem`. We support `linux x86_64` docker engine (`Win64` is still in the ***testing*** stage).

Expand Down
9 changes: 5 additions & 4 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

## Supported Docker Engine Versions

| Version | Supported |
| ------- | ------------------ |
| Docker >=19.x | :white_check_mark: |
| Linux x86_64 Images | :white_check_mark: |
| Version | Supported | Notes |
| ------- | ------- | ------- |
| Docker >=19.x | :white_check_mark: | - |
| Linux Images | :white_check_mark: | x86_64 only |
| Windows Images | :warning: | x86_64 only, partially |

## Reporting a Vulnerability
1. Open `Issues` tab [here](https://github.com/EpicMorg/docker-scripts/issues).
Expand Down
68 changes: 68 additions & 0 deletions SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Support Document for Docker Image Concepts in Project

`timestamp: 2024/08/12`

## Introduction

The `epicmorg/docker` repository contains a collection of `Docker images `organized by `Debian` versions and used for both base and final product images. The primary goal of this concept is to `ensure organization and relevance of images depending on their use and status`. This document describes the current approach to image organization and planned changes to improve version management and support.

### Image Organization

##### Base Images

In the directory `linux/ecosystem/epicmorg/debian`, Docker images based on various `Debian` versions (from `6` to `12`) are located. All base images can be classified into the following categories:

1. **`slim` Image**:
- Inherits from official Debian images (versions 6-12).
- Contains minimal changes: addition of folders, root certificates, and APT configuration.

2. **`main` Image**:
- Inherits from the `slim` image.
- Includes a basic set of software (e.g., `mc`, `wget`, `htop`).
- Intended as a base image for creating more complex final images, such as Nginx.

3. **`develop` Image**:
- Inherits from the `main` image.
- Includes build and development tools (e.g., `ninja`, `make`, `cmake`).

4. **`nodejs` Images**:
- Include Node.js versions (from 0.4 to the latest).
- Inherit from the `main` image.
- Contain Node.js, npm, npmx, yarn, and header files installed from tar archives.

5. **`jdk` Images**:
- Include JDK versions (from 6 to 21).
- Have two tags:
- Primary tag: inherits from `main`.
- Developer tag: inherits from `develop`.

##### Final Images

In the directory `linux/ecosystem`, images for final products (e.g., `apache2`, `nginx`, `jira`, etc.) are located. These images typically inherit from the relevant final base image needed for the product.

#### Changes in Approach

To improve image management and ensure relevance, the following approach is proposed:

1. **Base Image Support**:
- All existing base images (`slim`, `main`, `develop`, `nodejs`, `jdk`) will remain unchanged for each `Debian` version.
- Base images will be periodically rebuilt to account for updates and backports.

2. **Introduction of `upstream` and `deprecated` Concepts**:
- **`Upstream`**: Current final images will inherit from base images for the latest stable Debian version. Currently, this is Debian 12. When a new stable Debian version is released, final images will be transitioned to the new version.
- **`Deprecated`**: For deprecated versions of base images, only the base images themselves will be available. Final images will not be updated for deprecated versions.

3. **Version Management**:
- Current images will be rebuilt based on the latest stable Debian version.
- Upon the release of a new `Debian` version (e.g., `13`), all final images will be updated and transitioned to the new `Debian` version if it becomes `stable`.

4. **Periodic Image Updates**:
- `All versions` of base images, including `deprecated` ones, will be periodically rebuilt to include updates and backports.

5. **Addition of New Base Images**:

- Starting with the current upstream `version` (`12`), additional base images, such as `PHP` and `Python` or other, will be gradually added to the existing ones. These new base images will `not be` backported to previous deprecated versions. However, when the upstream transitions to a new version (e.g., `13`), the new base images will also transition to it and will be retained in the previous version (e.g., `12`).

#### Conclusion

This approach will allow for better version management and maintain the relevance of images in the repository. Transitioning to the upstream and deprecated concept will help focus on supporting current product versions and provide a more stable and predictable environment for end-users.
67 changes: 67 additions & 0 deletions SUPPORT.ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Документ поддержки концепции образов Docker для проекта

`timestamp: 2024/08/12`

## Введение

Репозиторий `epicmorg/docker` содержит коллекцию `образов Docker`, организованных по версиям `Debian` и используемых для создания как базовых, так и конечных образов продуктов. Основная цель данной концепции — `обеспечить упорядоченность и актуальность образов в зависимости от их использования и статуса`. В этом документе описан текущий подход к организации образов и планируемые изменения для улучшения управления версиями и поддержки.

### Организация образов

##### Базовые образы

В директории `linux/ecosystem/epicmorg/debian` расположены образы `Docker`, основанные на различных версиях Debian (с `6` по `12`). Все базовые образы могут быть классифицированы на следующие категории:

1. **Образ `slim`**:
- Наследуется от официальных образов Debian (версии 6-12).
- Содержит минимальный набор правок: добавление папок, корневых сертификатов и настройка APT.

2. **Образ `main`**:
- Наследуется от образа `slim`.
- Включает базовый набор программного обеспечения (например, `mc`, `wget`, `htop`).
- Предназначен как основной образ для создания более сложных финальных образов, таких как Nginx.

3. **Образ `develop`**:
- Наследуется от образа `main`.
- Включает инструменты для сборки и разработки (например, `ninja`, `make`, `cmake`).

4. **Образы `nodejs`**:
- Включают версии Node.js (с 0.4 до последней).
- Наследуются от образа `main`.
- Содержат Node.js, npm, npmx, yarn и заголовочные файлы, установленные из tar-архивов.

5. **Образы `jdk`**:
- Включают версии JDK (с 6 по 21).
- Имеют два тега:
- Основной тег: наследуется от `main`.
- Девелоперский тег: наследуется от `develop`.

##### Конечные образы

В директории `linux/ecosystem` находятся образы для конечных продуктов (например, `apache2`, `nginx`, `jira`). Эти образы обычно наследуются от соответствующих базовых образов.

#### Изменение подхода к разработке

Для улучшения управления образами и обеспечения актуальности предлагается следующий подход:

1. **Поддержка базовых образов**:
- Все существующие базовые образы (`slim`, `main`, `develop`, `nodejs`, `jdk`) сохранятся без изменений для каждой версии Debian.
- Базовые образы будут пересобираться периодически, чтобы учесть обновления и бекпорты.

2. **Введение концепции `upstream` и `deprecated`**:
- **`Upstream`**: Актуальные конечные образы будут наследоваться от базовых образов для последней стабильной версии Debian. В данный момент это Debian 12. При выходе новой стабильной версии Debian, конечные образы будут переведены на новую версию.
- **`Deprecated`**: Для устаревших версий базовых образов будут доступны только сами базовые образы. Конечные образы не будут обновляться для устаревших версий.

3. **Управление версиями**:
- Актуальные образы будут пересобираться на основе последней `стабильной` версии `Debian`.
- При выпуске новой версии `Debian` (например, `13`), все конечные образы будут обновлены и переведены на новую версию `Debian`, если она станет стабильной.

4. **Периодическое обновление образов**:
- `Все версии` базовых образов, включая `устаревшие`, будут периодически пересобираться для включения обновлений и бекпортов.

5. **Добавление новых базовых образов**:
- Начиная с текущей `версии` апстрима (`12`), в нее будут постепенно добавлены дополнительные базовые образы, такие как `PHP` и `Python` и др. Эти новые базовые образы не будут бекпортированы в предыдущие устаревшие версии. Однако при переходе апстрима на новую версию (например, `13`), новые базовые образы также будут перенесены в нее и останутся в предыдущей версии (например, `12`).

#### Заключение

Этот подход позволит лучше управлять версиями и поддерживать актуальность образов в репозитории. Переход на концепцию upstream и deprecated поможет сосредоточиться на поддержке актуальных версий продуктов и обеспечит более стабильное и предсказуемое окружение для конечных пользователей. Введение новых базовых образов дополнительно расширит функциональность и гибкость доступных Docker-образов.
42 changes: 0 additions & 42 deletions bin/kaniko/_deploy.py

This file was deleted.

3 changes: 0 additions & 3 deletions bin/kaniko/requirements.txt

This file was deleted.

2 changes: 0 additions & 2 deletions linux/ecosystem/epicmorg/README.md

This file was deleted.

Loading

0 comments on commit ea70dfd

Please sign in to comment.