Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 3 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,26 +1,11 @@
## Base ########################################################################
# Use a larger node image to do the build for native deps (e.g., gcc, python)
FROM node:20.13.0
FROM node:20.18.0

# Reduce npm log spam and colour during install within Docker
ENV NPM_CONFIG_LOGLEVEL=warn
ENV NPM_CONFIG_COLOR=false
RUN corepack enable

# We'll run the app as the `node` user, so put it in their home directory
WORKDIR /app
# Copy the source code over
COPY --chown=node:node . /app/


# Install (not ci) with dependencies, and for Linux vs. Linux Musl (which we use for -alpine)
COPY package.json yarn.lock ./
RUN yarn --frozen-lockfile && yarn cache clean

RUN yarn

# # Switch to the node user vs. root
# USER node

# Expose port 4000
EXPOSE 4000
# Start the app in debug mode so we can attach the debugger
CMD ["yarn", "run", "start"]
22 changes: 6 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,27 @@ This website is built using [Docusaurus 2](https://docusaurus.io/), see the Docu
### Installation

```
$ yarn
$ docker compose run --rm doc yarn
```

### Local Development

```
$ yarn start
$ docker compose up
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
$ yarn build
$ docker compose run --rm doc yarn run build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

### Deployment
#### Run the static build

Using SSH:

```
$ USE_SSH=true yarn deploy
```

Not using SSH:

```
$ GIT_USER=<Your GitHub username> yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
$ docker compose run --rm doc yarn run serve
```
12 changes: 8 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
version: "3.3"
services:
docusaurus:
doc:
build:
context: .
dockerfile: Dockerfile
Expand All @@ -9,5 +8,10 @@ services:
- "4000:4000"
volumes:
- .:/app


security_opt:
- seccomp=unconfined
cap_add:
- SYS_PTRACE
environment:
- NPM_CONFIG_LOGLEVEL=warn
- NPM_CONFIG_COLOR=false
2 changes: 1 addition & 1 deletion docs/cluster/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ We suggest to move forward with a *Multiple Schema* configuration, that aligns
<div>
<p>On the left pane, you will see a selector with the account names, select the one you’ll use based on how you decide to manage your clusters and environments.</p>
<p>We suggest to move forward with a Multiple Schema configuration, that aligns with the best practices. To follow this schema select the development account to create the cluster for your staging environments, and the production account for the production cluster.</p>
<p>Check @Designing your Infra: Single Schema Vs. Multi Schema for more information.</p>
<p>Check [Designing your Infra: Single Schema Vs. Multi Schema](/provider/schemas) for more information.</p>
</div>
</div>

Expand Down
2 changes: 1 addition & 1 deletion docs/environment/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Access the Environment List, on the Action column, click on the bin icon. Then c
<summary>
### How can I delegate a domain?
</summary>
Follow: [Delegate Domains <FiExternalLink/> ](/environment/delegate_domains)
Follow: [Delegate Domains](/environment/delegate_domains)
</details >

:::warning
Expand Down
18 changes: 9 additions & 9 deletions docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Providers</h4>
</div>
<p>A cloud provider account.</p>
<a href="/provider">Getting Started</a>
<a href="provider">Getting Started</a>
</div>

<div className="card">
Expand All @@ -55,7 +55,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Clusters</h4>
</div>
<p>A set of worker machines, called nodes, that run containerized applications.</p>
<a href="/cluster/gettingstarted">Getting Started</a>
<a href="cluster">Getting Started</a>
</div>

<div className="card">
Expand All @@ -64,7 +64,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Environments</h4>
</div>
<p>Abstraction that let us isolate the different resources.</p>
<a href="/environment">Getting Started</a>
<a href="environment">Getting Started</a>
</div>

<div className="card">
Expand All @@ -73,7 +73,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Projects</h4>
</div>
<p>Represents a codebase and it is managed by a git repository.</p>
<a href="/project">Getting Started</a>
<a href="project">Getting Started</a>
</div>

<div className="card">
Expand All @@ -82,7 +82,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Dependencies</h4>
</div>
<p>Pieces of underlying infrastructure your apps need to run in the cloud, such as relational databases, storage services or caches.</p>
<a href="/dependency">Getting Started</a>
<a href="project/dependency">Getting Started</a>
</div>

<div className="card">
Expand All @@ -91,7 +91,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Services</h4>
</div>
<p>An abstract way to expose an application running on a set of Pods as a network service.</p>
<a href="/service">Getting Started</a>
<a href="project/service">Getting Started</a>
</div>

<div className="card">
Expand All @@ -100,7 +100,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Deployments</h4>
</div>
<p>...</p>
<a href="/deployment">Getting Started</a>
<a href="project/deployment">Getting Started</a>
</div>

<div className="card">
Expand All @@ -109,7 +109,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Build</h4>
</div>
<p>Represents a deployable state of all the services.</p>
<a href="#">Getting Started</a>
<a href="project/build">Getting Started</a>
</div>

<div className="card">
Expand All @@ -118,7 +118,7 @@ Whether you're a seasoned developer or new to Kubernetes, SleakOps empowers you
<h4>Var Group</h4>
</div>
<p>Dictionary that provides configuration for services.</p>
<a href="/vargroup">Getting Started</a>
<a href="project/vargroup">Getting Started</a>
</div>

</div>
18 changes: 9 additions & 9 deletions docs/project/dependency/postgresql-aws.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ SleakOps offers seamless integration with Amazon RDS for PostgreSQL, a fully man

<details>
<summary>
### How does SleakOps manage MySQL credentials?
### How does SleakOps manage PostgreSQL credentials?
</summary>
When you create a MySQL dependency in SleakOps, it automatically generates a Vargroup for your database. This Variable Group securely stores the MySQL credentials and other important configuration details, such as the database endpoint and user access information. You’ll be able of manage them from [Vargroups](/project/vargroup/index.mdx) section.
When you create a PostgreSQL dependency in SleakOps, it automatically generates a Vargroup for your database. This Variable Group securely stores the PostgreSQL credentials and other important configuration details, such as the database endpoint and user access information. You’ll be able of manage them from [Vargroups](/project/vargroup/index.mdx) section.
</details>

<details>
Expand Down Expand Up @@ -130,12 +130,12 @@ At the moment, the only way is to delete the dependency.
</details>

:::info
AWS documentation: [Amazon RDS MySQL Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
AWS documentation: [Amazon RDS PostgreSQL Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
:::

## Set up your PostgreSQL
### 1. Add PostgreSQL as a Dependency
To integrate MySQL with SleakOps:
To integrate PostgreSQL with SleakOps:
1. In the SleakOps console, go to the "Dependencies" section
2. Choose "PostgreSQL" from the list of available dependency types.
For more detail see [Dependencies: Integrating Databases, Caching, and Messaging Services](/project/dependency/index.mdx).
Expand All @@ -155,12 +155,12 @@ Here the parameters that SleakOps allows you to customize during the creation:
| **Attribute** | **Description** |
| --- | --- |
| **Database Engine Version** | Select the specific version of the MySQPostgreSQLL database engine you wish to use. This ensures compatibility with your application requirements. Example: `PostgreSQL 14.9`, `PostgreSQL 16.5` |
| **Database Instance Class** | Define the instance class that specifies the hardware configuration for your MySQL database. This controls CPU, memory, and network performance. Example: `db.m6g.large`, `db.t3.medium`. See [AWS detail](https://aws.amazon.com/es/rds/instance-types/). |
| **Database Instance Class** | Define the instance class that specifies the hardware configuration for your PostgreSQL database. This controls CPU, memory, and network performance. Example: `db.m6g.large`, `db.t3.medium`. See [AWS detail](https://aws.amazon.com/es/rds/instance-types/). |
Comment on lines 157 to +158
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

¡Todavía hay un MySQL infiltrado! 🕵️

En la descripción del atributo "Database Engine Version" hay una referencia a MySQL que debe ser actualizada:

-| **Database Engine Version** | Select the specific version of the MySQPostgreSQLL database engine you wish to use. This ensures compatibility with your application requirements. Example: `PostgreSQL 14.9`, `PostgreSQL 16.5` |
+| **Database Engine Version** | Select the specific version of the PostgreSQL database engine you wish to use. This ensures compatibility with your application requirements. Example: `PostgreSQL 14.9`, `PostgreSQL 16.5` |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| **Database Engine Version** | Select the specific version of the MySQPostgreSQLL database engine you wish to use. This ensures compatibility with your application requirements. Example: `PostgreSQL 14.9`, `PostgreSQL 16.5` |
| **Database Instance Class** | Define the instance class that specifies the hardware configuration for your MySQL database. This controls CPU, memory, and network performance. Example: `db.m6g.large`, `db.t3.medium`. See [AWS detail](https://aws.amazon.com/es/rds/instance-types/). |
| **Database Instance Class** | Define the instance class that specifies the hardware configuration for your PostgreSQL database. This controls CPU, memory, and network performance. Example: `db.m6g.large`, `db.t3.medium`. See [AWS detail](https://aws.amazon.com/es/rds/instance-types/). |
| **Database Engine Version** | Select the specific version of the PostgreSQL database engine you wish to use. This ensures compatibility with your application requirements. Example: `PostgreSQL 14.9`, `PostgreSQL 16.5` |
| **Database Instance Class** | Define the instance class that specifies the hardware configuration for your PostgreSQL database. This controls CPU, memory, and network performance. Example: `db.m6g.large`, `db.t3.medium`. See [AWS detail](https://aws.amazon.com/es/rds/instance-types/). |

| **Database Storage** | Specify the amount of storage allocated for the database. Example: 100 GB, 500 GB. |
| **Username** | Provide the master username for the MySQL database. This is the main user with administrative privileges. Example: admin, root. |
| **Username** | Provide the master username for the PostgreSQL database. This is the main user with administrative privileges. Example: admin, root. |
| **Password** | Password for the master user to access the database. |
| **Multi-Availability Zone** | Enable or disable Multi-AZ deployment. This ensures high availability and failover support by replicating the database across multiple availability zones. Recommended for production environments. |
| **Automated Backup** | Configure automated backups for the MySQL database. This ensures data protection by enabling daily snapshots and transaction log backups. Set up the _Backup Retention Period_ and the _Backup Window_. Recommended for production environments. |
| **Automated Backup** | Configure automated backups for the PostgreSQL database. This ensures data protection by enabling daily snapshots and transaction log backups. Set up the _Backup Retention Period_ and the _Backup Window_. Recommended for production environments. |
| **Backup Retention Period** | Set the number of days to retain automated backups. |
| **Backup Window** | Period of time while the backup will be done. |

Expand All @@ -175,10 +175,10 @@ After that basic data, you need to decide if a replica will be created. To do th
| **Setting** | **Description** |
| --- | --- |
| **Name** | A name for the replica |
| **Replica Instance Class** | Define the instance class that specifies the hardware configuration for your MySQL database. This controls CPU, memory, and network performance. Example: `db.m6g.large`, `db.t3.medium`. |
| **Replica Instance Class** | Define the instance class that specifies the hardware configuration for your PostgreSQL database. This controls CPU, memory, and network performance. Example: `db.m6g.large`, `db.t3.medium`. |
| **Replica Publicly Accessible** | Decide if the replica should have a public IP or be accessible only within your private network. |

### 3. Customize your variable’s name for your MySQL data base.
### 3. Customize your variable’s name for your PostgreSQL data base.

As explained, when a dependency is created, SleakOps generates a vargroup to hold all the needed attributes.
In this step you can change the name of the attributes in case it is needed.
Expand Down
4 changes: 2 additions & 2 deletions docs/provider/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ In SleakOps a Provider represents the connection to your AWS Cloud, the credenti

On AWS, SleakOps will create an Organization with the name you selected and it will include a set of accounts into it.

In order to provide you with a clear view of your AWS cost and resources, SleakOps activates [AWS Tags](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)  on your account. Specially SleakOps uses [Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) .
In order to provide you with a clear view of your AWS cost and resources, SleakOps activates [AWS Tags <FiExternalLink/>](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)  on your account. Specially SleakOps uses [Cost Allocation Tags <FiExternalLink/>](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) .

## Let's create your provider on SleakOps

Expand Down Expand Up @@ -45,7 +45,7 @@ These are the settings you must define:
| Domain | Here you must provide the domain you own in which the different environments will be deployed. It must be delegated to the Primary Route53 of SleakOps manually. Follow the steps described on this https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html. |
| Email | By default SleakOps uses the email from the root account provided, If you want to use other email to register your SleakOps accounts in AWS, fill in this field. |

Once youve completed the form, click on *Next* to move forward.
Once you've completed the form, click on *Next* to move forward.

### 3. Connect to your AWS Root Account

Expand Down
19 changes: 12 additions & 7 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,17 @@ const config = {
i18n: {
defaultLocale: "en",
locales: ["en", "es"],
path: 'i18n',
localeConfigs: {
en: {
htmlLang: 'en',
label: 'English',
// path: '/'
},
es: {
htmlLang: 'es',
label: 'Español',
path: 'es',
// path: 'es',
},
}
},
Expand All @@ -50,7 +52,7 @@ const config = {
hashed: true,
// For Docs using Chinese, The `language` is recommended to set to:
// ```
// language: ["en", "zh"],
language: ["en", "es"],
// ```
},
],
Expand All @@ -70,6 +72,9 @@ const config = {
docs: {
sidebarPath: require.resolve('./sidebars.js'),
routeBasePath: "/",
sidebarCollapsible: true,
sidebarCollapsed: true,
// path: "docs", // Path to data on filesystem, relative to site dir.
// editLocalizedFiles: true,
// editUrl: ({locale, docPath}) => {
// if (locale === 'es') {
Expand Down Expand Up @@ -101,7 +106,7 @@ const config = {
},
],
],

// plugins: ['content-docs', ],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
Expand All @@ -124,10 +129,10 @@ const config = {
// label: 'docs',
// },
// {to: '/blog', label: 'Blog', position: 'left'},
// {
// type: 'localeDropdown',
// position: 'left',
// },
{
type: 'localeDropdown',
position: 'left',
},
{
href: "https://console.sleakops.com",
label: "Console",
Expand Down
Loading