Я пытаюсь получить доступ к значению SECRET
s, отправляемому в GitHub Action, но у меня проблемы.Значения возвращаются как [FILTERED]
каждый раз, независимо от того, какой это ключ или исходное значение.
Я могу получить доступ к ENVIRONMENT VARIABLES
без проблем, поэтому я должен облажаться где-то еще.
По сути, я пытаюсь отправить ssh-ключ к своему действию / контейнеру, но у меня возникает та же проблема при отправке любого другого ключа / значения в качестве секрета.
Мой (упрощенный)Действие GitHub выглядит следующим образом:
action "Test" {
uses = "./.github/actions/test"
secrets = [
"SSH_PRIVATE_KEY",
"SSH_PUBLIC_KEY",
]
env = {
SSH_PUBLIC_KEY_TEST = "thisisatestpublickey"
}
}
Dockerfile:
FROM ubuntu:latest
# Args
ARG SSH_PRIVATE_KEY
ARG SSH_PUBLIC_KEY
ARG SSH_PUBLIC_KEY_TEST
# Copy entrypoint
ADD entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
entrypoint.sh:
#! /bin/sh
SSH_PATH="$HOME/.ssh"
mkdir "$SSH_PATH"
touch "$SSH_PATH/known_hosts"
echo "$SSH_PRIVATE_KEY" > "$SSH_PATH/id_rsa"
echo "$SSH_PUBLIC_KEY" > "$SSH_PATH/id_rsa.pub"
echo "$SSH_PUBLIC_KEY_TEST" > "$SSH_PATH/id_rsa_test.pub"
cat "$SSH_PATH/id_rsa"
cat "$SSH_PATH/id_rsa.pub"
cat "$SSH_PATH/id_rsa_test.pub"
Вывод этих трех команд cat
:
[FILTERED]
[FILTERED]
thisisatestpublickey
Как видите, я могу получить (и использовать) значение переменных среды, но секреты не раскрываются.
Кто-нибудь получил какие-либо подсказки?
Просто чтобы обновить это, я также просто попытался отобразить оба секрета без кавычек в entrypoint.sh:
echo $SSH_PRIVATE_KEY
echo $SSH_PUBLIC_KEY
... и в журнале я вижу полный расшифрованный контент$SSH_PRIVATE_KEY
(т.е. фактическое содержимое моего ключа SSH), в то время как $SSH_PUBLIC_KEY
по-прежнему возвращает [FILTERED]
.
Итак, я могу какПредположим, что мы можем видеть содержимое секретов внутри действия, но я не знаю, почему я вижу только один из них, в то время как другой возвращает [FILTERED]
.
Это кеширующая вещь, может быть?
Я просто пытаюсь найти предсказуемый способ работы с этим.