-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(schema): guided and AutoYaST storage proposals #1263
Merged
joseivanlopez
merged 10 commits into
agama-project:master
from
joseivanlopez:storage-schema
Jul 4, 2024
Merged
feat(schema): guided and AutoYaST storage proposals #1263
joseivanlopez
merged 10 commits into
agama-project:master
from
joseivanlopez:storage-schema
Jul 4, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ancorgs
force-pushed
the
storage-schema
branch
3 times, most recently
from
June 6, 2024 14:03
ab1424b
to
581878d
Compare
joseivanlopez
commented
Jun 7, 2024
joseivanlopez
commented
Jun 7, 2024
joseivanlopez
commented
Jun 7, 2024
joseivanlopez
commented
Jun 7, 2024
joseivanlopez
commented
Jun 7, 2024
ancorgs
force-pushed
the
storage-schema
branch
3 times, most recently
from
June 7, 2024 07:49
a3ebd77
to
8eeabda
Compare
joseivanlopez
commented
Jun 7, 2024
joseivanlopez
commented
Jun 7, 2024
joseivanlopez
commented
Jun 7, 2024
joseivanlopez
added a commit
that referenced
this pull request
Jun 26, 2024
Add CLI support for setting and getting the storage config. ### Load (set) storage settings from a config file: ~~~ $ agama config load < config.json ~~~ * The given settings must match the JSON schema defined by #1263 (not finished yet). * The storage service calculates either a guided proposal or an AutoYaST proposal, depending on the given config. Config for a guided proposal: ~~~json { "storage": { "guided": { "target": { "disk": "/dev/vdc" } } } } ~~~ Config for an AutoYaST proposal: ~~~json { "legacyAutoyastStorage": [ { "device": "/dev/vdc", "use": "all" } ] } ~~~ ### Recover (get) the storage config: ~~~ $ agama config show > config.json $ agama config edit ~~~ NOTES * The storage service should check whether the given settings fulfill the JSON schema. * Checking the schema is not done yet because the schema definition is not finished.
joseivanlopez
force-pushed
the
storage-schema
branch
from
June 28, 2024 15:40
8e2ba18
to
d0a8582
Compare
joseivanlopez
force-pushed
the
storage-schema
branch
from
July 1, 2024 15:23
d0a8582
to
6aff4aa
Compare
joseivanlopez
force-pushed
the
storage-schema
branch
from
July 1, 2024 15:46
6aff4aa
to
011c5cb
Compare
joseivanlopez
changed the title
Auto-installation storage schema
feat(schema): guided and AutoYaST storage proposals
Jul 1, 2024
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Good idea. If you don't mind, I will create a separate card for that. IMHO, adding CI check is out-of-scope of this PR. |
mvidner
reviewed
Jul 4, 2024
mvidner
approved these changes
Jul 4, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Co-authored-by: Martin Vidner <[email protected]>
mvidner
added a commit
that referenced
this pull request
Jul 19, 2024
## Problem While reviewing #1263 I read the whole schema and saw room for improvement. Small things ## Solution - disallow additional properties - more specific type than string - put examples to their dedicated property ## Testing Minimal, just making sure the schema itself is valid, by ```console $ agama profile validate rust/agama-lib/share/examples/profile_gnome.json The profile is valid ```
joseivanlopez
added a commit
that referenced
this pull request
Aug 27, 2024
Extend JSON schema to partially support the new *storage config* described in this document: https://github.com/openSUSE/agama/blob/master/doc/auto_storage.md. This PR only extends the schema for the most basic settings (i.e., *boot*, *drives* and *partitions*). Settings for advanced searches, delete devices, creeate RAIDs, etc are not considered yet. Notes: * The *search* section added in this PR is based on the following proposal: https://gist.github.com/joseivanlopez/4f2381eb1f6c3aca562aadc2ad920a72?permalink_comment_id=5121860#gistcomment-5121860. This will be revisited later. * The *guided* schema added by #1263 is not going to be offered (e.g., *$ agama config load* will not understand it). The *storage config* will cover all the use cases and features provided by the *guided config*. * The *guided config* will be used only by clients (e.g., web UI) to easily configure a subset of the use cases supported by the *storage config*.
Merged
imobachgs
added a commit
that referenced
this pull request
Sep 20, 2024
Prepare for releasing Agama 10· * #1263 * #1330 * #1407 * #1408 * #1410 * #1411 * #1412 * #1416 * #1417 * #1419 * #1420 * #1421 * #1422 * #1423 * #1424 * #1425 * #1428 * #1429 * #1430 * #1431 * #1432 * #1433 * #1436 * #1437 * #1438 * #1439 * #1440 * #1441 * #1443 * #1444 * #1445 * #1449 * #1450 * #1451 * #1452 * #1453 * #1454 * #1455 * #1456 * #1457 * #1459 * #1460 * #1462 * #1464 * #1465 * #1466 * #1467 * #1468 * #1469 * #1470 * #1471 * #1472 * #1473 * #1475 * #1476 * #1477 * #1478 * #1479 * #1480 * #1481 * #1482 * #1483 * #1484 * #1485 * #1486 * #1487 * #1488 * #1489 * #1491 * #1492 * #1493 * #1494 * #1496 * #1497 * #1498 * #1499 * #1500 * #1501 * #1502 * #1503 * #1504 * #1505 * #1506 * #1507 * #1508 * #1510 * #1511 * #1512 * #1513 * #1514 * #1515 * #1516 * #1517 * #1518 * #1519 * #1520 * #1522 * #1523 * #1524 * #1525 * #1526 * #1527 * #1528 * #1529 * #1530 * #1531 * #1532 * #1533 * #1534 * #1535 * #1536 * #1537 * #1540 * #1541 * #1543 * #1544 * #1545 * #1546 * #1547 * #1548 * #1549 * #1550 * #1552 * #1553 * #1554 * #1555 * #1556 * #1557 * #1558 * #1559 * #1560 * #1562 * #1563 * #1565 * #1566 * #1567 * #1568 * #1569 * #1570 * #1571 * #1572 * #1573 * #1574 * #1575 * #1576 * #1577 * #1578 * #1579 * #1580 * #1581 * #1583 * #1584 * #1585 * #1586 * #1587 * #1588 * #1589 * #1590 * #1591 * #1592 * #1593 * #1596 * #1597 * #1598 * #1600 * #1602 * #1605 * #1606 * #1607 * #1608 * #1610 * #1611 * #1612 * #1613 * #1614 * #1619 * #1620 * #1621
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Schema definition for the guided and AutoYaST storage proposals:
Based on auto_storage.md which is expected to change over time.
Bonus: This includes a commit revisiting how
title
anddescription
are used, to be more compliant with https://json-schema.org/understanding-json-schema/reference/annotationsNote for reviewers: you can easily check your JSON config files by using
agama profile validate config.json