Skip to content

Commit c6e9dd4

Browse files
authored
Bump gitea version and fix restart issue (#558)
* Upgrade version and fix reboot issue Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech> * Fix copilot review comments Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech> --------- Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
1 parent b8fc7b9 commit c6e9dd4

3 files changed

Lines changed: 9 additions & 7 deletions

File tree

test/pkgs/gitea-dev/deployment.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ spec:
3434
fsGroup: 1000
3535
initContainers:
3636
- name: init-directories
37-
image: "gitea/gitea:1.25-rootless"
37+
image: "gitea/gitea:1.26-rootless"
3838
imagePullPolicy: IfNotPresent
3939
command: ["/usr/sbin/init_directory_structure.sh"]
4040
env:
@@ -60,7 +60,7 @@ spec:
6060
cpu: 100m
6161
memory: 128Mi
6262
- name: init-app-ini
63-
image: "gitea/gitea:1.25-rootless"
63+
image: "gitea/gitea:1.26-rootless"
6464
imagePullPolicy: IfNotPresent
6565
command: ["/usr/sbin/config_environment.sh"]
6666
env:
@@ -88,7 +88,7 @@ spec:
8888
cpu: 100m
8989
memory: 128Mi
9090
- name: configure-gitea
91-
image: "gitea/gitea:1.25-rootless"
91+
image: "gitea/gitea:1.26-rootless"
9292
command: ["/usr/sbin/configure_gitea.sh"]
9393
imagePullPolicy: IfNotPresent
9494
securityContext:
@@ -129,7 +129,7 @@ spec:
129129
terminationGracePeriodSeconds: 60
130130
containers:
131131
- name: gitea
132-
image: "gitea/gitea:1.25-rootless"
132+
image: "gitea/gitea:1.26-rootless"
133133
imagePullPolicy: IfNotPresent
134134
env:
135135
# SSH Port values have to be set here as well for openssh configuration

test/pkgs/gitea-dev/gitea-config.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ stringData:
2727
ENABLE_PUSH_CREATE_USER=true
2828
ENABLE_PUSH_CREATE_ORG=true
2929
ONLY_ALLOW_PUSH_IF_GITEA_ENVIRONMENT_SET=false
30-
security: INSTALL_LOCK=true
30+
security: |-
31+
INSTALL_LOCK=true
32+
MIN_PASSWORD_LENGTH=1
3133
server: |-
3234
APP_DATA_PATH=/data
3335
DOMAIN=git.example.com
@@ -58,4 +60,4 @@ metadata: # kpt-merge: gitea/gitea
5860
type: Opaque
5961
stringData:
6062
assertions: ""
61-
config_environment.sh: "#!/usr/bin/env bash\nset -euo pipefail\n\nfunction env2ini::log() {\n printf \"${1}\\n\"\n}\n\nfunction env2ini::read_config_to_env() {\n local section=\"${1}\"\n local line=\"${2}\"\n\n if [[ -z \"${line}\" ]]; then\n # skip empty line\n return\n fi\n \n # 'xargs echo -n' trims all leading/trailing whitespaces and a trailing new line\n local setting=\"$(awk -F '=' '{print $1}' <<< \"${line}\" | xargs echo -n)\"\n\n if [[ -z \"${setting}\" ]]; then\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n local value=''\n local regex=\"^${setting}(\\s*)=(\\s*)(.*)\"\n if [[ $line =~ $regex ]]; then\n value=\"${BASH_REMATCH[3]}\"\n else\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n env2ini::log \" + '${setting}'\"\n\n if [[ -z \"${section}\" ]]; then\n export \"GITEA____${setting^^}=${value}\" # '^^' makes the variable content uppercase\n return\n fi\n\n local masked_section=\"${section//./_0X2E_}\" # '//' instructs to replace all matches\n masked_section=\"${masked_section//-/_0X2D_}\"\n\n export \"GITEA__${masked_section^^}__${setting^^}=${value}\" # '^^' makes the variable content uppercase\n}\n\nfunction env2ini::reload_preset_envs() {\n env2ini::log \"Reloading preset envs...\"\n\n while read -r line; do\n if [[ -z \"${line}\" ]]; then\n # skip empty line\n return\n fi\n\n # 'xargs echo -n' trims all leading/trailing whitespaces and a trailing new line\n local setting=\"$(awk -F '=' '{print $1}' <<< \"${line}\" | xargs echo -n)\"\n\n if [[ -z \"${setting}\" ]]; then\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n local value=''\n local regex=\"^${setting}(\\s*)=(\\s*)(.*)\"\n if [[ $line =~ $regex ]]; then\n value=\"${BASH_REMATCH[3]}\"\n else\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n env2ini::log \" + '${setting}'\"\n\n export \"${setting^^}=${value}\" # '^^' makes the variable content uppercase\n done < \"/tmp/existing-envs\"\n\n rm /tmp/existing-envs\n}\n\n\nfunction env2ini::process_config_file() {\n local config_file=\"${1}\"\n local section=\"$(basename \"${config_file}\")\"\n\n if [[ $section == '_generals_' ]]; then\n env2ini::log \" [ini root]\"\n section=''\n else\n env2ini::log \" ${section}\"\n fi\n\n while read -r line; do\n env2ini::read_config_to_env \"${section}\" \"${line}\"\n done < <(awk 1 \"${config_file}\") # Helm .toYaml trims the trailing new line which breaks line processing; awk 1 ... adds it back while reading\n}\n\nfunction env2ini::load_config_sources() {\n local path=\"${1}\"\n\n if [[ -d \"${path}\" ]]; then\n env2ini::log \"Processing $(basename \"${path}\")...\"\n\n while read -d '' configFile; do\n env2ini::process_config_file \"${configFile}\"\n done < <(find \"${path}\" -type l -not -name '..data' -print0)\n\n env2ini::log \"\\n\"\n fi\n}\n\nfunction env2ini::generate_initial_secrets() {\n # These environment variables will either be\n # - overwritten with user defined values,\n # - initially used to set up Gitea\n # Anyway, they won't harm existing app.ini files\n\n export GITEA__SECURITY__INTERNAL_TOKEN=$(gitea generate secret INTERNAL_TOKEN)\n export GITEA__SECURITY__SECRET_KEY=$(gitea generate secret SECRET_KEY)\n export GITEA__OAUTH2__JWT_SECRET=$(gitea generate secret JWT_SECRET)\n export GITEA__SERVER__LFS_JWT_SECRET=$(gitea generate secret LFS_JWT_SECRET)\n\n env2ini::log \"...Initial secrets generated\\n\"\n}\n\n# save existing envs prior to script execution. Necessary to keep order of preexisting and custom envs\nenv | (grep -e '^GITEA__' || [[ $? == 1 ]]) > /tmp/existing-envs\n\n# MUST BE CALLED BEFORE OTHER CONFIGURATION\nenv2ini::generate_initial_secrets\n\nenv2ini::load_config_sources '/env-to-ini-mounts/inlines/'\nenv2ini::load_config_sources '/env-to-ini-mounts/additionals/'\n\n# load existing envs to override auto generated envs\nenv2ini::reload_preset_envs\n\nenv2ini::log \"=== All configuration sources loaded ===\\n\"\n\n# safety to prevent rewrite of secret keys if an app.ini already exists\nif [ -f ${GITEA_APP_INI} ]; then\n env2ini::log 'An app.ini file already exists. To prevent overwriting secret keys, these settings are dropped and remain unchanged:'\n env2ini::log ' - security.INTERNAL_TOKEN'\n env2ini::log ' - security.SECRET_KEY'\n env2ini::log ' - oauth2.JWT_SECRET'\n env2ini::log ' - server.LFS_JWT_SECRET'\n\n unset GITEA__SECURITY__INTERNAL_TOKEN\n unset GITEA__SECURITY__SECRET_KEY\n unset GITEA__OAUTH2__JWT_SECRET\n unset GITEA__SERVER__LFS_JWT_SECRET\nfi\n\nenvironment-to-ini -o $GITEA_APP_INI"
63+
config_environment.sh: "#!/usr/bin/env bash\nset -euo pipefail\n\nfunction env2ini::log() {\n printf \"${1}\\n\"\n}\n\nfunction env2ini::read_config_to_env() {\n local section=\"${1}\"\n local line=\"${2}\"\n\n if [[ -z \"${line}\" ]]; then\n # skip empty line\n return\n fi\n \n # 'xargs echo -n' trims all leading/trailing whitespaces and a trailing new line\n local setting=\"$(awk -F '=' '{print $1}' <<< \"${line}\" | xargs echo -n)\"\n\n if [[ -z \"${setting}\" ]]; then\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n local value=''\n local regex=\"^${setting}(\\s*)=(\\s*)(.*)\"\n if [[ $line =~ $regex ]]; then\n value=\"${BASH_REMATCH[3]}\"\n else\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n env2ini::log \" + '${setting}'\"\n\n if [[ -z \"${section}\" ]]; then\n export \"GITEA____${setting^^}=${value}\" # '^^' makes the variable content uppercase\n return\n fi\n\n local masked_section=\"${section//./_0X2E_}\" # '//' instructs to replace all matches\n masked_section=\"${masked_section//-/_0X2D_}\"\n\n export \"GITEA__${masked_section^^}__${setting^^}=${value}\" # '^^' makes the variable content uppercase\n}\n\nfunction env2ini::reload_preset_envs() {\n env2ini::log \"Reloading preset envs...\"\n\n while read -r line; do\n if [[ -z \"${line}\" ]]; then\n # skip empty line\n return\n fi\n\n # 'xargs echo -n' trims all leading/trailing whitespaces and a trailing new line\n local setting=\"$(awk -F '=' '{print $1}' <<< \"${line}\" | xargs echo -n)\"\n\n if [[ -z \"${setting}\" ]]; then\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n local value=''\n local regex=\"^${setting}(\\s*)=(\\s*)(.*)\"\n if [[ $line =~ $regex ]]; then\n value=\"${BASH_REMATCH[3]}\"\n else\n env2ini::log ' ! invalid setting'\n exit 1\n fi\n\n env2ini::log \" + '${setting}'\"\n\n export \"${setting^^}=${value}\" # '^^' makes the variable content uppercase\n done < \"/tmp/existing-envs\"\n\n rm /tmp/existing-envs\n}\n\n\nfunction env2ini::process_config_file() {\n local config_file=\"${1}\"\n local section=\"$(basename \"${config_file}\")\"\n\n if [[ $section == '_generals_' ]]; then\n env2ini::log \" [ini root]\"\n section=''\n else\n env2ini::log \" ${section}\"\n fi\n\n while read -r line; do\n env2ini::read_config_to_env \"${section}\" \"${line}\"\n done < <(awk 1 \"${config_file}\") # Helm .toYaml trims the trailing new line which breaks line processing; awk 1 ... adds it back while reading\n}\n\nfunction env2ini::load_config_sources() {\n local path=\"${1}\"\n\n if [[ -d \"${path}\" ]]; then\n env2ini::log \"Processing $(basename \"${path}\")...\"\n\n while read -d '' configFile; do\n env2ini::process_config_file \"${configFile}\"\n done < <(find \"${path}\" -type l -not -name '..data' -print0)\n\n env2ini::log \"\\n\"\n fi\n}\n\nfunction env2ini::generate_initial_secrets() {\n # These environment variables will either be\n # - overwritten with user defined values,\n # - initially used to set up Gitea\n # Anyway, they won't harm existing app.ini files\n\n export GITEA__SECURITY__INTERNAL_TOKEN=$(gitea generate secret INTERNAL_TOKEN)\n export GITEA__SECURITY__SECRET_KEY=$(gitea generate secret SECRET_KEY)\n export GITEA__OAUTH2__JWT_SECRET=$(gitea generate secret JWT_SECRET)\n export GITEA__SERVER__LFS_JWT_SECRET=$(gitea generate secret LFS_JWT_SECRET)\n\n env2ini::log \"...Initial secrets generated\\n\"\n}\n\n# save existing envs prior to script execution. Necessary to keep order of preexisting and custom envs\nenv | (grep -e '^GITEA__' || [[ $? == 1 ]]) > /tmp/existing-envs\n\n# MUST BE CALLED BEFORE OTHER CONFIGURATION\nenv2ini::generate_initial_secrets\n\nenv2ini::load_config_sources '/env-to-ini-mounts/inlines/'\nenv2ini::load_config_sources '/env-to-ini-mounts/additionals/'\n\n# load existing envs to override auto generated envs\nenv2ini::reload_preset_envs\n\nenv2ini::log \"=== All configuration sources loaded ===\\n\"\n\n# safety to prevent rewrite of secret keys if an app.ini already exists\nif [ -f ${GITEA_APP_INI} ]; then\n env2ini::log 'An app.ini file already exists. To prevent overwriting secret keys, these settings are dropped and remain unchanged:'\n env2ini::log ' - security.INTERNAL_TOKEN'\n env2ini::log ' - security.SECRET_KEY'\n env2ini::log ' - oauth2.JWT_SECRET'\n env2ini::log ' - server.LFS_JWT_SECRET'\n\n unset GITEA__SECURITY__INTERNAL_TOKEN\n unset GITEA__SECURITY__SECRET_KEY\n unset GITEA__OAUTH2__JWT_SECRET\n unset GITEA__SERVER__LFS_JWT_SECRET\nfi\n\nenvironment-to-ini --config \"${GITEA_APP_INI}\""

test/pkgs/gitea-dev/gitea-init.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ stringData:
7272
echo '...created.'
7373
else
7474
echo "Admin account '${GITEA_ADMIN_USERNAME}' already exist. Running update to sync password..."
75-
gitea admin user change-password --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}"
75+
gitea admin user change-password --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}" --must-change-password=false
7676
echo '...password sync done.'
7777
fi
7878
}

0 commit comments

Comments
 (0)