UNCLASSIFIED
Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Ironbank Containers
G
GitLab
Gitlab
gitlab-task-runner
Commits
d3787dbf
Verified
Commit
d3787dbf
authored
May 22, 2021
by
DJ Mountney
Browse files
Update GitLab to the 13.12.0 Feature Release
parent
632059cc
Pipeline
#272974
failed with stages
in 3 minutes and 16 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
93 additions
and
16 deletions
+93
-16
Dockerfile
Dockerfile
+3
-2
build-scripts/build.sh
build-scripts/build.sh
+1
-1
hardening_manifest.yaml
hardening_manifest.yaml
+7
-7
scripts/bin/backup-utility
scripts/bin/backup-utility
+82
-6
No files found.
Dockerfile
View file @
d3787dbf
ARG
GITLAB_VERSION=v13.1
1.2
-ubi8
ARG
GITLAB_VERSION=v13.1
2.0
-ubi8
ARG
BASE_REGISTRY=nexus-docker-secure.levelup-nexus.svc.cluster.local:18082
ARG
BASE_REGISTRY=nexus-docker-secure.levelup-nexus.svc.cluster.local:18082
ARG
BASE_IMAGE=gitlab/gitlab/gitlab-rails
ARG
BASE_IMAGE=gitlab/gitlab/gitlab-rails
ARG
BASE_TAG=13.1
1.2
ARG
BASE_TAG=13.1
2.0
ARG
RAILS_IMAGE=${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG}
ARG
RAILS_IMAGE=${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG}
...
@@ -11,6 +11,7 @@ FROM ${RAILS_IMAGE}
...
@@ -11,6 +11,7 @@ FROM ${RAILS_IMAGE}
ARG
GITLAB_VERSION
ARG
GITLAB_VERSION
ARG
GITLAB_USER=git
ARG
GITLAB_USER=git
ARG
DNF_OPTS
ARG
DNF_OPTS
ENV
LIBDIR ${LIBDIR:-"/usr/lib64"}
ADD
gitlab-task-runner-ee.tar.gz /
ADD
gitlab-task-runner-ee.tar.gz /
ADD
gitlab-python.tar.gz /
ADD
gitlab-python.tar.gz /
...
...
build-scripts/build.sh
View file @
d3787dbf
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
set
-euxo
pipefail
set
-euxo
pipefail
TAG
=
${
1
:-
13
.1
1.2
}
TAG
=
${
1
:-
13
.1
2.0
}
REPOSITORY
=
${
2
:-}
REPOSITORY
=
${
2
:-}
DOCKER_OPTS
=
${
DOCKER_OPTS
:-
""
}
DOCKER_OPTS
=
${
DOCKER_OPTS
:-
""
}
...
...
hardening_manifest.yaml
View file @
d3787dbf
...
@@ -5,12 +5,12 @@ name: "gitlab/gitlab/gitlab-task-runner"
...
@@ -5,12 +5,12 @@ name: "gitlab/gitlab/gitlab-task-runner"
# The most specific version should be the first tag and will be shown
# The most specific version should be the first tag and will be shown
# on ironbank.dsop.io
# on ironbank.dsop.io
tags
:
tags
:
-
"
13.1
1.2
"
-
"
13.1
2.0
"
-
"
latest"
-
"
latest"
# Build args passed to Dockerfile ARGs
# Build args passed to Dockerfile ARGs
args
:
args
:
BASE_IMAGE
:
"
gitlab/gitlab/gitlab-rails"
BASE_IMAGE
:
"
gitlab/gitlab/gitlab-rails"
BASE_TAG
:
"
13.1
1.2
"
BASE_TAG
:
"
13.1
2.0
"
# Docker image labels
# Docker image labels
labels
:
labels
:
org.opencontainers.image.title
:
"
Gitlab
Task
Runner"
org.opencontainers.image.title
:
"
Gitlab
Task
Runner"
...
@@ -22,7 +22,7 @@ labels:
...
@@ -22,7 +22,7 @@ labels:
org.opencontainers.image.url
:
"
https://about.gitlab.com/"
org.opencontainers.image.url
:
"
https://about.gitlab.com/"
## Name of the distributing entity, organization or individual
## Name of the distributing entity, organization or individual
org.opencontainers.image.vendor
:
"
Gitlab"
org.opencontainers.image.vendor
:
"
Gitlab"
org.opencontainers.image.version
:
"
13.1
1.2
"
org.opencontainers.image.version
:
"
13.1
2.0
"
## Keywords to help with search (ex. "cicd,gitops,golang")
## Keywords to help with search (ex. "cicd,gitops,golang")
mil.dso.ironbank.image.keywords
:
"
gitlab,
git,
gitops"
mil.dso.ironbank.image.keywords
:
"
gitlab,
git,
gitops"
## This value can be "opensource" or "commercial"
## This value can be "opensource" or "commercial"
...
@@ -43,13 +43,13 @@ maintainers:
...
@@ -43,13 +43,13 @@ maintainers:
username
:
"
alfontaine"
username
:
"
alfontaine"
email
:
"
alan.fontaine@centauricorp.com"
email
:
"
alan.fontaine@centauricorp.com"
resources
:
resources
:
-
url
:
"
https://gitlab-ubi.s3.amazonaws.com/ubi8-build-dependencies-v13.1
1.2
-ubi8/gitlab-task-runner-ee.tar.gz"
-
url
:
"
https://gitlab-ubi.s3.amazonaws.com/ubi8-build-dependencies-v13.1
2.0
-ubi8/gitlab-task-runner-ee.tar.gz"
filename
:
"
gitlab-task-runner-ee.tar.gz"
filename
:
"
gitlab-task-runner-ee.tar.gz"
validation
:
validation
:
type
:
"
sha256"
type
:
"
sha256"
value
:
"
c3414b48294616b28febb71473f1c15f00a76b8c0f4108a1276bd866aecca971
"
value
:
"
13bd77fe4a0077119138c7e7ddf0cbbf7d247b87c503f289f6140e1f413b524c
"
-
url
:
"
https://gitlab-ubi.s3.amazonaws.com/ubi8-build-dependencies-v13.1
1.2
-ubi8/gitlab-python.tar.gz"
-
url
:
"
https://gitlab-ubi.s3.amazonaws.com/ubi8-build-dependencies-v13.1
2.0
-ubi8/gitlab-python.tar.gz"
filename
:
"
gitlab-python.tar.gz"
filename
:
"
gitlab-python.tar.gz"
validation
:
validation
:
type
:
"
sha256"
type
:
"
sha256"
value
:
"
1
199b25cd6f32816c584e2dd275556e0e98f0612bdd51a55b18091328ea3f66b
"
value
:
"
1
326de3e530204bf98181de17d197ddb47aa4c429a4da9c318dfff9180df34ed
"
scripts/bin/backup-utility
View file @
d3787dbf
#!/bin/bash
#!/bin/bash
set
-e
set
-e
ACTION
=
"
backup
"
ACTION
=
""
export
BACKUP_BUCKET_NAME
=
${
BACKUP_BUCKET_NAME
-gitlab-backups
}
export
BACKUP_BUCKET_NAME
=
${
BACKUP_BUCKET_NAME
-gitlab-backups
}
export
BACKUP_BACKEND
=
${
BACKUP_BACKEND
-s3
}
export
BACKUP_BACKEND
=
${
BACKUP_BACKEND
-s3
}
S3_CMD_BACKUP_OPTION
=
""
S3_CMD_BACKUP_OPTION
=
""
...
@@ -9,7 +9,7 @@ S3_CMD_BACKUP_OPTION=""
...
@@ -9,7 +9,7 @@ S3_CMD_BACKUP_OPTION=""
rails_dir
=
/srv/gitlab
rails_dir
=
/srv/gitlab
backups_path
=
$rails_dir
/tmp/backups
backups_path
=
$rails_dir
/tmp/backups
backup_tars_path
=
$rails_dir
/tmp/backup_tars
backup_tars_path
=
$rails_dir
/tmp/backup_tars
object_storage_backends
=(
registry uploads artifacts lfs packages external_diffs terraform_state
)
object_storage_backends
=(
registry uploads artifacts lfs packages external_diffs terraform_state
pages
)
skipping_backup_for
=()
skipping_backup_for
=()
...
@@ -17,7 +17,7 @@ function usage()
...
@@ -17,7 +17,7 @@ function usage()
{
{
cat
<<
HEREDOC
cat
<<
HEREDOC
Usage: backup-utility [--restore] [-f URL] [-t TIMESTAMP] [--skip COMPONENT] [--backend BACKEND] [--s3config CONFIG]
Usage: backup-utility [--restore
|--cleanup
] [-f URL] [-t TIMESTAMP] [--skip COMPONENT] [--backend BACKEND] [--s3config CONFIG]
Options:
Options:
-h, --help Show this help message and exit.
-h, --help Show this help message and exit.
...
@@ -36,6 +36,10 @@ function usage()
...
@@ -36,6 +36,10 @@ function usage()
Special config file for s3cmd (see: https://s3tools.org/usage)
Special config file for s3cmd (see: https://s3tools.org/usage)
--storage-class CLASSNAME Pass this storage class to the gcs or s3cmd for more cost-efficient
--storage-class CLASSNAME Pass this storage class to the gcs or s3cmd for more cost-efficient
storage of backups.
storage of backups.
--maximum-backups N Only keep the most recent N number of backups, deleting others after success.
Requires s3config credentials to be able to list and delete objects.
--cleanup Run the backup cleanup without creating a new backup. Can be used with the
'maximum-backups' option to clean old remote backups.
HEREDOC
HEREDOC
}
}
...
@@ -100,9 +104,55 @@ function get_backup_name(){
...
@@ -100,9 +104,55 @@ function get_backup_name(){
fi
fi
}
}
function
get_existing_backups
(){
# This will only match backups with the same naming convention as backups generated by this script
# Example: TIMESTAMP_YYYY_MM_DD_VERSION_gitlab_backup.tar
case
$BACKUP_BACKEND
in
s3
)
existing_backups
=(
$(
s3cmd
ls
s3://
$BACKUP_BUCKET_NAME
--rinclude
'^\d{10}_\d{4}_\d{2}_\d{2}_.+_gitlab_backup.tar$'
|
awk
'{print $4}'
|
LC_ALL
=
C
sort
)
)
;;
gcs
)
# Note: gsutil doesn't support regex, so we need to try to match the prefix as best we can with wildcards
# https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames#other-wildcard-characters
existing_backups
=(
$(
gsutil
ls
gs://
$BACKUP_BUCKET_NAME
/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9]_[0-9][0-9]_[0-9][0-9]_
\*
_gitlab_backup.tar |
LC_ALL
=
C
sort
)
)
;;
*
)
echo
"Unknown backend for backup:
${
BACKUP_BACKEND
}
"
exit
1
;;
esac
}
function
remove_backup
(){
local
backup_to_remove
=
$1
if
[
"
${
BACKUP_BACKEND
}
"
=
"s3"
]
;
then
s3cmd
${
S3_CMD_BACKUP_OPTION
}
del
${
backup_to_remove
}
>
/dev/null
elif
[
"
${
BACKUP_BACKEND
}
"
=
"gcs"
]
;
then
gsutil
rm
${
backup_to_remove
}
>
/dev/null
else
echo
"Unknown backend for backup:
${
BACKUP_BACKEND
}
"
exit
1
fi
}
function
cleanup
(){
function
cleanup
(){
rm
-rf
$backups_path
/
*
rm
-rf
$backups_path
/
*
rm
-rf
$backup_tars_path
/
*
rm
-rf
$backup_tars_path
/
*
if
[
-n
"
$MAXIMUM_BACKUPS
"
]
;
then
get_existing_backups
echo
"Found
${#
existing_backups
[@]
}
existing backups. Maximum allowed is
$MAXIMUM_BACKUPS
"
if
[
${#
existing_backups
[@]
}
-gt
$MAXIMUM_BACKUPS
]
;
then
i
=
0
while
[
$i
-lt
$(
expr
${#
existing_backups
[@]
}
-
$MAXIMUM_BACKUPS
)
]
;
do
echo
"Deleting old backup
${
existing_backups
[
$i
]
}
"
remove_backup
${
existing_backups
[
$i
]
}
((
++i
))
done
fi
echo
"[DONE] Finished pruning old backups"
fi
}
}
function
write_backup_info
(){
function
write_backup_info
(){
...
@@ -134,7 +184,7 @@ function get_skipped(){
...
@@ -134,7 +184,7 @@ function get_skipped(){
function
backup
(){
function
backup
(){
backup_name
=
$(
get_backup_name
)
backup_name
=
$(
get_backup_name
)
mkdir
-p
$backup_tars_path
mkdir
-p
$backup_tars_path
$backups_path
if
!
[[
${
skipping_backup_for
[@]
}
=
~
"db"
]]
;
then
if
!
[[
${
skipping_backup_for
[@]
}
=
~
"db"
]]
;
then
gitlab-rake gitlab:backup:db:create
gitlab-rake gitlab:backup:db:create
...
@@ -260,7 +310,12 @@ do
...
@@ -260,7 +310,12 @@ do
shift
shift
;;
;;
--restore
)
--restore
)
ACTION
=
"restore"
if
[
-z
"
$ACTION
"
]
;
then
ACTION
=
"restore"
else
echo
"Only one action at a time is supported"
exit
1
fi
shift
shift
;;
;;
--rsyncable
)
--rsyncable
)
...
@@ -277,6 +332,24 @@ do
...
@@ -277,6 +332,24 @@ do
shift
shift
shift
shift
;;
;;
--maximum-backups
)
export
MAXIMUM_BACKUPS
=
"
$2
"
if
!
[[
$MAXIMUM_BACKUPS
=
~ ^-?[0-9]+
$
]]
;
then
echo
"Value specified for --maximum-backups must be an integer. Got:
${
MAXIMUM_BACKUPS
}
"
exit
1
fi
shift
shift
;;
--cleanup
)
if
[
-z
"
$ACTION
"
]
;
then
ACTION
=
"cleanup"
else
echo
"Only one action at a time is supported"
exit
1
fi
shift
;;
*
)
*
)
usage
usage
echo
"Unexpected parameter:
$key
"
echo
"Unexpected parameter:
$key
"
...
@@ -287,6 +360,9 @@ done
...
@@ -287,6 +360,9 @@ done
if
[
"
$ACTION
"
=
"restore"
]
;
then
if
[
"
$ACTION
"
=
"restore"
]
;
then
restore
restore
elif
[
"
$ACTION
"
=
"backup"
]
;
then
elif
[
"
$ACTION
"
=
"cleanup"
]
;
then
cleanup
elif
[
-z
"
$ACTION
"
]
;
then
ACTION
=
"backup"
backup
backup
fi
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment