Coder Social home page Coder Social logo

concierge's People

Contributors

9seconds avatar kradalby avatar milouse avatar tr4sk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

concierge's Issues

systemd service file generation corrupted for jinja2 templater

Step to reproduce

Enter the following command:

concierge -u jinja --systemd --curlsh

Expected result

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

Actual result

[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.

Note

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.

Error with pbr during packaging

Hi!

I try to package your work for Archlinux. It seems I install all the needed dependancies:

  • inotify_simple
  • setuptools
  • pbr

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.

Desktop notifications

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?

Add ProxyJump option

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

Multiple options with the same name under one host

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.

libnotify with daemon

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.

The option CertificateFile is not recognized

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.

Proper template extensions

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.