HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Встала задача развернуть приватный репозиторий, выбор пал на<a>харбор</a>, с учётом его интеграции с clair, notary. Также он интегрирован с chartmuseum, но эту его особенность пока не исследовал.</p>
1 <p>Встала задача развернуть приватный репозиторий, выбор пал на<a>харбор</a>, с учётом его интеграции с clair, notary. Также он интегрирован с chartmuseum, но эту его особенность пока не исследовал.</p>
2 <p>В дальнейших статьях я опишу настройку пайплайна в gitlab со сборкой образа, размещением его в харбор, проверкой образа на уязвимости и размещением отчёта.</p>
2 <p>В дальнейших статьях я опишу настройку пайплайна в gitlab со сборкой образа, размещением его в харбор, проверкой образа на уязвимости и размещением отчёта.</p>
3 <h2>Предварительно создаём self-signed ключи</h2>
3 <h2>Предварительно создаём self-signed ключи</h2>
4 openssl genrsa -out ca.key 4096 openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=RU/ST=Moscow/L=Moscow/O=example/OU=MY company/CN=mycompany.net" -key ca.key -out ca.crt openssl genrsa -out harbor.mycompany.net.key 4096 openssl req -sha512 -new -subj "/C=RU/ST=Moscow/L=Moscow/O=example/OU=My company/CN=mycompany.net" -key harbor.mycompany.net.key -out harbor.mycompany.net.csr openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in harbor.mycompany.net.csr -out harbor.mycompany.net.crt openssl x509 -inform PEM -in harbor.mycompany.net.crt -out harbor.mycompany.net.cert<h2>Закидываем серверные ключи в выделенный каталог</h2>
4 openssl genrsa -out ca.key 4096 openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=RU/ST=Moscow/L=Moscow/O=example/OU=MY company/CN=mycompany.net" -key ca.key -out ca.crt openssl genrsa -out harbor.mycompany.net.key 4096 openssl req -sha512 -new -subj "/C=RU/ST=Moscow/L=Moscow/O=example/OU=My company/CN=mycompany.net" -key harbor.mycompany.net.key -out harbor.mycompany.net.csr openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in harbor.mycompany.net.csr -out harbor.mycompany.net.crt openssl x509 -inform PEM -in harbor.mycompany.net.crt -out harbor.mycompany.net.cert<h2>Закидываем серверные ключи в выделенный каталог</h2>
5 sudo cp harbor.mycompany.crt /etc/ssl/certs/ sudo cp harbor.mycompany.key /etc/ssl/certs/<h2>Скачиваем исталлятор</h2>
5 sudo cp harbor.mycompany.crt /etc/ssl/certs/ sudo cp harbor.mycompany.key /etc/ssl/certs/<h2>Скачиваем исталлятор</h2>
6 <p>скачиваем harbor-offline-installer-v1.8.1.tgz распаковываем заходим в директорию harbor</p>
6 <p>скачиваем harbor-offline-installer-v1.8.1.tgz распаковываем заходим в директорию harbor</p>
7 <h2>Настраиваем harbor.yml</h2>
7 <h2>Настраиваем harbor.yml</h2>
8 hostname: harbor.mycompany.net https: # https port for harbor, default is 443 port: 443 # The path of cert and key files for nginx certificate: /etc/ssl/certs/harbor.mycompany.net.crt private_key: /etc/ssl/certs/harbor.mycompany.net.key harbor_admin_password: Harbor12345<h2>Запускаем инсталляцию</h2>
8 hostname: harbor.mycompany.net https: # https port for harbor, default is 443 port: 443 # The path of cert and key files for nginx certificate: /etc/ssl/certs/harbor.mycompany.net.crt private_key: /etc/ssl/certs/harbor.mycompany.net.key harbor_admin_password: Harbor12345<h2>Запускаем инсталляцию</h2>
9 sudo ./install.sh --with-clair --with-chartmuseum --with-notary<h2>Настраиваем docker на клиенте (у разработчика)</h2>
9 sudo ./install.sh --with-clair --with-chartmuseum --with-notary<h2>Настраиваем docker на клиенте (у разработчика)</h2>
10 mkdir /etc/docker/certs.d/harbor.mycompany.net/<p>закидываем в этот каталог файлы</p>
10 mkdir /etc/docker/certs.d/harbor.mycompany.net/<p>закидываем в этот каталог файлы</p>
11 /etc/docker/certs.d/harbor.mycompany.net/ ├── ca.crt ├── harbor.mycompany.net.cert └── harbor.mycompany.net.key<p>Собираем докер образ и кладём его в харбор:</p>
11 /etc/docker/certs.d/harbor.mycompany.net/ ├── ca.crt ├── harbor.mycompany.net.cert └── harbor.mycompany.net.key<p>Собираем докер образ и кладём его в харбор:</p>
12 docker login docker build -t harbor.mycompany.net/&lt;project&gt;/&lt;name&gt;:&lt;tag&gt; . docker push harbor.mycompany.net/&lt;project&gt;/&lt;name&gt;:&lt;tag&gt;
12 docker login docker build -t harbor.mycompany.net/&lt;project&gt;/&lt;name&gt;:&lt;tag&gt; . docker push harbor.mycompany.net/&lt;project&gt;/&lt;name&gt;:&lt;tag&gt;