9seconds / concierge Goto Github PK
View Code? Open in Web Editor NEWLadies and gentlemen: maintainable SSH configs
License: MIT License
Ladies and gentlemen: maintainable SSH configs
License: MIT License
Hi!
I try to package your work for Archlinux. It seems I install all the needed dependancies:
But when I try to do a simple python setup.py install --root=../pkg/concierge/
(classic way to create arch packages as this operation occurs in a chroot) I got the following error:
ERROR:root:Error parsing
Traceback (most recent call last):
File "/usr/lib/python3.5/site-packages/pbr/core.py", line 111, in pbr
attrs = util.cfg_to_args(path, dist.script_args)
File "/usr/lib/python3.5/site-packages/pbr/util.py", line 246, in cfg_to_args
pbr.hooks.setup_hook(config)
File "/usr/lib/python3.5/site-packages/pbr/hooks/__init__.py", line 25, in setup_hook
metadata_config.run()
File "/usr/lib/python3.5/site-packages/pbr/hooks/base.py", line 27, in run
self.hook()
File "/usr/lib/python3.5/site-packages/pbr/hooks/metadata.py", line 26, in hook
self.config['name'], self.config.get('version', None))
File "/usr/lib/python3.5/site-packages/pbr/packaging.py", line 725, in get_version
raise Exception("Versioning for this project requires either an sdist"
Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository. Are you sure that git is installed?
error in setup command: Error parsing /home/etienne/Applis/divers/pkgbuilds/concierge/concierge-0.2/setup.cfg: Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository. Are you sure
that git is installed?
Even if I try to call setup.py directly as my current user (with git available in path) I keep getting this error. I also try to tweak setup.cfg
to remove what seems to be useless in my case (pgi or tox ref...) but I didn't got more success.
Any idea how to fix this? Or could you provide just a simple setup.py file without having to deal with pbr?
Thank you very much.
Hi
Currently, if I would like to have multiple options with the same name, for example, multiple LocalForward under one hostname, only the last listed will be present in the transpiled .ssh/config.
I believe this is due to the fact that host options are stored in a dictionary (or a Data object), and that the last given option of the name will prevail.
Example:
.conciergerc
Host brumm
HostName tussi
Port 22
User root
LocalForward 80 brumm:80
LocalForward 443 brumm:443
LocalForward 902 brumm:902
LocalForward 903 brumm:903
.ssh/config
Host brumm
HostName tussi
LocalForward 903 brumm:903
Port 22
User root
I am not what is the best/easiest way to fix/implement this, but I guess it is worth to point out.
As stated in the doc:
CertificateFile specifies a file from which the user's certificate is read. A corresponding private key must be provided separately in order to use this certificate either from an IdentityFile directive or -i flag to ssh(1), via ssh-agent(1), or via a PKCS11Provider.
Problem: if user makes a mistake in her ~/.conciergerc
, then it is not really obvious that config was not regenerated. We need to add support of some desktop notifications (optional of course).
Use libnotify
bindings. The main question, should it be installed like a plugin or like an extra feature?
Right now concierge
use rather stupid system of extra dependencies and discovers templater in a really dumb way. It is a time to reimplement that using pkg_resources
entry points
Enter the following command:
concierge -u jinja --systemd --curlsh
We should get the following working service file:
[Unit]
Description=Daemon for converting ~/.concierge to ~/.ssh/config
[Service]
ExecStart=/usr/bin/concierge -u jinja -o /home/etienne/.ssh/config
Restart=on-failure
[Install]
WantedBy=default.target
[Unit]
Description=Daemon for converting ~/.concierge to ~/.ssh/config
[Service]
ExecStart=/usr/bin/concierge -u jinja2 -o /home/etienne/.ssh/config
Restart=on-failure
[Install]
WantedBy=default.target
Note the jinja2 params instead of jinja.
I have no time for now to check this one. But it leverages for me a question: what is the intended behavior? Must the templater be called with jinja2
or just jinja
? jinja
is the only param understood by the cli interface for now and map toward jinja2, but it may be the real bug.
libnotify
support works really well for concierge but with some quirks: if I run concierge in daemon mode using systemd, then popup appers for 10-20 ms and immediately closes.
I have not idea why it happens. I've seen an epic bug on Ubuntu but it seems it is not my case.
If anyone knows how to fix it or point me to relevant discussion, I really appreciate it.
UseRoaming is an undocumented openssh option, which should be recognised by concierge. See this answer for more information
Hey, Iโm using a lot that option to jump into lan and restricted area.
~ % concierge-check
/usr/lib/python3.7/site-packages/markupsafe/__init__.py:13: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Mapping
/usr/lib/python3.7/site-packages/jinja2/utils.py:485: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import MutableMapping
/usr/lib/python3.7/site-packages/concierge/endpoints/common.py:31: FutureWarning: --use-templater flag and therefore implicit templater autoresolve are deprecated. Please use explicit templater in both concierge-check and concierge.
FutureWarning)
Cannot parse content of source file /home/tr4sk/.conciergerc: Unknown option ProxyJump
Failed with error Unknown option ProxyJump
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/concierge/endpoints/common.py", line 163, in main_func
return app.do()
File "/usr/lib/python3.7/site-packages/concierge/endpoints/check.py", line 14, in do
return self.output()
File "/usr/lib/python3.7/site-packages/concierge/endpoints/common.py", line 71, in output
content = self.get_new_config()
File "/usr/lib/python3.7/site-packages/concierge/endpoints/common.py", line 94, in get_new_config
content = self.process_syntax(content)
File "/usr/lib/python3.7/site-packages/concierge/endpoints/common.py", line 135, in process_syntax
return concierge.core.processor.process(content)
File "/usr/lib/python3.7/site-packages/concierge/core/processor.py", line 11, in process
content = concierge.core.parser.parse(content)
File "/usr/lib/python3.7/site-packages/concierge/core/parser.py", line 164, in parse
root_host = parse_options(root_host, tokens)
File "/usr/lib/python3.7/site-packages/concierge/core/parser.py", line 194, in parse_options
parse_options(host, host_tokens)
File "/usr/lib/python3.7/site-packages/concierge/core/parser.py", line 203, in parse_options
raise exceptions.ParserUnknownOption(token.option)
concierge.core.exceptions.ParserUnknownOption: Unknown option ProxyJump
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.