Code Monkey home page Code Monkey logo

dojopaas's People

Contributors

4tera avatar anatofuz avatar coderdojo-kuji avatar coderdojofujisawa avatar coderdojomishimanumazu avatar gohomej avatar gohomeouj avatar hajime0512 avatar hinemosu-xx avatar hiroasa avatar honeniq avatar ituyama avatar jinpandy avatar kamera25 avatar manzyun avatar miya0001 avatar naopontan avatar norifumiogawa avatar ogom avatar shishi avatar takatofu avatar tasslab avatar tkc49 avatar togazo avatar tsujimasahiro avatar u-akira avatar urushibata avatar yasulab avatar yuppymam avatar zyasuda avatar

Stargazers

 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  avatar  avatar  avatar  avatar  avatar  avatar

dojopaas's Issues

instances.csvに表示されない

三の丸の山野です
三の丸がservers.csvに追加されたことは確認できたのですが
instances.csvに反映されていません
確認していただけないでしょうか

原因調査: DojoPaaS のサーバー生成スクリプトが動かない?

という現象を確認したので原因を調査します 🐛 👀 💨
cc/ @sunabet @miya0001

cf. CoderDojo 西原を追加しました。 #124

安川さま、

いつもお世話になっております。

サーバーが追加されません。
https://github.com/coderdojo-japan/dojopaas/blob/gh-pages/instances.csv?fbclid=IwAR07OAty3C5GZhzlgLF2BSer7OaLvFOABcXn6xaopWyb0vJrSGnk2UYB2DU
申請に過不足・誤りがあるのでしょうか?
ご教示ください。

使い捨てでいろいろな用途のサーバーを立ち上げれるようにする

  • マイクラとかRoRとかNodeとかの起動用スクリプトをいろいろ用意する
  • Slackでのコマンドをつくる /give-me-serve <公開鍵>

みたいなことをして、その時々の道場のユースケースに合わせた使い捨てのインフラがホイホイ立ち上げれるようにするとかどうでしょう?
このサーバーは24時間後に自動消滅するみたいな。

Related:
#28

サーバーが不要になったときの対処

サーバーを止めてほしいとき、完全に捨ててほしいときは、Issueで通報していただくとかの運用はどうでしょう?
それでよければ README に書いておきます。

instances.csv に結果が反映されない

servers.csv を更新することでサーバーを生成することはできるのですが、生成したサーバー情報を instances.csv に反映する部分がうまく動かなくなっているようです >< 💦 何度か Restart しても再現してしまうので、現状では、/sacloud list を実行して手動でIPアドレスを伝える形で対応しています 📑 👀 (例: #80 )

@miya0001 よければお手すきの際に調べてもらえると嬉しいです 🙏

エラー内容

TypeError: Cannot read property 'status' of undefined
285.07s$ bash ./bin/deploy.sh
> [email protected] deploy /home/travis/build/coderdojo-japan/dojopaas
> node dojopaas.js "--production"
Update startup scripts.
Archive ID:112901411351
Get a list of existing servers.
Create a server for coderdojo-hirakata.
Create a network interface.
Connect network interface.
Apply packet filter.
Create a disk.
Connect to the disk.
Setup ssh key.
409 Conflict
Copying image for coderdojo-hirakata...
409 Conflict
Copying image for coderdojo-hirakata...
409 Conflict
Copying image for coderdojo-hirakata...
409 Conflict
Copying image for coderdojo-hirakata...
409 Conflict
Copying image for coderdojo-hirakata...
409 Conflict
Copying image for coderdojo-hirakata...
409 Conflict
Copying image for coderdojo-hirakata...
Start server: 113000011707 for coderdojo-hirakata.
The `instances.csv` was saved!
/home/travis/build/coderdojo-japan/dojopaas/lib/Server.js:157
            console.log(result.response.status);
                                       ^
TypeError: Cannot read property 'status' of undefined
    at /home/travis/build/coderdojo-japan/dojopaas/lib/Server.js:157:40
    at _Request._onReadyStateChangeOnXHR (/home/travis/build/coderdojo-japan/dojopaas/node_modules/sacloud/lib/sacloud/client.request.js:126:4)
    at XMLHttpRequestEventTarget.dispatchEvent (/home/travis/build/coderdojo-japan/dojopaas/node_modules/xhr2/lib/xhr2.js:64:9)
    at XMLHttpRequest._setReadyState (/home/travis/build/coderdojo-japan/dojopaas/node_modules/xhr2/lib/xhr2.js:360:12)
    at XMLHttpRequest._onHttpResponseEnd (/home/travis/build/coderdojo-japan/dojopaas/node_modules/xhr2/lib/xhr2.js:478:12)
    at IncomingMessage. (/home/travis/build/coderdojo-japan/dojopaas/node_modules/xhr2/lib/xhr2.js:442:22)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:188:7)
    at endReadableNT (_stream_readable.js:975:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
npm ERR! Linux 4.9.6-040906-generic
npm ERR! argv "/home/travis/.nvm/versions/node/v7.10.1/bin/node" "/home/travis/.nvm/versions/node/v7.10.1/bin/npm" "run" "deploy" "--" "--production"
npm ERR! node v7.10.1
npm ERR! npm  v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] deploy: `node dojopaas.js "--production"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] deploy script 'node dojopaas.js "--production"'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the dojopaas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node dojopaas.js "--production"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs dojopaas
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls dojopaas
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/travis/.npm/_logs/2018-01-04T05_23_24_768Z-debug.log
Done. Your build exited with 0.


詳細: https://travis-ci.org/coderdojo-japan/dojopaas/builds/324902857

SSHのポートを閉じてしまうケースが発生する

#49 のようなSSHのポート番号を閉じてアクセスできなくなるケースが発生していますね。全く同じことが
CoderDojo 調布でも発生していたので、今後も同じことが起こる可能性が高いと感じています🤔

@miya0001 さん、とりあえず次のコマンドを打てば解決するので、これって Slack から実行できたりしますかね? 🤔

$ sudo ufw allow ssh

Slack からの実行イメージ: /sacloud exec SERVER_ID sudo ufw allow ssh

複数の公開鍵を登録

各インスタンスごとに複数の管理者の公開鍵を設定できるようにした方がいいかもしれない

サーバーの初期化依頼

CoderDojoとよなか(豊中)の物井孝雄 です。当該サーバー(IPアドレス:【153.125.128.121】)の初期化をお願いします。

デフォルトのポートが全開放しているので、ドキュメントにしたがって閉じる

デフォルトのポート

開放されているポート一覧

対策

SSH(tcp/22)、HTTP(tcp/80)、一般通信用ポート(tcp・udp/1024~65535)、icmp(PINGなど)の各アクションを許可(allow)し、それ以外は拒否(deny)する設定を追加します
cf. パケットフィルタを活用したサーバのセキュリティ対策 – 「さくらのクラウド入門」(9) - さくらのナレッジ


22、80、443、tcp・udp/1024~65535 をあけてあとは全拒否

サーバーの初期化依頼

CoderDojo名護の安藤元気です。当該サーバー(IPアドレス:153.127.219.132)の初期化をお願いします。

MacのターミナルでSSHの接続を試みたところ、反応がないか以下のメッセージが表示され、接続することができませんでした。
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: read: Connection reset by peer

初期化することで接続することができるようにならないかと思い、依頼します。

再起動依頼

CoderDojo板橋の中津川です。
先ほど申請したサーバーですが、SSHでアクセスしようとしているのですが、エラーも出ず止まっています。

133.242.237.195

よろしくお願いいたします。

DojoPaaS のコードを node から Ruby に移植したい

プロトタイプを開発していただいた @miya0001 さんに許諾をいただいけたので、Ruby の開発会社である @yasslab チームで開発および運営を引き継ごうと考えています 🚜💨

@yasulab: DojoPaaS のメンテナンスについてご相談なのですが、弊社 (YassLab) のメンバーも増えてきて、チームで CoderDojo のコードを対応できるようになったとので、弊社側で DojoPaaS の運用およびメンテナンスを引き継いでみようかなと考えているのですが、いかがでしょうか? 🤔💭

具体的には、miya さんが書いてくれたプロトタイプを Ruby に移植して、移植した Ruby コードを弊社側で運用およびメンテナンスしようかなと考えています 🔧 💨

YassLab 株式会社 メンバー
https://yasslab.jp/ja


@miya0001: なるほど!いいと思います!

まずは技術調査から...? 🔍💨

さしあたって、そもそも Ruby に移植する際にどのぐらい工数がかかるのかを確認した方が良さそうです🤔💭 現在ちょうど @naopontan さんに CoderDojo 周りの開発をお願いしているので、まずは移植できるかどうかの F/S をしていただけると嬉しいです...!! 🙏

@miya0001: あっ、でもRubyのSDKあるのかな。。まあnodeでも大した内容のSDKじゃなかったですけど。

関連リンク

サーバーの再起動依頼

CoderDojo三の丸の山野です。当該サーバー(IPアドレス:153.127.194.186)の再起動をお願いします。
以前サーバを頂いたときからタイムアウト表示が出て、接続できません...
cc/ @yasulab

Screenshot from 2019-09-22 11-15-07 - 1

サーバーの初期化依頼

CoderDojo【品川御殿山】の【柳沢富夫】です。当該サーバー(IPアドレス:153.120.168.82)の初期化をお願いします。

申請者以外のユーザーの鍵登録

#56 に関連するかと思いますが、

サーバー申請した者以外がサーバーを触りたい場合、新たに鍵を登録するのが良いと考えているのですが、
今のところ一つの申請に対して一つの鍵(申請者)という形式になっております。

申請者以外がサーバーを触る必要がある場合、触りたい人が鍵を作って申請者の人に公開鍵を渡したけど、申請者の人が公開鍵をどうすればいいのか戸惑っている状態が、Sapporo/Sapporo East Dojoのメンター間で見受けられます。

無暗にサーバーに触れる人を増やすべきではないとは承知しておりますが、コンテナごとに鍵を管理しておけば問題ないのでは。さらにNinjaもSSHで繋げるサーバーが必要になったら、コンテナの中にコンテナを……。と浅はかながら考えを抱いております。

以上、拙いIssueですが、ご検討いただければ幸いです。

サーバにsshできなくなった

どうも初めまして。
昨日(2017/8/3 23時ごろ)、サーバにssh出来ていたんですが、本日(2017/8/4 9時ごろ)はssh出来なくなってしまいました。鍵などの情報は全く触っていません。

IP
133.242.231.67

障害情報には特に情報は載ってませんでした。
http://support.sakura.ad.jp/mainte/?service=cloud

何かわかるところあれば教えていただけますでしょうか 🙏

*.coderdojo.jp のサブドメインも同時に発行できると良さそう

@miya0001 said:

ところで*.coderdojo.jpのサブドメインの発行とかも同じような要領で自動化できるんですよね。
http://qiita.com/miya0001/items/7dce889432f38b466d35
Wackerという和歌山のコミュニティでDNSのサブドメインをGitHubから管理してるんです。

たとえばdojopaasのCSVに入れてもらうnameの値でサブドメインを発行して、各サーバーに自動的に割り当てるとか。そこまでやると完璧にCoderDojo PaaSになりますね。^^

さくらインターネットからの記事執筆の依頼

@NorifumiOgawa @kamera25 @uebo @yumaS19 @coderdojofunabashi @togazo @4tera @gohomej @clown-morish @ogom @kwaka1208 @champierre @takatofu @zyasuda @digitarhythm @coderdojofujisawa

さくらインターネットから次の記事執筆依頼が来たのですが、どなたか対応できる方はいらっしゃいますか? 🤔 対応できる方がいらっしゃれば、コメントをいただけると嬉しいです 🙇

現在当社では、コミュニティイベントで配布しているチラシ
「さくらのオフライン通信」という紙のメディアを定期的に
制作しているのですが、こちらに、以下のような内容の
記事を書いていただくことは可能でしょうか?

特に謝礼等お渡しできる前提のお話ではなく、大変恐縮では
ございますが、一度ご検討いただけますと幸いです。

内容イメージ

  • CoderDojoの活動のご紹介
  • さくらのサービスをご活用いただいたケースのご紹介
  • 活動の様子の写真(1~2枚)

ご提出いただきたい内容

  • タイトル(長さ:~50文字程度):
  • 執筆者情報
    • お名前(ハンドルネーム):
    • 所属:
    • 肩書など:
    • プロフィール(長さ~50文字程度):
  • 本文テキスト(長さ:600文字~1,000文字程度)
  • 活動の様子の写真(1~2枚)
    • ※記事に掲載させていただく為、肖像権、著作権等の承諾が得られているもの

備考

  • 掲載媒体: さくらのオフライン通信(紙媒体、A4、1枚を予定)
  • 配布予定枚数: 1,000枚程度
  • 配布予定期間: 2017/10/1~2017/12/31
  • 配布場所: 当社が関わるコミュニティイベント(CoderDojo関連か否かに関わらず)
  • 原稿締切: できれば8月中でお願いできますと幸いです。

尚、いただきました原稿につきましては、紙面サイズの都合等により、
当社都合にて執筆者の承諾なく一部表現等を編集させていただく場合が
ございます点、予めご了承いただけますと幸いです。

サーバーの初期化依頼

CoderDojo【三島沼津】の【長屋順子】です。当該サーバーの初期化をお願いします。
(すみません、いじっていたらsudoが使えなくなりました。お手数をおかけします。)

サーバーの初期化依頼

CoderDojoSapporoEast(札幌東)の高橋秀羅(@manzyun)です。下記理由につき、当該サーバーの初期化をお願いします。


  1. サーバー管理を弊DojoのChampion.安田から委任されました。
  2. 2017年12月10日にChampionから伝えられたipアドレスと、譲渡していただいた秘密鍵での接続が、以下のような事象が発生しできませんでした。
    • sshでの接続を試みたところ、30秒後 ssh: connect to host 153.120.166.97 port 22: Connection timed out と表示される。
    • 他SSH接続(個人で使用しているBitbucketのリポジトリにSSHでの git pull 操作)で、手元の環境でのSSH接続のブロックをしていないことを確認。
    • traceroute コマンドでさくらインターネット様のサーバー( sac-is1b-rt1-rt101b.bb.sakura.ad.jp (103.10.113.50) )までの疎通は確認。

お手数おかけしますが、よろしくお願いいたします。

サーバーの初期化依頼

CoderDojo大船の田中真輔です。当該サーバー(IPアドレス:153.120.166.9)の初期化をお願いします。

さくらのクラウドのコンパネのパスワードを変更

Slack の #sakura チャンネルにいる人達にコンパネのパスワードが共有されている一方、現状ではさくらのコンパネに入る必要性は、DojoPaasのデバッグ以外ではほとんどないので、コンパネのパスワード変えません?

なにかあったときに原因の経路を調べるのがとても困難になってしまいます。

サーバーの初期化依頼

いつもお世話になっております。
CoderDojo コザの大城です。サーバーにアクセスが出来なくなってしまいました。
当該サーバー(IPアドレス:153.120.170.91)の初期化をお願いします。

サーバーの再起動依頼

CoderDojo大船の田中真輔です。当該サーバー(IPアドレス:153.120.166.9)の再起動をお願いします。

CSVのテストに失敗したとき、失敗した理由を出力する

背景

Travis CI でテスト結果を見たとき、 Name should be lower case みたいなメッセージが出るべきかなと思っているのですが、次のようなメッセージがテスト結果として出力されていると、テストコードが間違っている可能性を考えてしまう (し、どこを直せばよいのかがパッと見てわからない)。なので、失敗した理由が Travis CI 上で出力されるようにしたい。

CIで失敗した場合の出力例: https://travis-ci.org/coderdojo-japan/dojopaas/builds/270670168

> [email protected] test:csv /home/travis/build/coderdojo-japan/dojopaas
> node test/test-csv.js
assert.js:81
  throw new assert.AssertionError({
  ^
AssertionError: true deepEqual false
    at /home/travis/build/coderdojo-japan/dojopaas/test/test-csv.js:12:12
    at tryToString (fs.js:449:3)
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:436:12)
npm ERR! Linux 4.11.6-041106-generic
npm ERR! argv "/home/travis/.nvm/versions/node/v7.10.1/bin/node" "/home/travis/.nvm/versions/node/v7.10.1/bin/npm" "run" "test:csv"
npm ERR! node v7.10.1
npm ERR! npm  v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test:csv: `node test/test-csv.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] test:csv script 'node test/test-csv.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the dojopaas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node test/test-csv.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs dojopaas
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls dojopaas
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/travis/.npm/_logs/2017-09-01T02_49_32_886Z-debug.log
The command "npm run test:csv" exited with 1.
Done. Your build exited with 1.

実装案

テストは完全に独立しているので、適宜必要なテストを追加すれば良さそう。JSでも良いし、Rubyでも良い。

servers.csv の「公開鍵」欄は無くすべきか?

サーバーを本来の管理者の代理で申請している例が散見されますが、以下の点でちょっと問題がある気がします。

  • 代理で申請する理由自体がそもそもろくなものじゃない気がする。
  • 本人確認がさらに困難。ほんとに依頼されたのかというリスクがある。
  • 公開鍵の所有者が完全に外部の人であることを確認することが困難。

改善案

現状の DojoPaas から公開鍵の列を削除して、プルリクをくれた人のGitHubユーザー名から公開鍵を取得する。
こうすることで、公開鍵に対する本人確認が可能。

テストが手抜き

  • CSVのフォーマットが適切かどうかをチェックするテストを書く
  • プルリクで npm run deploy が発火しないかどうかを確認

サーバーの削除・再生成をまとめて実行する方法をPRで対応したい

現状では次のどちらかで対応する必要があります。

  1. 管理者が Slack 上で削除し、Travis をリスタート
  2. 運営者が削除するPRを出し、再度作成するPRを出す => うまく動いてなさそう #68 (comment)

CoderDojo 運営者から「サーバーを一から作り直したい」という要望がよく来るので、「サーバーを初期状態に戻す」という要望をPRで受け付けられるメソッドがあると良さそうです 🤔💭 cc/ @miya0001

cf. #50

サーバーの初期化依頼

CoderDojoコザの大城かよ子 です。当該サーバー(IPアドレス:153.120.170.91)の初期化をお願いします。

生成したサーバーの連絡方法

アイデア:

アカウントの連絡方法はgh-pagesにサーバーの一覧のウェブページをコミットしておいて、そこにサーバーのIPのリストを並べちゃうとかどうですかね?

プルリクがマージされたらサーバーの一覧がここにあるから、自分で申請したサーバーのIPを見てそこにSSHで接続してーみたいな。出先でもマージのボタンを押すだけで話がおわるかなと。

sshd が動いているかどうか確認するテストがあると便利そう

3つのケースがあるが、ひとまず対応できるケースは対応したので Close します 😉

  1. サーバー生成時にシステムエラーが発生するケース
    • 例: さくらのクラウド API のレスポンスが遅いとき
    • サーバー生成するシステム側の問題で 稀に あるぐらい
  2. スクリプトで Shutdown API を叩くときに、Shutdown で失敗するケース
    • Shutdown 時に Kernel Panic が 稀に 発生する
    • Kernel Panic が発生する原因についてはよく分からない (そもそも発生が稀)
    • API 側としては Shutdown API を叩くぐらいしかできない
  3. ネットワーク側の設定が完了する前に Shutdown するケース
    • Shutdown するから SSH で接続できなくなる
    • 旧システムでは強制 Shutdown する API を叩いていた
    • 現システムでは普通に Shutdown する API を叩いている
      • もし動きがなかったら、最大5回まで Shutdown API を叩く
      • それでも動きがないと、CI 側がコケるようになる
      • ☝️ ほとんどのケースについてはコレで対応できている

Originally posted by @yasulab in #108 (comment)

  • SSH でログインする必要は無い
  • sshd が動いているかどうか確認できれば良い
    • テスト案: ssh コマンドでプロンプトが表示されていれば成功 (ログインはしない)

cc/ @AnaTofuZ

サーバーの初期化依頼

CoderDojo【札幌東】の【安田圭吾】です。当該サーバーの初期化をお願いします。

この度は、こちら所属のメンターの高橋君の勝手な行動で、勝手にドメインを取得し、サービスを告知し、財団、理事のみなさん、チャンピオン各位にも多大なるご心配、ご迷惑をおかけしました。
大変申し訳ありませんでした。また代表の寛大なご対応をいただき、ありがとうございました。
当人には厳重に注意を致しましたので、今後このようなことがないように充分気をつけ、道場の運営を継続して参ります。

つきまして、サーバーの初期化をお願いいたします。

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.