Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into jesse/velero
Browse files Browse the repository at this point in the history
* upstream/master:
  Fix restoring GCP regional disks
  Add UTC time to --schedule
  add deprecation notices to pkg/apis/ark/v1 types
  Clarify restore log when object unchanged
  Document build from release archive limitations
  Document build from release archive and fix ToC link
  Wait for PV/namespace to delete before restore
  add/fix changelogs for recent PRs
  use restic stats instead of check to check repo existence
  Use current info in bug template
  upgrade to restic v0.9.4 and replace --hostname with --host
  velero server: log version and git SHA at startup
  remove extraneous use of meta.Accessor
  logging tweaks for clarity
  Update templates to use current command
  Move Velero image to docs/img
  Rename Ark to Velero!!!
  change mode on metadata/version to 0755
  extend AWS NoCredentialsProviders troubleshooting docs with kube2iam case
  • Loading branch information
jessestuart committed Jul 15, 2019
2 parents 8796563 + 49eeeb0 commit 6ec72a7
Show file tree
Hide file tree
Showing 431 changed files with 13,951 additions and 3,651 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ about: Tell us about a problem you are experiencing

**Environment:**

- Ark version (use `ark version`):
- Velero version (use `ark version`):
- Kubernetes version (use `kubectl version`):
- Kubernetes installer & version:
- Cloud provider or hardware configuration:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature-enhancement-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ about: Suggest an idea for this project

**Environment:**

- Ark version (use `ark version`):
- Velero version (use `ark version`):
- Kubernetes version (use `kubectl version`):
- Kubernetes installer & version:
- Cloud provider or hardware configuration:
Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ _testmain.go

debug

/ark
/ark-restic-restore-helper
/velero
.idea/

.container-*
Expand Down
6 changes: 3 additions & 3 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ before:
hooks:
- ./hack/set-example-tags.sh
builds:
- main: ./cmd/ark/main.go
- main: ./cmd/velero/main.go
env:
- CGO_ENABLED=0
goos:
Expand All @@ -39,7 +39,7 @@ builds:
- goos: windows
goarch: arm64
ldflags:
- -X "github.com/heptio/ark/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/heptio/ark/pkg/buildinfo.GitSHA={{ .FullCommit }}" -X "github.com/heptio/ark/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}"
- -X "github.com/heptio/velero/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/heptio/velero/pkg/buildinfo.GitSHA={{ .FullCommit }}" -X "github.com/heptio/velero/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}"
archive:
name_template: "{{ .ProjectName }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
files:
Expand All @@ -50,5 +50,5 @@ checksum:
release:
github:
owner: heptio
name: ark
name: velero
draft: true
37 changes: 37 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Velero Community Code of Conduct

## Contributor Code of Conduct

As contributors and maintainers of this project, and in the interest of fostering
an open and welcoming community, we pledge to respect all people who contribute
through reporting issues, posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.

We are committed to making participation in this project a harassment-free experience for
everyone, regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance, body size, race, ethnicity, age,
religion, or nationality.

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing other's private information, such as physical or electronic addresses,
without explicit permission
* Other unethical or unprofessional conduct.

Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are not
aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers
commit themselves to fairly and consistently applying these principles to every aspect
of managing this project. Project maintainers who do not follow or enforce the Code of
Conduct may be permanently removed from the project team.

This code of conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainer(s).

This Code of Conduct is adapted from the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) and [Contributor Covenant](http://contributor-covenant.org/version/1/2/0/), version 1.2.0.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ should be a new file created in the `changelogs/unreleased` folder. The file sho
naming convention of `pr-username` and the contents of the file should be your text for the
changelog.

ark/changelogs/unreleased <- folder
velero/changelogs/unreleased <- folder
000-username <- file


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ COPY qemu-* /usr/bin/

LABEL maintainer="Jesse Stuart <[email protected]>"

COPY ark-restic-restore-helper /
# TODO
ADD /bin/linux/amd64/velero-restic-restore-helper .

USER nobody:nobody

ENTRYPOINT [ "/ark-restic-restore-helper" ]
ENTRYPOINT [ "/velero-restic-restore-helper" ]
10 changes: 5 additions & 5 deletions Dockerfile-ark.alpine → Dockerfile-velero.alpine
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ MAINTAINER Andy Goldstein <[email protected]>
RUN apk add --no-cache ca-certificates

RUN apk add --update --no-cache bzip2 && \
wget --quiet https://github.com/restic/restic/releases/download/v0.9.3/restic_0.9.3_linux_amd64.bz2 && \
bunzip2 restic_0.9.3_linux_amd64.bz2 && \
mv restic_0.9.3_linux_amd64 /usr/bin/restic && \
wget --quiet https://github.com/restic/restic/releases/download/v0.9.4/restic_0.9.4_linux_amd64.bz2 && \
bunzip2 restic_0.9.4_linux_amd64.bz2 && \
mv restic_0.9.4_linux_amd64 /usr/bin/restic && \
chmod +x /usr/bin/restic

ADD /bin/linux/amd64/ark /ark
ADD /bin/linux/amd64/velero /velero

USER nobody:nobody

ENTRYPOINT ["/ark"]
ENTRYPOINT ["/velero"]
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
# limitations under the License.

# The binary to build (just the basename).
BIN ?= ark
BIN ?= velero

# This repo's root import path (under GOPATH).
PKG := github.com/heptio/ark
PKG := github.com/heptio/velero

# Where to push the docker image.
REGISTRY ?= gcr.io/heptio-images
Expand Down Expand Up @@ -63,7 +63,7 @@ IMAGE = $(REGISTRY)/$(BIN)
# If you want to build AND push all containers, see the 'all-push' rule.
all:
@$(MAKE) build
@$(MAKE) build BIN=ark-restic-restore-helper
@$(MAKE) build BIN=velero-restic-restore-helper

build-%:
@$(MAKE) --no-print-directory ARCH=$* build
Expand Down Expand Up @@ -104,7 +104,7 @@ _output/bin/$(GOOS)/$(GOARCH)/$(BIN): build-dirs

TTY := $(shell tty -s && echo "-t")

BUILDER_IMAGE := ark-builder
BUILDER_IMAGE := velero-builder

# Example: make shell CMD="date > datefile"
shell: build-dirs build-image
Expand Down Expand Up @@ -146,7 +146,7 @@ endif

all-containers:
$(MAKE) container
$(MAKE) container BIN=ark-restic-restore-helper
$(MAKE) container BIN=velero-restic-restore-helper
$(MAKE) build-fsfreeze

container: verify test .container-$(DOTFILE_IMAGE) container-name
Expand All @@ -160,7 +160,7 @@ container-name:

all-push:
$(MAKE) push
$(MAKE) push BIN=ark-restic-restore-helper
$(MAKE) push BIN=velero-restic-restore-helper
$(MAKE) push-fsfreeze


Expand Down
44 changes: 21 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,36 @@
# Heptio Ark
# Velero

**Maintainers:** [Heptio][0]
![](/docs/img/velero.png)

[![Build Status][1]][2] <a href="https://zenhub.com"><img src="https://raw.githubusercontent.com/ZenHubIO/support/master/zenhub-badge.png"></a>

## Heptio Ark is now Velero!

#### We're working on our first Velero release and instructions for migrating your Ark deployments to Velero. Stay tuned!

## Overview

Ark gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. Ark lets you:
Velero gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. Velero lets you:

* Take backups of your cluster and restore in case of loss.
* Copy cluster resources to other clusters.
* Replicate your production environment for development and testing environments.

Ark consists of:
Velero consists of:

* A server that runs on your cluster
* A command-line client that runs locally

You can run Ark in clusters on a cloud provider or on-premises. For detailed information, see [Compatible Storage Providers][99].
You can run Velero in clusters on a cloud provider or on-premises. For detailed information, see [Compatible Storage Providers][99].

## Breaking changes

Ark version 0.10.0 introduces a number of breaking changes. Before you upgrade to version 0.10.0, make sure to read [the documentation on upgrading][98].

## More information

[The documentation][29] provides a getting started guide, plus information about building from source, architecture, extending Ark, and more.
[The documentation][29] provides a getting started guide, plus information about building from source, architecture, extending Velero, and more.

## Troubleshooting

If you encounter issues, review the [troubleshooting docs][30], [file an issue][4], or talk to us on the [#ark-dr channel][25] on the Kubernetes Slack server.
If you encounter issues, review the [troubleshooting docs][30], [file an issue][4], or talk to us on the [#velero channel][25] on the Kubernetes Slack server.

## Contributing

Expand All @@ -51,29 +52,26 @@ Feedback and discussion are available on [the mailing list][24].

See [the list of releases][6] to find out about feature changes.

[0]: https://github.com/heptio
[1]: https://travis-ci.org/heptio/ark.svg?branch=master
[2]: https://travis-ci.org/heptio/ark
[1]: https://travis-ci.org/heptio/velero.svg?branch=master
[2]: https://travis-ci.org/heptio/velero

[4]: https://github.com/heptio/ark/issues
[5]: https://github.com/heptio/ark/blob/master/CONTRIBUTING.md
[6]: https://github.com/heptio/ark/releases
[4]: https://github.com/heptio/velero/issues
[5]: https://github.com/heptio/velero/blob/master/CONTRIBUTING.md
[6]: https://github.com/heptio/velero/releases

[8]: https://github.com/heptio/ark/blob/master/CODE_OF_CONDUCT.md
[8]: https://github.com/heptio/velero/blob/master/CODE_OF_CONDUCT.md
[9]: https://kubernetes.io/docs/setup/
[10]: https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-with-homebrew-on-macos
[11]: https://kubernetes.io/docs/tasks/tools/install-kubectl/#tabset-1
[12]: https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/README.md
[14]: https://github.com/kubernetes/kubernetes


[24]: http://j.hept.io/ark-list
[25]: https://kubernetes.slack.com/messages/ark-dr
[26]: https://github.com/heptio/ark/blob/master/docs/zenhub.md
[24]: https://groups.google.com/forum/#!forum/projectvelero
[25]: https://kubernetes.slack.com/messages/velero
[26]: https://github.com/heptio/velero/blob/master/docs/zenhub.md


[29]: https://heptio.github.io/ark/
[29]: https://heptio.github.io/velero/
[30]: /docs/troubleshooting.md

[98]: /docs/upgrading-to-v0.10.md
[99]: /docs/support-matrix.md
5 changes: 5 additions & 0 deletions SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Velero Support

Thanks for trying out Velero! We welcome all feedback, please consider joining our mailing list:

- [Mailing List](http://j.hept.io/ark-list)
2 changes: 1 addition & 1 deletion changelogs/CHANGELOG-0.10.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,5 +245,5 @@ need to be updated for v0.10.
- [eabef085](https://github.com/heptio/ark/commit/eabef085) Update generated Ark code based on the 1.11 k8s.io/code-generator script
- [f5eac0b4](https://github.com/heptio/ark/commit/f5eac0b4) Update vendored library code for Kubernetes 1.11

[1]: https://github.com/heptio/ark/blob/master/docs/upgrading-to-v0.10.md
[1]: https://heptio.github.io/velero/v0.10.0/upgrading-to-v0.10
[2]: locations.md
12 changes: 6 additions & 6 deletions changelogs/CHANGELOG-0.8.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@
here are the steps you can take to upgrade:

1. Execute the steps from the **Credentials and configuration** section for your cloud:
* [AWS](https://heptio.github.io/ark/v0.8.0/aws-config#credentials-and-configuration)
* [Azure](https://heptio.github.io/ark/v0.8.0/azure-config#credentials-and-configuration)
* [GCP](https://heptio.github.io/ark/v0.8.0/gcp-config#credentials-and-configuration)
* [AWS](https://heptio.github.io/velero/v0.8.0/aws-config#credentials-and-configuration)
* [Azure](https://heptio.github.io/velero/v0.8.0/azure-config#credentials-and-configuration)
* [GCP](https://heptio.github.io/velero/v0.8.0/gcp-config#credentials-and-configuration)

When you get to the secret creation step, if you don't have your `credentials-ark` file handy,
you can copy the existing secret from your `heptio-ark-server` namespace into the `heptio-ark` namespace:
Expand All @@ -95,6 +95,6 @@
```

3. Execute the commands from the **Start the server** section for your cloud:
* [AWS](https://heptio.github.io/ark/v0.8.0/aws-config#start-the-server)
* [Azure](https://heptio.github.io/ark/v0.8.0/azure-config#start-the-server)
* [GCP](https://heptio.github.io/ark/v0.8.0/gcp-config#start-the-server)
* [AWS](https://heptio.github.io/velero/v0.8.0/aws-config#start-the-server)
* [Azure](https://heptio.github.io/velero/v0.8.0/azure-config#start-the-server)
* [GCP](https://heptio.github.io/velero/v0.8.0/gcp-config#start-the-server)
1 change: 1 addition & 0 deletions changelogs/unreleased/1153-daved
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Clarify restore log when object unchanged
1 change: 1 addition & 0 deletions changelogs/unreleased/1156-skriss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
upgrade restic to v0.9.4 & replace --hostname flag with --host
1 change: 1 addition & 0 deletions changelogs/unreleased/1171-skriss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use 'restic stats' instead of 'restic check' to determine if repo exists
1 change: 1 addition & 0 deletions changelogs/unreleased/1184-nrb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Renamed Heptio Ark to Velero. Changed internal imports, environment variables, and binary name.
1 change: 1 addition & 0 deletions changelogs/unreleased/1200-nrb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Set the zones for GCP regional disks on restore. This requires the `compute.zones.get` permission on the GCP serviceaccount in order to work correctly.
1 change: 1 addition & 0 deletions changelogs/unreleased/826-nrb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Wait for PVs and namespaces to delete before attempting to restore them.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func main() {
}

// done returns true if for each directory under /restores, a file exists
// within the .ark/ subdirectory whose name is equal to os.Args[1], or
// within the .velero/ subdirectory whose name is equal to os.Args[1], or
// false otherwise
func done() bool {
children, err := ioutil.ReadDir("/restores")
Expand All @@ -60,7 +60,7 @@ func done() bool {
continue
}

doneFile := filepath.Join("/restores", child.Name(), ".ark", os.Args[1])
doneFile := filepath.Join("/restores", child.Name(), ".velero", os.Args[1])

if _, err := os.Stat(doneFile); os.IsNotExist(err) {
fmt.Printf("Not found: %s\n", doneFile)
Expand Down
6 changes: 3 additions & 3 deletions cmd/ark/main.go → cmd/velero/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ import (

"github.com/golang/glog"

"github.com/heptio/ark/pkg/cmd"
"github.com/heptio/ark/pkg/cmd/ark"
"github.com/heptio/velero/pkg/cmd"
"github.com/heptio/velero/pkg/cmd/velero"
)

func main() {
defer glog.Flush()

baseName := filepath.Base(os.Args[0])

err := ark.NewCommand(baseName).Execute()
err := velero.NewCommand(baseName).Execute()
cmd.CheckError(err)
}
Loading

0 comments on commit 6ec72a7

Please sign in to comment.