Skip to content

Commit a8af8db

Browse files
authored
Merge branch 'main' into get-all-cs-env
2 parents 4422094 + f4ca133 commit a8af8db

File tree

10 files changed

+95
-73
lines changed

10 files changed

+95
-73
lines changed

.github/workflows/test-provider.yaml

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ on:
2929
required: true
3030
type: string
3131

32+
env:
33+
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
34+
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
35+
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
36+
PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
37+
3238
jobs:
3339
test-render-providers:
3440
# Prevents the execution of this test under the following conditions:
@@ -72,32 +78,14 @@ jobs:
7278
with:
7379
python-version: "3.11"
7480

75-
- name: Retrieve secret from Vault
76-
uses: hashicorp/vault-action@v3.0.0
77-
with:
78-
method: jwt
79-
url: "https://quansight-vault-public-vault-b2379fa7.d415e30e.z1.hashicorp.cloud:8200"
80-
namespace: "admin/quansight"
81-
role: "repository-nebari-dev-nebari-role"
82-
secrets: |
83-
kv/data/repository/nebari-dev/nebari/amazon_web_services/nebari-dev-ci role_name | AWS_ROLE_ARN;
84-
kv/data/repository/nebari-dev/nebari/google_cloud_platform/nebari-dev-ci/github-nebari-dev-repo-ci project_id | PROJECT_ID;
85-
kv/data/repository/nebari-dev/nebari/google_cloud_platform/nebari-dev-ci/github-nebari-dev-repo-ci workload_identity_provider | GCP_WORKFLOW_PROVIDER;
86-
kv/data/repository/nebari-dev/nebari/google_cloud_platform/nebari-dev-ci/github-nebari-dev-repo-ci service_account_name | GCP_SERVICE_ACCOUNT;
87-
kv/data/repository/nebari-dev/nebari/azure/nebari-dev-ci/github-nebari-dev-repo-ci client_id | ARM_CLIENT_ID;
88-
kv/data/repository/nebari-dev/nebari/azure/nebari-dev-ci/github-nebari-dev-repo-ci tenant_id | ARM_TENANT_ID;
89-
kv/data/repository/nebari-dev/nebari/azure/nebari-dev-ci/github-nebari-dev-repo-ci subscription_id | ARM_SUBSCRIPTION_ID;
90-
kv/data/repository/nebari-dev/nebari/shared_secrets SPACES_ACCESS_KEY_ID | SPACES_ACCESS_KEY_ID;
91-
kv/data/repository/nebari-dev/nebari/shared_secrets SPACES_SECRET_ACCESS_KEY | SPACES_SECRET_ACCESS_KEY;
92-
9381
- name: 'Authenticate to GCP'
9482
if: ${{ matrix.provider == 'gcp' }}
9583
uses: 'google-github-actions/auth@v1'
9684
with:
9785
token_format: access_token
9886
create_credentials_file: 'true'
99-
workload_identity_provider: ${{ env.GCP_WORKFLOW_PROVIDER }}
100-
service_account: ${{ env.GCP_SERVICE_ACCOUNT }}
87+
workload_identity_provider: ${{ secrets.GCP_WORKFLOW_PROVIDER }}
88+
service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
10189

10290
- name: Set required environment variables
10391
if: ${{ matrix.provider == 'gcp' }}
@@ -108,17 +96,17 @@ jobs:
10896
if: ${{ matrix.provider == 'aws' }}
10997
uses: aws-actions/configure-aws-credentials@v1
11098
with:
111-
role-to-assume: ${{ env.AWS_ROLE_ARN }}
99+
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
112100
role-session-name: github-action
113101
aws-region: us-east-1
114102

115103
- name: 'Azure login'
116104
if: ${{ matrix.provider == 'azure' }}
117105
uses: azure/login@v1
118106
with:
119-
client-id: ${{ env.ARM_CLIENT_ID }}
120-
tenant-id: ${{ env.ARM_TENANT_ID }}
121-
subscription-id: ${{ env.ARM_SUBSCRIPTION_ID }}
107+
client-id: ${{ secrets.ARM_CLIENT_ID }}
108+
tenant-id: ${{ secrets.ARM_TENANT_ID }}
109+
subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
122110

123111
- name: Install Nebari
124112
run: |

.github/workflows/test_aws_integration.yaml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,10 @@ jobs:
5151
pip install .[dev]
5252
playwright install
5353
54-
- name: Retrieve secret from Vault
55-
uses: hashicorp/vault-action@v3.0.0
56-
with:
57-
method: jwt
58-
url: "https://quansight-vault-public-vault-b2379fa7.d415e30e.z1.hashicorp.cloud:8200"
59-
namespace: "admin/quansight"
60-
role: "repository-nebari-dev-nebari-role"
61-
secrets: |
62-
kv/data/repository/nebari-dev/nebari/amazon_web_services/nebari-dev-ci role_name | AWS_ROLE_ARN;
63-
kv/data/repository/nebari-dev/nebari/cloudflare/internal-devops@quansight.com/nebari-dev-ci token | CLOUDFLARE_TOKEN;
64-
6554
- name: Authenticate to AWS
6655
uses: aws-actions/configure-aws-credentials@v1
6756
with:
68-
role-to-assume: ${{ env.AWS_ROLE_ARN }}
57+
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
6958
role-session-name: github-action
7059
aws-region: ${{ env.AWS_DEFAULT_REGION }}
7160

@@ -77,3 +66,4 @@ jobs:
7766
NEBARI_SECRET__default_images__jupyterhub: "quay.io/nebari/nebari-jupyterhub:${{ env.NEBARI_IMAGE_TAG }}"
7867
NEBARI_SECRET__default_images__jupyterlab: "quay.io/nebari/nebari-jupyterlab:${{ env.NEBARI_IMAGE_TAG }}"
7968
NEBARI_SECRET__default_images__dask_worker: "quay.io/nebari/nebari-dask-worker:${{ env.NEBARI_IMAGE_TAG }}"
69+
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}

.github/workflows/test_azure_integration.yaml

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,25 +50,12 @@ jobs:
5050
conda install --quiet --yes conda-build
5151
playwright install
5252
53-
- name: Retrieve secret from Vault
54-
uses: hashicorp/vault-action@v3.0.0
55-
with:
56-
method: jwt
57-
url: "https://quansight-vault-public-vault-b2379fa7.d415e30e.z1.hashicorp.cloud:8200"
58-
namespace: "admin/quansight"
59-
role: "repository-nebari-dev-nebari-role"
60-
secrets: |
61-
kv/data/repository/nebari-dev/nebari/azure/nebari-dev-ci/github-nebari-dev-repo-ci client_id | ARM_CLIENT_ID;
62-
kv/data/repository/nebari-dev/nebari/azure/nebari-dev-ci/github-nebari-dev-repo-ci tenant_id | ARM_TENANT_ID;
63-
kv/data/repository/nebari-dev/nebari/azure/nebari-dev-ci/github-nebari-dev-repo-ci subscription_id | ARM_SUBSCRIPTION_ID;
64-
kv/data/repository/nebari-dev/nebari/cloudflare/internal-devops@quansight.com/nebari-dev-ci token | CLOUDFLARE_TOKEN;
65-
6653
- name: 'Azure login'
6754
uses: azure/login@v2
6855
with:
69-
client-id: ${{ env.ARM_CLIENT_ID }}
70-
tenant-id: ${{ env.ARM_TENANT_ID }}
71-
subscription-id: ${{ env.ARM_SUBSCRIPTION_ID }}
56+
client-id: ${{ secrets.ARM_CLIENT_ID }}
57+
tenant-id: ${{ secrets.ARM_TENANT_ID }}
58+
subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
7259

7360
- name: Integration Tests
7461
run: |
@@ -78,8 +65,8 @@ jobs:
7865
NEBARI_SECRET__default_images__jupyterhub: "quay.io/nebari/nebari-jupyterhub:${{ env.NEBARI_IMAGE_TAG }}"
7966
NEBARI_SECRET__default_images__jupyterlab: "quay.io/nebari/nebari-jupyterlab:${{ env.NEBARI_IMAGE_TAG }}"
8067
NEBARI_SECRET__default_images__dask_worker: "quay.io/nebari/nebari-dask-worker:${{ env.NEBARI_IMAGE_TAG }}"
81-
ARM_CLIENT_ID: ${{ env.ARM_CLIENT_ID }}
82-
ARM_TENANT_ID: ${{ env.ARM_TENANT_ID }}
83-
ARM_SUBSCRIPTION_ID: ${{ env.ARM_SUBSCRIPTION_ID }}
68+
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
69+
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
70+
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
8471
ARM_USE_OIDC: "true"
85-
CLOUDFLARE_TOKEN: ${{ env.CLOUDFLARE_TOKEN }}
72+
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}

.github/workflows/test_gcp_integration.yaml

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,24 +50,11 @@ jobs:
5050
pip install .[dev]
5151
playwright install
5252
53-
- name: Retrieve secret from Vault
54-
uses: hashicorp/vault-action@v3.0.0
55-
with:
56-
method: jwt
57-
url: "https://quansight-vault-public-vault-b2379fa7.d415e30e.z1.hashicorp.cloud:8200"
58-
namespace: "admin/quansight"
59-
role: "repository-nebari-dev-nebari-role"
60-
secrets: |
61-
kv/data/repository/nebari-dev/nebari/google_cloud_platform/nebari-dev-ci/github-nebari-dev-repo-ci project_id | PROJECT_ID;
62-
kv/data/repository/nebari-dev/nebari/google_cloud_platform/nebari-dev-ci/github-nebari-dev-repo-ci workload_identity_provider | GCP_WORKFLOW_PROVIDER;
63-
kv/data/repository/nebari-dev/nebari/google_cloud_platform/nebari-dev-ci/github-nebari-dev-repo-ci service_account_name | GCP_SERVICE_ACCOUNT;
64-
kv/data/repository/nebari-dev/nebari/cloudflare/internal-devops@quansight.com/nebari-dev-ci token | CLOUDFLARE_TOKEN;
65-
6653
- name: 'Authenticate to GCP'
6754
uses: 'google-github-actions/auth@v1'
6855
with:
69-
workload_identity_provider: ${{ env.GCP_WORKFLOW_PROVIDER }}
70-
service_account: ${{ env.GCP_SERVICE_ACCOUNT }}
56+
workload_identity_provider: ${{ secrets.GCP_WORKFLOW_PROVIDER }}
57+
service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
7158

7259
- name: Set required environment variables
7360
run: |
@@ -81,3 +68,5 @@ jobs:
8168
NEBARI_SECRET__default_images__jupyterhub: "quay.io/nebari/nebari-jupyterhub:${{ env.NEBARI_IMAGE_TAG }}"
8269
NEBARI_SECRET__default_images__jupyterlab: "quay.io/nebari/nebari-jupyterlab:${{ env.NEBARI_IMAGE_TAG }}"
8370
NEBARI_SECRET__default_images__dask_worker: "quay.io/nebari/nebari-dask-worker:${{ env.NEBARI_IMAGE_TAG }}"
71+
PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
72+
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}

RELEASE.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,40 @@ This file is copied to nebari-dev/nebari-docs using a GitHub Action. -->
99

1010
---
1111

12+
## Release 2025.1.1 - January 27, 2025
13+
14+
> NOTE: In this release, we have updated our maximum supported Kubernetes version from
15+
> 1.29 to 1.31. we strongly recommend updating the Kubernetes version
16+
> specified in your nebari-config YAML file and redeploying to apply the changes.
17+
>
18+
> Remember that Kubernetes minor versions must be upgraded incrementally (1.29 → 1.30 →
19+
> 1.31).
20+
21+
## What's Changed
22+
* fix bug to allow --import-plugin to work by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2864
23+
* Add azure kubernetes policy add-on by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2888
24+
* Yaml config sets by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2876
25+
* Add ability to list user installed plugins from the CLI by @soapy1 in https://github.com/nebari-dev/nebari/pull/2891
26+
* [AUTO] Update CLI doc by @nebari-sensei in https://github.com/nebari-dev/nebari/pull/2841
27+
* [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/nebari-dev/nebari/pull/2896
28+
* [ENH] - Include "--attempt-fixes" flag from Nebari upgrade CLI in upgrade steps logic by @smokestacklightnin in https://github.com/nebari-dev/nebari/pull/2839
29+
* add authorized ip range variable for azure by @dcmcand in https://github.com/nebari-dev/nebari/pull/2880
30+
* Upgrade conda-store to 2024.11.2 by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2815
31+
* Handle default value for azure addon policy by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2905
32+
* Update conda-store-ui tests for updated page verbiage by @soapy1 in https://github.com/nebari-dev/nebari/pull/2911
33+
* Remove unintended character at the end of the TF_LOG variable by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2912
34+
* Update k8s max version by @dcmcand in https://github.com/nebari-dev/nebari/pull/2903
35+
* [ENH] - Use GitHub secrets instead of Vault by @smokestacklightnin in https://github.com/nebari-dev/nebari/pull/2889
36+
* adds info command text display & change the order of command display by @kernel-loophole in https://github.com/nebari-dev/nebari/pull/2916
37+
* [AUTO] Update CLI doc by @nebari-sensei in https://github.com/nebari-dev/nebari/pull/2921
38+
39+
## New Contributors
40+
* @soapy1 made their first contribution in https://github.com/nebari-dev/nebari/pull/2891
41+
* @smokestacklightnin made their first contribution in https://github.com/nebari-dev/nebari/pull/2839
42+
* @kernel-loophole made their first contribution in https://github.com/nebari-dev/nebari/pull/2916
43+
44+
**Full Changelog**: https://github.com/nebari-dev/nebari/compare/2024.12.1...2025.1.1
45+
1246
## Release 2024.12.1 - December 13, 2024
1347

1448
> NOTE: Support for DigitalOcean has been removed in this release. If you plan to deploy Nebari on DigitalOcean, you first need to independently create a Kubernetes cluster and then use the `existing` deployment option.

docs-sphinx/cli.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ <h4>keycloak-api<a class="headerlink" href="#nebari-dev-keycloak-api" title="Lin
242242
</section>
243243
<section id="nebari-info">
244244
<h3>info<a class="headerlink" href="#nebari-info" title="Link to this heading"></a></h3>
245+
<p>Display information about installed Nebari plugins and their configurations.</p>
245246
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>nebari<span class="w"> </span>info<span class="w"> </span><span class="o">[</span>OPTIONS<span class="o">]</span>
246247
</pre></div>
247248
</div>

src/_nebari/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
class OrderCommands(TyperGroup):
1111
def list_commands(self, ctx: typer.Context):
1212
"""Return list of commands in the order appear."""
13-
return list(self.commands)
13+
return list(self.commands)[::-1]
1414

1515

1616
def version_callback(value: bool):

src/_nebari/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CURRENT_RELEASE = "2024.12.1"
1+
CURRENT_RELEASE = "2025.1.1"
22

33
HELM_VERSION = "v3.15.3"
44
KUSTOMIZE_VERSION = "5.4.3"

src/_nebari/subcommands/info.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ def nebari_subcommand(cli: typer.Typer):
1414

1515
@cli.command()
1616
def info(ctx: typer.Context):
17+
"""
18+
Display information about installed Nebari plugins and their configurations.
19+
"""
1720
from nebari.plugins import nebari_plugin_manager
1821

1922
rich.print(f"Nebari version: {__version__}")

src/_nebari/upgrade.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1626,6 +1626,36 @@ def _version_specific_upgrade(
16261626
return config
16271627

16281628

1629+
class Upgrade_2025_1_1(UpgradeStep):
1630+
version = "2025.1.1"
1631+
1632+
@override
1633+
def _version_specific_upgrade(
1634+
self, config, start_version, config_filename: Path, *args, **kwargs
1635+
):
1636+
rich.print("\n ⚠️ Upgrade Warning ⚠️")
1637+
1638+
text = textwrap.dedent(
1639+
"""
1640+
In this release, we have updated our maximum supported Kubernetes version from 1.29 to 1.31.
1641+
Please note that Nebari will NOT automatically upgrade your running Kubernetes version as part of
1642+
the redeployment process.
1643+
1644+
After completing this upgrade step, we strongly recommend updating the Kubernetes version
1645+
specified in your nebari-config YAML file and redeploying to apply the changes. Remember that
1646+
Kubernetes minor versions must be upgraded incrementally (1.29 → 1.30 → 1.31).
1647+
1648+
For more information on upgrading Kubernetes for your specific cloud provider, please visit:
1649+
https://www.nebari.dev/docs/how-tos/kubernetes-version-upgrade
1650+
"""
1651+
)
1652+
1653+
rich.print(text)
1654+
rich.print("Ready to upgrade to Nebari version [green]2025.1.1[/green].")
1655+
1656+
return config
1657+
1658+
16291659
__rounded_version__ = str(rounded_ver_parse(__version__))
16301660

16311661
# Manually-added upgrade steps must go above this line

0 commit comments

Comments
 (0)