Skip to content

Commit

Permalink
docs: introduce PoC Japanese translation
Browse files Browse the repository at this point in the history
  • Loading branch information
tobybellwood committed Jun 13, 2024
1 parent e64735d commit e773142
Show file tree
Hide file tree
Showing 196 changed files with 11,483 additions and 0 deletions.
51 changes: 51 additions & 0 deletions docs/ja/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ラグーン

![](./lagoon-logo.png)

## ラグーン - Kubernetes向けのオープンソースアプリケーションデリバリープラットフォーム

ラグーンは開発者が夢見るものを提供します。それは開発者がローカル環境と本番環境でまったく同じコードを実行することを可能にするシステムです。同じDockerイメージ、同じサービス設定、そして同じコード。

## どこから始めればいいですか?

あなたがラグーンを使用してウェブサイトやアプリケーションをホストしたい場合は、[ラグーンの基本的な使い方](using-lagoon-the-basics/index.md)を参照してください。

ラグーンの機能についてより深く理解するためには、[ラグーンの高度な使い方](using-lagoon-advanced/index.md)をご覧ください。

ラグーンの仕組みを理解するためには、[ラグーンの概念 - 基本](concepts-basics/index.md)をチェックしてください。

そして、より深い理解のために、[ラグーンの概念 - 高度](concepts-advanced/index.md)をご覧ください。

あなたがラグーンを開発したい(機能を追加、バグを修正)場合は、[ラグーンの開発](contributing-to-lagoon/developing-lagoon.md)をご覧ください。

## TL;DR: ラグーンの仕組み

1. 開発者は必要なサービスをYAMLファイル内で定義し、設定します。
2. 満足したら、コードをGitにプッシュします。
3. ラグーンはYAMLファイルを解析し、必要な追加設定を追加します。
4. ラグーンは必要なDockerイメージをビルドします。
5. Translation request timed out. Lagoonは主にNode.jsで構築されています。これは最初にNode.jsを使い始めたからだけでなく、Node.jsがwebhooks、タスクなどの非同期処理を可能にするからです。一部のサービスのプログラミング言語を変更することを考えています。これがマイクロサービスの素晴らしいところです!他のプラットフォームの部分を心配することなく、一つのサービスを別の言語で置き換えることができます。
3. **LagoonはDrupal特有のものではありません**。すべてが任意のDockerイメージを実行できるように構築されています。Drupal用の既存のDockerイメージがあり、DrushのようなDrupal特有のツールもサポートしています。しかし、それだけです!
4. **LagoonはDevOpsです**。開発者が必要なサービスを定義し、必要に応じてカスタマイズすることができます。これが正しい方法でないと思うかもしれませんし、開発者にあまりにも多くの権限を与えていると思うかもしれません。しかし、私たちはシステムエンジニアとして、開発者を強化する必要があると考えています。開発者がローカルでサービスを定義し、それらをローカルでテストすることを許せば、彼ら自身がバグやミスを見つけるでしょう。
5. **LagoonはDockerとKubernetes上で動作します。** \(それは明らかですよね?\)
6. **Lagoonは完全にローカルで開発・テストが可能です。**
7. **Lagoonは完全に統合テストされています**。これは私たちが 全プロセスをテストできます。Gitウェブフックの受信からDockerコンテナへのデプロイまで、同じGitハッシュがクラスタにデプロイされます。
8. **最も重要な点: これは進行中の作業です**。まだ完了していません。amazee.ioでは、ホスティングコミュニティとして、可能な限りコードを共有し、協力して作業を進める必要があると考えています。

私たちはあなたがLagoonのインフラストラクチャとサービスがどのように連携して動作するかを理解することを望んでいます。ここにスキーマがあります(少し古く、最近追加したサービスやKubernetesをカバーしていないので、更新作業中です!):[Lucid Chart](https://lucid.app/documents/view/cb441054-e04a-4389-b98b-c75bcda8ea0d)

## Lagoonの歴史

説明したように、Lagoonは夢が実現したものです。amazee.ioでは、Drupalを8年以上ホストしてきました。これは私たちのホスティングプラットフォームの4回目の大きな改訂です。3回目の改訂はPuppetとAnsibleを中心に構築されました。プラットフォームの各部分は全て設定管理で行われました。これにより新しいサーバーの設定が非常に速くできましたが、同時に開発者のカスタマイズの余地が不足していました。私たちはいくつかのカスタマイズを実装しましたが、すでにDockerを本番環境で使用していました。しかし、私たちは決して それに完全に満足していました。我々は、既存のプラットフォームだけでは足りないと気づきました。分離型Drupalの台頭、サーバーサイドでのNode.jsの動作要求、Elasticsearchへの要望、異なるSolrバージョンなど、我々はもっと進める必要がありました。

同時に、私たちは長年にわたり、ローカル開発のためにDockerを使用してきました。プロダクションで全てをDockerで行うというのは常に考えていました。唯一の問題は、ローカル開発とプロダクション環境間の接続でした。他にも、プロダクションでDrupalをDockerで動作させるシステムが存在します。しかし、ローカルとプロダクションで正確に同じイメージとサービスをテストすることを許可するものは何もありませんでした。

Lagoonは2017年に誕生しました。それ以来、プロダクションでDockerを動作させるシステムに発展しました。Lagoonは、我々の第3世代のホスティングプラットフォームを、最先端の全Dockerベースのシステムに置き換えました。

### オープンソース

amazee.ioでは、オープンソースを信じています。Drupalのようなオープンソースコードが独占的なホスティングプラットフォームでホストされていることは常に我々にとって問題でした。ホスティング会社の強さと成功は、単にデプロイメントシステムやサービスの設定だけではありません。それはプラットフォームを動かす人々と知識です。 プロセス、スキル、予期しない状況に対応する能力、そして最後に忘れてはならないのは、彼らがクライアントに提供するサポートです。

### ライセンス

Lagoonは、[`Apache 2.0 ライセンス`](https://github.com/uselagoon/lagoon/blob/main/LICENSE)の下で利用可能です。
20 changes: 20 additions & 0 deletions docs/ja/applications/drupal/automatic-updates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# 自動更新

Lagoonは、Drupalコアやcontribの一部の更新方法と互換性のない方法でアプリケーションをデプロイします。Lagoonは不変のイメージをビルドし、不変のコンテナを稼働させることを期待しています。ランタイムでアプリケーションのコードが変更されると、以下の問題が生じる可能性があります。

1. コンテナはKubernetesによって自動的に管理され、いつでも移動、再起動、スケーリングが可能です。これが起こると、元のビルド済みコンテナイメージが実行され、ランタイムで発生した変更はすべて失われます。
2. タスクやcronjobは、元のビルド済みコンテナイメージで実行され、更新されたコードにアクセスできない可能性があります。
3. 更新にはファイルシステムへの書き込み権限が必要ですが、読み取り専用のファイルシステムを強制する環境を設定することも可能です。
4. ベストプラクティスは、それぞれが一つのことを行う小さなコンテナをデプロイすることです。これは、典型的なDrupalプロジェクトでは、`cli``php``nginx`というコンテナがそれぞれコードのコピーを含むことを意味します。これらのコンテナのうち一つだけを更新すると、コードの不一致による問題が発生します。

以下の更新方法はLagoonによって無効化されています。

## Drupal 自動更新

[自動更新] (https ://www.drupal.org/project/automatic_updates)
contribモジュールは無効化されており、Drupal coreに移行する際も無効化されます。

## Drush

`drush pm-install`または`drush pm-update`は、デフォルトで無効化されています。これは[amazeeio/drupal-integrations](https://github.com/amazeeio/drupal-integrations)
パッケージの一部としてです。
69 changes: 69 additions & 0 deletions docs/ja/applications/drupal/drush-9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
description: >-
ラグーンはデフォルトでDrush 8を使用します。Composerを使ってDrush 9をDrupalサイトにインストールすると、Drush 9が使用されます。
---

# Drush 9

## エイリアス

残念ながら、Drush 9はDrush 8が持っていたような動的なサイトエイリアスを注入する能力を提供していません。私たちはDrushチームと協力して、これを再度実装する作業を行っています。その間、Drush 9をLagoonで使用するための回避策があります。

### 基本的なアイデア

Drush 9は新しいコマンド、`drush site:alias-convert`を提供します。これはDrush 8スタイルのサイトエイリアスをDrush 9のYAMLサイトエイリアススタイルに変換できます。これにより、現在Lagoonに存在するサイトエイリアスの一時的なエクスポートが作成され、`/app/drush/sites`に保存されます。これらは、`drush sa`のようなコマンドを実行する際に使用されます。

### 準備

`drush site:alias-convert`を使用するために、以下のことを行う必要があります:

* `drush`フォルダ内の`aliases.drushrc.php``lagoon.aliases.drushrc.php`にリネームします。

### サイトエイリアスの生成

あなたは今、あなたのプロジェクトで以下のコマンドを実行することにより、あなたのDrushエイリアスを変換することができます。これは`cli`コンテナを使って行います:

```bash title="サイトエイリアスの生成"
docker-compose exec cli drush site:alias-convert /app/drush/sites --yes
```
結果として得られるYAMLファイルをGitリポジトリにコミットすることは良い習慣で、これにより他の開発者がそれらを利用できます。

### サイトエイリアスの使用

Drush 9では、すべてのサイトエイリアスにはグループがプレフィックスとして付けられています。私たちの場合、これは `lagoon` です。以下のようにして、そのプレフィックス付きのすべてのサイトエイリアスを表示できます:

```bash title="すべてのサイトエイリアスを表示"
drush sa --format=list
```

そしてそれらを使用するには:

```bash title="Drush サイトエイリアスの使用"
drush @lagoon.main ssh
```

### サイトエイリアスの更新

Lagoonで新しい環境が作成された場合、サイトエイリアスファイルを更新するために `drush site:alias-convert` を実行できます。このコマンドを実行しても `lagoon.site.yml` が更新されない場合は、まず `lagoon.site.yml` を削除してから `drush site:alias-convert` を再実行してみてください。

### ローカルからリモート環境へのDrush `rsync`

ローカル環境からリモート環境にファイルを同期したい場合は、追加のパラメータを渡す必要があります:

```bash title="Drush rsync"
drush rsync @self:%files @lagoon.main:%files -- --omit-dir-times --no-perms --no-group --no-owner --chmod=ugo=rwX
```

これは、LagoonのタスクUIを使ってファイルをコピーするのではなく、一つのリモート環境から別のリモート環境に同期する場合にも適用されます。 環境。

たとえば、`@lagoon.main`から`@lagoon.dev`へのファイルの同期を行いたい場合に、ローカルで`drush rsync @lagoon.main @lagoon.dev`を実行し、追加のパラメーターなしでこれを実行すると、「2つのリモートエイリアスを指定できません」というエラーが発生する可能性があります。

これを解決するには、まず目的の環境にSSHで接続し`drush @lagoon.dev ssh`を実行し、次に上記と同様のパラメーターで`rsync`コマンドを実行します。

```bash title="Drush rsync"
drush rsync @lagoon.main:%files @self:%files -- --omit-dir-times --no-perms --no-group --no-owner --chmod=ugo=rwX
```

リモートからローカル環境へ`rsync`する場合、これは必要ありません。

また、私たちは[Drushのメンテナと協力して](https://github.com/drush-ops/drush/issues/3491)、これを自動的に注入する方法を見つけ出そうとしています。
Loading

0 comments on commit e773142

Please sign in to comment.