Giter Site home page Giter Site logo

mypaas's People

Contributors

almarklein avatar carehart avatar hydroid7 avatar lilahtovmoon 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  avatar

mypaas's Issues

TOML based configuration for deployment

Thank you for the awesome project.
While using it, I've often found helpful to be able to configure the deployment in an external deploy file.
Other providers use them also, like netlify.toml.

My main problem was that I was not able to push because mypaas pushed everything but the hardcoded ignore dirs.
The file size was too large and hence refused to push. But they are hardcoded.

Therefore I extended the client with a basic configuration file option. Since the project already uses toml files, I decided to use the same and name it mypaas.toml.

In the future I want to extend the configuration to all config options, like better envs (maybe interpolation), etc.
Let me know you opinion. I'm happy to make a pull request, once the feature is complete.

Feel free to take a look at my fork at https://github.com/hydroid7/mypaas

Docker Swarm!! & ENV values

Absolutely love the minimalistic approach, tried it out works Traefik+ My-Paas works great and fast.
Just wondering if Docker Swarm will be added in the future.
Also would love if env values could be updated from passing a command instead of deploying repeatedly.
Could be a perfect caprover alternative then.

Curious...

(I personally avoid AWS for ethical reasons.)

I avoid AWS as well, because I find them to be bullies. But your reason intrigues me. Can you elaborate?

Towards usable

Todo

  • Init works
  • Can deploy a service
  • Zero downtime deploy
  • Enable pip install mypaas[server]
  • Split server and client commands
  • Server stats
    • Implement stats server as Docker container
    • Can send data to it over UDP from other container and from host
    • Viz stats
    • Store aggregations using Welford's algorithm to avoid precision loss
    • Re-design the format to specify metrics
    • Make hello-world site example send data to it
    • Can we make it convert IP's to countries? ->tricky, for later
    • Per-week and/or per-month unique metrics.
    • Make deploy daemon generate some stats data.
    • Tests.
  • Also sign the payload, so that an attacker cannot change it.
  • Docs
  • Tests
  • Set expectations
  • Options to set memory and cpu limits
  • Scaling
  • Reboot signal for core services
  • Specify private key via an env variable for on CI

Future

  • More tests
  • More docs
  • Spin out itemdb
  • Spin out monitr

Newbie trouble

Hi
I'm trying out MyPaas, but ran into some issues:

Docs do not detail installation on the work machine. It also does not specify the toml requirement.
It seems to be sufficient to have this in my requirements.txt:

mypaas
toml

I followed the getting started instructions and the tried to run the hello-world example. However, when pushing

mypaas push xxxx.yyyy.nl .

(xxxx.yyyy.nl is not the real server name of course)

I got this error:

Traceback (most recent call last):
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request
    self._validate_conn(conn)
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn
    conn.connect()
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect
    self.sock = ssl_wrap_socket(
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/urllib3/util/ssl_.py", line 384, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/local/Cellar/[email protected]/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/local/Cellar/[email protected]/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 1040, in _create
    self.do_handshake()
  File "/usr/local/Cellar/[email protected]/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
    retries = retries.increment(
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 439, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='xxxx.yyyy.nl', port=443): Max retries exceeded with url: /daemon/time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/bin/mypaas", line 8, in <module>
    sys.exit(main())
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/mypaas/__main__.py", line 109, in main
    func(*argv[1:])
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/mypaas/client/_push.py", line 41, in push
    r = requests.get(base_url + "/time", verify=True)
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/Users/mjm/Dropbox/Devel/_Experiments/MyPaas/venv/lib/python3.8/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='xxxx.yyyy.nl', port=443): Max retries exceeded with url: /daemon/time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)')))

Testing on MacOS with a DigitalOcean docker droplet.

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.