[BUG] Using `signed-by` does not support `key_text` with `pkgrepo`/`aptpkg`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 5.6k
- Avg merge
- 2d 44m
- Merged PRs (30d)
- 80
Description
Description
With the deprecation of apt-key repositories are now supposed to used the signed-by option. If the name of the pkgrepo.managed state contains the signed-by option with the key_url option, then Salt handles creating the correct keyfile on disk (at the location specified by the signed-by option.
However, if the the key_text option is used instead of key_url then Salt does not create the key file.
I would expect that using key_text to provide the repository signing key would behave the same as using key_url.
Setup
# state/repo.sls
salt-repo:
pkgrepo.managed:
- name: deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc] https://packages.broadcom.com/artifactory/saltproject-deb/ stable main
- aptkey: False
- key_text: |-
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
EqGmQ6Sl69OS1WO0WkeusKoSZUkjsZXE9O1DGFg=
=93R0
-----END PGP PUBLIC KEY BLOCK-----
Please be as specific as possible and give set-up details.
- on-prem machine
- VM (Virtualbox, KVM, etc. please specify) - Virtualbox
- VM running on a cloud service, please be explicit and add details
- container (Kubernetes, Docker, containerd, etc. please specify)
- or a combination, please be explicit
- jails if it is FreeBSD
- classic packaging
- onedir packaging
- used bootstrap to install
Steps to Reproduce the behavior
root@ubuntu2204:~# salt-call --output-diff state.apply test.repo -l debug
[DEBUG ] Reading configuration from /etc/salt/minion
[DEBUG ] Including configuration from '/etc/salt/minion.d/_schedule.conf'
[DEBUG ] Reading configuration from /etc/salt/minion.d/_schedule.conf
[DEBUG ] Including configuration from '/etc/salt/minion.d/f_defaults.conf'
[DEBUG ] Reading configuration from /etc/salt/minion.d/f_defaults.conf
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: ubuntu2204.salt-vm.example.com
[WARNING ] Insecure logging configuration detected! Sensitive data may be logged.
[DEBUG ] Configuration file path: /etc/salt/minion
[DEBUG ] Grains refresh requested. Refreshing grains.
[DEBUG ] Reading configuration from /etc/salt/minion
[DEBUG ] Including configuration from '/etc/salt/minion.d/_schedule.conf'
[DEBUG ] Reading configuration from /etc/salt/minion.d/_schedule.conf
[DEBUG ] Including configuration from '/etc/salt/minion.d/f_defaults.conf'
[DEBUG ] Reading configuration from /etc/salt/minion.d/f_defaults.conf
[DEBUG ] The functions from module 'core' are being loaded by dir() on the loaded module
[DEBUG ] The functions from module 'disks' are being loaded by dir() on the loaded module
[DEBUG ] The functions from module 'extra' are being loaded by dir() on the loaded module
[DEBUG ] The functions from module 'lvm' are being loaded by dir() on the loaded module
[DEBUG ] The functions from module 'mdadm' are being loaded by dir() on the loaded module
[DEBUG ] The functions from module 'minion_process' are being loaded by dir() on the loaded mo
dule
[DEBUG ] The functions from module 'opts' are being loaded by dir() on the loaded module
[DEBUG ] Override __utils__: <module 'salt.loaded.int.grains.zfs' from '/opt/saltstack/salt/l
ib/python3.10/site-packages/salt/grains/zfs.py'>
[DEBUG ] The functions from module 'zfs' are being loaded by dir() on the loaded module
[DEBUG ] The functions from module 'zfs' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded zfs.is_supported
[DEBUG ] Connecting to master. Attempt 1 of 1
[DEBUG ] "salt" Not an IP address? Assuming it is a hostname.
[DEBUG ] Master URI: tcp://192.168.50.10:4506
[DEBUG ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'ubuntu2204.salt-vm.example.com', 'tcp://192.168.50.10:4506')
[DEBUG ] Generated random reconnect delay between '1000ms' and '11000ms' (6208)
[DEBUG ] Setting zmq_reconnect_ivl to '6208ms'
[DEBUG ] Setting zmq_reconnect_ivl_max to '11000ms'
[DEBUG ] salt.crypt.get_rsa_key: Loading private key
[DEBUG ] salt.crypt._get_key_with_evict: Loading private key
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem
[DEBUG ] SaltEvent PUB socket URI: /var/run/salt/minion/minion_event_0207ba741a_pub.ipc
[DEBUG ] SaltEvent PULL socket URI: /var/run/salt/minion/minion_event_0207ba741a_pull.ipc
[DEBUG ] Decrypting the current master AES key
[DEBUG ] salt.crypt.get_rsa_key: Loading private key
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem
[DEBUG ] salt.crypt.verify_signature: Loading public key
[DEBUG ] <salt.crypt.AsyncAuth object at 0x7f8d371edfc0> Got new master aes key.
[DEBUG ] Closing AsyncReqChannel instance
[DEBUG ] Connecting the Minion to the Master publish port, using the URI: tcp://192.168.50.10:
4505
[DEBUG ] <salt.transport.zeromq.PublishClient object at 0x7f8d371ee0e0> connecting to tcp://19
2.168.50.10:4505
[DEBUG ] Sending event: tag = __master_connected; data = {'master': 'salt', '_stamp': '2024-11
-06T00:26:21.387669'}
[DEBUG ] salt.crypt.get_rsa_key: Loading private key
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem
[DEBUG ] Closing IPCMessageClient instance
[DEBUG ] Determining pillar cache
[DEBUG ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'ubuntu2204.salt-vm.example.com', 'tcp://192.168.50.10:4506')
[DEBUG ] salt.crypt.get_rsa_key: Loading private key
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem
[DEBUG ] Closing AsyncReqChannel instance
[DEBUG ] The functions from module 'jinja' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] The functions from module 'yaml' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] The functions from module 'state' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded state.apply
[DEBUG ] The functions from module 'direct_call' are being loaded by dir() on the loaded modul
e
[DEBUG ] LazyLoaded direct_call.execute
[DEBUG ] The functions from module 'config' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded config.option
[DEBUG ] The functions from module 'saltutil' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded saltutil.is_running
[DEBUG ] Override __grains__: <module 'salt.loaded.int.module.grains' from '/opt/saltstack/sa
lt/lib/python3.10/site-packages/salt/modules/grains.py'>
[DEBUG ] The functions from module 'grains' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded grains.get
[DEBUG ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'ubuntu2204.salt-vm.example.com', 'tcp://192.168.50.10:4506')
[DEBUG ] Gathering pillar data for state run
[DEBUG ] Finished gathering pillar data for state run
[INFO ] Loading fresh modules for state activity
[DEBUG ] The functions from module 'jinja' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] The functions from module 'yaml' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] In saltenv 'base', looking at rel_path 'test/repo.sls' to resolve 'salt://test/repo.s
ls'
[DEBUG ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/test/rep
o.sls' to resolve 'salt://test/repo.sls'
[DEBUG ] compile template: /var/cache/salt/minion/files/base/test/repo.sls
[DEBUG ] Jinja search path: ['/var/cache/salt/minion/files/base']
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/test/repo.sls' using '
jinja' renderer: 0.0029001235961914062
[INFO ] Rendered data from file: /var/cache/salt/minion/files/base/test/repo.sls:
salt-repo:
pkgrepo.managed:
- name: deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc] https://packages.broadcom
.com/artifactory/saltproject-deb/ stable main
- aptkey: False
- key_text: |-
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
EqGmQ6Sl69OS1WO0WkeusKoSZUkjsZXE9O1DGFg=
=93R0
-----END PGP PUBLIC KEY BLOCK-----
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/test/repo.sls' using '
yaml' renderer: 0.002646923065185547
[DEBUG ] The functions from module 'config' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded config.option
[DEBUG ] The functions from module 'pkg' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded pkg.mod_repo
[DEBUG ] The functions from module 'pkgrepo' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded pkgrepo.managed
[INFO ] Running state [deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc] https://pac
kages.broadcom.com/artifactory/saltproject-deb/ stable main] at time 11:26:21.915034
[INFO ] Executing state pkgrepo.managed for [deb [arch=amd64 signed-by=/etc/apt/keyrings/salt
stack.asc] https://packages.broadcom.com/artifactory/saltproject-deb/ stable main]
[DEBUG ] The functions from module 'cmd' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded cmd.run_stdout
[INFO ] Executing command apt-key in directory '/root'
[DEBUG ] stdout: OK
[DEBUG ] stderr: Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead
(see apt-key(8)).
[INFO ] Executing command apt-get in directory '/root'
[DEBUG ] The functions from module 'test' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded test.ping
[INFO ] {'repo': 'deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc] https://packages
.broadcom.com/artifactory/saltproject-deb/ stable main'}
[INFO ] Completed state [deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc] https://p
ackages.broadcom.com/artifactory/saltproject-deb/ stable main] at time 11:26:31.067904 (duration
_in_ms=9152.869)
[DEBUG ] File /var/cache/salt/minion/accumulator/140244474677520 does not exist, no need to cl
eanup
[DEBUG ] Closing AsyncReqChannel instance
[DEBUG ] The functions from module 'state' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded state.check_result
[DEBUG ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'ubuntu2204.salt-vm.example.com', 'tcp://192.168.50.10:4506')
[DEBUG ] Closing AsyncReqChannel instance
[DEBUG ] The functions from module 'highstate' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded highstate.output
[DEBUG ] The functions from module 'nested' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded nested.output
local:
----------
ID: salt-repo
Function: pkgrepo.managed
Name: deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc] https://packages.broadc
om.com/artifactory/saltproject-deb/ stable main
Result: True
Comment: Configured package repo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc
] https://packages.broadcom.com/artifactory/saltproject-deb/ stable main'
Started: 11:26:21.915035
Duration: 9152.869 ms
Changes:
----------
repo:
deb [arch=amd64 signed-by=/etc/apt/keyrings/saltstack.asc] https://packages.br
oadcom.com/artifactory/saltproject-deb/ stable main
Summary for local
------------
Succeeded: 1 (changed=1)
Failed: 0
------------
Total states run: 1
Total run time: 9.153 s
Expected behavior
I expected the a keyfile would be created at /etc/apt/keyrings/saltstack.asc.
Screenshots
N/A
Versions Report
Salt Version:
Salt: 3006.9
Python Version:
Python: 3.10.14 (main, Jun 26 2024, 11:44:37) [GCC 11.2.0]
Dependency Versions:
cffi: 1.14.6
cherrypy: 18.6.1
cryptography: 42.0.5
dateutil: 2.8.1
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 3.1.4
libgit2: Not Installed
looseversion: 1.0.2
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 1.0.2
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 22.0
pycparser: 2.21
pycrypto: Not Installed
pycryptodome: 3.19.1
pygit2: Not Installed
python-gnupg: 0.4.8
PyYAML: 6.0.1
PyZMQ: 23.2.0
relenv: 0.17.0
smmap: Not Installed
timelib: 0.2.4
Tornado: 4.5.3
ZMQ: 4.3.4
System Versions:
dist: ubuntu 22.04 jammy
locale: utf-8
machine: x86_64
release: 5.15.0-25-generic
system: Linux
version: Ubuntu 22.04 jammy
Additional context
N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with state/repo.sls using pkgrepo.managed, key_text, signed-by, and aptkey: False, starting with the salt-call state.apply test.repo command shown. Trace the pkgrepo/aptpkg handling for key_text versus key_url; done means the signed-by key file is created at /etc/apt/keyrings/saltstack.asc and the repository applies successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, ubuntu
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100